UNPKG

@pulumi/linode

Version:

A Pulumi package for creating and managing linode cloud resources.

129 lines (128 loc) 4.81 kB
import * as pulumi from "@pulumi/pulumi"; /** * Manages a Linode IPv6 range. * For more information, see the [Linode APIv4 docs](https://techdocs.akamai.com/linode-api/reference/post-ipv6-range). * * > **NOTICE:** We highly recommend that users do not remove an IPv6 range created by this Terraform resource outside of Terraform. This is because if a user manually removes an IPv6 range created by Terraform, and then assigns some IPv6 ranges to other linodes outside of Terraform, there is a chance that the same IPv6 range can be assigned to another linode, even though the new range is randomly selected. This will result in the newly assigned IPv6 range being managed by this Terraform resource. In this case, the user should manually taint this resource. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as linode from "@pulumi/linode"; * * const foobar = new linode.Instance("foobar", { * label: "my-linode", * image: "linode/alpine3.19", * type: "g6-nanode-1", * region: "us-southeast", * }); * const foobarIpv6Range = new linode.Ipv6Range("foobar", { * linodeId: foobar.id, * prefixLength: 64, * }); * ``` */ export declare class Ipv6Range extends pulumi.CustomResource { /** * Get an existing Ipv6Range resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: Ipv6RangeState, opts?: pulumi.CustomResourceOptions): Ipv6Range; /** * Returns true if the given object is an instance of Ipv6Range. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Ipv6Range; /** * Whether this IPv6 range is shared. */ readonly isBgp: pulumi.Output<boolean>; /** * The ID of the Linode to assign this range to. This field may be updated to reassign the IPv6 range. */ readonly linodeId: pulumi.Output<number | undefined>; /** * A list of Linodes targeted by this IPv6 range. Includes Linodes with IP sharing. */ readonly linodes: pulumi.Output<number[]>; /** * The prefix length of the IPv6 range. */ readonly prefixLength: pulumi.Output<number>; /** * The IPv6 range of addresses in this pool. */ readonly range: pulumi.Output<string>; /** * The region for this range of IPv6 addresses. */ readonly region: pulumi.Output<string>; /** * The IPv6 SLAAC address to assign this range to. */ readonly routeTarget: pulumi.Output<string>; /** * Create a Ipv6Range resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: Ipv6RangeArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Ipv6Range resources. */ export interface Ipv6RangeState { /** * Whether this IPv6 range is shared. */ isBgp?: pulumi.Input<boolean>; /** * The ID of the Linode to assign this range to. This field may be updated to reassign the IPv6 range. */ linodeId?: pulumi.Input<number>; /** * A list of Linodes targeted by this IPv6 range. Includes Linodes with IP sharing. */ linodes?: pulumi.Input<pulumi.Input<number>[]>; /** * The prefix length of the IPv6 range. */ prefixLength?: pulumi.Input<number>; /** * The IPv6 range of addresses in this pool. */ range?: pulumi.Input<string>; /** * The region for this range of IPv6 addresses. */ region?: pulumi.Input<string>; /** * The IPv6 SLAAC address to assign this range to. */ routeTarget?: pulumi.Input<string>; } /** * The set of arguments for constructing a Ipv6Range resource. */ export interface Ipv6RangeArgs { /** * The ID of the Linode to assign this range to. This field may be updated to reassign the IPv6 range. */ linodeId?: pulumi.Input<number>; /** * The prefix length of the IPv6 range. */ prefixLength: pulumi.Input<number>; /** * The IPv6 SLAAC address to assign this range to. */ routeTarget?: pulumi.Input<string>; }