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

com.pulumi.googlenative.compute.alpha.kotlin.enums.AddressPurpose.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.

The newest version!
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.googlenative.compute.alpha.kotlin.enums

import com.pulumi.kotlin.ConvertibleToJava
import kotlin.Suppress

/**
 * The purpose of this resource, which can be one of the following values: - GCE_ENDPOINT for addresses that are used by VM instances, alias IP ranges, load balancers, and similar resources. - DNS_RESOLVER for a DNS resolver address in a subnetwork for a Cloud DNS inbound forwarder IP addresses (regional internal IP address in a subnet of a VPC network) - VPC_PEERING for global internal IP addresses used for private services access allocated ranges. - NAT_AUTO for the regional external IP addresses used by Cloud NAT when allocating addresses using automatic NAT IP address allocation. - IPSEC_INTERCONNECT for addresses created from a private IP range that are reserved for a VLAN attachment in an *HA VPN over Cloud Interconnect* configuration. These addresses are regional resources. - `SHARED_LOADBALANCER_VIP` for an internal IP address that is assigned to multiple internal forwarding rules. - `PRIVATE_SERVICE_CONNECT` for a private network address that is used to configure Private Service Connect. Only global internal addresses can use this purpose.
 */
public enum class AddressPurpose(
    public val javaValue: com.pulumi.googlenative.compute.alpha.enums.AddressPurpose,
) : ConvertibleToJava {
    /**
     * DNS resolver address in the subnetwork.
     */
    DnsResolver(com.pulumi.googlenative.compute.alpha.enums.AddressPurpose.DnsResolver),

    /**
     * VM internal/alias IP, Internal LB service IP, etc.
     */
    GceEndpoint(com.pulumi.googlenative.compute.alpha.enums.AddressPurpose.GceEndpoint),

    /**
     * A regional internal IP address range reserved for the VLAN attachment that is used in HA VPN over Cloud Interconnect. This regional internal IP address range must not overlap with any IP address range of subnet/route in the VPC network and its peering networks. After the VLAN attachment is created with the reserved IP address range, when creating a new VPN gateway, its interface IP address is allocated from the associated VLAN attachment’s IP address range.
     */
    IpsecInterconnect(com.pulumi.googlenative.compute.alpha.enums.AddressPurpose.IpsecInterconnect),

    /**
     * External IP automatically reserved for Cloud NAT.
     */
    NatAuto(com.pulumi.googlenative.compute.alpha.enums.AddressPurpose.NatAuto),

    /**
     * A private network IP address that can be used to configure Private Service Connect. This purpose can be specified only for GLOBAL addresses of Type INTERNAL
     */
    PrivateServiceConnect(com.pulumi.googlenative.compute.alpha.enums.AddressPurpose.PrivateServiceConnect),

    /**
     * A regional internal IP address range reserved for Serverless.
     */
    Serverless(com.pulumi.googlenative.compute.alpha.enums.AddressPurpose.Serverless),

    /**
     * A private network IP address that can be shared by multiple Internal Load Balancer forwarding rules.
     */
    SharedLoadbalancerVip(com.pulumi.googlenative.compute.alpha.enums.AddressPurpose.SharedLoadbalancerVip),

    /**
     * IP range for peer networks.
     */
    VpcPeering(com.pulumi.googlenative.compute.alpha.enums.AddressPurpose.VpcPeering),
    ;

    override fun toJava(): com.pulumi.googlenative.compute.alpha.enums.AddressPurpose = javaValue

    public companion object {
        public fun toKotlin(javaType: com.pulumi.googlenative.compute.alpha.enums.AddressPurpose): AddressPurpose = AddressPurpose.values().first { it.javaValue == javaType }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy