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

    [OutputType]
    public sealed class GetFunctionsFunctionResult
    {
        /// <summary>
        /// The port that the function listen to, only valid for [custom runtime](https://www.alibabacloud.com/help/doc-detail/132044.htm) and [custom container runtime](https://www.alibabacloud.com/help/doc-detail/179368.htm).
        /// </summary>
        public readonly int CaPort;
        /// <summary>
        /// Checksum (crc64) of the function code.
        /// </summary>
        public readonly string CodeChecksum;
        /// <summary>
        /// Function code size in bytes.
        /// </summary>
        public readonly int CodeSize;
        /// <summary>
        /// Function creation time.
        /// </summary>
        public readonly string CreationTime;
        /// <summary>
        /// The configuration for custom container runtime. It contains following attributes:
        /// </summary>
        public readonly Outputs.GetFunctionsFunctionCustomContainerConfigResult? CustomContainerConfig;
        /// <summary>
        /// Function description.
        /// </summary>
        public readonly string Description;
        /// <summary>
        /// A map that defines environment variables for the function.
        /// </summary>
        public readonly ImmutableDictionary<string, object> EnvironmentVariables;
        /// <summary>
        /// Function [entry point](https://www.alibabacloud.com/help/doc-detail/62213.htm) in the code.
        /// </summary>
        public readonly string Handler;
        /// <summary>
        /// Function ID.
        /// </summary>
        public readonly string Id;
        /// <summary>
        /// The maximum length of time, in seconds, that the function's initialization should be run for.
        /// </summary>
        public readonly int InitializationTimeout;
        /// <summary>
        /// The entry point of the function's [initialization](https://www.alibabacloud.com/help/doc-detail/157704.htm).
        /// </summary>
        public readonly string Initializer;
        /// <summary>
        /// The maximum number of requests can be executed concurrently within the single function instance.
        /// </summary>
        public readonly int InstanceConcurrency;
        /// <summary>
        /// The instance type of the function.
        /// </summary>
        public readonly string InstanceType;
        /// <summary>
        /// Function last modification time.
        /// </summary>
        public readonly string LastModificationTime;
        /// <summary>
        /// Amount of memory in MB the function can use at runtime.
        /// </summary>
        public readonly int MemorySize;
        /// <summary>
        /// Function name.
        /// </summary>
        public readonly string Name;
        /// <summary>
        /// Function runtime. The list of possible values is [available here](https://www.alibabacloud.com/help/doc-detail/52077.htm).
        /// </summary>
        public readonly string Runtime;
        /// <summary>
        /// Maximum amount of time the function can run in seconds.
        /// </summary>
        public readonly int Timeout;

        [OutputConstructor]
        private GetFunctionsFunctionResult(
            int caPort,

            string codeChecksum,

            int codeSize,

            string creationTime,

            Outputs.GetFunctionsFunctionCustomContainerConfigResult? customContainerConfig,

            string description,

            ImmutableDictionary<string, object> environmentVariables,

            string handler,

            string id,

            int initializationTimeout,

            string initializer,

            int instanceConcurrency,

            string instanceType,

            string lastModificationTime,

            int memorySize,

            string name,

            string runtime,

            int timeout)
        {
            CaPort = caPort;
            CodeChecksum = codeChecksum;
            CodeSize = codeSize;
            CreationTime = creationTime;
            CustomContainerConfig = customContainerConfig;
            Description = description;
            EnvironmentVariables = environmentVariables;
            Handler = handler;
            Id = id;
            InitializationTimeout = initializationTimeout;
            Initializer = initializer;
            InstanceConcurrency = instanceConcurrency;
            InstanceType = instanceType;
            LastModificationTime = lastModificationTime;
            MemorySize = memorySize;
            Name = name;
            Runtime = runtime;
            Timeout = timeout;
        }
    }
}
