import * as pulumi from "@pulumi/pulumi"; /** * Use this data source to get the IP addresses from different special IP ranges on Google Cloud Platform. * * ## Example Usage * * ### Cloud Ranges * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const netblock = gcp.compute.getNetblockIPRanges({}); * export const cidrBlocks = netblock.then(netblock => netblock.cidrBlocks); * export const cidrBlocksIpv4 = netblock.then(netblock => netblock.cidrBlocksIpv4s); * export const cidrBlocksIpv6 = netblock.then(netblock => netblock.cidrBlocksIpv6s); * ``` * * ### Allow Health Checks * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const legacy_hcs = gcp.compute.getNetblockIPRanges({ * rangeType: "legacy-health-checkers", * }); * const _default = new gcp.compute.Network("default", {name: "test-network"}); * const allow_hcs = new gcp.compute.Firewall("allow-hcs", { * name: "allow-hcs", * network: _default.name, * allows: [{ * protocol: "tcp", * ports: ["80"], * }], * sourceRanges: legacy_hcs.then(legacy_hcs => legacy_hcs.cidrBlocksIpv4s), * }); * ``` */ export declare function getNetblockIPRanges(args?: GetNetblockIPRangesArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getNetblockIPRanges. */ export interface GetNetblockIPRangesArgs { /** * The type of range for which to provide results. * * Defaults to `cloud-netblocks`. The following `rangeType`s are supported: * * * `cloud-netblocks` - Corresponds to the IP addresses used for resources on Google Cloud Platform. [More details.](https://cloud.google.com/compute/docs/faq#where_can_i_find_product_name_short_ip_ranges) * * * `google-netblocks` - Corresponds to IP addresses used for Google services. [More details.](https://cloud.google.com/compute/docs/faq#where_can_i_find_product_name_short_ip_ranges) * * * `restricted-googleapis` - Corresponds to the IP addresses used for Private Google Access only for services that support VPC Service Controls API access. These ranges are for DNS configuration. [More details.](https://cloud.google.com/vpc/docs/configure-private-google-access#config-options) * * * `restricted-googleapis-with-directconnectivity` - Corresponds to the IP addresses used for Private Google Access only for services that support VPC Service Controls API access. These ranges are for routing and firewall configurations. [More details.](https://cloud.google.com/vpc/docs/configure-private-google-access#config-options) * * * `private-googleapis` - Corresponds to the IP addresses used for Private Google Access, including services that do not support VPC Service Controls. These ranges are for DNS configuration. [More details.](https://cloud.google.com/vpc/docs/configure-private-google-access#config-options) * * * `private-googleapis-with-directconnectivity` - Corresponds to the IP addresses used for Private Google Access, including services that do not support VPC Service Controls. These ranges are for routing and firewall configurations. [More details.](https://cloud.google.com/vpc/docs/configure-private-google-access#config-options) * * * `dns-forwarders` - Corresponds to the IP addresses used to originate Cloud DNS outbound forwarding. [More details.](https://cloud.google.com/dns/zones/#creating-forwarding-zones) * * * `iap-forwarders` - Corresponds to the IP addresses used for Cloud IAP for TCP forwarding. [More details.](https://cloud.google.com/iap/docs/using-tcp-forwarding) * * * `health-checkers` - Corresponds to the IP addresses used for health checking in Cloud Load Balancing. [More details.](https://cloud.google.com/load-balancing/docs/health-checks) * * * `legacy-health-checkers` - Corresponds to the IP addresses used for legacy style health checkers (used by Network Load Balancing). [More details.](https://cloud.google.com/load-balancing/docs/health-checks) */ rangeType?: string; } /** * A collection of values returned by getNetblockIPRanges. */ export interface GetNetblockIPRangesResult { /** * Retrieve list of all CIDR blocks. */ readonly cidrBlocks: string[]; /** * Retrieve list of the IPv4 CIDR blocks */ readonly cidrBlocksIpv4s: string[]; /** * Retrieve list of the IPv6 CIDR blocks, if available. */ readonly cidrBlocksIpv6s: string[]; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; readonly rangeType?: string; } /** * Use this data source to get the IP addresses from different special IP ranges on Google Cloud Platform. * * ## Example Usage * * ### Cloud Ranges * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const netblock = gcp.compute.getNetblockIPRanges({}); * export const cidrBlocks = netblock.then(netblock => netblock.cidrBlocks); * export const cidrBlocksIpv4 = netblock.then(netblock => netblock.cidrBlocksIpv4s); * export const cidrBlocksIpv6 = netblock.then(netblock => netblock.cidrBlocksIpv6s); * ``` * * ### Allow Health Checks * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const legacy_hcs = gcp.compute.getNetblockIPRanges({ * rangeType: "legacy-health-checkers", * }); * const _default = new gcp.compute.Network("default", {name: "test-network"}); * const allow_hcs = new gcp.compute.Firewall("allow-hcs", { * name: "allow-hcs", * network: _default.name, * allows: [{ * protocol: "tcp", * ports: ["80"], * }], * sourceRanges: legacy_hcs.then(legacy_hcs => legacy_hcs.cidrBlocksIpv4s), * }); * ``` */ export declare function getNetblockIPRangesOutput(args?: GetNetblockIPRangesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getNetblockIPRanges. */ export interface GetNetblockIPRangesOutputArgs { /** * The type of range for which to provide results. * * Defaults to `cloud-netblocks`. The following `rangeType`s are supported: * * * `cloud-netblocks` - Corresponds to the IP addresses used for resources on Google Cloud Platform. [More details.](https://cloud.google.com/compute/docs/faq#where_can_i_find_product_name_short_ip_ranges) * * * `google-netblocks` - Corresponds to IP addresses used for Google services. [More details.](https://cloud.google.com/compute/docs/faq#where_can_i_find_product_name_short_ip_ranges) * * * `restricted-googleapis` - Corresponds to the IP addresses used for Private Google Access only for services that support VPC Service Controls API access. These ranges are for DNS configuration. [More details.](https://cloud.google.com/vpc/docs/configure-private-google-access#config-options) * * * `restricted-googleapis-with-directconnectivity` - Corresponds to the IP addresses used for Private Google Access only for services that support VPC Service Controls API access. These ranges are for routing and firewall configurations. [More details.](https://cloud.google.com/vpc/docs/configure-private-google-access#config-options) * * * `private-googleapis` - Corresponds to the IP addresses used for Private Google Access, including services that do not support VPC Service Controls. These ranges are for DNS configuration. [More details.](https://cloud.google.com/vpc/docs/configure-private-google-access#config-options) * * * `private-googleapis-with-directconnectivity` - Corresponds to the IP addresses used for Private Google Access, including services that do not support VPC Service Controls. These ranges are for routing and firewall configurations. [More details.](https://cloud.google.com/vpc/docs/configure-private-google-access#config-options) * * * `dns-forwarders` - Corresponds to the IP addresses used to originate Cloud DNS outbound forwarding. [More details.](https://cloud.google.com/dns/zones/#creating-forwarding-zones) * * * `iap-forwarders` - Corresponds to the IP addresses used for Cloud IAP for TCP forwarding. [More details.](https://cloud.google.com/iap/docs/using-tcp-forwarding) * * * `health-checkers` - Corresponds to the IP addresses used for health checking in Cloud Load Balancing. [More details.](https://cloud.google.com/load-balancing/docs/health-checks) * * * `legacy-health-checkers` - Corresponds to the IP addresses used for legacy style health checkers (used by Network Load Balancing). [More details.](https://cloud.google.com/load-balancing/docs/health-checks) */ rangeType?: pulumi.Input; }