Please wait. This can take some minutes ...
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.
com.pulumi.azure.customip.kotlin.PrefixArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azure.customip.kotlin
import com.pulumi.azure.customip.PrefixArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
* Manages a custom IPv4 prefix or custom IPv6 prefix.
* ## Example Usage
* *IPv4 custom prefix*
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as azure from "@pulumi/azure";
* const example = new azure.core.ResourceGroup("example", {
* name: "example-resources",
* location: "West Europe",
* });
* const examplePrefix = new azure.customip.Prefix("example", {
* name: "example-CustomIPPrefix",
* location: example.location,
* resourceGroupName: example.name,
* cidr: "1.2.3.4/22",
* zones: [
* "1",
* "2",
* "3",
* ],
* commissioningEnabled: true,
* roaValidityEndDate: "2099-12-12",
* wanValidationSignedMessage: "signed message for WAN validation",
* tags: {
* env: "test",
* },
* });
* ```
* ```python
* import pulumi
* import pulumi_azure as azure
* example = azure.core.ResourceGroup("example",
* name="example-resources",
* location="West Europe")
* example_prefix = azure.customip.Prefix("example",
* name="example-CustomIPPrefix",
* location=example.location,
* resource_group_name=example.name,
* cidr="1.2.3.4/22",
* zones=[
* "1",
* "2",
* "3",
* ],
* commissioning_enabled=True,
* roa_validity_end_date="2099-12-12",
* wan_validation_signed_message="signed message for WAN validation",
* tags={
* "env": "test",
* })
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Azure = Pulumi.Azure;
* return await Deployment.RunAsync(() =>
* {
* var example = new Azure.Core.ResourceGroup("example", new()
* {
* Name = "example-resources",
* Location = "West Europe",
* });
* var examplePrefix = new Azure.CustomIp.Prefix("example", new()
* {
* Name = "example-CustomIPPrefix",
* Location = example.Location,
* ResourceGroupName = example.Name,
* Cidr = "1.2.3.4/22",
* Zones = new[]
* {
* "1",
* "2",
* "3",
* },
* CommissioningEnabled = true,
* RoaValidityEndDate = "2099-12-12",
* WanValidationSignedMessage = "signed message for WAN validation",
* Tags =
* {
* { "env", "test" },
* },
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
* "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/customip"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
* Name: pulumi.String("example-resources"),
* Location: pulumi.String("West Europe"),
* })
* if err != nil {
* return err
* }
* _, err = customip.NewPrefix(ctx, "example", &customip.PrefixArgs{
* Name: pulumi.String("example-CustomIPPrefix"),
* Location: example.Location,
* ResourceGroupName: example.Name,
* Cidr: pulumi.String("1.2.3.4/22"),
* Zones: pulumi.StringArray{
* pulumi.String("1"),
* pulumi.String("2"),
* pulumi.String("3"),
* },
* CommissioningEnabled: pulumi.Bool(true),
* RoaValidityEndDate: pulumi.String("2099-12-12"),
* WanValidationSignedMessage: pulumi.String("signed message for WAN validation"),
* Tags: pulumi.StringMap{
* "env": pulumi.String("test"),
* },
* })
* 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.azure.core.ResourceGroup;
* import com.pulumi.azure.core.ResourceGroupArgs;
* import com.pulumi.azure.customip.Prefix;
* import com.pulumi.azure.customip.PrefixArgs;
* 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 example = new ResourceGroup("example", ResourceGroupArgs.builder()
* .name("example-resources")
* .location("West Europe")
* .build());
* var examplePrefix = new Prefix("examplePrefix", PrefixArgs.builder()
* .name("example-CustomIPPrefix")
* .location(example.location())
* .resourceGroupName(example.name())
* .cidr("1.2.3.4/22")
* .zones(
* "1",
* "2",
* "3")
* .commissioningEnabled(true)
* .roaValidityEndDate("2099-12-12")
* .wanValidationSignedMessage("signed message for WAN validation")
* .tags(Map.of("env", "test"))
* .build());
* }
* }
* ```
* ```yaml
* resources:
* example:
* type: azure:core:ResourceGroup
* properties:
* name: example-resources
* location: West Europe
* examplePrefix:
* type: azure:customip:Prefix
* name: example
* properties:
* name: example-CustomIPPrefix
* location: ${example.location}
* resourceGroupName: ${example.name}
* cidr: 1.2.3.4/22
* zones:
* - '1'
* - '2'
* - '3'
* commissioningEnabled: true
* roaValidityEndDate: 2099-12-12
* wanValidationSignedMessage: signed message for WAN validation
* tags:
* env: test
* ```
*
* *IPv6 custom prefix*
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as azure from "@pulumi/azure";
* import * as std from "@pulumi/std";
* const example = new azure.core.ResourceGroup("example", {
* name: "example-resources",
* location: "West Europe",
* });
* const global = new azure.customip.Prefix("global", {
* name: "example-Global-CustomIPPrefix",
* location: test.location,
* resourceGroupName: test.name,
* cidr: "2001:db8:1::/48",
* roaValidityEndDate: "2199-12-12",
* wanValidationSignedMessage: "signed message for WAN validation",
* });
* const regional = new azure.customip.Prefix("regional", {
* name: "example-Regional-CustomIPPrefix",
* location: test.location,
* resourceGroupName: test.name,
* parentCustomIpPrefixId: global.id,
* cidr: global.cidr.apply(cidr => std.cidrsubnetOutput({
* input: cidr,
* newbits: 16,
* netnum: 1,
* })).apply(invoke => invoke.result),
* zones: ["1"],
* });
* ```
* ```python
* import pulumi
* import pulumi_azure as azure
* import pulumi_std as std
* example = azure.core.ResourceGroup("example",
* name="example-resources",
* location="West Europe")
* global_ = azure.customip.Prefix("global",
* name="example-Global-CustomIPPrefix",
* location=test["location"],
* resource_group_name=test["name"],
* cidr="2001:db8:1::/48",
* roa_validity_end_date="2199-12-12",
* wan_validation_signed_message="signed message for WAN validation")
* regional = azure.customip.Prefix("regional",
* name="example-Regional-CustomIPPrefix",
* location=test["location"],
* resource_group_name=test["name"],
* parent_custom_ip_prefix_id=global_.id,
* cidr=global_.cidr.apply(lambda cidr: std.cidrsubnet_output(input=cidr,
* newbits=16,
* netnum=1)).apply(lambda invoke: invoke.result),
* zones=["1"])
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Azure = Pulumi.Azure;
* using Std = Pulumi.Std;
* return await Deployment.RunAsync(() =>
* {
* var example = new Azure.Core.ResourceGroup("example", new()
* {
* Name = "example-resources",
* Location = "West Europe",
* });
* var @global = new Azure.CustomIp.Prefix("global", new()
* {
* Name = "example-Global-CustomIPPrefix",
* Location = test.Location,
* ResourceGroupName = test.Name,
* Cidr = "2001:db8:1::/48",
* RoaValidityEndDate = "2199-12-12",
* WanValidationSignedMessage = "signed message for WAN validation",
* });
* var regional = new Azure.CustomIp.Prefix("regional", new()
* {
* Name = "example-Regional-CustomIPPrefix",
* Location = test.Location,
* ResourceGroupName = test.Name,
* ParentCustomIpPrefixId = @global.Id,
* Cidr = @global.Cidr.Apply(cidr => Std.Cidrsubnet.Invoke(new()
* {
* Input = cidr,
* Newbits = 16,
* Netnum = 1,
* })).Apply(invoke => invoke.Result),
* Zones = new[]
* {
* "1",
* },
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
* "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/customip"
* "github.com/pulumi/pulumi-std/sdk/go/std"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* _, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
* Name: pulumi.String("example-resources"),
* Location: pulumi.String("West Europe"),
* })
* if err != nil {
* return err
* }
* global, err := customip.NewPrefix(ctx, "global", &customip.PrefixArgs{
* Name: pulumi.String("example-Global-CustomIPPrefix"),
* Location: pulumi.Any(test.Location),
* ResourceGroupName: pulumi.Any(test.Name),
* Cidr: pulumi.String("2001:db8:1::/48"),
* RoaValidityEndDate: pulumi.String("2199-12-12"),
* WanValidationSignedMessage: pulumi.String("signed message for WAN validation"),
* })
* if err != nil {
* return err
* }
* _, err = customip.NewPrefix(ctx, "regional", &customip.PrefixArgs{
* Name: pulumi.String("example-Regional-CustomIPPrefix"),
* Location: pulumi.Any(test.Location),
* ResourceGroupName: pulumi.Any(test.Name),
* ParentCustomIpPrefixId: global.ID(),
* Cidr: pulumi.String(global.Cidr.ApplyT(func(cidr string) (std.CidrsubnetResult, error) {
* return std.CidrsubnetResult(interface{}(std.CidrsubnetOutput(ctx, std.CidrsubnetOutputArgs{
* Input: cidr,
* Newbits: 16,
* Netnum: 1,
* }, nil))), nil
* }).(std.CidrsubnetResultOutput).ApplyT(func(invoke std.CidrsubnetResult) (*string, error) {
* return invoke.Result, nil
* }).(pulumi.StringPtrOutput)),
* Zones: pulumi.StringArray{
* pulumi.String("1"),
* },
* })
* 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.azure.core.ResourceGroup;
* import com.pulumi.azure.core.ResourceGroupArgs;
* import com.pulumi.azure.customip.Prefix;
* import com.pulumi.azure.customip.PrefixArgs;
* 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 example = new ResourceGroup("example", ResourceGroupArgs.builder()
* .name("example-resources")
* .location("West Europe")
* .build());
* var global = new Prefix("global", PrefixArgs.builder()
* .name("example-Global-CustomIPPrefix")
* .location(test.location())
* .resourceGroupName(test.name())
* .cidr("2001:db8:1::/48")
* .roaValidityEndDate("2199-12-12")
* .wanValidationSignedMessage("signed message for WAN validation")
* .build());
* var regional = new Prefix("regional", PrefixArgs.builder()
* .name("example-Regional-CustomIPPrefix")
* .location(test.location())
* .resourceGroupName(test.name())
* .parentCustomIpPrefixId(global.id())
* .cidr(global.cidr().applyValue(cidr -> StdFunctions.cidrsubnet()).applyValue(invoke -> invoke.result()))
* .zones("1")
* .build());
* }
* }
* ```
* ```yaml
* resources:
* example:
* type: azure:core:ResourceGroup
* properties:
* name: example-resources
* location: West Europe
* global:
* type: azure:customip:Prefix
* properties:
* name: example-Global-CustomIPPrefix
* location: ${test.location}
* resourceGroupName: ${test.name}
* cidr: 2001:db8:1::/48
* roaValidityEndDate: 2199-12-12
* wanValidationSignedMessage: signed message for WAN validation
* regional:
* type: azure:customip:Prefix
* properties:
* name: example-Regional-CustomIPPrefix
* location: ${test.location}
* resourceGroupName: ${test.name}
* parentCustomIpPrefixId: ${global.id}
* cidr:
* fn::invoke:
* Function: std:cidrsubnet
* Arguments:
* input: ${global.cidr}
* newbits: 16
* netnum: 1
* Return: result
* zones:
* - '1'
* ```
*
* ## Import
* A Custom IP Prefix can be imported using the `resource id`, e.g.
* ```sh
* $ pulumi import azure:customip/prefix:Prefix example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/customIPPrefixes/customIPPrefix1
* ```
* @property cidr The `cidr` of the Custom IP Prefix, either IPv4 or IPv6. Changing this forces a new resource to be created.
* @property commissioningEnabled Specifies that the custom IP prefix should be commissioned after provisioning in Azure. Defaults to `false`.
* !> **Warning** Changing the value of `commissioning_enabled` from `true` to `false` causes the IP prefix to stop being advertised by Azure and is functionally equivalent to deleting it when used in a production setting.
* @property internetAdvertisingDisabled Specifies that the custom IP prefix should not be publicly advertised on the Internet when commissioned (regional commissioning feature). Defaults to `false`.
* !> **Warning** Changing the value of `internet_advertising_disabled` from `true` to `false` causes the IP prefix to stop being advertised by Azure and is functionally equivalent to deleting it when used in a production setting.
* @property location The location where the Custom IP Prefix should exist. Changing this forces a new resource to be created.
* @property name The name of the Custom IP Prefix. Changing this forces a new resource to be created.
* @property parentCustomIpPrefixId Specifies the ID of the parent prefix. Only needed when creating a regional/child IPv6 prefix. Changing this forces a new resource to be created.
* @property resourceGroupName The name of the Resource Group in which to create the Custom IP Prefix. Changing this forces a new resource to be created.
* @property roaValidityEndDate The expiration date of the Route Origin Authorization (ROA) document which has been filed with the Routing Internet Registry (RIR) for this prefix. The expected format is `YYYY-MM-DD`. Required when provisioning an IPv4 prefix or IPv6 global prefix. Changing this forces a new resource to be created.
* @property tags A mapping of tags to assign to the Custom IP Prefix.
* @property wanValidationSignedMessage The signed base64-encoded authorization message, which will be sent to Microsoft for WAN verification. Required when provisioning an IPv4 prefix or IPv6 global prefix. Refer to [Azure documentation](https://learn.microsoft.com/en-us/azure/virtual-network/ip-services/create-custom-ip-address-prefix-cli#certificate-readiness) for more details about the process for your RIR. Changing this forces a new resource to be created.
* @property zones Specifies a list of Availability Zones in which this Custom IP Prefix should be located. Should not be specified when creating an IPv6 global prefix. Changing this forces a new resource to be created.
* > **Note:** In regions with [availability zones](https://docs.microsoft.com/en-us/azure/availability-zones/az-overview), the Custom IP Prefix must be specified as either `Zone-redundant` or assigned to a specific zone. It can't be created with no zone specified in these regions. All IPs from the prefix must have the same zonal properties.
*/
public data class PrefixArgs(
public val cidr: Output? = null,
public val commissioningEnabled: Output? = null,
public val internetAdvertisingDisabled: Output? = null,
public val location: Output? = null,
public val name: Output? = null,
public val parentCustomIpPrefixId: Output? = null,
public val resourceGroupName: Output? = null,
public val roaValidityEndDate: Output? = null,
public val tags: Output>? = null,
public val wanValidationSignedMessage: Output? = null,
public val zones: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azure.customip.PrefixArgs =
com.pulumi.azure.customip.PrefixArgs.builder()
.cidr(cidr?.applyValue({ args0 -> args0 }))
.commissioningEnabled(commissioningEnabled?.applyValue({ args0 -> args0 }))
.internetAdvertisingDisabled(internetAdvertisingDisabled?.applyValue({ args0 -> args0 }))
.location(location?.applyValue({ args0 -> args0 }))
.name(name?.applyValue({ args0 -> args0 }))
.parentCustomIpPrefixId(parentCustomIpPrefixId?.applyValue({ args0 -> args0 }))
.resourceGroupName(resourceGroupName?.applyValue({ args0 -> args0 }))
.roaValidityEndDate(roaValidityEndDate?.applyValue({ args0 -> args0 }))
.tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.key.to(args0.value) }).toMap() }))
.wanValidationSignedMessage(wanValidationSignedMessage?.applyValue({ args0 -> args0 }))
.zones(zones?.applyValue({ args0 -> args0.map({ args0 -> args0 }) })).build()
}
/**
* Builder for [PrefixArgs].
*/
@PulumiTagMarker
public class PrefixArgsBuilder internal constructor() {
private var cidr: Output? = null
private var commissioningEnabled: Output? = null
private var internetAdvertisingDisabled: Output? = null
private var location: Output? = null
private var name: Output? = null
private var parentCustomIpPrefixId: Output? = null
private var resourceGroupName: Output? = null
private var roaValidityEndDate: Output? = null
private var tags: Output>? = null
private var wanValidationSignedMessage: Output? = null
private var zones: Output>? = null
/**
* @param value The `cidr` of the Custom IP Prefix, either IPv4 or IPv6. Changing this forces a new resource to be created.
*/
@JvmName("eyvvmfnawafhrbvx")
public suspend fun cidr(`value`: Output) {
this.cidr = value
}
/**
* @param value Specifies that the custom IP prefix should be commissioned after provisioning in Azure. Defaults to `false`.
* !> **Warning** Changing the value of `commissioning_enabled` from `true` to `false` causes the IP prefix to stop being advertised by Azure and is functionally equivalent to deleting it when used in a production setting.
*/
@JvmName("pfbexvyhwlmabewc")
public suspend fun commissioningEnabled(`value`: Output) {
this.commissioningEnabled = value
}
/**
* @param value Specifies that the custom IP prefix should not be publicly advertised on the Internet when commissioned (regional commissioning feature). Defaults to `false`.
* !> **Warning** Changing the value of `internet_advertising_disabled` from `true` to `false` causes the IP prefix to stop being advertised by Azure and is functionally equivalent to deleting it when used in a production setting.
*/
@JvmName("paxavururrimlwjf")
public suspend fun internetAdvertisingDisabled(`value`: Output) {
this.internetAdvertisingDisabled = value
}
/**
* @param value The location where the Custom IP Prefix should exist. Changing this forces a new resource to be created.
*/
@JvmName("ynosgbcwxuhgtpfn")
public suspend fun location(`value`: Output) {
this.location = value
}
/**
* @param value The name of the Custom IP Prefix. Changing this forces a new resource to be created.
*/
@JvmName("xdgfgykbtxcxrlcp")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value Specifies the ID of the parent prefix. Only needed when creating a regional/child IPv6 prefix. Changing this forces a new resource to be created.
*/
@JvmName("pcselmuvscqmdxxp")
public suspend fun parentCustomIpPrefixId(`value`: Output) {
this.parentCustomIpPrefixId = value
}
/**
* @param value The name of the Resource Group in which to create the Custom IP Prefix. Changing this forces a new resource to be created.
*/
@JvmName("ejbsoggcmrvtcjul")
public suspend fun resourceGroupName(`value`: Output) {
this.resourceGroupName = value
}
/**
* @param value The expiration date of the Route Origin Authorization (ROA) document which has been filed with the Routing Internet Registry (RIR) for this prefix. The expected format is `YYYY-MM-DD`. Required when provisioning an IPv4 prefix or IPv6 global prefix. Changing this forces a new resource to be created.
*/
@JvmName("hxopewseusfbhvtk")
public suspend fun roaValidityEndDate(`value`: Output) {
this.roaValidityEndDate = value
}
/**
* @param value A mapping of tags to assign to the Custom IP Prefix.
*/
@JvmName("plrpjnktqgotqutm")
public suspend fun tags(`value`: Output>) {
this.tags = value
}
/**
* @param value The signed base64-encoded authorization message, which will be sent to Microsoft for WAN verification. Required when provisioning an IPv4 prefix or IPv6 global prefix. Refer to [Azure documentation](https://learn.microsoft.com/en-us/azure/virtual-network/ip-services/create-custom-ip-address-prefix-cli#certificate-readiness) for more details about the process for your RIR. Changing this forces a new resource to be created.
*/
@JvmName("fdbyqifbkksioxjw")
public suspend fun wanValidationSignedMessage(`value`: Output) {
this.wanValidationSignedMessage = value
}
/**
* @param value Specifies a list of Availability Zones in which this Custom IP Prefix should be located. Should not be specified when creating an IPv6 global prefix. Changing this forces a new resource to be created.
* > **Note:** In regions with [availability zones](https://docs.microsoft.com/en-us/azure/availability-zones/az-overview), the Custom IP Prefix must be specified as either `Zone-redundant` or assigned to a specific zone. It can't be created with no zone specified in these regions. All IPs from the prefix must have the same zonal properties.
*/
@JvmName("gjgsvcamjccyqnwb")
public suspend fun zones(`value`: Output>) {
this.zones = value
}
@JvmName("hkmvfvtvxdtiqenw")
public suspend fun zones(vararg values: Output) {
this.zones = Output.all(values.asList())
}
/**
* @param values Specifies a list of Availability Zones in which this Custom IP Prefix should be located. Should not be specified when creating an IPv6 global prefix. Changing this forces a new resource to be created.
* > **Note:** In regions with [availability zones](https://docs.microsoft.com/en-us/azure/availability-zones/az-overview), the Custom IP Prefix must be specified as either `Zone-redundant` or assigned to a specific zone. It can't be created with no zone specified in these regions. All IPs from the prefix must have the same zonal properties.
*/
@JvmName("vyynfvgukvsariak")
public suspend fun zones(values: List>) {
this.zones = Output.all(values)
}
/**
* @param value The `cidr` of the Custom IP Prefix, either IPv4 or IPv6. Changing this forces a new resource to be created.
*/
@JvmName("scaqevshkoyjlwjl")
public suspend fun cidr(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.cidr = mapped
}
/**
* @param value Specifies that the custom IP prefix should be commissioned after provisioning in Azure. Defaults to `false`.
* !> **Warning** Changing the value of `commissioning_enabled` from `true` to `false` causes the IP prefix to stop being advertised by Azure and is functionally equivalent to deleting it when used in a production setting.
*/
@JvmName("dmwvdviskpcovmxg")
public suspend fun commissioningEnabled(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.commissioningEnabled = mapped
}
/**
* @param value Specifies that the custom IP prefix should not be publicly advertised on the Internet when commissioned (regional commissioning feature). Defaults to `false`.
* !> **Warning** Changing the value of `internet_advertising_disabled` from `true` to `false` causes the IP prefix to stop being advertised by Azure and is functionally equivalent to deleting it when used in a production setting.
*/
@JvmName("ggqgcrnxflfsuakt")
public suspend fun internetAdvertisingDisabled(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.internetAdvertisingDisabled = mapped
}
/**
* @param value The location where the Custom IP Prefix should exist. Changing this forces a new resource to be created.
*/
@JvmName("nppvsbieqtxoowsh")
public suspend fun location(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.location = mapped
}
/**
* @param value The name of the Custom IP Prefix. Changing this forces a new resource to be created.
*/
@JvmName("mdodeifeochrsdkm")
public suspend fun name(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.name = mapped
}
/**
* @param value Specifies the ID of the parent prefix. Only needed when creating a regional/child IPv6 prefix. Changing this forces a new resource to be created.
*/
@JvmName("cglhqkxcrxufpalv")
public suspend fun parentCustomIpPrefixId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.parentCustomIpPrefixId = mapped
}
/**
* @param value The name of the Resource Group in which to create the Custom IP Prefix. Changing this forces a new resource to be created.
*/
@JvmName("ccjsjnomapevknba")
public suspend fun resourceGroupName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.resourceGroupName = mapped
}
/**
* @param value The expiration date of the Route Origin Authorization (ROA) document which has been filed with the Routing Internet Registry (RIR) for this prefix. The expected format is `YYYY-MM-DD`. Required when provisioning an IPv4 prefix or IPv6 global prefix. Changing this forces a new resource to be created.
*/
@JvmName("mibhggsslgqqircj")
public suspend fun roaValidityEndDate(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.roaValidityEndDate = mapped
}
/**
* @param value A mapping of tags to assign to the Custom IP Prefix.
*/
@JvmName("qnbwqjwadrmkiqaa")
public suspend fun tags(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.tags = mapped
}
/**
* @param values A mapping of tags to assign to the Custom IP Prefix.
*/
@JvmName("peicowvlblpcdsul")
public fun tags(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.tags = mapped
}
/**
* @param value The signed base64-encoded authorization message, which will be sent to Microsoft for WAN verification. Required when provisioning an IPv4 prefix or IPv6 global prefix. Refer to [Azure documentation](https://learn.microsoft.com/en-us/azure/virtual-network/ip-services/create-custom-ip-address-prefix-cli#certificate-readiness) for more details about the process for your RIR. Changing this forces a new resource to be created.
*/
@JvmName("eodbajslckmhctpg")
public suspend fun wanValidationSignedMessage(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.wanValidationSignedMessage = mapped
}
/**
* @param value Specifies a list of Availability Zones in which this Custom IP Prefix should be located. Should not be specified when creating an IPv6 global prefix. Changing this forces a new resource to be created.
* > **Note:** In regions with [availability zones](https://docs.microsoft.com/en-us/azure/availability-zones/az-overview), the Custom IP Prefix must be specified as either `Zone-redundant` or assigned to a specific zone. It can't be created with no zone specified in these regions. All IPs from the prefix must have the same zonal properties.
*/
@JvmName("olarpdagqsqrxulk")
public suspend fun zones(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.zones = mapped
}
/**
* @param values Specifies a list of Availability Zones in which this Custom IP Prefix should be located. Should not be specified when creating an IPv6 global prefix. Changing this forces a new resource to be created.
* > **Note:** In regions with [availability zones](https://docs.microsoft.com/en-us/azure/availability-zones/az-overview), the Custom IP Prefix must be specified as either `Zone-redundant` or assigned to a specific zone. It can't be created with no zone specified in these regions. All IPs from the prefix must have the same zonal properties.
*/
@JvmName("mxtbfjmplrycquif")
public suspend fun zones(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.zones = mapped
}
internal fun build(): PrefixArgs = PrefixArgs(
cidr = cidr,
commissioningEnabled = commissioningEnabled,
internetAdvertisingDisabled = internetAdvertisingDisabled,
location = location,
name = name,
parentCustomIpPrefixId = parentCustomIpPrefixId,
resourceGroupName = resourceGroupName,
roaValidityEndDate = roaValidityEndDate,
tags = tags,
wanValidationSignedMessage = wanValidationSignedMessage,
zones = zones,
)
}