1. Packages
  2. Scaleway
  3. API Docs
  4. IpamIp
Scaleway v1.20.0 published on Monday, Nov 4, 2024 by pulumiverse

scaleway.IpamIp

Explore with Pulumi AI

scaleway logo
Scaleway v1.20.0 published on Monday, Nov 4, 2024 by pulumiverse

    Books and manages IPAM IPs.

    For more information about IPAM, see the main documentation.

    Example Usage

    Basic

    import * as pulumi from "@pulumi/pulumi";
    import * as scaleway from "@pulumiverse/scaleway";
    
    const vpc01 = new scaleway.Vpc("vpc01", {name: "my vpc"});
    const pn01 = new scaleway.VpcPrivateNetwork("pn01", {
        vpcId: vpc01.id,
        ipv4Subnet: {
            subnet: "172.16.32.0/22",
        },
    });
    const ip01 = new scaleway.IpamIp("ip01", {sources: [{
        privateNetworkId: pn01.id,
    }]});
    
    import pulumi
    import pulumiverse_scaleway as scaleway
    
    vpc01 = scaleway.Vpc("vpc01", name="my vpc")
    pn01 = scaleway.VpcPrivateNetwork("pn01",
        vpc_id=vpc01.id,
        ipv4_subnet={
            "subnet": "172.16.32.0/22",
        })
    ip01 = scaleway.IpamIp("ip01", sources=[{
        "private_network_id": pn01.id,
    }])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		vpc01, err := scaleway.NewVpc(ctx, "vpc01", &scaleway.VpcArgs{
    			Name: pulumi.String("my vpc"),
    		})
    		if err != nil {
    			return err
    		}
    		pn01, err := scaleway.NewVpcPrivateNetwork(ctx, "pn01", &scaleway.VpcPrivateNetworkArgs{
    			VpcId: vpc01.ID(),
    			Ipv4Subnet: &scaleway.VpcPrivateNetworkIpv4SubnetArgs{
    				Subnet: pulumi.String("172.16.32.0/22"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = scaleway.NewIpamIp(ctx, "ip01", &scaleway.IpamIpArgs{
    			Sources: scaleway.IpamIpSourceArray{
    				&scaleway.IpamIpSourceArgs{
    					PrivateNetworkId: pn01.ID(),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Scaleway = Pulumiverse.Scaleway;
    
    return await Deployment.RunAsync(() => 
    {
        var vpc01 = new Scaleway.Vpc("vpc01", new()
        {
            Name = "my vpc",
        });
    
        var pn01 = new Scaleway.VpcPrivateNetwork("pn01", new()
        {
            VpcId = vpc01.Id,
            Ipv4Subnet = new Scaleway.Inputs.VpcPrivateNetworkIpv4SubnetArgs
            {
                Subnet = "172.16.32.0/22",
            },
        });
    
        var ip01 = new Scaleway.IpamIp("ip01", new()
        {
            Sources = new[]
            {
                new Scaleway.Inputs.IpamIpSourceArgs
                {
                    PrivateNetworkId = pn01.Id,
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.scaleway.Vpc;
    import com.pulumi.scaleway.VpcArgs;
    import com.pulumi.scaleway.VpcPrivateNetwork;
    import com.pulumi.scaleway.VpcPrivateNetworkArgs;
    import com.pulumi.scaleway.inputs.VpcPrivateNetworkIpv4SubnetArgs;
    import com.pulumi.scaleway.IpamIp;
    import com.pulumi.scaleway.IpamIpArgs;
    import com.pulumi.scaleway.inputs.IpamIpSourceArgs;
    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 vpc01 = new Vpc("vpc01", VpcArgs.builder()
                .name("my vpc")
                .build());
    
            var pn01 = new VpcPrivateNetwork("pn01", VpcPrivateNetworkArgs.builder()
                .vpcId(vpc01.id())
                .ipv4Subnet(VpcPrivateNetworkIpv4SubnetArgs.builder()
                    .subnet("172.16.32.0/22")
                    .build())
                .build());
    
            var ip01 = new IpamIp("ip01", IpamIpArgs.builder()
                .sources(IpamIpSourceArgs.builder()
                    .privateNetworkId(pn01.id())
                    .build())
                .build());
    
        }
    }
    
    resources:
      vpc01:
        type: scaleway:Vpc
        properties:
          name: my vpc
      pn01:
        type: scaleway:VpcPrivateNetwork
        properties:
          vpcId: ${vpc01.id}
          ipv4Subnet:
            subnet: 172.16.32.0/22
      ip01:
        type: scaleway:IpamIp
        properties:
          sources:
            - privateNetworkId: ${pn01.id}
    

    Request a specific IPv4 address

    import * as pulumi from "@pulumi/pulumi";
    import * as scaleway from "@pulumiverse/scaleway";
    
    const vpc01 = new scaleway.Vpc("vpc01", {name: "my vpc"});
    const pn01 = new scaleway.VpcPrivateNetwork("pn01", {
        vpcId: vpc01.id,
        ipv4Subnet: {
            subnet: "172.16.32.0/22",
        },
    });
    const ip01 = new scaleway.IpamIp("ip01", {
        address: "172.16.32.7",
        sources: [{
            privateNetworkId: pn01.id,
        }],
    });
    
    import pulumi
    import pulumiverse_scaleway as scaleway
    
    vpc01 = scaleway.Vpc("vpc01", name="my vpc")
    pn01 = scaleway.VpcPrivateNetwork("pn01",
        vpc_id=vpc01.id,
        ipv4_subnet={
            "subnet": "172.16.32.0/22",
        })
    ip01 = scaleway.IpamIp("ip01",
        address="172.16.32.7",
        sources=[{
            "private_network_id": pn01.id,
        }])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		vpc01, err := scaleway.NewVpc(ctx, "vpc01", &scaleway.VpcArgs{
    			Name: pulumi.String("my vpc"),
    		})
    		if err != nil {
    			return err
    		}
    		pn01, err := scaleway.NewVpcPrivateNetwork(ctx, "pn01", &scaleway.VpcPrivateNetworkArgs{
    			VpcId: vpc01.ID(),
    			Ipv4Subnet: &scaleway.VpcPrivateNetworkIpv4SubnetArgs{
    				Subnet: pulumi.String("172.16.32.0/22"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = scaleway.NewIpamIp(ctx, "ip01", &scaleway.IpamIpArgs{
    			Address: pulumi.String("172.16.32.7"),
    			Sources: scaleway.IpamIpSourceArray{
    				&scaleway.IpamIpSourceArgs{
    					PrivateNetworkId: pn01.ID(),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Scaleway = Pulumiverse.Scaleway;
    
    return await Deployment.RunAsync(() => 
    {
        var vpc01 = new Scaleway.Vpc("vpc01", new()
        {
            Name = "my vpc",
        });
    
        var pn01 = new Scaleway.VpcPrivateNetwork("pn01", new()
        {
            VpcId = vpc01.Id,
            Ipv4Subnet = new Scaleway.Inputs.VpcPrivateNetworkIpv4SubnetArgs
            {
                Subnet = "172.16.32.0/22",
            },
        });
    
        var ip01 = new Scaleway.IpamIp("ip01", new()
        {
            Address = "172.16.32.7",
            Sources = new[]
            {
                new Scaleway.Inputs.IpamIpSourceArgs
                {
                    PrivateNetworkId = pn01.Id,
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.scaleway.Vpc;
    import com.pulumi.scaleway.VpcArgs;
    import com.pulumi.scaleway.VpcPrivateNetwork;
    import com.pulumi.scaleway.VpcPrivateNetworkArgs;
    import com.pulumi.scaleway.inputs.VpcPrivateNetworkIpv4SubnetArgs;
    import com.pulumi.scaleway.IpamIp;
    import com.pulumi.scaleway.IpamIpArgs;
    import com.pulumi.scaleway.inputs.IpamIpSourceArgs;
    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 vpc01 = new Vpc("vpc01", VpcArgs.builder()
                .name("my vpc")
                .build());
    
            var pn01 = new VpcPrivateNetwork("pn01", VpcPrivateNetworkArgs.builder()
                .vpcId(vpc01.id())
                .ipv4Subnet(VpcPrivateNetworkIpv4SubnetArgs.builder()
                    .subnet("172.16.32.0/22")
                    .build())
                .build());
    
            var ip01 = new IpamIp("ip01", IpamIpArgs.builder()
                .address("172.16.32.7")
                .sources(IpamIpSourceArgs.builder()
                    .privateNetworkId(pn01.id())
                    .build())
                .build());
    
        }
    }
    
    resources:
      vpc01:
        type: scaleway:Vpc
        properties:
          name: my vpc
      pn01:
        type: scaleway:VpcPrivateNetwork
        properties:
          vpcId: ${vpc01.id}
          ipv4Subnet:
            subnet: 172.16.32.0/22
      ip01:
        type: scaleway:IpamIp
        properties:
          address: 172.16.32.7
          sources:
            - privateNetworkId: ${pn01.id}
    

    Request an IPv6 address

    import * as pulumi from "@pulumi/pulumi";
    import * as scaleway from "@pulumiverse/scaleway";
    
    const vpc01 = new scaleway.Vpc("vpc01", {name: "my vpc"});
    const pn01 = new scaleway.VpcPrivateNetwork("pn01", {
        vpcId: vpc01.id,
        ipv6Subnets: [{
            subnet: "fd46:78ab:30b8:177c::/64",
        }],
    });
    const ip01 = new scaleway.IpamIp("ip01", {
        isIpv6: true,
        sources: [{
            privateNetworkId: pn01.id,
        }],
    });
    
    import pulumi
    import pulumiverse_scaleway as scaleway
    
    vpc01 = scaleway.Vpc("vpc01", name="my vpc")
    pn01 = scaleway.VpcPrivateNetwork("pn01",
        vpc_id=vpc01.id,
        ipv6_subnets=[{
            "subnet": "fd46:78ab:30b8:177c::/64",
        }])
    ip01 = scaleway.IpamIp("ip01",
        is_ipv6=True,
        sources=[{
            "private_network_id": pn01.id,
        }])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		vpc01, err := scaleway.NewVpc(ctx, "vpc01", &scaleway.VpcArgs{
    			Name: pulumi.String("my vpc"),
    		})
    		if err != nil {
    			return err
    		}
    		pn01, err := scaleway.NewVpcPrivateNetwork(ctx, "pn01", &scaleway.VpcPrivateNetworkArgs{
    			VpcId: vpc01.ID(),
    			Ipv6Subnets: scaleway.VpcPrivateNetworkIpv6SubnetArray{
    				&scaleway.VpcPrivateNetworkIpv6SubnetArgs{
    					Subnet: pulumi.String("fd46:78ab:30b8:177c::/64"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = scaleway.NewIpamIp(ctx, "ip01", &scaleway.IpamIpArgs{
    			IsIpv6: pulumi.Bool(true),
    			Sources: scaleway.IpamIpSourceArray{
    				&scaleway.IpamIpSourceArgs{
    					PrivateNetworkId: pn01.ID(),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Scaleway = Pulumiverse.Scaleway;
    
    return await Deployment.RunAsync(() => 
    {
        var vpc01 = new Scaleway.Vpc("vpc01", new()
        {
            Name = "my vpc",
        });
    
        var pn01 = new Scaleway.VpcPrivateNetwork("pn01", new()
        {
            VpcId = vpc01.Id,
            Ipv6Subnets = new[]
            {
                new Scaleway.Inputs.VpcPrivateNetworkIpv6SubnetArgs
                {
                    Subnet = "fd46:78ab:30b8:177c::/64",
                },
            },
        });
    
        var ip01 = new Scaleway.IpamIp("ip01", new()
        {
            IsIpv6 = true,
            Sources = new[]
            {
                new Scaleway.Inputs.IpamIpSourceArgs
                {
                    PrivateNetworkId = pn01.Id,
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.scaleway.Vpc;
    import com.pulumi.scaleway.VpcArgs;
    import com.pulumi.scaleway.VpcPrivateNetwork;
    import com.pulumi.scaleway.VpcPrivateNetworkArgs;
    import com.pulumi.scaleway.inputs.VpcPrivateNetworkIpv6SubnetArgs;
    import com.pulumi.scaleway.IpamIp;
    import com.pulumi.scaleway.IpamIpArgs;
    import com.pulumi.scaleway.inputs.IpamIpSourceArgs;
    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 vpc01 = new Vpc("vpc01", VpcArgs.builder()
                .name("my vpc")
                .build());
    
            var pn01 = new VpcPrivateNetwork("pn01", VpcPrivateNetworkArgs.builder()
                .vpcId(vpc01.id())
                .ipv6Subnets(VpcPrivateNetworkIpv6SubnetArgs.builder()
                    .subnet("fd46:78ab:30b8:177c::/64")
                    .build())
                .build());
    
            var ip01 = new IpamIp("ip01", IpamIpArgs.builder()
                .isIpv6(true)
                .sources(IpamIpSourceArgs.builder()
                    .privateNetworkId(pn01.id())
                    .build())
                .build());
    
        }
    }
    
    resources:
      vpc01:
        type: scaleway:Vpc
        properties:
          name: my vpc
      pn01:
        type: scaleway:VpcPrivateNetwork
        properties:
          vpcId: ${vpc01.id}
          ipv6Subnets:
            - subnet: fd46:78ab:30b8:177c::/64
      ip01:
        type: scaleway:IpamIp
        properties:
          isIpv6: true
          sources:
            - privateNetworkId: ${pn01.id}
    

    Book an IP for a custom resource

    import * as pulumi from "@pulumi/pulumi";
    import * as scaleway from "@pulumiverse/scaleway";
    
    const vpc01 = new scaleway.Vpc("vpc01", {name: "my vpc"});
    const pn01 = new scaleway.VpcPrivateNetwork("pn01", {
        vpcId: vpc01.id,
        ipv4Subnet: {
            subnet: "172.16.32.0/22",
        },
    });
    const ip01 = new scaleway.IpamIp("ip01", {
        address: "172.16.32.7",
        sources: [{
            privateNetworkId: pn01.id,
        }],
        customResources: [{
            macAddress: "bc:24:11:74:d0:6a",
        }],
    });
    
    import pulumi
    import pulumiverse_scaleway as scaleway
    
    vpc01 = scaleway.Vpc("vpc01", name="my vpc")
    pn01 = scaleway.VpcPrivateNetwork("pn01",
        vpc_id=vpc01.id,
        ipv4_subnet={
            "subnet": "172.16.32.0/22",
        })
    ip01 = scaleway.IpamIp("ip01",
        address="172.16.32.7",
        sources=[{
            "private_network_id": pn01.id,
        }],
        custom_resources=[{
            "mac_address": "bc:24:11:74:d0:6a",
        }])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		vpc01, err := scaleway.NewVpc(ctx, "vpc01", &scaleway.VpcArgs{
    			Name: pulumi.String("my vpc"),
    		})
    		if err != nil {
    			return err
    		}
    		pn01, err := scaleway.NewVpcPrivateNetwork(ctx, "pn01", &scaleway.VpcPrivateNetworkArgs{
    			VpcId: vpc01.ID(),
    			Ipv4Subnet: &scaleway.VpcPrivateNetworkIpv4SubnetArgs{
    				Subnet: pulumi.String("172.16.32.0/22"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = scaleway.NewIpamIp(ctx, "ip01", &scaleway.IpamIpArgs{
    			Address: pulumi.String("172.16.32.7"),
    			Sources: scaleway.IpamIpSourceArray{
    				&scaleway.IpamIpSourceArgs{
    					PrivateNetworkId: pn01.ID(),
    				},
    			},
    			CustomResources: scaleway.IpamIpCustomResourceArray{
    				&scaleway.IpamIpCustomResourceArgs{
    					MacAddress: pulumi.String("bc:24:11:74:d0:6a"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Scaleway = Pulumiverse.Scaleway;
    
    return await Deployment.RunAsync(() => 
    {
        var vpc01 = new Scaleway.Vpc("vpc01", new()
        {
            Name = "my vpc",
        });
    
        var pn01 = new Scaleway.VpcPrivateNetwork("pn01", new()
        {
            VpcId = vpc01.Id,
            Ipv4Subnet = new Scaleway.Inputs.VpcPrivateNetworkIpv4SubnetArgs
            {
                Subnet = "172.16.32.0/22",
            },
        });
    
        var ip01 = new Scaleway.IpamIp("ip01", new()
        {
            Address = "172.16.32.7",
            Sources = new[]
            {
                new Scaleway.Inputs.IpamIpSourceArgs
                {
                    PrivateNetworkId = pn01.Id,
                },
            },
            CustomResources = new[]
            {
                new Scaleway.Inputs.IpamIpCustomResourceArgs
                {
                    MacAddress = "bc:24:11:74:d0:6a",
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.scaleway.Vpc;
    import com.pulumi.scaleway.VpcArgs;
    import com.pulumi.scaleway.VpcPrivateNetwork;
    import com.pulumi.scaleway.VpcPrivateNetworkArgs;
    import com.pulumi.scaleway.inputs.VpcPrivateNetworkIpv4SubnetArgs;
    import com.pulumi.scaleway.IpamIp;
    import com.pulumi.scaleway.IpamIpArgs;
    import com.pulumi.scaleway.inputs.IpamIpSourceArgs;
    import com.pulumi.scaleway.inputs.IpamIpCustomResourceArgs;
    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 vpc01 = new Vpc("vpc01", VpcArgs.builder()
                .name("my vpc")
                .build());
    
            var pn01 = new VpcPrivateNetwork("pn01", VpcPrivateNetworkArgs.builder()
                .vpcId(vpc01.id())
                .ipv4Subnet(VpcPrivateNetworkIpv4SubnetArgs.builder()
                    .subnet("172.16.32.0/22")
                    .build())
                .build());
    
            var ip01 = new IpamIp("ip01", IpamIpArgs.builder()
                .address("172.16.32.7")
                .sources(IpamIpSourceArgs.builder()
                    .privateNetworkId(pn01.id())
                    .build())
                .customResources(IpamIpCustomResourceArgs.builder()
                    .macAddress("bc:24:11:74:d0:6a")
                    .build())
                .build());
    
        }
    }
    
    resources:
      vpc01:
        type: scaleway:Vpc
        properties:
          name: my vpc
      pn01:
        type: scaleway:VpcPrivateNetwork
        properties:
          vpcId: ${vpc01.id}
          ipv4Subnet:
            subnet: 172.16.32.0/22
      ip01:
        type: scaleway:IpamIp
        properties:
          address: 172.16.32.7
          sources:
            - privateNetworkId: ${pn01.id}
          customResources:
            - macAddress: bc:24:11:74:d0:6a
    

    Create IpamIp Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new IpamIp(name: string, args: IpamIpArgs, opts?: CustomResourceOptions);
    @overload
    def IpamIp(resource_name: str,
               args: IpamIpArgs,
               opts: Optional[ResourceOptions] = None)
    
    @overload
    def IpamIp(resource_name: str,
               opts: Optional[ResourceOptions] = None,
               sources: Optional[Sequence[IpamIpSourceArgs]] = None,
               address: Optional[str] = None,
               custom_resources: Optional[Sequence[IpamIpCustomResourceArgs]] = None,
               is_ipv6: Optional[bool] = None,
               project_id: Optional[str] = None,
               region: Optional[str] = None,
               tags: Optional[Sequence[str]] = None)
    func NewIpamIp(ctx *Context, name string, args IpamIpArgs, opts ...ResourceOption) (*IpamIp, error)
    public IpamIp(string name, IpamIpArgs args, CustomResourceOptions? opts = null)
    public IpamIp(String name, IpamIpArgs args)
    public IpamIp(String name, IpamIpArgs args, CustomResourceOptions options)
    
    type: scaleway:IpamIp
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args IpamIpArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args IpamIpArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args IpamIpArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args IpamIpArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args IpamIpArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var ipamIpResource = new Scaleway.IpamIp("ipamIpResource", new()
    {
        Sources = new[]
        {
            new Scaleway.Inputs.IpamIpSourceArgs
            {
                PrivateNetworkId = "string",
                SubnetId = "string",
                Zonal = "string",
            },
        },
        Address = "string",
        CustomResources = new[]
        {
            new Scaleway.Inputs.IpamIpCustomResourceArgs
            {
                MacAddress = "string",
                Name = "string",
            },
        },
        IsIpv6 = false,
        ProjectId = "string",
        Region = "string",
        Tags = new[]
        {
            "string",
        },
    });
    
    example, err := scaleway.NewIpamIp(ctx, "ipamIpResource", &scaleway.IpamIpArgs{
    	Sources: scaleway.IpamIpSourceArray{
    		&scaleway.IpamIpSourceArgs{
    			PrivateNetworkId: pulumi.String("string"),
    			SubnetId:         pulumi.String("string"),
    			Zonal:            pulumi.String("string"),
    		},
    	},
    	Address: pulumi.String("string"),
    	CustomResources: scaleway.IpamIpCustomResourceArray{
    		&scaleway.IpamIpCustomResourceArgs{
    			MacAddress: pulumi.String("string"),
    			Name:       pulumi.String("string"),
    		},
    	},
    	IsIpv6:    pulumi.Bool(false),
    	ProjectId: pulumi.String("string"),
    	Region:    pulumi.String("string"),
    	Tags: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    })
    
    var ipamIpResource = new IpamIp("ipamIpResource", IpamIpArgs.builder()
        .sources(IpamIpSourceArgs.builder()
            .privateNetworkId("string")
            .subnetId("string")
            .zonal("string")
            .build())
        .address("string")
        .customResources(IpamIpCustomResourceArgs.builder()
            .macAddress("string")
            .name("string")
            .build())
        .isIpv6(false)
        .projectId("string")
        .region("string")
        .tags("string")
        .build());
    
    ipam_ip_resource = scaleway.IpamIp("ipamIpResource",
        sources=[{
            "private_network_id": "string",
            "subnet_id": "string",
            "zonal": "string",
        }],
        address="string",
        custom_resources=[{
            "mac_address": "string",
            "name": "string",
        }],
        is_ipv6=False,
        project_id="string",
        region="string",
        tags=["string"])
    
    const ipamIpResource = new scaleway.IpamIp("ipamIpResource", {
        sources: [{
            privateNetworkId: "string",
            subnetId: "string",
            zonal: "string",
        }],
        address: "string",
        customResources: [{
            macAddress: "string",
            name: "string",
        }],
        isIpv6: false,
        projectId: "string",
        region: "string",
        tags: ["string"],
    });
    
    type: scaleway:IpamIp
    properties:
        address: string
        customResources:
            - macAddress: string
              name: string
        isIpv6: false
        projectId: string
        region: string
        sources:
            - privateNetworkId: string
              subnetId: string
              zonal: string
        tags:
            - string
    

    IpamIp Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The IpamIp resource accepts the following input properties:

    Sources List<Pulumiverse.Scaleway.Inputs.IpamIpSource>
    The source in which to book the IP.
    Address string
    Request a specific IP in the requested source pool
    CustomResources List<Pulumiverse.Scaleway.Inputs.IpamIpCustomResource>
    The custom resource in which to book the IP
    IsIpv6 bool
    Defines whether to request an IPv6 address instead of IPv4.
    ProjectId string
    project_id) The ID of the Project the IP is associated with.
    Region string
    region) The region of the IP.
    Tags List<string>
    The tags associated with the IP.
    Sources []IpamIpSourceArgs
    The source in which to book the IP.
    Address string
    Request a specific IP in the requested source pool
    CustomResources []IpamIpCustomResourceArgs
    The custom resource in which to book the IP
    IsIpv6 bool
    Defines whether to request an IPv6 address instead of IPv4.
    ProjectId string
    project_id) The ID of the Project the IP is associated with.
    Region string
    region) The region of the IP.
    Tags []string
    The tags associated with the IP.
    sources List<IpamIpSource>
    The source in which to book the IP.
    address String
    Request a specific IP in the requested source pool
    customResources List<IpamIpCustomResource>
    The custom resource in which to book the IP
    isIpv6 Boolean
    Defines whether to request an IPv6 address instead of IPv4.
    projectId String
    project_id) The ID of the Project the IP is associated with.
    region String
    region) The region of the IP.
    tags List<String>
    The tags associated with the IP.
    sources IpamIpSource[]
    The source in which to book the IP.
    address string
    Request a specific IP in the requested source pool
    customResources IpamIpCustomResource[]
    The custom resource in which to book the IP
    isIpv6 boolean
    Defines whether to request an IPv6 address instead of IPv4.
    projectId string
    project_id) The ID of the Project the IP is associated with.
    region string
    region) The region of the IP.
    tags string[]
    The tags associated with the IP.
    sources Sequence[IpamIpSourceArgs]
    The source in which to book the IP.
    address str
    Request a specific IP in the requested source pool
    custom_resources Sequence[IpamIpCustomResourceArgs]
    The custom resource in which to book the IP
    is_ipv6 bool
    Defines whether to request an IPv6 address instead of IPv4.
    project_id str
    project_id) The ID of the Project the IP is associated with.
    region str
    region) The region of the IP.
    tags Sequence[str]
    The tags associated with the IP.
    sources List<Property Map>
    The source in which to book the IP.
    address String
    Request a specific IP in the requested source pool
    customResources List<Property Map>
    The custom resource in which to book the IP
    isIpv6 Boolean
    Defines whether to request an IPv6 address instead of IPv4.
    projectId String
    project_id) The ID of the Project the IP is associated with.
    region String
    region) The region of the IP.
    tags List<String>
    The tags associated with the IP.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the IpamIp resource produces the following output properties:

    CreatedAt string
    Date and time of IP's creation (RFC 3339 format).
    Id string
    The provider-assigned unique ID for this managed resource.
    Resources List<Pulumiverse.Scaleway.Outputs.IpamIpResource>
    The IP resource.
    Reverses List<Pulumiverse.Scaleway.Outputs.IpamIpReverse>
    The reverse DNS for this IP.
    UpdatedAt string
    Date and time of IP's last update (RFC 3339 format).
    Zone string
    The zone of the IP.
    CreatedAt string
    Date and time of IP's creation (RFC 3339 format).
    Id string
    The provider-assigned unique ID for this managed resource.
    Resources []IpamIpResource
    The IP resource.
    Reverses []IpamIpReverse
    The reverse DNS for this IP.
    UpdatedAt string
    Date and time of IP's last update (RFC 3339 format).
    Zone string
    The zone of the IP.
    createdAt String
    Date and time of IP's creation (RFC 3339 format).
    id String
    The provider-assigned unique ID for this managed resource.
    resources List<IpamIpResource>
    The IP resource.
    reverses List<IpamIpReverse>
    The reverse DNS for this IP.
    updatedAt String
    Date and time of IP's last update (RFC 3339 format).
    zone String
    The zone of the IP.
    createdAt string
    Date and time of IP's creation (RFC 3339 format).
    id string
    The provider-assigned unique ID for this managed resource.
    resources IpamIpResource[]
    The IP resource.
    reverses IpamIpReverse[]
    The reverse DNS for this IP.
    updatedAt string
    Date and time of IP's last update (RFC 3339 format).
    zone string
    The zone of the IP.
    created_at str
    Date and time of IP's creation (RFC 3339 format).
    id str
    The provider-assigned unique ID for this managed resource.
    resources Sequence[IpamIpResource]
    The IP resource.
    reverses Sequence[IpamIpReverse]
    The reverse DNS for this IP.
    updated_at str
    Date and time of IP's last update (RFC 3339 format).
    zone str
    The zone of the IP.
    createdAt String
    Date and time of IP's creation (RFC 3339 format).
    id String
    The provider-assigned unique ID for this managed resource.
    resources List<Property Map>
    The IP resource.
    reverses List<Property Map>
    The reverse DNS for this IP.
    updatedAt String
    Date and time of IP's last update (RFC 3339 format).
    zone String
    The zone of the IP.

    Look up Existing IpamIp Resource

    Get an existing IpamIp resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: IpamIpState, opts?: CustomResourceOptions): IpamIp
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            address: Optional[str] = None,
            created_at: Optional[str] = None,
            custom_resources: Optional[Sequence[IpamIpCustomResourceArgs]] = None,
            is_ipv6: Optional[bool] = None,
            project_id: Optional[str] = None,
            region: Optional[str] = None,
            resources: Optional[Sequence[IpamIpResourceArgs]] = None,
            reverses: Optional[Sequence[IpamIpReverseArgs]] = None,
            sources: Optional[Sequence[IpamIpSourceArgs]] = None,
            tags: Optional[Sequence[str]] = None,
            updated_at: Optional[str] = None,
            zone: Optional[str] = None) -> IpamIp
    func GetIpamIp(ctx *Context, name string, id IDInput, state *IpamIpState, opts ...ResourceOption) (*IpamIp, error)
    public static IpamIp Get(string name, Input<string> id, IpamIpState? state, CustomResourceOptions? opts = null)
    public static IpamIp get(String name, Output<String> id, IpamIpState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Address string
    Request a specific IP in the requested source pool
    CreatedAt string
    Date and time of IP's creation (RFC 3339 format).
    CustomResources List<Pulumiverse.Scaleway.Inputs.IpamIpCustomResource>
    The custom resource in which to book the IP
    IsIpv6 bool
    Defines whether to request an IPv6 address instead of IPv4.
    ProjectId string
    project_id) The ID of the Project the IP is associated with.
    Region string
    region) The region of the IP.
    Resources List<Pulumiverse.Scaleway.Inputs.IpamIpResource>
    The IP resource.
    Reverses List<Pulumiverse.Scaleway.Inputs.IpamIpReverse>
    The reverse DNS for this IP.
    Sources List<Pulumiverse.Scaleway.Inputs.IpamIpSource>
    The source in which to book the IP.
    Tags List<string>
    The tags associated with the IP.
    UpdatedAt string
    Date and time of IP's last update (RFC 3339 format).
    Zone string
    The zone of the IP.
    Address string
    Request a specific IP in the requested source pool
    CreatedAt string
    Date and time of IP's creation (RFC 3339 format).
    CustomResources []IpamIpCustomResourceArgs
    The custom resource in which to book the IP
    IsIpv6 bool
    Defines whether to request an IPv6 address instead of IPv4.
    ProjectId string
    project_id) The ID of the Project the IP is associated with.
    Region string
    region) The region of the IP.
    Resources []IpamIpResourceArgs
    The IP resource.
    Reverses []IpamIpReverseArgs
    The reverse DNS for this IP.
    Sources []IpamIpSourceArgs
    The source in which to book the IP.
    Tags []string
    The tags associated with the IP.
    UpdatedAt string
    Date and time of IP's last update (RFC 3339 format).
    Zone string
    The zone of the IP.
    address String
    Request a specific IP in the requested source pool
    createdAt String
    Date and time of IP's creation (RFC 3339 format).
    customResources List<IpamIpCustomResource>
    The custom resource in which to book the IP
    isIpv6 Boolean
    Defines whether to request an IPv6 address instead of IPv4.
    projectId String
    project_id) The ID of the Project the IP is associated with.
    region String
    region) The region of the IP.
    resources List<IpamIpResource>
    The IP resource.
    reverses List<IpamIpReverse>
    The reverse DNS for this IP.
    sources List<IpamIpSource>
    The source in which to book the IP.
    tags List<String>
    The tags associated with the IP.
    updatedAt String
    Date and time of IP's last update (RFC 3339 format).
    zone String
    The zone of the IP.
    address string
    Request a specific IP in the requested source pool
    createdAt string
    Date and time of IP's creation (RFC 3339 format).
    customResources IpamIpCustomResource[]
    The custom resource in which to book the IP
    isIpv6 boolean
    Defines whether to request an IPv6 address instead of IPv4.
    projectId string
    project_id) The ID of the Project the IP is associated with.
    region string
    region) The region of the IP.
    resources IpamIpResource[]
    The IP resource.
    reverses IpamIpReverse[]
    The reverse DNS for this IP.
    sources IpamIpSource[]
    The source in which to book the IP.
    tags string[]
    The tags associated with the IP.
    updatedAt string
    Date and time of IP's last update (RFC 3339 format).
    zone string
    The zone of the IP.
    address str
    Request a specific IP in the requested source pool
    created_at str
    Date and time of IP's creation (RFC 3339 format).
    custom_resources Sequence[IpamIpCustomResourceArgs]
    The custom resource in which to book the IP
    is_ipv6 bool
    Defines whether to request an IPv6 address instead of IPv4.
    project_id str
    project_id) The ID of the Project the IP is associated with.
    region str
    region) The region of the IP.
    resources Sequence[IpamIpResourceArgs]
    The IP resource.
    reverses Sequence[IpamIpReverseArgs]
    The reverse DNS for this IP.
    sources Sequence[IpamIpSourceArgs]
    The source in which to book the IP.
    tags Sequence[str]
    The tags associated with the IP.
    updated_at str
    Date and time of IP's last update (RFC 3339 format).
    zone str
    The zone of the IP.
    address String
    Request a specific IP in the requested source pool
    createdAt String
    Date and time of IP's creation (RFC 3339 format).
    customResources List<Property Map>
    The custom resource in which to book the IP
    isIpv6 Boolean
    Defines whether to request an IPv6 address instead of IPv4.
    projectId String
    project_id) The ID of the Project the IP is associated with.
    region String
    region) The region of the IP.
    resources List<Property Map>
    The IP resource.
    reverses List<Property Map>
    The reverse DNS for this IP.
    sources List<Property Map>
    The source in which to book the IP.
    tags List<String>
    The tags associated with the IP.
    updatedAt String
    Date and time of IP's last update (RFC 3339 format).
    zone String
    The zone of the IP.

    Supporting Types

    IpamIpCustomResource, IpamIpCustomResourceArgs

    MacAddress string
    The MAC address of the resource the IP is attached to.
    Name string
    The name of the resource the IP is attached to.
    MacAddress string
    The MAC address of the resource the IP is attached to.
    Name string
    The name of the resource the IP is attached to.
    macAddress String
    The MAC address of the resource the IP is attached to.
    name String
    The name of the resource the IP is attached to.
    macAddress string
    The MAC address of the resource the IP is attached to.
    name string
    The name of the resource the IP is attached to.
    mac_address str
    The MAC address of the resource the IP is attached to.
    name str
    The name of the resource the IP is attached to.
    macAddress String
    The MAC address of the resource the IP is attached to.
    name String
    The name of the resource the IP is attached to.

    IpamIpResource, IpamIpResourceArgs

    Id string
    The ID of the resource that the IP is attached to.
    MacAddress string
    The MAC address of the resource the IP is attached to.
    Name string
    The name of the resource the IP is attached to.
    Type string
    The type of resource the IP is attached to.
    Id string
    The ID of the resource that the IP is attached to.
    MacAddress string
    The MAC address of the resource the IP is attached to.
    Name string
    The name of the resource the IP is attached to.
    Type string
    The type of resource the IP is attached to.
    id String
    The ID of the resource that the IP is attached to.
    macAddress String
    The MAC address of the resource the IP is attached to.
    name String
    The name of the resource the IP is attached to.
    type String
    The type of resource the IP is attached to.
    id string
    The ID of the resource that the IP is attached to.
    macAddress string
    The MAC address of the resource the IP is attached to.
    name string
    The name of the resource the IP is attached to.
    type string
    The type of resource the IP is attached to.
    id str
    The ID of the resource that the IP is attached to.
    mac_address str
    The MAC address of the resource the IP is attached to.
    name str
    The name of the resource the IP is attached to.
    type str
    The type of resource the IP is attached to.
    id String
    The ID of the resource that the IP is attached to.
    macAddress String
    The MAC address of the resource the IP is attached to.
    name String
    The name of the resource the IP is attached to.
    type String
    The type of resource the IP is attached to.

    IpamIpReverse, IpamIpReverseArgs

    Address string
    The IP corresponding to the hostname
    Hostname string
    The reverse domain name.
    Address string
    The IP corresponding to the hostname
    Hostname string
    The reverse domain name.
    address String
    The IP corresponding to the hostname
    hostname String
    The reverse domain name.
    address string
    The IP corresponding to the hostname
    hostname string
    The reverse domain name.
    address str
    The IP corresponding to the hostname
    hostname str
    The reverse domain name.
    address String
    The IP corresponding to the hostname
    hostname String
    The reverse domain name.

    IpamIpSource, IpamIpSourceArgs

    PrivateNetworkId string
    The Private Network of the IP (if the IP is a private IP).
    SubnetId string
    The Private Network subnet of the IP (if the IP is a private IP).
    Zonal string
    The zone of the IP (if the IP is public and zoned, rather than private and/or regional)
    PrivateNetworkId string
    The Private Network of the IP (if the IP is a private IP).
    SubnetId string
    The Private Network subnet of the IP (if the IP is a private IP).
    Zonal string
    The zone of the IP (if the IP is public and zoned, rather than private and/or regional)
    privateNetworkId String
    The Private Network of the IP (if the IP is a private IP).
    subnetId String
    The Private Network subnet of the IP (if the IP is a private IP).
    zonal String
    The zone of the IP (if the IP is public and zoned, rather than private and/or regional)
    privateNetworkId string
    The Private Network of the IP (if the IP is a private IP).
    subnetId string
    The Private Network subnet of the IP (if the IP is a private IP).
    zonal string
    The zone of the IP (if the IP is public and zoned, rather than private and/or regional)
    private_network_id str
    The Private Network of the IP (if the IP is a private IP).
    subnet_id str
    The Private Network subnet of the IP (if the IP is a private IP).
    zonal str
    The zone of the IP (if the IP is public and zoned, rather than private and/or regional)
    privateNetworkId String
    The Private Network of the IP (if the IP is a private IP).
    subnetId String
    The Private Network subnet of the IP (if the IP is a private IP).
    zonal String
    The zone of the IP (if the IP is public and zoned, rather than private and/or regional)

    Import

    IPAM IPs can be imported using {region}/{id}, e.g.

    bash

    $ pulumi import scaleway:index/ipamIp:IpamIp ip_demo fr-par/11111111-1111-1111-1111-111111111111
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    scaleway pulumiverse/pulumi-scaleway
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the scaleway Terraform Provider.
    scaleway logo
    Scaleway v1.20.0 published on Monday, Nov 4, 2024 by pulumiverse