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

com.pulumi.azurenative.network.kotlin.EndpointArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azurenative.network.kotlin

import com.pulumi.azurenative.network.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.azurenative.network.kotlin.inputs.EndpointPropertiesCustomHeadersArgs
import com.pulumi.azurenative.network.kotlin.inputs.EndpointPropertiesCustomHeadersArgsBuilder
import com.pulumi.azurenative.network.kotlin.inputs.EndpointPropertiesSubnetsArgs
import com.pulumi.azurenative.network.kotlin.inputs.EndpointPropertiesSubnetsArgsBuilder
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.
 * Azure REST API version: 2022-04-01. Prior API version in Azure Native 1.x: 2018-08-01.
 * Other available API versions: 2017-03-01, 2018-02-01, 2022-04-01-preview.
 * ## Example Usage
 * ### Endpoint-PUT-External-WithAlwaysServe
 * ```csharp
 * using System.Collections.Generic;
 * using System.Linq;
 * using Pulumi;
 * using AzureNative = Pulumi.AzureNative;
 * return await Deployment.RunAsync(() =>
 * {
 *     var endpoint = new AzureNative.Network.Endpoint("endpoint", new()
 *     {
 *         AlwaysServe = AzureNative.Network.AlwaysServe.Enabled,
 *         EndpointLocation = "North Europe",
 *         EndpointName = "azsmnet7187",
 *         EndpointStatus = AzureNative.Network.EndpointStatus.Enabled,
 *         EndpointType = "ExternalEndpoints",
 *         Name = "azsmnet7187",
 *         ProfileName = "azsmnet6386",
 *         ResourceGroupName = "azuresdkfornetautoresttrafficmanager1421",
 *         Target = "foobar.contoso.com",
 *         Type = "Microsoft.network/TrafficManagerProfiles/ExternalEndpoints",
 *     });
 * });
 * ```
 * ```go
 * package main
 * import (
 * 	network "github.com/pulumi/pulumi-azure-native-sdk/network/v2"
 * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
 * )
 * func main() {
 * 	pulumi.Run(func(ctx *pulumi.Context) error {
 * 		_, err := network.NewEndpoint(ctx, "endpoint", &network.EndpointArgs{
 * 			AlwaysServe:       pulumi.String(network.AlwaysServeEnabled),
 * 			EndpointLocation:  pulumi.String("North Europe"),
 * 			EndpointName:      pulumi.String("azsmnet7187"),
 * 			EndpointStatus:    pulumi.String(network.EndpointStatusEnabled),
 * 			EndpointType:      pulumi.String("ExternalEndpoints"),
 * 			Name:              pulumi.String("azsmnet7187"),
 * 			ProfileName:       pulumi.String("azsmnet6386"),
 * 			ResourceGroupName: pulumi.String("azuresdkfornetautoresttrafficmanager1421"),
 * 			Target:            pulumi.String("foobar.contoso.com"),
 * 			Type:              pulumi.String("Microsoft.network/TrafficManagerProfiles/ExternalEndpoints"),
 * 		})
 * 		if err != nil {
 * 			return err
 * 		}
 * 		return nil
 * 	})
 * }
 * ```
 * ```java
 * package generated_program;
 * import com.pulumi.Context;
 * import com.pulumi.Pulumi;
 * import com.pulumi.core.Output;
 * import com.pulumi.azurenative.network.Endpoint;
 * import com.pulumi.azurenative.network.EndpointArgs;
 * import java.util.List;
 * import java.util.ArrayList;
 * import java.util.Map;
 * import java.io.File;
 * import java.nio.file.Files;
 * import java.nio.file.Paths;
 * public class App {
 *     public static void main(String[] args) {
 *         Pulumi.run(App::stack);
 *     }
 *     public static void stack(Context ctx) {
 *         var endpoint = new Endpoint("endpoint", EndpointArgs.builder()
 *             .alwaysServe("Enabled")
 *             .endpointLocation("North Europe")
 *             .endpointName("azsmnet7187")
 *             .endpointStatus("Enabled")
 *             .endpointType("ExternalEndpoints")
 *             .name("azsmnet7187")
 *             .profileName("azsmnet6386")
 *             .resourceGroupName("azuresdkfornetautoresttrafficmanager1421")
 *             .target("foobar.contoso.com")
 *             .type("Microsoft.network/TrafficManagerProfiles/ExternalEndpoints")
 *             .build());
 *     }
 * }
 * ```
 * ### Endpoint-PUT-External-WithCustomHeaders
 * ```csharp
 * using System.Collections.Generic;
 * using System.Linq;
 * using Pulumi;
 * using AzureNative = Pulumi.AzureNative;
 * return await Deployment.RunAsync(() =>
 * {
 *     var endpoint = new AzureNative.Network.Endpoint("endpoint", new()
 *     {
 *         CustomHeaders = new[]
 *         {
 *             new AzureNative.Network.Inputs.EndpointPropertiesCustomHeadersArgs
 *             {
 *                 Name = "header-1",
 *                 Value = "value-1",
 *             },
 *             new AzureNative.Network.Inputs.EndpointPropertiesCustomHeadersArgs
 *             {
 *                 Name = "header-2",
 *                 Value = "value-2",
 *             },
 *         },
 *         EndpointLocation = "North Europe",
 *         EndpointName = "azsmnet7187",
 *         EndpointStatus = AzureNative.Network.EndpointStatus.Enabled,
 *         EndpointType = "ExternalEndpoints",
 *         Name = "azsmnet7187",
 *         ProfileName = "azsmnet6386",
 *         ResourceGroupName = "azuresdkfornetautoresttrafficmanager1421",
 *         Target = "foobar.contoso.com",
 *         Type = "Microsoft.network/TrafficManagerProfiles/ExternalEndpoints",
 *     });
 * });
 * ```
 * ```go
 * package main
 * import (
 * 	network "github.com/pulumi/pulumi-azure-native-sdk/network/v2"
 * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
 * )
 * func main() {
 * 	pulumi.Run(func(ctx *pulumi.Context) error {
 * 		_, err := network.NewEndpoint(ctx, "endpoint", &network.EndpointArgs{
 * 			CustomHeaders: network.EndpointPropertiesCustomHeadersArray{
 * 				&network.EndpointPropertiesCustomHeadersArgs{
 * 					Name:  pulumi.String("header-1"),
 * 					Value: pulumi.String("value-1"),
 * 				},
 * 				&network.EndpointPropertiesCustomHeadersArgs{
 * 					Name:  pulumi.String("header-2"),
 * 					Value: pulumi.String("value-2"),
 * 				},
 * 			},
 * 			EndpointLocation:  pulumi.String("North Europe"),
 * 			EndpointName:      pulumi.String("azsmnet7187"),
 * 			EndpointStatus:    pulumi.String(network.EndpointStatusEnabled),
 * 			EndpointType:      pulumi.String("ExternalEndpoints"),
 * 			Name:              pulumi.String("azsmnet7187"),
 * 			ProfileName:       pulumi.String("azsmnet6386"),
 * 			ResourceGroupName: pulumi.String("azuresdkfornetautoresttrafficmanager1421"),
 * 			Target:            pulumi.String("foobar.contoso.com"),
 * 			Type:              pulumi.String("Microsoft.network/TrafficManagerProfiles/ExternalEndpoints"),
 * 		})
 * 		if err != nil {
 * 			return err
 * 		}
 * 		return nil
 * 	})
 * }
 * ```
 * ```java
 * package generated_program;
 * import com.pulumi.Context;
 * import com.pulumi.Pulumi;
 * import com.pulumi.core.Output;
 * import com.pulumi.azurenative.network.Endpoint;
 * import com.pulumi.azurenative.network.EndpointArgs;
 * import com.pulumi.azurenative.network.inputs.EndpointPropertiesCustomHeadersArgs;
 * import java.util.List;
 * import java.util.ArrayList;
 * import java.util.Map;
 * import java.io.File;
 * import java.nio.file.Files;
 * import java.nio.file.Paths;
 * public class App {
 *     public static void main(String[] args) {
 *         Pulumi.run(App::stack);
 *     }
 *     public static void stack(Context ctx) {
 *         var endpoint = new Endpoint("endpoint", EndpointArgs.builder()
 *             .customHeaders(
 *                 EndpointPropertiesCustomHeadersArgs.builder()
 *                     .name("header-1")
 *                     .value("value-1")
 *                     .build(),
 *                 EndpointPropertiesCustomHeadersArgs.builder()
 *                     .name("header-2")
 *                     .value("value-2")
 *                     .build())
 *             .endpointLocation("North Europe")
 *             .endpointName("azsmnet7187")
 *             .endpointStatus("Enabled")
 *             .endpointType("ExternalEndpoints")
 *             .name("azsmnet7187")
 *             .profileName("azsmnet6386")
 *             .resourceGroupName("azuresdkfornetautoresttrafficmanager1421")
 *             .target("foobar.contoso.com")
 *             .type("Microsoft.network/TrafficManagerProfiles/ExternalEndpoints")
 *             .build());
 *     }
 * }
 * ```
 * ### Endpoint-PUT-External-WithGeoMapping
 * ```csharp
 * using System.Collections.Generic;
 * using System.Linq;
 * using Pulumi;
 * using AzureNative = Pulumi.AzureNative;
 * return await Deployment.RunAsync(() =>
 * {
 *     var endpoint = new AzureNative.Network.Endpoint("endpoint", new()
 *     {
 *         EndpointName = "My%20external%20endpoint",
 *         EndpointStatus = AzureNative.Network.EndpointStatus.Enabled,
 *         EndpointType = "ExternalEndpoints",
 *         GeoMapping = new[]
 *         {
 *             "GEO-AS",
 *             "GEO-AF",
 *         },
 *         Name = "My external endpoint",
 *         ProfileName = "azuresdkfornetautoresttrafficmanager8224",
 *         ResourceGroupName = "azuresdkfornetautoresttrafficmanager2191",
 *         Target = "foobar.contoso.com",
 *         Type = "Microsoft.network/TrafficManagerProfiles/ExternalEndpoints",
 *     });
 * });
 * ```
 * ```go
 * package main
 * import (
 * 	network "github.com/pulumi/pulumi-azure-native-sdk/network/v2"
 * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
 * )
 * func main() {
 * 	pulumi.Run(func(ctx *pulumi.Context) error {
 * 		_, err := network.NewEndpoint(ctx, "endpoint", &network.EndpointArgs{
 * 			EndpointName:   pulumi.String("My%20external%20endpoint"),
 * 			EndpointStatus: pulumi.String(network.EndpointStatusEnabled),
 * 			EndpointType:   pulumi.String("ExternalEndpoints"),
 * 			GeoMapping: pulumi.StringArray{
 * 				pulumi.String("GEO-AS"),
 * 				pulumi.String("GEO-AF"),
 * 			},
 * 			Name:              pulumi.String("My external endpoint"),
 * 			ProfileName:       pulumi.String("azuresdkfornetautoresttrafficmanager8224"),
 * 			ResourceGroupName: pulumi.String("azuresdkfornetautoresttrafficmanager2191"),
 * 			Target:            pulumi.String("foobar.contoso.com"),
 * 			Type:              pulumi.String("Microsoft.network/TrafficManagerProfiles/ExternalEndpoints"),
 * 		})
 * 		if err != nil {
 * 			return err
 * 		}
 * 		return nil
 * 	})
 * }
 * ```
 * ```java
 * package generated_program;
 * import com.pulumi.Context;
 * import com.pulumi.Pulumi;
 * import com.pulumi.core.Output;
 * import com.pulumi.azurenative.network.Endpoint;
 * import com.pulumi.azurenative.network.EndpointArgs;
 * import java.util.List;
 * import java.util.ArrayList;
 * import java.util.Map;
 * import java.io.File;
 * import java.nio.file.Files;
 * import java.nio.file.Paths;
 * public class App {
 *     public static void main(String[] args) {
 *         Pulumi.run(App::stack);
 *     }
 *     public static void stack(Context ctx) {
 *         var endpoint = new Endpoint("endpoint", EndpointArgs.builder()
 *             .endpointName("My%20external%20endpoint")
 *             .endpointStatus("Enabled")
 *             .endpointType("ExternalEndpoints")
 *             .geoMapping(
 *                 "GEO-AS",
 *                 "GEO-AF")
 *             .name("My external endpoint")
 *             .profileName("azuresdkfornetautoresttrafficmanager8224")
 *             .resourceGroupName("azuresdkfornetautoresttrafficmanager2191")
 *             .target("foobar.contoso.com")
 *             .type("Microsoft.network/TrafficManagerProfiles/ExternalEndpoints")
 *             .build());
 *     }
 * }
 * ```
 * ### Endpoint-PUT-External-WithLocation
 * ```csharp
 * using System.Collections.Generic;
 * using System.Linq;
 * using Pulumi;
 * using AzureNative = Pulumi.AzureNative;
 * return await Deployment.RunAsync(() =>
 * {
 *     var endpoint = new AzureNative.Network.Endpoint("endpoint", new()
 *     {
 *         EndpointLocation = "North Europe",
 *         EndpointName = "azsmnet7187",
 *         EndpointStatus = AzureNative.Network.EndpointStatus.Enabled,
 *         EndpointType = "ExternalEndpoints",
 *         Name = "azsmnet7187",
 *         ProfileName = "azsmnet6386",
 *         ResourceGroupName = "azuresdkfornetautoresttrafficmanager1421",
 *         Target = "foobar.contoso.com",
 *         Type = "Microsoft.network/TrafficManagerProfiles/ExternalEndpoints",
 *     });
 * });
 * ```
 * ```go
 * package main
 * import (
 * 	network "github.com/pulumi/pulumi-azure-native-sdk/network/v2"
 * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
 * )
 * func main() {
 * 	pulumi.Run(func(ctx *pulumi.Context) error {
 * 		_, err := network.NewEndpoint(ctx, "endpoint", &network.EndpointArgs{
 * 			EndpointLocation:  pulumi.String("North Europe"),
 * 			EndpointName:      pulumi.String("azsmnet7187"),
 * 			EndpointStatus:    pulumi.String(network.EndpointStatusEnabled),
 * 			EndpointType:      pulumi.String("ExternalEndpoints"),
 * 			Name:              pulumi.String("azsmnet7187"),
 * 			ProfileName:       pulumi.String("azsmnet6386"),
 * 			ResourceGroupName: pulumi.String("azuresdkfornetautoresttrafficmanager1421"),
 * 			Target:            pulumi.String("foobar.contoso.com"),
 * 			Type:              pulumi.String("Microsoft.network/TrafficManagerProfiles/ExternalEndpoints"),
 * 		})
 * 		if err != nil {
 * 			return err
 * 		}
 * 		return nil
 * 	})
 * }
 * ```
 * ```java
 * package generated_program;
 * import com.pulumi.Context;
 * import com.pulumi.Pulumi;
 * import com.pulumi.core.Output;
 * import com.pulumi.azurenative.network.Endpoint;
 * import com.pulumi.azurenative.network.EndpointArgs;
 * import java.util.List;
 * import java.util.ArrayList;
 * import java.util.Map;
 * import java.io.File;
 * import java.nio.file.Files;
 * import java.nio.file.Paths;
 * public class App {
 *     public static void main(String[] args) {
 *         Pulumi.run(App::stack);
 *     }
 *     public static void stack(Context ctx) {
 *         var endpoint = new Endpoint("endpoint", EndpointArgs.builder()
 *             .endpointLocation("North Europe")
 *             .endpointName("azsmnet7187")
 *             .endpointStatus("Enabled")
 *             .endpointType("ExternalEndpoints")
 *             .name("azsmnet7187")
 *             .profileName("azsmnet6386")
 *             .resourceGroupName("azuresdkfornetautoresttrafficmanager1421")
 *             .target("foobar.contoso.com")
 *             .type("Microsoft.network/TrafficManagerProfiles/ExternalEndpoints")
 *             .build());
 *     }
 * }
 * ```
 * ### Endpoint-PUT-External-WithSubnetMapping
 * ```csharp
 * using System.Collections.Generic;
 * using System.Linq;
 * using Pulumi;
 * using AzureNative = Pulumi.AzureNative;
 * return await Deployment.RunAsync(() =>
 * {
 *     var endpoint = new AzureNative.Network.Endpoint("endpoint", new()
 *     {
 *         EndpointName = "My%20external%20endpoint",
 *         EndpointStatus = AzureNative.Network.EndpointStatus.Enabled,
 *         EndpointType = "ExternalEndpoints",
 *         Name = "My external endpoint",
 *         ProfileName = "azuresdkfornetautoresttrafficmanager8224",
 *         ResourceGroupName = "azuresdkfornetautoresttrafficmanager2191",
 *         Subnets = new[]
 *         {
 *             new AzureNative.Network.Inputs.EndpointPropertiesSubnetsArgs
 *             {
 *                 First = "1.2.3.0",
 *                 Scope = 24,
 *             },
 *             new AzureNative.Network.Inputs.EndpointPropertiesSubnetsArgs
 *             {
 *                 First = "25.26.27.28",
 *                 Last = "29.30.31.32",
 *             },
 *         },
 *         Target = "foobar.contoso.com",
 *         Type = "Microsoft.network/TrafficManagerProfiles/ExternalEndpoints",
 *     });
 * });
 * ```
 * ```go
 * package main
 * import (
 * 	network "github.com/pulumi/pulumi-azure-native-sdk/network/v2"
 * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
 * )
 * func main() {
 * 	pulumi.Run(func(ctx *pulumi.Context) error {
 * 		_, err := network.NewEndpoint(ctx, "endpoint", &network.EndpointArgs{
 * 			EndpointName:      pulumi.String("My%20external%20endpoint"),
 * 			EndpointStatus:    pulumi.String(network.EndpointStatusEnabled),
 * 			EndpointType:      pulumi.String("ExternalEndpoints"),
 * 			Name:              pulumi.String("My external endpoint"),
 * 			ProfileName:       pulumi.String("azuresdkfornetautoresttrafficmanager8224"),
 * 			ResourceGroupName: pulumi.String("azuresdkfornetautoresttrafficmanager2191"),
 * 			Subnets: network.EndpointPropertiesSubnetsArray{
 * 				&network.EndpointPropertiesSubnetsArgs{
 * 					First: pulumi.String("1.2.3.0"),
 * 					Scope: pulumi.Int(24),
 * 				},
 * 				&network.EndpointPropertiesSubnetsArgs{
 * 					First: pulumi.String("25.26.27.28"),
 * 					Last:  pulumi.String("29.30.31.32"),
 * 				},
 * 			},
 * 			Target: pulumi.String("foobar.contoso.com"),
 * 			Type:   pulumi.String("Microsoft.network/TrafficManagerProfiles/ExternalEndpoints"),
 * 		})
 * 		if err != nil {
 * 			return err
 * 		}
 * 		return nil
 * 	})
 * }
 * ```
 * ```java
 * package generated_program;
 * import com.pulumi.Context;
 * import com.pulumi.Pulumi;
 * import com.pulumi.core.Output;
 * import com.pulumi.azurenative.network.Endpoint;
 * import com.pulumi.azurenative.network.EndpointArgs;
 * import com.pulumi.azurenative.network.inputs.EndpointPropertiesSubnetsArgs;
 * import java.util.List;
 * import java.util.ArrayList;
 * import java.util.Map;
 * import java.io.File;
 * import java.nio.file.Files;
 * import java.nio.file.Paths;
 * public class App {
 *     public static void main(String[] args) {
 *         Pulumi.run(App::stack);
 *     }
 *     public static void stack(Context ctx) {
 *         var endpoint = new Endpoint("endpoint", EndpointArgs.builder()
 *             .endpointName("My%20external%20endpoint")
 *             .endpointStatus("Enabled")
 *             .endpointType("ExternalEndpoints")
 *             .name("My external endpoint")
 *             .profileName("azuresdkfornetautoresttrafficmanager8224")
 *             .resourceGroupName("azuresdkfornetautoresttrafficmanager2191")
 *             .subnets(
 *                 EndpointPropertiesSubnetsArgs.builder()
 *                     .first("1.2.3.0")
 *                     .scope(24)
 *                     .build(),
 *                 EndpointPropertiesSubnetsArgs.builder()
 *                     .first("25.26.27.28")
 *                     .last("29.30.31.32")
 *                     .build())
 *             .target("foobar.contoso.com")
 *             .type("Microsoft.network/TrafficManagerProfiles/ExternalEndpoints")
 *             .build());
 *     }
 * }
 * ```
 * ## Import
 * An existing resource can be imported using its type token, name, and identifier, e.g.
 * ```sh
 * $ pulumi import azure-native:network:Endpoint My external endpoint /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}/{endpointType}/{endpointName}
 * ```
 * @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 endpointName The name of the Traffic Manager endpoint to be created or updated.
 * @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 endpointType The type of the Traffic Manager endpoint to be created or updated.
 * @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 profileName The name of the Traffic Manager profile.
 * @property resourceGroupName The name of the resource group. The name is case insensitive.
 * @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 endpointName: Output? = null,
    public val endpointStatus: Output>? = null,
    public val endpointType: 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 profileName: Output? = null,
    public val resourceGroupName: 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.EndpointArgs =
        com.pulumi.azurenative.network.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() }) })
                }),
            )
            .endpointName(endpointName?.applyValue({ args0 -> args0 }))
            .endpointStatus(
                endpointStatus?.applyValue({ args0 ->
                    args0.transform({ args0 -> args0 }, { args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .endpointType(endpointType?.applyValue({ args0 -> args0 }))
            .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 }))
            .profileName(profileName?.applyValue({ args0 -> args0 }))
            .resourceGroupName(resourceGroupName?.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 endpointName: Output? = null

    private var endpointStatus: Output>? = null

    private var endpointType: 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 profileName: Output? = null

    private var resourceGroupName: 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("fkmgukpqgmphagys")
    public suspend fun alwaysServe(`value`: Output>) {
        this.alwaysServe = value
    }

    /**
     * @param value List of custom headers.
     */
    @JvmName("thdfbkeclhfudkiy")
    public suspend fun customHeaders(`value`: Output>) {
        this.customHeaders = value
    }

    @JvmName("msvibeygldjwqbij")
    public suspend fun customHeaders(vararg values: Output) {
        this.customHeaders = Output.all(values.asList())
    }

    /**
     * @param values List of custom headers.
     */
    @JvmName("vhmjqbybsrlyhhqo")
    public suspend fun customHeaders(values: List>) {
        this.customHeaders = Output.all(values)
    }

    /**
     * @param value Specifies the location of the external or nested endpoints when using the 'Performance' traffic routing method.
     */
    @JvmName("vfdxearioxhahbiv")
    public suspend fun endpointLocation(`value`: Output) {
        this.endpointLocation = value
    }

    /**
     * @param value The monitoring status of the endpoint.
     */
    @JvmName("uujlbrcvctppshdn")
    public suspend fun endpointMonitorStatus(`value`: Output>) {
        this.endpointMonitorStatus = value
    }

    /**
     * @param value The name of the Traffic Manager endpoint to be created or updated.
     */
    @JvmName("wbuqscivavdlogku")
    public suspend fun endpointName(`value`: Output) {
        this.endpointName = value
    }

    /**
     * @param value The status of the endpoint. If the endpoint is Enabled, it is probed for endpoint health and is included in the traffic routing method.
     */
    @JvmName("vshgwefylcsqeswa")
    public suspend fun endpointStatus(`value`: Output>) {
        this.endpointStatus = value
    }

    /**
     * @param value The type of the Traffic Manager endpoint to be created or updated.
     */
    @JvmName("grkoypumwsbmcygp")
    public suspend fun endpointType(`value`: Output) {
        this.endpointType = value
    }

    /**
     * @param value 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.
     */
    @JvmName("jdvrimseektyhmth")
    public suspend fun geoMapping(`value`: Output>) {
        this.geoMapping = value
    }

    @JvmName("lynsllqcceixbhxt")
    public suspend fun geoMapping(vararg values: Output) {
        this.geoMapping = Output.all(values.asList())
    }

    /**
     * @param values 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.
     */
    @JvmName("ruhxyqwkkdyeuvtf")
    public suspend fun geoMapping(values: List>) {
        this.geoMapping = Output.all(values)
    }

    /**
     * @param value Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{resourceName}
     */
    @JvmName("shhrarhhgwowebpg")
    public suspend fun id(`value`: Output) {
        this.id = value
    }

    /**
     * @param value 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'.
     */
    @JvmName("mkvausmhuebxhgfs")
    public suspend fun minChildEndpoints(`value`: Output) {
        this.minChildEndpoints = value
    }

    /**
     * @param value 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'.
     */
    @JvmName("kheemudanhvhkwgg")
    public suspend fun minChildEndpointsIPv4(`value`: Output) {
        this.minChildEndpointsIPv4 = value
    }

    /**
     * @param value 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'.
     */
    @JvmName("aiilxsjirfcbeamo")
    public suspend fun minChildEndpointsIPv6(`value`: Output) {
        this.minChildEndpointsIPv6 = value
    }

    /**
     * @param value The name of the resource
     */
    @JvmName("tarytmgqtbeihtsb")
    public suspend fun name(`value`: Output) {
        this.name = value
    }

    /**
     * @param value 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.
     */
    @JvmName("wsifmblcgngicdgg")
    public suspend fun priority(`value`: Output) {
        this.priority = value
    }

    /**
     * @param value The name of the Traffic Manager profile.
     */
    @JvmName("aqhxbhimuehheito")
    public suspend fun profileName(`value`: Output) {
        this.profileName = value
    }

    /**
     * @param value The name of the resource group. The name is case insensitive.
     */
    @JvmName("vhqfiiseevfbpjhe")
    public suspend fun resourceGroupName(`value`: Output) {
        this.resourceGroupName = value
    }

    /**
     * @param value 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.
     */
    @JvmName("jeyuxnxfwfwhiysw")
    public suspend fun subnets(`value`: Output>) {
        this.subnets = value
    }

    @JvmName("bcncyjnqsdxhqneh")
    public suspend fun subnets(vararg values: Output) {
        this.subnets = Output.all(values.asList())
    }

    /**
     * @param values 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.
     */
    @JvmName("avjbkardhbajwxgi")
    public suspend fun subnets(values: List>) {
        this.subnets = Output.all(values)
    }

    /**
     * @param value 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.
     */
    @JvmName("lgjixebwyrhgtbhr")
    public suspend fun target(`value`: Output) {
        this.target = value
    }

    /**
     * @param value The Azure Resource URI of the of the endpoint. Not applicable to endpoints of type 'ExternalEndpoints'.
     */
    @JvmName("kykwynqbsgeduftt")
    public suspend fun targetResourceId(`value`: Output) {
        this.targetResourceId = value
    }

    /**
     * @param value The type of the resource. Ex- Microsoft.Network/trafficManagerProfiles.
     */
    @JvmName("dycbsqwnqyidpwvo")
    public suspend fun type(`value`: Output) {
        this.type = value
    }

    /**
     * @param value The weight of this endpoint when using the 'Weighted' traffic routing method. Possible values are from 1 to 1000.
     */
    @JvmName("djswbcwxigcslobm")
    public suspend fun weight(`value`: Output) {
        this.weight = value
    }

    /**
     * @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("nduxpprsdbdlxrwn")
    public suspend fun alwaysServe(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.alwaysServe = mapped
    }

    /**
     * @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("jcgddqemsfepqfoq")
    public fun alwaysServe(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.alwaysServe = mapped
    }

    /**
     * @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("bbjnfqcuxtfbefhm")
    public fun alwaysServe(`value`: AlwaysServe) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.alwaysServe = mapped
    }

    /**
     * @param value List of custom headers.
     */
    @JvmName("yivgfywsgekyrkig")
    public suspend fun customHeaders(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.customHeaders = mapped
    }

    /**
     * @param argument List of custom headers.
     */
    @JvmName("gngpwodqmwctpxbn")
    public suspend fun customHeaders(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            EndpointPropertiesCustomHeadersArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.customHeaders = mapped
    }

    /**
     * @param argument List of custom headers.
     */
    @JvmName("qkuenmoawjoqvycp")
    public suspend fun customHeaders(vararg argument: suspend EndpointPropertiesCustomHeadersArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            EndpointPropertiesCustomHeadersArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.customHeaders = mapped
    }

    /**
     * @param argument List of custom headers.
     */
    @JvmName("gcafntintkfcucny")
    public suspend fun customHeaders(argument: suspend EndpointPropertiesCustomHeadersArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            EndpointPropertiesCustomHeadersArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.customHeaders = mapped
    }

    /**
     * @param values List of custom headers.
     */
    @JvmName("lvcrfvqqxovpudla")
    public suspend fun customHeaders(vararg values: EndpointPropertiesCustomHeadersArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.customHeaders = mapped
    }

    /**
     * @param value Specifies the location of the external or nested endpoints when using the 'Performance' traffic routing method.
     */
    @JvmName("jgkxqsueeycanpwp")
    public suspend fun endpointLocation(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.endpointLocation = mapped
    }

    /**
     * @param value The monitoring status of the endpoint.
     */
    @JvmName("vydihrelnrdqxqfj")
    public suspend fun endpointMonitorStatus(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.endpointMonitorStatus = mapped
    }

    /**
     * @param value The monitoring status of the endpoint.
     */
    @JvmName("eqkggqvosklvaxfi")
    public fun endpointMonitorStatus(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.endpointMonitorStatus = mapped
    }

    /**
     * @param value The monitoring status of the endpoint.
     */
    @JvmName("uocdsarylgclvbax")
    public fun endpointMonitorStatus(`value`: EndpointMonitorStatus) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.endpointMonitorStatus = mapped
    }

    /**
     * @param value The name of the Traffic Manager endpoint to be created or updated.
     */
    @JvmName("ebarcsybggcwixob")
    public suspend fun endpointName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.endpointName = mapped
    }

    /**
     * @param value The status of the endpoint. If the endpoint is Enabled, it is probed for endpoint health and is included in the traffic routing method.
     */
    @JvmName("gkwytakpwtbvdfpp")
    public suspend fun endpointStatus(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.endpointStatus = mapped
    }

    /**
     * @param value The status of the endpoint. If the endpoint is Enabled, it is probed for endpoint health and is included in the traffic routing method.
     */
    @JvmName("iinxixybkaxibbjm")
    public fun endpointStatus(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.endpointStatus = mapped
    }

    /**
     * @param value The status of the endpoint. If the endpoint is Enabled, it is probed for endpoint health and is included in the traffic routing method.
     */
    @JvmName("ogfrjnfxjgihpbym")
    public fun endpointStatus(`value`: EndpointStatus) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.endpointStatus = mapped
    }

    /**
     * @param value The type of the Traffic Manager endpoint to be created or updated.
     */
    @JvmName("uaswsnmcxdtemkfu")
    public suspend fun endpointType(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.endpointType = mapped
    }

    /**
     * @param value 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.
     */
    @JvmName("jsiogrkrkoqvluki")
    public suspend fun geoMapping(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.geoMapping = mapped
    }

    /**
     * @param values 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.
     */
    @JvmName("avaljhksuhrkymyw")
    public suspend fun geoMapping(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.geoMapping = mapped
    }

    /**
     * @param value Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{resourceName}
     */
    @JvmName("ccecpbdewwsxasfq")
    public suspend fun id(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.id = mapped
    }

    /**
     * @param value 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'.
     */
    @JvmName("lftnrgdplkkuinat")
    public suspend fun minChildEndpoints(`value`: Double?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.minChildEndpoints = mapped
    }

    /**
     * @param value 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'.
     */
    @JvmName("hjbaslwducbbgnhx")
    public suspend fun minChildEndpointsIPv4(`value`: Double?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.minChildEndpointsIPv4 = mapped
    }

    /**
     * @param value 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'.
     */
    @JvmName("maelphvosmjfveba")
    public suspend fun minChildEndpointsIPv6(`value`: Double?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.minChildEndpointsIPv6 = mapped
    }

    /**
     * @param value The name of the resource
     */
    @JvmName("iocdwokupgtxkrwh")
    public suspend fun name(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.name = mapped
    }

    /**
     * @param value 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.
     */
    @JvmName("deuutkiwpscbbekb")
    public suspend fun priority(`value`: Double?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.priority = mapped
    }

    /**
     * @param value The name of the Traffic Manager profile.
     */
    @JvmName("ismfwjiwotbtcqbi")
    public suspend fun profileName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.profileName = mapped
    }

    /**
     * @param value The name of the resource group. The name is case insensitive.
     */
    @JvmName("ywmpcxxberakyshd")
    public suspend fun resourceGroupName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.resourceGroupName = mapped
    }

    /**
     * @param value 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.
     */
    @JvmName("afbapdlrjutyjsko")
    public suspend fun subnets(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.subnets = mapped
    }

    /**
     * @param argument 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.
     */
    @JvmName("uccpbihmgijslsag")
    public suspend fun subnets(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            EndpointPropertiesSubnetsArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.subnets = mapped
    }

    /**
     * @param argument 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.
     */
    @JvmName("fqqmpmncfyukuvwd")
    public suspend fun subnets(vararg argument: suspend EndpointPropertiesSubnetsArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            EndpointPropertiesSubnetsArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.subnets = mapped
    }

    /**
     * @param argument 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.
     */
    @JvmName("pmrimdvkdhgwgaxv")
    public suspend fun subnets(argument: suspend EndpointPropertiesSubnetsArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            EndpointPropertiesSubnetsArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.subnets = mapped
    }

    /**
     * @param values 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.
     */
    @JvmName("vbrbahdimtllhuiq")
    public suspend fun subnets(vararg values: EndpointPropertiesSubnetsArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.subnets = mapped
    }

    /**
     * @param value 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.
     */
    @JvmName("tvbjgbccqplbyfdu")
    public suspend fun target(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.target = mapped
    }

    /**
     * @param value The Azure Resource URI of the of the endpoint. Not applicable to endpoints of type 'ExternalEndpoints'.
     */
    @JvmName("genbfeexthfallev")
    public suspend fun targetResourceId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.targetResourceId = mapped
    }

    /**
     * @param value The type of the resource. Ex- Microsoft.Network/trafficManagerProfiles.
     */
    @JvmName("alxjsviixwoompcn")
    public suspend fun type(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.type = mapped
    }

    /**
     * @param value The weight of this endpoint when using the 'Weighted' traffic routing method. Possible values are from 1 to 1000.
     */
    @JvmName("qgkdqtfhyssxproc")
    public suspend fun weight(`value`: Double?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.weight = mapped
    }

    internal fun build(): EndpointArgs = EndpointArgs(
        alwaysServe = alwaysServe,
        customHeaders = customHeaders,
        endpointLocation = endpointLocation,
        endpointMonitorStatus = endpointMonitorStatus,
        endpointName = endpointName,
        endpointStatus = endpointStatus,
        endpointType = endpointType,
        geoMapping = geoMapping,
        id = id,
        minChildEndpoints = minChildEndpoints,
        minChildEndpointsIPv4 = minChildEndpointsIPv4,
        minChildEndpointsIPv6 = minChildEndpointsIPv6,
        name = name,
        priority = priority,
        profileName = profileName,
        resourceGroupName = resourceGroupName,
        subnets = subnets,
        target = target,
        targetResourceId = targetResourceId,
        type = type,
        weight = weight,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy