UNPKG

@pulumiverse/scaleway

Version:

A Pulumi package for creating and managing Scaleway cloud resources.

231 lines 6.24 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Gets information about multiple IP addresses managed by Scaleway's IP Address Management (IPAM) service. * * For more information about IPAM, see the main [documentation](https://www.scaleway.com/en/docs/vpc/concepts/#ipam). * * ## Examples * * ### By tag * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@pulumiverse/scaleway"; * * const byTag = scaleway.ipam.getIps({ * tags: ["tag"], * }); * ``` * * ### By type and resource * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@pulumiverse/scaleway"; * * const vpc01 = new scaleway.network.Vpc("vpc01", {name: "my vpc"}); * const pn01 = new scaleway.network.PrivateNetwork("pn01", { * vpcId: vpc01.id, * ipv4Subnet: { * subnet: "172.16.32.0/22", * }, * }); * const redis01 = new scaleway.redis.Cluster("redis01", { * name: "my_redis_cluster", * version: "7.0.5", * nodeType: "RED1-XS", * userName: "my_initial_user", * password: "thiZ_is_v&ry_s3cret", * clusterSize: 3, * privateNetworks: [{ * id: pn01.id, * }], * }); * const byTypeAndResource = scaleway.ipam.getIpsOutput({ * type: "ipv4", * resource: { * id: redis01.id, * type: "redis_cluster", * }, * }); * ``` */ export declare function getIps(args?: GetIpsArgs, opts?: pulumi.InvokeOptions): Promise<GetIpsResult>; /** * A collection of arguments for invoking getIps. */ export interface GetIpsArgs { /** * Defines whether to filter only for IPs which are attached to a resource. */ attached?: boolean; /** * The linked MAC address to filter for. */ macAddress?: string; /** * The ID of the Private Network to filter for. */ privateNetworkId?: string; /** * The ID of the Project to filter for. */ projectId?: string; /** * The region to filter for. */ region?: string; /** * Filter for a resource attached to the IP, using resource ID, type or name. */ resource?: inputs.ipam.GetIpsResource; /** * The IP tags to filter for. */ tags?: string[]; /** * The type of IP to filter for (`ipv4` or `ipv6`). */ type?: string; /** * Only IPs that are zonal, and in this zone, will be returned. */ zonal?: string; } /** * A collection of values returned by getIps. */ export interface GetIpsResult { readonly attached?: boolean; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; /** * List of found IPs. */ readonly ips: outputs.ipam.GetIpsIp[]; /** * The associated MAC address. */ readonly macAddress?: string; readonly organizationId: string; readonly privateNetworkId?: string; /** * The ID of the Project the resource is associated with. */ readonly projectId: string; /** * The region of the IP. */ readonly region?: string; /** * The list of public IPs attached to the resource. */ readonly resource?: outputs.ipam.GetIpsResource; /** * The tags associated with the IP. */ readonly tags?: string[]; /** * The type of resource. */ readonly type?: string; readonly zonal?: string; } /** * Gets information about multiple IP addresses managed by Scaleway's IP Address Management (IPAM) service. * * For more information about IPAM, see the main [documentation](https://www.scaleway.com/en/docs/vpc/concepts/#ipam). * * ## Examples * * ### By tag * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@pulumiverse/scaleway"; * * const byTag = scaleway.ipam.getIps({ * tags: ["tag"], * }); * ``` * * ### By type and resource * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@pulumiverse/scaleway"; * * const vpc01 = new scaleway.network.Vpc("vpc01", {name: "my vpc"}); * const pn01 = new scaleway.network.PrivateNetwork("pn01", { * vpcId: vpc01.id, * ipv4Subnet: { * subnet: "172.16.32.0/22", * }, * }); * const redis01 = new scaleway.redis.Cluster("redis01", { * name: "my_redis_cluster", * version: "7.0.5", * nodeType: "RED1-XS", * userName: "my_initial_user", * password: "thiZ_is_v&ry_s3cret", * clusterSize: 3, * privateNetworks: [{ * id: pn01.id, * }], * }); * const byTypeAndResource = scaleway.ipam.getIpsOutput({ * type: "ipv4", * resource: { * id: redis01.id, * type: "redis_cluster", * }, * }); * ``` */ export declare function getIpsOutput(args?: GetIpsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetIpsResult>; /** * A collection of arguments for invoking getIps. */ export interface GetIpsOutputArgs { /** * Defines whether to filter only for IPs which are attached to a resource. */ attached?: pulumi.Input<boolean | undefined>; /** * The linked MAC address to filter for. */ macAddress?: pulumi.Input<string | undefined>; /** * The ID of the Private Network to filter for. */ privateNetworkId?: pulumi.Input<string | undefined>; /** * The ID of the Project to filter for. */ projectId?: pulumi.Input<string | undefined>; /** * The region to filter for. */ region?: pulumi.Input<string | undefined>; /** * Filter for a resource attached to the IP, using resource ID, type or name. */ resource?: pulumi.Input<inputs.ipam.GetIpsResourceArgs | undefined>; /** * The IP tags to filter for. */ tags?: pulumi.Input<pulumi.Input<string>[] | undefined>; /** * The type of IP to filter for (`ipv4` or `ipv6`). */ type?: pulumi.Input<string | undefined>; /** * Only IPs that are zonal, and in this zone, will be returned. */ zonal?: pulumi.Input<string | undefined>; } //# sourceMappingURL=getIps.d.ts.map