All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.awsnative.gamelift.kotlin.outputs.FleetContainerGroupsConfiguration.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 1.24.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.gamelift.kotlin.outputs

import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 * Specifies container groups that this instance will hold. You must specify exactly one replica group. Optionally, you may specify exactly one daemon group. You can't change this property after you create the fleet.
 * @property connectionPortRange A set of ports to allow inbound traffic, including game clients, to connect to processes running in the container fleet.
 * Connection ports are dynamically mapped to container ports, which are assigned to individual processes running in a container. The connection port range must have enough ports to map to all container ports across a fleet instance. To calculate the minimum connection ports needed, use the following formula:
 * *[Total number of container ports as defined for containers in the replica container group] * [Desired or calculated number of replica container groups per instance] + [Total number of container ports as defined for containers in the daemon container group]*
 * As a best practice, double the minimum number of connection ports.
 * > Use the fleet's `EC2InboundPermissions` property to control external access to connection ports. Set this property to the connection port numbers that you want to open access to. See `IpPermission` for more details.
 * @property containerGroupDefinitionNames The names of the container group definitions that will be created in an instance. You must specify exactly one REPLICA container group. You have the option to also specify one DAEMON container group.
 * @property containerGroupsPerInstance
 */
public data class FleetContainerGroupsConfiguration(
    public val connectionPortRange: FleetConnectionPortRange,
    public val containerGroupDefinitionNames: List,
    public val containerGroupsPerInstance: FleetContainerGroupsPerInstance? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.gamelift.outputs.FleetContainerGroupsConfiguration): FleetContainerGroupsConfiguration = FleetContainerGroupsConfiguration(
            connectionPortRange = javaType.connectionPortRange().let({ args0 ->
                com.pulumi.awsnative.gamelift.kotlin.outputs.FleetConnectionPortRange.Companion.toKotlin(args0)
            }),
            containerGroupDefinitionNames = javaType.containerGroupDefinitionNames().map({ args0 -> args0 }),
            containerGroupsPerInstance = javaType.containerGroupsPerInstance().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.gamelift.kotlin.outputs.FleetContainerGroupsPerInstance.Companion.toKotlin(args0)
                })
            }).orElse(null),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy