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

com.pulumi.googlenative.baremetalsolution.v2.kotlin.outputs.InstanceConfigResponse.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.googlenative.baremetalsolution.v2.kotlin.outputs

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

/**
 * Configuration parameters for a new instance.
 * @property accountNetworksEnabled If true networks can be from different projects of the same vendor account.
 * @property clientNetwork Client network address. Filled if InstanceConfig.multivlan_config is false.
 * @property hyperthreading Whether the instance should be provisioned with Hyperthreading enabled.
 * @property instanceType Instance type. [Available types](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations)
 * @property logicalInterfaces List of logical interfaces for the instance. The number of logical interfaces will be the same as number of hardware bond/nic on the chosen network template. Filled if InstanceConfig.multivlan_config is true.
 * @property name The name of the instance config.
 * @property networkConfig The type of network configuration on the instance.
 * @property networkTemplate Server network template name. Filled if InstanceConfig.multivlan_config is true.
 * @property osImage OS image to initialize the instance. [Available images](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations)
 * @property privateNetwork Private network address, if any. Filled if InstanceConfig.multivlan_config is false.
 * @property userNote User note field, it can be used by customers to add additional information for the BMS Ops team .
 */
public data class InstanceConfigResponse(
    public val accountNetworksEnabled: Boolean,
    public val clientNetwork: NetworkAddressResponse,
    public val hyperthreading: Boolean,
    public val instanceType: String,
    public val logicalInterfaces: List,
    public val name: String,
    public val networkConfig: String,
    public val networkTemplate: String,
    public val osImage: String,
    public val privateNetwork: NetworkAddressResponse,
    public val userNote: String,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.googlenative.baremetalsolution.v2.outputs.InstanceConfigResponse): InstanceConfigResponse = InstanceConfigResponse(
            accountNetworksEnabled = javaType.accountNetworksEnabled(),
            clientNetwork = javaType.clientNetwork().let({ args0 ->
                com.pulumi.googlenative.baremetalsolution.v2.kotlin.outputs.NetworkAddressResponse.Companion.toKotlin(args0)
            }),
            hyperthreading = javaType.hyperthreading(),
            instanceType = javaType.instanceType(),
            logicalInterfaces = javaType.logicalInterfaces().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.googlenative.baremetalsolution.v2.kotlin.outputs.GoogleCloudBaremetalsolutionV2LogicalInterfaceResponse.Companion.toKotlin(args0)
                })
            }),
            name = javaType.name(),
            networkConfig = javaType.networkConfig(),
            networkTemplate = javaType.networkTemplate(),
            osImage = javaType.osImage(),
            privateNetwork = javaType.privateNetwork().let({ args0 ->
                com.pulumi.googlenative.baremetalsolution.v2.kotlin.outputs.NetworkAddressResponse.Companion.toKotlin(args0)
            }),
            userNote = javaType.userNote(),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy