Documentation ¶
Index ¶
- type Prefix
- type PrefixArgs
- type PrefixArray
- type PrefixArrayInput
- type PrefixArrayOutput
- type PrefixInput
- type PrefixMap
- type PrefixMapInput
- type PrefixMapOutput
- type PrefixOutput
- func (o PrefixOutput) Cidr() pulumi.StringOutput
- func (o PrefixOutput) CommissioningEnabled() pulumi.BoolPtrOutput
- func (PrefixOutput) ElementType() reflect.Type
- func (o PrefixOutput) InternetAdvertisingDisabled() pulumi.BoolPtrOutput
- func (o PrefixOutput) Location() pulumi.StringOutput
- func (o PrefixOutput) Name() pulumi.StringOutput
- func (o PrefixOutput) ParentCustomIpPrefixId() pulumi.StringPtrOutput
- func (o PrefixOutput) ResourceGroupName() pulumi.StringOutput
- func (o PrefixOutput) RoaValidityEndDate() pulumi.StringPtrOutput
- func (o PrefixOutput) Tags() pulumi.StringMapOutput
- func (o PrefixOutput) ToPrefixOutput() PrefixOutput
- func (o PrefixOutput) ToPrefixOutputWithContext(ctx context.Context) PrefixOutput
- func (o PrefixOutput) WanValidationSignedMessage() pulumi.StringPtrOutput
- func (o PrefixOutput) Zones() pulumi.StringArrayOutput
- type PrefixState
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) 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 (o PrefixArrayOutput) Index(i pulumi.IntInput) PrefixOutput
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) 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 (o PrefixMapOutput) MapIndex(k pulumi.StringInput) PrefixOutput
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 ¶
func (o PrefixOutput) Tags() pulumi.StringMapOutput
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 ¶
func (o PrefixOutput) Zones() pulumi.StringArrayOutput
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