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

com.pulumi.gcp.compute.kotlin.outputs.GetInstanceNetworkInterface.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: 8.10.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.compute.kotlin.outputs

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

/**
 *
 * @property accessConfigs Access configurations, i.e. IPs via which this
 * instance can be accessed via the Internet. Structure documented below.
 * @property aliasIpRanges An array of alias IP ranges for this network interface. Structure documented below.
 * @property internalIpv6PrefixLength The prefix length of the primary internal IPv6 range.
 * @property ipv6AccessConfigs An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
 * @property ipv6AccessType One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
 * @property ipv6Address An IPv6 internal network address for this network interface. If not specified, Google Cloud will automatically assign an internal IPv6 address from the instance's subnetwork.
 * @property name The name of the instance. One of `name` or `self_link` must be provided.
 * @property network The name or self_link of the network attached to this interface.
 * @property networkAttachment Beta The URL of the network attachment to this interface.
 * @property networkIp The internal ip address of the instance, either manually or dynamically assigned.
 * @property nicType The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET
 * @property queueCount The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It will be empty if not specified.
 * @property securityPolicy A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
 * @property stackType The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
 * @property subnetwork The name or self_link of the subnetwork attached to this interface.
 * @property subnetworkProject The project in which the subnetwork belongs.
 */
public data class GetInstanceNetworkInterface(
    public val accessConfigs: List,
    public val aliasIpRanges: List,
    public val internalIpv6PrefixLength: Int,
    public val ipv6AccessConfigs: List,
    public val ipv6AccessType: String,
    public val ipv6Address: String,
    public val name: String,
    public val network: String,
    public val networkAttachment: String,
    public val networkIp: String,
    public val nicType: String,
    public val queueCount: Int,
    public val securityPolicy: String,
    public val stackType: String,
    public val subnetwork: String,
    public val subnetworkProject: String,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.compute.outputs.GetInstanceNetworkInterface): GetInstanceNetworkInterface = GetInstanceNetworkInterface(
            accessConfigs = javaType.accessConfigs().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.compute.kotlin.outputs.GetInstanceNetworkInterfaceAccessConfig.Companion.toKotlin(args0)
                })
            }),
            aliasIpRanges = javaType.aliasIpRanges().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.compute.kotlin.outputs.GetInstanceNetworkInterfaceAliasIpRange.Companion.toKotlin(args0)
                })
            }),
            internalIpv6PrefixLength = javaType.internalIpv6PrefixLength(),
            ipv6AccessConfigs = javaType.ipv6AccessConfigs().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.compute.kotlin.outputs.GetInstanceNetworkInterfaceIpv6AccessConfig.Companion.toKotlin(args0)
                })
            }),
            ipv6AccessType = javaType.ipv6AccessType(),
            ipv6Address = javaType.ipv6Address(),
            name = javaType.name(),
            network = javaType.network(),
            networkAttachment = javaType.networkAttachment(),
            networkIp = javaType.networkIp(),
            nicType = javaType.nicType(),
            queueCount = javaType.queueCount(),
            securityPolicy = javaType.securityPolicy(),
            stackType = javaType.stackType(),
            subnetwork = javaType.subnetwork(),
            subnetworkProject = javaType.subnetworkProject(),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy