Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.network.kotlin.inputs
import com.pulumi.azurenative.network.inputs.EndpointArgs.builder
import com.pulumi.azurenative.network.kotlin.enums.AlwaysServe
import com.pulumi.azurenative.network.kotlin.enums.EndpointMonitorStatus
import com.pulumi.azurenative.network.kotlin.enums.EndpointStatus
import com.pulumi.core.Either
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Double
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* Class representing a Traffic Manager endpoint.
* @property alwaysServe If Always Serve is enabled, probing for endpoint health will be disabled and endpoints will be included in the traffic routing method.
* @property customHeaders List of custom headers.
* @property endpointLocation Specifies the location of the external or nested endpoints when using the 'Performance' traffic routing method.
* @property endpointMonitorStatus The monitoring status of the endpoint.
* @property endpointStatus The status of the endpoint. If the endpoint is Enabled, it is probed for endpoint health and is included in the traffic routing method.
* @property geoMapping The list of countries/regions mapped to this endpoint when using the 'Geographic' traffic routing method. Please consult Traffic Manager Geographic documentation for a full list of accepted values.
* @property id Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{resourceName}
* @property minChildEndpoints The minimum number of endpoints that must be available in the child profile in order for the parent profile to be considered available. Only applicable to endpoint of type 'NestedEndpoints'.
* @property minChildEndpointsIPv4 The minimum number of IPv4 (DNS record type A) endpoints that must be available in the child profile in order for the parent profile to be considered available. Only applicable to endpoint of type 'NestedEndpoints'.
* @property minChildEndpointsIPv6 The minimum number of IPv6 (DNS record type AAAA) endpoints that must be available in the child profile in order for the parent profile to be considered available. Only applicable to endpoint of type 'NestedEndpoints'.
* @property name The name of the resource
* @property priority The priority of this endpoint when using the 'Priority' traffic routing method. Possible values are from 1 to 1000, lower values represent higher priority. This is an optional parameter. If specified, it must be specified on all endpoints, and no two endpoints can share the same priority value.
* @property subnets The list of subnets, IP addresses, and/or address ranges mapped to this endpoint when using the 'Subnet' traffic routing method. An empty list will match all ranges not covered by other endpoints.
* @property target The fully-qualified DNS name or IP address of the endpoint. Traffic Manager returns this value in DNS responses to direct traffic to this endpoint.
* @property targetResourceId The Azure Resource URI of the of the endpoint. Not applicable to endpoints of type 'ExternalEndpoints'.
* @property type The type of the resource. Ex- Microsoft.Network/trafficManagerProfiles.
* @property weight The weight of this endpoint when using the 'Weighted' traffic routing method. Possible values are from 1 to 1000.
*/
public data class EndpointArgs(
public val alwaysServe: Output>? = null,
public val customHeaders: Output>? = null,
public val endpointLocation: Output? = null,
public val endpointMonitorStatus: Output>? = null,
public val endpointStatus: Output>? = null,
public val geoMapping: Output>? = null,
public val id: Output? = null,
public val minChildEndpoints: Output? = null,
public val minChildEndpointsIPv4: Output? = null,
public val minChildEndpointsIPv6: Output? = null,
public val name: Output? = null,
public val priority: Output? = null,
public val subnets: Output>? = null,
public val target: Output? = null,
public val targetResourceId: Output? = null,
public val type: Output? = null,
public val weight: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.network.inputs.EndpointArgs =
com.pulumi.azurenative.network.inputs.EndpointArgs.builder()
.alwaysServe(
alwaysServe?.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.customHeaders(
customHeaders?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.endpointLocation(endpointLocation?.applyValue({ args0 -> args0 }))
.endpointMonitorStatus(
endpointMonitorStatus?.applyValue({ args0 ->
args0.transform({ args0 ->
args0
}, { args0 -> args0.let({ args0 -> args0.toJava() }) })
}),
)
.endpointStatus(
endpointStatus?.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.geoMapping(geoMapping?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.id(id?.applyValue({ args0 -> args0 }))
.minChildEndpoints(minChildEndpoints?.applyValue({ args0 -> args0 }))
.minChildEndpointsIPv4(minChildEndpointsIPv4?.applyValue({ args0 -> args0 }))
.minChildEndpointsIPv6(minChildEndpointsIPv6?.applyValue({ args0 -> args0 }))
.name(name?.applyValue({ args0 -> args0 }))
.priority(priority?.applyValue({ args0 -> args0 }))
.subnets(
subnets?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.target(target?.applyValue({ args0 -> args0 }))
.targetResourceId(targetResourceId?.applyValue({ args0 -> args0 }))
.type(type?.applyValue({ args0 -> args0 }))
.weight(weight?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [EndpointArgs].
*/
@PulumiTagMarker
public class EndpointArgsBuilder internal constructor() {
private var alwaysServe: Output>? = null
private var customHeaders: Output>? = null
private var endpointLocation: Output? = null
private var endpointMonitorStatus: Output>? = null
private var endpointStatus: Output>? = null
private var geoMapping: Output>? = null
private var id: Output? = null
private var minChildEndpoints: Output? = null
private var minChildEndpointsIPv4: Output? = null
private var minChildEndpointsIPv6: Output? = null
private var name: Output? = null
private var priority: Output? = null
private var subnets: Output>? = null
private var target: Output? = null
private var targetResourceId: Output? = null
private var type: Output? = null
private var weight: Output? = null
/**
* @param value If Always Serve is enabled, probing for endpoint health will be disabled and endpoints will be included in the traffic routing method.
*/
@JvmName("baeokfoeaqlhivmg")
public suspend fun alwaysServe(`value`: Output>) {
this.alwaysServe = value
}
/**
* @param value List of custom headers.
*/
@JvmName("obygvsyyharllcfe")
public suspend fun customHeaders(`value`: Output>) {
this.customHeaders = value
}
@JvmName("cgwmxuakqljiaynx")
public suspend fun customHeaders(vararg values: Output) {
this.customHeaders = Output.all(values.asList())
}
/**
* @param values List of custom headers.
*/
@JvmName("qvydfswqqhrfbbny")
public suspend fun customHeaders(values: List