@pulumi/gcp
Version:
A Pulumi package for creating and managing Google Cloud Platform resources.
158 lines (157 loc) • 6.69 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
* List IP addresses in a project. For more information see
* the official API [list](https://cloud.google.com/compute/docs/reference/latest/addresses/list) and
* [aggregated list](https://cloud.google.com/compute/docs/reference/rest/v1/addresses/aggregatedList) documentation.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as gcp from "@pulumi/gcp";
*
* const test = gcp.compute.getAddresses({
* filter: "name:test-*",
* });
* const prod = new gcp.dns.ManagedZone("prod", {
* name: "prod-zone",
* dnsName: "prod.mydomain.com.",
* });
* const frontend = new gcp.dns.RecordSet("frontend", {
* name: pulumi.interpolate`frontend.${prod.dnsName}`,
* type: "A",
* ttl: 300,
* managedZone: prod.name,
* rrdatas: test.then(test => test.addresses.map(__item => __item.address)),
* });
* ```
*/
export declare function getAddresses(args?: GetAddressesArgs, opts?: pulumi.InvokeOptions): Promise<GetAddressesResult>;
/**
* A collection of arguments for invoking getAddresses.
*/
export interface GetAddressesArgs {
/**
* A filter expression that
* filters resources listed in the response. The expression must specify
* the field name, an operator, and the value that you want to use for
* filtering. The value must be a string, a number, or a boolean. The
* operator must be either "=", "!=", ">", "<", "<=", ">=" or ":". For
* example, if you are filtering Compute Engine instances, you can
* exclude instances named "example-instance" by specifying "name !=
* example-instance". The ":" operator can be used with string fields to
* match substrings. For non-string fields it is equivalent to the "="
* operator. The ":*" comparison can be used to test whether a key has
* been defined. For example, to find all objects with "owner" label
* use: """ labels.owner:* """ You can also filter nested fields. For
* example, you could specify "scheduling.automaticRestart = false" to
* include instances only if they are not scheduled for automatic
* restarts. You can use filtering on nested fields to filter based on
* resource labels. To filter on multiple expressions, provide each
* separate expression within parentheses. For example: """
* (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake")
* """ By default, each expression is an "AND" expression. However, you
* can include "AND" and "OR" expressions explicitly. For example: """
* (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell")
* AND (scheduling.automaticRestart = true)
*/
filter?: string;
/**
* The google project in which addresses are listed.
* Defaults to provider's configuration if missing.
*/
project?: string;
/**
* Region that should be considered to search addresses.
* All regions are considered if missing.
*/
region?: string;
}
/**
* A collection of values returned by getAddresses.
*/
export interface GetAddressesResult {
/**
* A list of addresses matching the filter. Structure is defined below.
*/
readonly addresses: outputs.compute.GetAddressesAddress[];
readonly filter?: string;
/**
* The provider-assigned unique ID for this managed resource.
*/
readonly id: string;
readonly project: string;
/**
* The region in which the address resides.
*/
readonly region?: string;
}
/**
* List IP addresses in a project. For more information see
* the official API [list](https://cloud.google.com/compute/docs/reference/latest/addresses/list) and
* [aggregated list](https://cloud.google.com/compute/docs/reference/rest/v1/addresses/aggregatedList) documentation.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as gcp from "@pulumi/gcp";
*
* const test = gcp.compute.getAddresses({
* filter: "name:test-*",
* });
* const prod = new gcp.dns.ManagedZone("prod", {
* name: "prod-zone",
* dnsName: "prod.mydomain.com.",
* });
* const frontend = new gcp.dns.RecordSet("frontend", {
* name: pulumi.interpolate`frontend.${prod.dnsName}`,
* type: "A",
* ttl: 300,
* managedZone: prod.name,
* rrdatas: test.then(test => test.addresses.map(__item => __item.address)),
* });
* ```
*/
export declare function getAddressesOutput(args?: GetAddressesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetAddressesResult>;
/**
* A collection of arguments for invoking getAddresses.
*/
export interface GetAddressesOutputArgs {
/**
* A filter expression that
* filters resources listed in the response. The expression must specify
* the field name, an operator, and the value that you want to use for
* filtering. The value must be a string, a number, or a boolean. The
* operator must be either "=", "!=", ">", "<", "<=", ">=" or ":". For
* example, if you are filtering Compute Engine instances, you can
* exclude instances named "example-instance" by specifying "name !=
* example-instance". The ":" operator can be used with string fields to
* match substrings. For non-string fields it is equivalent to the "="
* operator. The ":*" comparison can be used to test whether a key has
* been defined. For example, to find all objects with "owner" label
* use: """ labels.owner:* """ You can also filter nested fields. For
* example, you could specify "scheduling.automaticRestart = false" to
* include instances only if they are not scheduled for automatic
* restarts. You can use filtering on nested fields to filter based on
* resource labels. To filter on multiple expressions, provide each
* separate expression within parentheses. For example: """
* (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake")
* """ By default, each expression is an "AND" expression. However, you
* can include "AND" and "OR" expressions explicitly. For example: """
* (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell")
* AND (scheduling.automaticRestart = true)
*/
filter?: pulumi.Input<string>;
/**
* The google project in which addresses are listed.
* Defaults to provider's configuration if missing.
*/
project?: pulumi.Input<string>;
/**
* Region that should be considered to search addresses.
* All regions are considered if missing.
*/
region?: pulumi.Input<string>;
}