customip

package
v5.74.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 29, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Prefix

type Prefix struct {
	pulumi.CustomResourceState

	// The `cidr` of the Custom IP Prefix, either IPv4 or IPv6. Changing this forces a new resource to be created.
	Cidr pulumi.StringOutput `pulumi:"cidr"`
	// Specifies that the custom IP prefix should be commissioned after provisioning in Azure. Defaults to `false`.
	//
	// !> **Warning** Changing the value of `commissioningEnabled` 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.
	CommissioningEnabled pulumi.BoolPtrOutput `pulumi:"commissioningEnabled"`
	// 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 `internetAdvertisingDisabled` 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.
	InternetAdvertisingDisabled pulumi.BoolPtrOutput `pulumi:"internetAdvertisingDisabled"`
	// The location where the Custom IP Prefix should exist. Changing this forces a new resource to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// The name of the Custom IP Prefix. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// 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.
	ParentCustomIpPrefixId pulumi.StringPtrOutput `pulumi:"parentCustomIpPrefixId"`
	// The name of the Resource Group in which to create the Custom IP Prefix. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// 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.
	RoaValidityEndDate pulumi.StringPtrOutput `pulumi:"roaValidityEndDate"`
	// A mapping of tags to assign to the Custom IP Prefix.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// 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.
	WanValidationSignedMessage pulumi.StringPtrOutput `pulumi:"wanValidationSignedMessage"`
	// 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.
	Zones pulumi.StringArrayOutput `pulumi:"zones"`
}

Manages a custom IPv4 prefix or custom IPv6 prefix.

## Example Usage

*IPv4 custom prefix* ```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
	})
}

```

*IPv6 custom prefix* ```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: global.Cidr.ApplyT(func(cidr string) (std.CidrsubnetResult, error) {
				return 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
	})
}

```

## 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 ```

func GetPrefix

func GetPrefix(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PrefixState, opts ...pulumi.ResourceOption) (*Prefix, error)

GetPrefix gets an existing Prefix resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewPrefix

func NewPrefix(ctx *pulumi.Context,
	name string, args *PrefixArgs, opts ...pulumi.ResourceOption) (*Prefix, error)

NewPrefix registers a new resource with the given unique name, arguments, and options.

func (*Prefix) ElementType

func (*Prefix) ElementType() reflect.Type

func (*Prefix) ToPrefixOutput

func (i *Prefix) ToPrefixOutput() PrefixOutput

func (*Prefix) ToPrefixOutputWithContext

func (i *Prefix) ToPrefixOutputWithContext(ctx context.Context) PrefixOutput

type PrefixArgs

type PrefixArgs struct {
	// The `cidr` of the Custom IP Prefix, either IPv4 or IPv6. Changing this forces a new resource to be created.
	Cidr pulumi.StringInput
	// Specifies that the custom IP prefix should be commissioned after provisioning in Azure. Defaults to `false`.
	//
	// !> **Warning** Changing the value of `commissioningEnabled` 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.
	CommissioningEnabled pulumi.BoolPtrInput
	// 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 `internetAdvertisingDisabled` 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.
	InternetAdvertisingDisabled pulumi.BoolPtrInput
	// The location where the Custom IP Prefix should exist. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// The name of the Custom IP Prefix. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// 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.
	ParentCustomIpPrefixId pulumi.StringPtrInput
	// The name of the Resource Group in which to create the Custom IP Prefix. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// 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.
	RoaValidityEndDate pulumi.StringPtrInput
	// A mapping of tags to assign to the Custom IP Prefix.
	Tags pulumi.StringMapInput
	// 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.
	WanValidationSignedMessage pulumi.StringPtrInput
	// 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.
	Zones pulumi.StringArrayInput
}

The set of arguments for constructing a Prefix resource.

func (PrefixArgs) ElementType

func (PrefixArgs) ElementType() reflect.Type

type PrefixArray

type PrefixArray []PrefixInput

func (PrefixArray) ElementType

func (PrefixArray) ElementType() reflect.Type

func (PrefixArray) ToPrefixArrayOutput

func (i PrefixArray) ToPrefixArrayOutput() PrefixArrayOutput

func (PrefixArray) ToPrefixArrayOutputWithContext

func (i PrefixArray) ToPrefixArrayOutputWithContext(ctx context.Context) PrefixArrayOutput

type PrefixArrayInput

type PrefixArrayInput interface {
	pulumi.Input

	ToPrefixArrayOutput() PrefixArrayOutput
	ToPrefixArrayOutputWithContext(context.Context) PrefixArrayOutput
}

PrefixArrayInput is an input type that accepts PrefixArray and PrefixArrayOutput values. You can construct a concrete instance of `PrefixArrayInput` via:

PrefixArray{ PrefixArgs{...} }

type PrefixArrayOutput

type PrefixArrayOutput struct{ *pulumi.OutputState }

func (PrefixArrayOutput) ElementType

func (PrefixArrayOutput) ElementType() reflect.Type

func (PrefixArrayOutput) Index

func (PrefixArrayOutput) ToPrefixArrayOutput

func (o PrefixArrayOutput) ToPrefixArrayOutput() PrefixArrayOutput

func (PrefixArrayOutput) ToPrefixArrayOutputWithContext

func (o PrefixArrayOutput) ToPrefixArrayOutputWithContext(ctx context.Context) PrefixArrayOutput

type PrefixInput

type PrefixInput interface {
	pulumi.Input

	ToPrefixOutput() PrefixOutput
	ToPrefixOutputWithContext(ctx context.Context) PrefixOutput
}

type PrefixMap

type PrefixMap map[string]PrefixInput

func (PrefixMap) ElementType

func (PrefixMap) ElementType() reflect.Type

func (PrefixMap) ToPrefixMapOutput

func (i PrefixMap) ToPrefixMapOutput() PrefixMapOutput

func (PrefixMap) ToPrefixMapOutputWithContext

func (i PrefixMap) ToPrefixMapOutputWithContext(ctx context.Context) PrefixMapOutput

type PrefixMapInput

type PrefixMapInput interface {
	pulumi.Input

	ToPrefixMapOutput() PrefixMapOutput
	ToPrefixMapOutputWithContext(context.Context) PrefixMapOutput
}

PrefixMapInput is an input type that accepts PrefixMap and PrefixMapOutput values. You can construct a concrete instance of `PrefixMapInput` via:

PrefixMap{ "key": PrefixArgs{...} }

type PrefixMapOutput

type PrefixMapOutput struct{ *pulumi.OutputState }

func (PrefixMapOutput) ElementType

func (PrefixMapOutput) ElementType() reflect.Type

func (PrefixMapOutput) MapIndex

func (PrefixMapOutput) ToPrefixMapOutput

func (o PrefixMapOutput) ToPrefixMapOutput() PrefixMapOutput

func (PrefixMapOutput) ToPrefixMapOutputWithContext

func (o PrefixMapOutput) ToPrefixMapOutputWithContext(ctx context.Context) PrefixMapOutput

type PrefixOutput

type PrefixOutput struct{ *pulumi.OutputState }

func (PrefixOutput) Cidr

func (o PrefixOutput) Cidr() pulumi.StringOutput

The `cidr` of the Custom IP Prefix, either IPv4 or IPv6. Changing this forces a new resource to be created.

func (PrefixOutput) CommissioningEnabled

func (o PrefixOutput) CommissioningEnabled() pulumi.BoolPtrOutput

Specifies that the custom IP prefix should be commissioned after provisioning in Azure. Defaults to `false`.

!> **Warning** Changing the value of `commissioningEnabled` 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.

func (PrefixOutput) ElementType

func (PrefixOutput) ElementType() reflect.Type

func (PrefixOutput) InternetAdvertisingDisabled

func (o PrefixOutput) InternetAdvertisingDisabled() pulumi.BoolPtrOutput

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 `internetAdvertisingDisabled` 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.

func (PrefixOutput) Location

func (o PrefixOutput) Location() pulumi.StringOutput

The location where the Custom IP Prefix should exist. Changing this forces a new resource to be created.

func (PrefixOutput) Name

func (o PrefixOutput) Name() pulumi.StringOutput

The name of the Custom IP Prefix. Changing this forces a new resource to be created.

func (PrefixOutput) ParentCustomIpPrefixId

func (o PrefixOutput) ParentCustomIpPrefixId() pulumi.StringPtrOutput

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.

func (PrefixOutput) ResourceGroupName

func (o PrefixOutput) ResourceGroupName() pulumi.StringOutput

The name of the Resource Group in which to create the Custom IP Prefix. Changing this forces a new resource to be created.

func (PrefixOutput) RoaValidityEndDate

func (o PrefixOutput) RoaValidityEndDate() pulumi.StringPtrOutput

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.

func (PrefixOutput) Tags

A mapping of tags to assign to the Custom IP Prefix.

func (PrefixOutput) ToPrefixOutput

func (o PrefixOutput) ToPrefixOutput() PrefixOutput

func (PrefixOutput) ToPrefixOutputWithContext

func (o PrefixOutput) ToPrefixOutputWithContext(ctx context.Context) PrefixOutput

func (PrefixOutput) WanValidationSignedMessage

func (o PrefixOutput) WanValidationSignedMessage() pulumi.StringPtrOutput

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.

func (PrefixOutput) 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.

type PrefixState

type PrefixState struct {
	// The `cidr` of the Custom IP Prefix, either IPv4 or IPv6. Changing this forces a new resource to be created.
	Cidr pulumi.StringPtrInput
	// Specifies that the custom IP prefix should be commissioned after provisioning in Azure. Defaults to `false`.
	//
	// !> **Warning** Changing the value of `commissioningEnabled` 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.
	CommissioningEnabled pulumi.BoolPtrInput
	// 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 `internetAdvertisingDisabled` 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.
	InternetAdvertisingDisabled pulumi.BoolPtrInput
	// The location where the Custom IP Prefix should exist. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// The name of the Custom IP Prefix. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// 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.
	ParentCustomIpPrefixId pulumi.StringPtrInput
	// The name of the Resource Group in which to create the Custom IP Prefix. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// 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.
	RoaValidityEndDate pulumi.StringPtrInput
	// A mapping of tags to assign to the Custom IP Prefix.
	Tags pulumi.StringMapInput
	// 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.
	WanValidationSignedMessage pulumi.StringPtrInput
	// 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.
	Zones pulumi.StringArrayInput
}

func (PrefixState) ElementType

func (PrefixState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL