compute

class pulumi_gcp.compute.Address(resource_name, opts=None, address=None, address_type=None, description=None, labels=None, name=None, network_tier=None, project=None, region=None, subnetwork=None, __name__=None, __opts__=None)

Represents an Address resource.

Each virtual machine instance has an ephemeral internal IP address and, optionally, an external IP address. To communicate between instances on the same network, you can use an instance’s internal IP address. To communicate with the Internet and instances outside of the same network, you must specify the instance’s external IP address.

Internal IP addresses are ephemeral and only belong to an instance for the lifetime of the instance; if the instance is deleted and recreated, the instance is assigned a new internal IP address, either by Compute Engine or by you. External IP addresses can be either ephemeral or static.

To get more information about Address, see:

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • address (pulumi.Input[str]) – The IP of the created resource.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
address = None

The IP of the created resource.

project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

The URI of the created resource.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.AttachedDisk(resource_name, opts=None, device_name=None, disk=None, instance=None, mode=None, project=None, zone=None, __name__=None, __opts__=None)

Persistent disks can be attached to a compute instance using the ``attached_disk` section within the compute instance configuration <https://www.terraform.io/docs/providers/google/r/compute_instance.html#attached_disk>`_. However there may be situations where managing the attached disks via the compute instance config isn’t preferable or possible, such as attaching dynamic numbers of disks using the count variable.

To get more information about attaching disks, see:

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.Autoscalar(resource_name, opts=None, autoscaling_policy=None, description=None, name=None, project=None, target=None, zone=None, __name__=None, __opts__=None)

Represents an Autoscaler resource.

Autoscalers allow you to automatically scale virtual machine instances in managed instance groups according to an autoscaling policy that you define.

To get more information about Autoscaler, see:

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.

The URI of the created resource.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.BackendBucket(resource_name, opts=None, bucket_name=None, description=None, enable_cdn=None, name=None, project=None, __name__=None, __opts__=None)

Backend buckets allow you to use Google Cloud Storage buckets with HTTP(S) load balancing.

An HTTP(S) load balancer can direct traffic to specified URLs to a backend bucket rather than a backend service. It can send requests for static content to a Cloud Storage bucket and requests for dynamic content a virtual machine instance.

To get more information about BackendBucket, see:

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

The URI of the created resource.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.BackendService(resource_name, opts=None, affinity_cookie_ttl_sec=None, backends=None, cdn_policy=None, connection_draining_timeout_sec=None, custom_request_headers=None, description=None, enable_cdn=None, health_checks=None, iap=None, name=None, port_name=None, project=None, protocol=None, security_policy=None, session_affinity=None, timeout_sec=None, __name__=None, __opts__=None)

A Backend Service defines a group of virtual machines that will serve traffic for load balancing. For more information see the official documentation and the API.

For internal load balancing, use a google_compute_region_backend_service.

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • affinity_cookie_ttl_sec (pulumi.Input[float]) – Lifetime of cookies in seconds if session_affinity is GENERATED_COOKIE. If set to 0, the cookie is non-persistent and lasts only until the end of the browser session (or equivalent). The maximum allowed value for TTL is one day.
  • backends (pulumi.Input[list]) – The list of backends that serve this BackendService. Structure is documented below.
  • cdn_policy (pulumi.Input[dict]) – Cloud CDN configuration for this BackendService. Structure is documented below.
  • connection_draining_timeout_sec (pulumi.Input[float]) – Time for which instance will be drained (not accept new connections, but still work to finish started ones). Defaults to 300.
  • custom_request_headers (pulumi.Input[list]) – ) Headers that the HTTP/S load balancer should add to proxied requests. See guide for details.
  • description (pulumi.Input[str]) – The textual description for the backend service.
  • enable_cdn (pulumi.Input[bool]) – Whether or not to enable the Cloud CDN on the backend service.
  • health_checks (pulumi.Input[str]) – Specifies a list of HTTP/HTTPS health checks for checking the health of the backend service. Currently at most one health check can be specified, and a health check is required.
  • iap (pulumi.Input[dict]) – Specification for the Identity-Aware proxy. Disabled if not specified. Structure is documented below.
  • name (pulumi.Input[str]) – The name of the backend service.
  • port_name (pulumi.Input[str]) – The name of a service that has been added to an instance group in this backend. See related docs for details. Defaults to http.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
  • protocol (pulumi.Input[str]) – The protocol for incoming requests. Defaults to HTTP.
  • security_policy (pulumi.Input[str]) – Name or URI of a security policy to add to the backend service.
  • session_affinity (pulumi.Input[str]) – How to distribute load. Options are NONE (no affinity), CLIENT_IP (hash of the source/dest addresses / ports), and GENERATED_COOKIE (distribute load using a generated session cookie).
  • timeout_sec (pulumi.Input[float]) – The number of secs to wait for a backend to respond to a request before considering the request failed. Defaults to 30.

Lifetime of cookies in seconds if session_affinity is GENERATED_COOKIE. If set to 0, the cookie is non-persistent and lasts only until the end of the browser session (or equivalent). The maximum allowed value for TTL is one day.

backends = None

The list of backends that serve this BackendService. Structure is documented below.

cdn_policy = None

Cloud CDN configuration for this BackendService. Structure is documented below.

connection_draining_timeout_sec = None

Time for which instance will be drained (not accept new connections, but still work to finish started ones). Defaults to 300.

custom_request_headers = None

) Headers that the HTTP/S load balancer should add to proxied requests. See guide for details.

description = None

The textual description for the backend service.

enable_cdn = None

Whether or not to enable the Cloud CDN on the backend service.

fingerprint = None

The fingerprint of the backend service.

health_checks = None

Specifies a list of HTTP/HTTPS health checks for checking the health of the backend service. Currently at most one health check can be specified, and a health check is required.

iap = None

Specification for the Identity-Aware proxy. Disabled if not specified. Structure is documented below.

name = None

The name of the backend service.

port_name = None

The name of a service that has been added to an instance group in this backend. See related docs for details. Defaults to http.

project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

protocol = None

The protocol for incoming requests. Defaults to HTTP.

security_policy = None

Name or URI of a security policy to add to the backend service.

The URI of the created resource.

session_affinity = None

How to distribute load. Options are NONE (no affinity), CLIENT_IP (hash of the source/dest addresses / ports), and GENERATED_COOKIE (distribute load using a generated session cookie).

timeout_sec = None

The number of secs to wait for a backend to respond to a request before considering the request failed. Defaults to 30.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.Disk(resource_name, opts=None, description=None, disk_encryption_key=None, image=None, labels=None, name=None, project=None, size=None, snapshot=None, source_image_encryption_key=None, source_snapshot_encryption_key=None, type=None, zone=None, __name__=None, __opts__=None)

Persistent disks are durable storage devices that function similarly to the physical disks in a desktop or a server. Compute Engine manages the hardware behind these devices to ensure data redundancy and optimize performance for you. Persistent disks are available as either standard hard disk drives (HDD) or solid-state drives (SSD).

Persistent disks are located independently from your virtual machine instances, so you can detach or move persistent disks to keep your data even after you delete your instances. Persistent disk performance scales automatically with size, so you can resize your existing persistent disks or add more persistent disks to an instance to meet your performance and storage space requirements.

Add a persistent disk to your instance when you need reliable and affordable storage with consistent performance characteristics.

To get more information about Disk, see:

Warning: All arguments including the disk encryption key will be stored in the raw state as plain-text. Read more about sensitive data in state.
Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

The URI of the created resource.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.Firewall(resource_name, opts=None, allows=None, denies=None, description=None, destination_ranges=None, direction=None, disabled=None, enable_logging=None, name=None, network=None, priority=None, project=None, source_ranges=None, source_service_accounts=None, source_tags=None, target_service_accounts=None, target_tags=None, __name__=None, __opts__=None)

Each network has its own firewall controlling access to and from the instances.

All traffic to instances, even from other instances, is blocked by the firewall unless firewall rules are created to allow it.

The default network has automatically created firewall rules that are shown in default firewall rules. No manually created network has automatically created firewall rules except for a default “allow” rule for outgoing traffic and a default “deny” for incoming traffic. For all networks except the default network, you must create any firewall rules you need.

To get more information about Firewall, see:

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

The URI of the created resource.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.ForwardingRule(resource_name, opts=None, all_ports=None, backend_service=None, description=None, ip_address=None, ip_protocol=None, ip_version=None, labels=None, load_balancing_scheme=None, name=None, network=None, network_tier=None, port_range=None, ports=None, project=None, region=None, service_label=None, subnetwork=None, target=None, __name__=None, __opts__=None)

A ForwardingRule resource. A ForwardingRule resource specifies which pool of target virtual machines to forward a packet to if it matches the given [IPAddress, IPProtocol, portRange] tuple.

To get more information about ForwardingRule, see:

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

The URI of the created resource.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.GetAddressResult(address=None, project=None, region=None, self_link=None, status=None, id=None)

A collection of values returned by getAddress.

address = None

The IP of the created resource.

The URI of the created resource.

status = None

Indicates if the address is used. Possible values are: RESERVED or IN_USE.

id = None

id is the provider-assigned unique ID for this managed resource.

class pulumi_gcp.compute.GetBackendServiceResult(affinity_cookie_ttl_sec=None, backends=None, cdn_policies=None, connection_draining_timeout_sec=None, custom_request_headers=None, description=None, enable_cdn=None, fingerprint=None, health_checks=None, iaps=None, port_name=None, protocol=None, region=None, security_policy=None, self_link=None, session_affinity=None, timeout_sec=None, id=None)

A collection of values returned by getBackendService.

backends = None

The list of backends that serve this Backend Service.

connection_draining_timeout_sec = None

Time for which instance will be drained (not accept new connections, but still work to finish started ones).

description = None

Textual description for the Backend Service.

enable_cdn = None

Whether or not Cloud CDN is enabled on the Backend Service.

fingerprint = None

The fingerprint of the Backend Service.

health_checks = None

The list of HTTP/HTTPS health checks used by the Backend Service.

port_name = None

The name of a service that has been added to an instance group in this backend.

protocol = None

The protocol for incoming requests.

The URI of the Backend Service.

session_affinity = None

The Backend Service session stickyness configuration.

timeout_sec = None

The number of seconds to wait for a backend to respond to a request before considering the request failed.

id = None

id is the provider-assigned unique ID for this managed resource.

class pulumi_gcp.compute.GetDefaultServiceAccountResult(display_name=None, email=None, name=None, project=None, unique_id=None, id=None)

A collection of values returned by getDefaultServiceAccount.

display_name = None

The display name for the service account.

email = None

Email address of the default service account used by VMs running in this project

name = None

The fully-qualified name of the service account.

unique_id = None

The unique id of the service account.

id = None

id is the provider-assigned unique ID for this managed resource.

class pulumi_gcp.compute.GetForwardingRuleResult(backend_service=None, description=None, ip_address=None, ip_protocol=None, load_balancing_scheme=None, network=None, port_range=None, ports=None, project=None, region=None, self_link=None, subnetwork=None, target=None, id=None)

A collection of values returned by getForwardingRule.

backend_service = None

Backend service, if this forwarding rule has one.

description = None

Description of this forwarding rule.

ip_address = None

IP address of this forwarding rule.

ip_protocol = None

IP protocol of this forwarding rule.

load_balancing_scheme = None

Type of load balancing of this forwarding rule.

network = None

Network of this forwarding rule.

port_range = None

Port range, if this forwarding rule has one.

ports = None

List of ports to use for internal load balancing, if this forwarding rule has any.

region = None

Region of this forwarding rule.

The URI of the resource.

subnetwork = None

Subnetwork of this forwarding rule.

target = None

URL of the target pool, if this forwarding rule has one.

id = None

id is the provider-assigned unique ID for this managed resource.

class pulumi_gcp.compute.GetGlobalAddressResult(address=None, project=None, self_link=None, status=None, id=None)

A collection of values returned by getGlobalAddress.

address = None

The IP of the created resource.

The URI of the created resource.

status = None

Indicates if the address is used. Possible values are: RESERVED or IN_USE.

id = None

id is the provider-assigned unique ID for this managed resource.

class pulumi_gcp.compute.GetImageResult(archive_size_bytes=None, creation_timestamp=None, description=None, disk_size_gb=None, family=None, image_encryption_key_sha256=None, image_id=None, label_fingerprint=None, labels=None, licenses=None, name=None, project=None, self_link=None, source_disk=None, source_disk_encryption_key_sha256=None, source_disk_id=None, source_image_id=None, status=None, id=None)

A collection of values returned by getImage.

archive_size_bytes = None

The size of the image tar.gz archive stored in Google Cloud Storage in bytes.

creation_timestamp = None

The creation timestamp in RFC3339 text format.

description = None

An optional description of this image.

disk_size_gb = None

The size of the image when restored onto a persistent disk in gigabytes.

family = None

The family name of the image.

image_encryption_key_sha256 = None

The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this image.

image_id = None

The unique identifier for the image.

label_fingerprint = None

A fingerprint for the labels being applied to this image.

labels = None

A map of labels applied to this image.

licenses = None

A list of applicable license URI.

name = None

The name of the image.

The URI of the image.

source_disk = None

The URL of the source disk used to create this image.

source_disk_encryption_key_sha256 = None

The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this image.

source_disk_id = None

The ID value of the disk used to create this image.

source_image_id = None

The ID value of the image used to create this image.

status = None

The status of the image. Possible values are FAILED, PENDING, or READY.

id = None

id is the provider-assigned unique ID for this managed resource.

class pulumi_gcp.compute.GetInstanceGroupResult(description=None, instances=None, named_ports=None, network=None, project=None, self_link=None, size=None, zone=None, id=None)

A collection of values returned by getInstanceGroup.

description = None

Textual description of the instance group.

instances = None

List of instances in the group.

named_ports = None

List of named ports in the group.

network = None

The URL of the network the instance group is in.

The URI of the resource.

size = None

The number of instances in the group.

id = None

id is the provider-assigned unique ID for this managed resource.

class pulumi_gcp.compute.GetInstanceResult(allow_stopping_for_update=None, attached_disks=None, boot_disks=None, can_ip_forward=None, cpu_platform=None, create_timeout=None, deletion_protection=None, description=None, disks=None, guest_accelerators=None, hostname=None, instance_id=None, label_fingerprint=None, labels=None, machine_type=None, metadata=None, metadata_fingerprint=None, metadata_startup_script=None, min_cpu_platform=None, network_interfaces=None, schedulings=None, scratch_disks=None, service_accounts=None, tags=None, tags_fingerprint=None, id=None)

A collection of values returned by getInstance.

attached_disks = None

List of disks attached to the instance. Structure is documented below.

boot_disks = None

The boot disk for the instance. Sructure is documented below.

can_ip_forward = None

Whether sending and receiving of packets with non-matching source or destination IPs is allowed.

cpu_platform = None

The CPU platform used by this instance.

deletion_protection = None

Whether deletion protection is enabled on this instance.

description = None

A brief description of the resource.

guest_accelerators = None

List of the type and count of accelerator cards attached to the instance. Structure is documented below.

instance_id = None

The server-assigned unique identifier of this instance.

label_fingerprint = None

The unique fingerprint of the labels.

labels = None

A set of key/value label pairs assigned to the instance.

machine_type = None

The machine type to create.

metadata = None

Metadata key/value pairs made available within the instance.

metadata_fingerprint = None

The unique fingerprint of the metadata.

min_cpu_platform = None

The minimum CPU platform specified for the VM instance.

network_interfaces = None

The networks attached to the instance. Structure is documented below.

schedulings = None

The scheduling strategy being used by the instance.

scratch_disks = None

The scratch disks attached to the instance. Structure is documented below.

service_accounts = None

The service account to attach to the instance. Structure is documented below.

tags = None

The list of tags attached to the instance.

tags_fingerprint = None

The unique fingerprint of the tags.

id = None

id is the provider-assigned unique ID for this managed resource.

class pulumi_gcp.compute.GetLBIPRangesResult(http_ssl_tcp_internals=None, networks=None, id=None)

A collection of values returned by getLBIPRanges.

http_ssl_tcp_internals = None

The IP ranges used for health checks when HTTP(S), SSL proxy, TCP proxy, and Internal load balancing is used

networks = None

The IP ranges used for health checks when Network load balancing is used

id = None

id is the provider-assigned unique ID for this managed resource.

class pulumi_gcp.compute.GetNetblockIPRangesResult(cidr_blocks=None, cidr_blocks_ipv4s=None, cidr_blocks_ipv6s=None, id=None)

A collection of values returned by getNetblockIPRanges.

cidr_blocks = None

Retrieve list of all CIDR blocks.

cidr_blocks_ipv4s = None

Retrieve list of the IP4 CIDR blocks

cidr_blocks_ipv6s = None

Retrieve list of the IP6 CIDR blocks.

id = None

id is the provider-assigned unique ID for this managed resource.

class pulumi_gcp.compute.GetNetworkResult(description=None, gateway_ipv4=None, self_link=None, subnetworks_self_links=None, id=None)

A collection of values returned by getNetwork.

description = None

Description of this network.

gateway_ipv4 = None

The IP address of the gateway.

The URI of the resource.

the list of subnetworks which belong to the network

id = None

id is the provider-assigned unique ID for this managed resource.

class pulumi_gcp.compute.GetRegionInstanceGroupResult(instances=None, name=None, project=None, region=None, self_link=None, size=None, id=None)

A collection of values returned by getRegionInstanceGroup.

instances = None

List of instances in the group, as a list of resources, each containing:

name = None

String port name

size = None

The number of instances in the group.

id = None

id is the provider-assigned unique ID for this managed resource.

class pulumi_gcp.compute.GetRegionsResult(names=None, project=None, id=None)

A collection of values returned by getRegions.

names = None

A list of regions available in the given project

id = None

id is the provider-assigned unique ID for this managed resource.

class pulumi_gcp.compute.GetSSLPolicyResult(creation_timestamp=None, custom_features=None, description=None, enabled_features=None, fingerprint=None, min_tls_version=None, profile=None, self_link=None, id=None)

A collection of values returned by getSSLPolicy.

custom_features = None

If the profile is CUSTOM, these are the custom encryption ciphers supported by the profile. If the profile is not CUSTOM, this attribute will be empty.

description = None

Description of this SSL Policy.

enabled_features = None

The set of enabled encryption ciphers as a result of the policy config

fingerprint = None

Fingerprint of this resource.

min_tls_version = None

The minimum supported TLS version of this policy.

profile = None

The Google-curated or custom profile used by this policy.

The URI of the created resource.

id = None

id is the provider-assigned unique ID for this managed resource.

class pulumi_gcp.compute.GetSubnetworkResult(description=None, gateway_address=None, ip_cidr_range=None, network=None, private_ip_google_access=None, project=None, region=None, secondary_ip_ranges=None, self_link=None, id=None)

A collection of values returned by getSubnetwork.

description = None

Description of this subnetwork.

gateway_address = None

The IP address of the gateway.

ip_cidr_range = None

The range of IP addresses belonging to this subnetwork secondary range.

network = None

The network name or resource link to the parent network of this subnetwork.

private_ip_google_access = None

Whether the VMs in this subnet can access Google services without assigned external IP addresses.

secondary_ip_ranges = None

An array of configurations for secondary IP ranges for VM instances contained in this subnetwork. Structure is documented below.

id = None

id is the provider-assigned unique ID for this managed resource.

class pulumi_gcp.compute.GetVPNGatewayResult(description=None, network=None, project=None, region=None, self_link=None, id=None)

A collection of values returned by getVPNGateway.

description = None

Description of this VPN gateway.

network = None

The network of this VPN gateway.

region = None

Region of this VPN gateway.

The URI of the resource.

id = None

id is the provider-assigned unique ID for this managed resource.

class pulumi_gcp.compute.GetZonesResult(names=None, project=None, id=None)

A collection of values returned by getZones.

names = None

A list of zones available in the given region

id = None

id is the provider-assigned unique ID for this managed resource.

class pulumi_gcp.compute.GlobalAddress(resource_name, opts=None, address=None, address_type=None, description=None, ip_version=None, labels=None, name=None, network=None, prefix_length=None, project=None, purpose=None, __name__=None, __opts__=None)

Represents a Global Address resource. Global addresses are used for HTTP(S) load balancing.

To get more information about GlobalAddress, see:

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

The URI of the created resource.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.GlobalForwardingRule(resource_name, opts=None, description=None, ip_address=None, ip_protocol=None, ip_version=None, labels=None, name=None, port_range=None, project=None, target=None, __name__=None, __opts__=None)

Manages a Global Forwarding Rule within GCE. This binds an ip and port to a target HTTP(s) proxy. For more information see the official documentation and API.

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • description (pulumi.Input[str]) – Textual description field.
  • ip_address (pulumi.Input[str]) – The static IP. (if not set, an ephemeral IP is used). This should be the literal IP address to be used, not the self_link to a google_compute_global_address resource. (If using a google_compute_global_address resource, use the address property instead of the self_link property.)
  • ip_protocol (pulumi.Input[str]) – The IP protocol to route, one of “TCP” “UDP” “AH” “ESP” or “SCTP”. (default “TCP”).
  • ip_version (pulumi.Input[str]) – The IP Version that will be used by this resource’s address. One of "IPV4" or "IPV6". You cannot provide this and ip_address.
  • labels (pulumi.Input[dict]) –

    ) A set of key/value label pairs to assign to the resource.

  • name (pulumi.Input[str]) – A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
  • port_range (pulumi.Input[str]) – A range e.g. “1024-2048” or a single port “1024” (defaults to all ports!). Some types of forwarding targets have constraints on the acceptable ports:
Parameters:
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
  • target (pulumi.Input[str]) – URL of target HTTP or HTTPS proxy.
description = None

Textual description field.

ip_address = None

The static IP. (if not set, an ephemeral IP is used). This should be the literal IP address to be used, not the self_link to a google_compute_global_address resource. (If using a google_compute_global_address resource, use the address property instead of the self_link property.)

ip_protocol = None

The IP protocol to route, one of “TCP” “UDP” “AH” “ESP” or “SCTP”. (default “TCP”).

ip_version = None

The IP Version that will be used by this resource’s address. One of "IPV4" or "IPV6". You cannot provide this and ip_address.

labels = None

) A set of key/value label pairs to assign to the resource.

name = None

A unique name for the resource, required by GCE. Changing this forces a new resource to be created.

port_range = None

A range e.g. “1024-2048” or a single port “1024” (defaults to all ports!). Some types of forwarding targets have constraints on the acceptable ports:

  • Target HTTP proxy: 80, 8080
  • Target HTTPS proxy: 443
  • Target TCP proxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 5222
  • Target SSL proxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 5222
  • Target VPN gateway: 500, 4500
project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

The URI of the created resource.

target = None

URL of target HTTP or HTTPS proxy.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.HealthCheck(resource_name, opts=None, check_interval_sec=None, description=None, healthy_threshold=None, http_health_check=None, https_health_check=None, name=None, project=None, ssl_health_check=None, tcp_health_check=None, timeout_sec=None, unhealthy_threshold=None, __name__=None, __opts__=None)

Health Checks determine whether instances are responsive and able to do work. They are an important part of a comprehensive load balancing configuration, as they enable monitoring instances behind load balancers.

Health Checks poll instances at a specified interval. Instances that do not respond successfully to some number of probes in a row are marked as unhealthy. No new connections are sent to unhealthy instances, though existing connections will continue. The health check will continue to poll unhealthy instances. If an instance later responds successfully to some number of consecutive probes, it is marked healthy again and can receive new connections.

To get more information about HealthCheck, see:

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

The URI of the created resource.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.HttpHealthCheck(resource_name, opts=None, check_interval_sec=None, description=None, healthy_threshold=None, host=None, name=None, port=None, project=None, request_path=None, timeout_sec=None, unhealthy_threshold=None, __name__=None, __opts__=None)

An HttpHealthCheck resource. This resource defines a template for how individual VMs should be checked for health, via HTTP.

Note: google_compute_http_health_check is a legacy health check. The newer google_compute_health_check should be preferred for all uses except Network Load Balancers which still require the legacy version.

To get more information about HttpHealthCheck, see:

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

The URI of the created resource.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.HttpsHealthCheck(resource_name, opts=None, check_interval_sec=None, description=None, healthy_threshold=None, host=None, name=None, port=None, project=None, request_path=None, timeout_sec=None, unhealthy_threshold=None, __name__=None, __opts__=None)

An HttpsHealthCheck resource. This resource defines a template for how individual VMs should be checked for health, via HTTPS.

Note: google_compute_https_health_check is a legacy health check. The newer google_compute_health_check should be preferred for all uses except Network Load Balancers which still require the legacy version.

To get more information about HttpsHealthCheck, see:

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

The URI of the created resource.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.Image(resource_name, opts=None, description=None, disk_size_gb=None, family=None, labels=None, licenses=None, name=None, project=None, raw_disk=None, source_disk=None, __name__=None, __opts__=None)

Represents an Image resource.

Google Compute Engine uses operating system images to create the root persistent disks for your instances. You specify an image when you create an instance. Images contain a boot loader, an operating system, and a root file system. Linux operating system images are also capable of running containers on Compute Engine.

Images can be either public or custom.

Public images are provided and maintained by Google, open-source communities, and third-party vendors. By default, all projects have access to these images and can use them to create instances. Custom images are available only to your project. You can create a custom image from root persistent disks and other images. Then, use the custom image to create an instance.

To get more information about Image, see:

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

The URI of the created resource.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.Instance(resource_name, opts=None, allow_stopping_for_update=None, attached_disks=None, boot_disk=None, can_ip_forward=None, deletion_protection=None, description=None, guest_accelerators=None, hostname=None, labels=None, machine_type=None, metadata=None, metadata_startup_script=None, min_cpu_platform=None, name=None, network_interfaces=None, project=None, scheduling=None, scratch_disks=None, service_account=None, tags=None, zone=None, __name__=None, __opts__=None)

Manages a VM instance resource within GCE. For more information see the official documentation and API.

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • allow_stopping_for_update (pulumi.Input[bool]) – If true, allows Terraform to stop the instance to update its properties. If you try to update a property that requires stopping the instance without setting this field, the update will fail.
  • attached_disks (pulumi.Input[list]) – Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.
  • boot_disk (pulumi.Input[dict]) – The boot disk for the instance. Structure is documented below.
  • can_ip_forward (pulumi.Input[bool]) – Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
  • deletion_protection (pulumi.Input[bool]) – Enable deletion protection on this instance. Defaults to false. Note: you must disable deletion protection before removing the resource (e.g., via terraform destroy), or the instance cannot be deleted and the Terraform run will not complete successfully.
  • description (pulumi.Input[str]) – A brief description of this resource.
  • guest_accelerators (pulumi.Input[list]) – List of the type and count of accelerator cards attached to the instance. Structure documented below. Note: GPU accelerators can only be used with on_host_maintenance option set to TERMINATE.
  • hostname (pulumi.Input[str]) – A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid. Valid format is a series of labels 1-63 characters long matching the regular expression a-z, concatenated with periods. The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created.
  • labels (pulumi.Input[dict]) – A set of key/value label pairs to assign to the instance.
  • machine_type (pulumi.Input[str]) – The machine type to create.
  • metadata (pulumi.Input[dict]) – Metadata key/value pairs to make available from within the instance. Ssh keys attached in the Cloud Console will be removed. Add them to your config in order to keep them attached to your instance.
  • metadata_startup_script (pulumi.Input[str]) – An alternative to using the startup-script metadata key, except this one forces the instance to be recreated (thus re-running the script) if it is changed. This replaces the startup-script metadata key on the created instance and thus the two mechanisms are not allowed to be used simultaneously.
  • min_cpu_platform (pulumi.Input[str]) – Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as Intel Haswell or Intel Skylake. See the complete list here. Note: allow_stopping_for_update must be set to true in order to update this field.
  • name (pulumi.Input[str]) – A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
  • network_interfaces (pulumi.Input[list]) – Networks to attach to the instance. This can be specified multiple times. Structure is documented below.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
  • scheduling (pulumi.Input[dict]) – The scheduling strategy to use. More details about this configuration option are detailed below.
  • scratch_disks (pulumi.Input[list]) – Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below.
  • service_account (pulumi.Input[dict]) – Service account to attach to the instance. Structure is documented below. Note: allow_stopping_for_update must be set to true in order to update this field.
  • tags (pulumi.Input[list]) – A list of tags to attach to the instance.
  • zone (pulumi.Input[str]) – The zone that the machine should be created in.
allow_stopping_for_update = None

If true, allows Terraform to stop the instance to update its properties. If you try to update a property that requires stopping the instance without setting this field, the update will fail.

attached_disks = None

Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.

boot_disk = None

The boot disk for the instance. Structure is documented below.

can_ip_forward = None

Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.

cpu_platform = None

The CPU platform used by this instance.

deletion_protection = None

Enable deletion protection on this instance. Defaults to false. Note: you must disable deletion protection before removing the resource (e.g., via terraform destroy), or the instance cannot be deleted and the Terraform run will not complete successfully.

description = None

A brief description of this resource.

guest_accelerators = None

List of the type and count of accelerator cards attached to the instance. Structure documented below. Note: GPU accelerators can only be used with on_host_maintenance option set to TERMINATE.

hostname = None

A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid. Valid format is a series of labels 1-63 characters long matching the regular expression a-z, concatenated with periods. The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created.

instance_id = None

The server-assigned unique identifier of this instance.

label_fingerprint = None

The unique fingerprint of the labels.

labels = None

A set of key/value label pairs to assign to the instance.

machine_type = None

The machine type to create.

metadata = None

Metadata key/value pairs to make available from within the instance. Ssh keys attached in the Cloud Console will be removed. Add them to your config in order to keep them attached to your instance.

metadata_fingerprint = None

The unique fingerprint of the metadata.

metadata_startup_script = None

An alternative to using the startup-script metadata key, except this one forces the instance to be recreated (thus re-running the script) if it is changed. This replaces the startup-script metadata key on the created instance and thus the two mechanisms are not allowed to be used simultaneously.

min_cpu_platform = None

Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as Intel Haswell or Intel Skylake. See the complete list here. Note: allow_stopping_for_update must be set to true in order to update this field.

name = None

A unique name for the resource, required by GCE. Changing this forces a new resource to be created.

network_interfaces = None

Networks to attach to the instance. This can be specified multiple times. Structure is documented below.

project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

scheduling = None

The scheduling strategy to use. More details about this configuration option are detailed below.

scratch_disks = None

Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below.

The URI of the created resource.

service_account = None

Service account to attach to the instance. Structure is documented below. Note: allow_stopping_for_update must be set to true in order to update this field.

tags = None

A list of tags to attach to the instance.

tags_fingerprint = None

The unique fingerprint of the tags.

zone = None

The zone that the machine should be created in.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.InstanceFromTemplate(resource_name, opts=None, allow_stopping_for_update=None, attached_disks=None, boot_disk=None, can_ip_forward=None, deletion_protection=None, description=None, guest_accelerators=None, hostname=None, labels=None, machine_type=None, metadata=None, metadata_startup_script=None, min_cpu_platform=None, name=None, network_interfaces=None, project=None, scheduling=None, scratch_disks=None, service_account=None, source_instance_template=None, tags=None, zone=None, __name__=None, __opts__=None)

Manages a VM instance resource within GCE. For more information see the official documentation and API.

This resource is specifically to create a compute instance from a given source_instance_template. To create an instance without a template, use the google_compute_instance resource.

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • name (pulumi.Input[str]) – A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
  • source_instance_template (pulumi.Input[str]) – Name or self link of an instance template to create the instance based on.
  • zone (pulumi.Input[str]) – The zone that the machine should be created in. If not set, the provider zone is used.
name = None

A unique name for the resource, required by GCE. Changing this forces a new resource to be created.

source_instance_template = None

Name or self link of an instance template to create the instance based on.

zone = None

The zone that the machine should be created in. If not set, the provider zone is used.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.InstanceGroup(resource_name, opts=None, description=None, instances=None, name=None, named_ports=None, network=None, project=None, zone=None, __name__=None, __opts__=None)

Creates a group of dissimilar Compute Engine virtual machine instances. For more information, see the official documentation and API

Recreating an instance group that’s in use by another resource will give a resourceInUseByAnotherResource error. You can avoid this error with a Terraform lifecycle block as outlined in the example below.
Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • description (pulumi.Input[str]) – An optional textual description of the instance group.
  • instances (pulumi.Input[list]) – List of instances in the group. They should be given as self_link URLs. When adding instances they must all be in the same network and zone as the instance group.
  • name (pulumi.Input[str]) – The name of the instance group. Must be 1-63 characters long and comply with RFC1035. Supported characters include lowercase letters, numbers, and hyphens.
  • named_ports (pulumi.Input[list]) – The named port configuration. See the section below for details on configuration.
  • network (pulumi.Input[str]) – The URL of the network the instance group is in. If this is different from the network where the instances are in, the creation fails. Defaults to the network where the instances are in (if neither network nor instances is specified, this field will be blank).
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
  • zone (pulumi.Input[str]) – The zone that this instance group should be created in.
description = None

An optional textual description of the instance group.

instances = None

List of instances in the group. They should be given as self_link URLs. When adding instances they must all be in the same network and zone as the instance group.

name = None

The name of the instance group. Must be 1-63 characters long and comply with RFC1035. Supported characters include lowercase letters, numbers, and hyphens.

named_ports = None

The named port configuration. See the section below for details on configuration.

network = None

The URL of the network the instance group is in. If this is different from the network where the instances are in, the creation fails. Defaults to the network where the instances are in (if neither network nor instances is specified, this field will be blank).

project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

The URI of the created resource.

size = None

The number of instances in the group.

zone = None

The zone that this instance group should be created in.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.InstanceGroupManager(resource_name, opts=None, auto_healing_policies=None, base_instance_name=None, description=None, name=None, named_ports=None, project=None, target_pools=None, target_size=None, update_policy=None, versions=None, wait_for_instances=None, zone=None, __name__=None, __opts__=None)

The Google Compute Engine Instance Group Manager API creates and manages pools of homogeneous Compute Engine virtual machine instances from a common instance template. For more information, see the official documentation and API

Note: Use google_compute_region_instance_group_manager to create a regional (multi-zone) instance group manager.
Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • auto_healing_policies (pulumi.Input[dict]) –

    ) The autohealing policies for this managed instance group. You can specify only one value. Structure is documented below. For more information, see the official documentation.

  • base_instance_name (pulumi.Input[str]) –

    The base instance name to use for instances in this group. The value must be a valid RFC1035 name. Supported characters are lowercase letters, numbers, and hyphens (-). Instances are named by appending a hyphen and a random four-character string to the base instance name.

  • description (pulumi.Input[str]) – An optional textual description of the instance group manager.
  • name (pulumi.Input[str]) –

    The name of the instance group manager. Must be 1-63 characters long and comply with RFC1035. Supported characters include lowercase letters, numbers, and hyphens.

  • named_ports (pulumi.Input[list]) – The named port configuration. See the section below for details on configuration.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
  • target_pools (pulumi.Input[list]) – The full URL of all target pools to which new instances in the group are added. Updating the target pools attribute does not affect existing instances.
  • target_size (pulumi.Input[float]) – The target number of running instances for this managed instance group. This value should always be explicitly set unless this resource is attached to an autoscaler, in which case it should never be set. Defaults to 0.
  • update_policy (pulumi.Input[dict]) –

    ) The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API

Parameters:
  • versions (pulumi.Input[list]) – ) Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios. Structure is documented below.
  • wait_for_instances (pulumi.Input[bool]) – Whether to wait for all instances to be created/updated before returning. Note that if this is set to true and the operation does not succeed, Terraform will continue trying until it times out.
  • zone (pulumi.Input[str]) – The zone that instances in this group should be created in.
auto_healing_policies = None

) The autohealing policies for this managed instance group. You can specify only one value. Structure is documented below. For more information, see the official documentation.

base_instance_name = None

The base instance name to use for instances in this group. The value must be a valid RFC1035 name. Supported characters are lowercase letters, numbers, and hyphens (-). Instances are named by appending a hyphen and a random four-character string to the base instance name.

description = None

An optional textual description of the instance group manager.

fingerprint = None

The fingerprint of the instance group manager.

instance_group = None

The full URL of the instance group created by the manager.

name = None

The name of the instance group manager. Must be 1-63 characters long and comply with RFC1035. Supported characters include lowercase letters, numbers, and hyphens.

named_ports = None

The named port configuration. See the section below for details on configuration.

project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

The URL of the created resource.

target_pools = None

The full URL of all target pools to which new instances in the group are added. Updating the target pools attribute does not affect existing instances.

target_size = None

The target number of running instances for this managed instance group. This value should always be explicitly set unless this resource is attached to an autoscaler, in which case it should never be set. Defaults to 0.

update_policy = None

) The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API

versions = None

) Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios. Structure is documented below.

wait_for_instances = None

Whether to wait for all instances to be created/updated before returning. Note that if this is set to true and the operation does not succeed, Terraform will continue trying until it times out.

zone = None

The zone that instances in this group should be created in.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.InstanceTemplate(resource_name, opts=None, can_ip_forward=None, description=None, disks=None, guest_accelerators=None, instance_description=None, labels=None, machine_type=None, metadata=None, metadata_startup_script=None, min_cpu_platform=None, name=None, name_prefix=None, network_interfaces=None, project=None, region=None, schedulings=None, service_account=None, tags=None, __name__=None, __opts__=None)

Manages a VM instance template resource within GCE. For more information see the official documentation and API.

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • can_ip_forward (pulumi.Input[bool]) – Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
  • description (pulumi.Input[str]) – A brief description of this resource.
  • disks (pulumi.Input[list]) – Disks to attach to instances created from this template. This can be specified multiple times for multiple disks. Structure is documented below.
  • guest_accelerators (pulumi.Input[list]) – List of the type and count of accelerator cards attached to the instance. Structure documented below.
  • instance_description (pulumi.Input[str]) – A brief description to use for instances created from this template.
  • labels (pulumi.Input[dict]) – A set of key/value label pairs to assign to instances created from this template,
  • machine_type (pulumi.Input[str]) – The machine type to create.
  • metadata (pulumi.Input[dict]) – Metadata key/value pairs to make available from within instances created from this template.
  • metadata_startup_script (pulumi.Input[str]) – An alternative to using the startup-script metadata key, mostly to match the compute_instance resource. This replaces the startup-script metadata key on the created instance and thus the two mechanisms are not allowed to be used simultaneously.
  • min_cpu_platform (pulumi.Input[str]) –

    Specifies a minimum CPU platform. Applicable values are the friendly names of CPU platforms, such as Intel Haswell or Intel Skylake. See the complete list here.

  • name (pulumi.Input[str]) – The name of the instance template. If you leave this blank, Terraform will auto-generate a unique name.
  • name_prefix (pulumi.Input[str]) – Creates a unique name beginning with the specified prefix. Conflicts with name.
  • network_interfaces (pulumi.Input[list]) – Networks to attach to instances created from this template. This can be specified multiple times for multiple networks. Structure is documented below.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
  • region (pulumi.Input[str]) – An instance template is a global resource that is not bound to a zone or a region. However, you can still specify some regional resources in an instance template, which restricts the template to the region where that resource resides. For example, a custom subnetwork resource is tied to a specific region. Defaults to the region of the Provider if no value is given.
  • schedulings (pulumi.Input[list]) – The scheduling strategy to use. More details about this configuration option are detailed below.
  • service_account (pulumi.Input[dict]) – Service account to attach to the instance. Structure is documented below.
  • tags (pulumi.Input[list]) – Tags to attach to the instance.
can_ip_forward = None

Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.

description = None

A brief description of this resource.

disks = None

Disks to attach to instances created from this template. This can be specified multiple times for multiple disks. Structure is documented below.

guest_accelerators = None

List of the type and count of accelerator cards attached to the instance. Structure documented below.

instance_description = None

A brief description to use for instances created from this template.

labels = None

A set of key/value label pairs to assign to instances created from this template,

machine_type = None

The machine type to create.

metadata = None

Metadata key/value pairs to make available from within instances created from this template.

metadata_fingerprint = None

The unique fingerprint of the metadata.

metadata_startup_script = None

An alternative to using the startup-script metadata key, mostly to match the compute_instance resource. This replaces the startup-script metadata key on the created instance and thus the two mechanisms are not allowed to be used simultaneously.

min_cpu_platform = None

Specifies a minimum CPU platform. Applicable values are the friendly names of CPU platforms, such as Intel Haswell or Intel Skylake. See the complete list here.

name = None

The name of the instance template. If you leave this blank, Terraform will auto-generate a unique name.

name_prefix = None

Creates a unique name beginning with the specified prefix. Conflicts with name.

network_interfaces = None

Networks to attach to instances created from this template. This can be specified multiple times for multiple networks. Structure is documented below.

project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

region = None

An instance template is a global resource that is not bound to a zone or a region. However, you can still specify some regional resources in an instance template, which restricts the template to the region where that resource resides. For example, a custom subnetwork resource is tied to a specific region. Defaults to the region of the Provider if no value is given.

schedulings = None

The scheduling strategy to use. More details about this configuration option are detailed below.

The URI of the created resource.

service_account = None

Service account to attach to the instance. Structure is documented below.

tags = None

Tags to attach to the instance.

tags_fingerprint = None

The unique fingerprint of the tags.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.InterconnectAttachment(resource_name, opts=None, candidate_subnets=None, description=None, edge_availability_domain=None, interconnect=None, name=None, project=None, region=None, router=None, type=None, vlan_tag8021q=None, __name__=None, __opts__=None)

Represents an InterconnectAttachment (VLAN attachment) resource. For more information, see Creating VLAN Attachments.

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

The URI of the created resource.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.MangedSslCertificate(resource_name, opts=None, certificate_id=None, description=None, managed=None, name=None, project=None, type=None, __name__=None, __opts__=None)

An SslCertificate resource, used for HTTPS load balancing. This resource represents a certificate for which the certificate secrets are created and managed by Google.

For a resource where you provide the key, see the SSL Certificate resource.

Warning: This resource is in beta, and should be used with the terraform-provider-google-beta provider. See Provider Versions for more details on beta resources.

To get more information about ManagedSslCertificate, see:

Warning: This resource should be used with extreme caution! Provisioning an SSL certificate is complex. Ensure that you understand the lifecycle of a certificate before attempting complex tasks like cert rotation automatically. This resource will “return” as soon as the certificate object is created, but post-creation the certificate object will go through a “provisioning” process. The provisioning process can complete only when the domain name for which the certificate is created points to a target pool which, itself, points at the certificate. Depending on your DNS provider, this may take some time, and migrating from self-managed certificates to Google-managed certificates may entail some downtime while the certificate provisions.

In conclusion: Be extremely cautious.

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

The URI of the created resource.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.Network(resource_name, opts=None, auto_create_subnetworks=None, description=None, ipv4_range=None, name=None, project=None, routing_mode=None, __name__=None, __opts__=None)

Manages a VPC network or legacy network resource on GCP.

To get more information about Network, see:

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

The URI of the created resource.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.NetworkPeering(resource_name, opts=None, auto_create_routes=None, name=None, network=None, peer_network=None, __name__=None, __opts__=None)

Manages a network peering within GCE. For more information see the official documentation and API.

Note: Both network must create a peering with each other for the peering to be functional.

Note: Subnets IP ranges across peered VPC networks cannot overlap.

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • auto_create_routes (pulumi.Input[bool]) – If set to true, the routes between the two networks will be created and managed automatically. Defaults to true.
  • name (pulumi.Input[str]) – Name of the peering.
  • network (pulumi.Input[str]) – Resource link of the network to add a peering to.
  • peer_network (pulumi.Input[str]) – Resource link of the peer network.
auto_create_routes = None

If set to true, the routes between the two networks will be created and managed automatically. Defaults to true.

name = None

Name of the peering.

network = None

Resource link of the network to add a peering to.

peer_network = None

Resource link of the peer network.

state = None

State for the peering.

state_details = None

Details about the current state of the peering.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.ProjectMetadata(resource_name, opts=None, metadata=None, project=None, __name__=None, __opts__=None)

Authoritatively manages metadata common to all instances for a project in GCE. For more information see the official documentation and API.

Note: This resource manages all project-level metadata including project-level ssh keys. Keys unset in config but set on the server will be removed. If you want to manage only single key/value pairs within the project metadata rather than the entire set, then use google_compute_project_metadata_item.
Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • metadata (pulumi.Input[dict]) – A series of key value pairs.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
metadata = None

A series of key value pairs.

project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.ProjectMetadataItem(resource_name, opts=None, key=None, project=None, value=None, __name__=None, __opts__=None)

Manages a single key/value pair on metadata common to all instances for a project in GCE. Using google_compute_project_metadata_item lets you manage a single key/value setting in Terraform rather than the entire project metadata map.

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • key (pulumi.Input[str]) – The metadata key to set.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
  • value (pulumi.Input[str]) – The value to set for the given metadata key.
key = None

The metadata key to set.

project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

value = None

The value to set for the given metadata key.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.RegionAutoscaler(resource_name, opts=None, autoscaling_policy=None, description=None, name=None, project=None, region=None, target=None, __name__=None, __opts__=None)

Represents an Autoscaler resource.

Autoscalers allow you to automatically scale virtual machine instances in managed instance groups according to an autoscaling policy that you define.

To get more information about RegionAutoscaler, see:

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.

The URI of the created resource.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.RegionBackendService(resource_name, opts=None, backends=None, connection_draining_timeout_sec=None, description=None, health_checks=None, name=None, project=None, protocol=None, region=None, session_affinity=None, timeout_sec=None, __name__=None, __opts__=None)

A Region Backend Service defines a regionally-scoped group of virtual machines that will serve traffic for load balancing. For more information see the official documentation and API.

Note\ : Region backend services can only be used when using internal load balancing. For external load balancing, use
google_compute_backend_service instead.
Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • backends (pulumi.Input[list]) – The list of backends that serve this BackendService. Structure is documented below.
  • connection_draining_timeout_sec (pulumi.Input[float]) – Time for which instance will be drained (not accept new connections, but still work to finish started ones). Defaults to 0.
  • description (pulumi.Input[str]) – The textual description for the backend service.
  • health_checks (pulumi.Input[str]) – Specifies a list of health checks for checking the health of the backend service. Currently at most one health check can be specified, and a health check is required.
  • name (pulumi.Input[str]) – The name of the backend service.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
  • protocol (pulumi.Input[str]) – The protocol for incoming requests. Defaults to TCP.
  • region (pulumi.Input[str]) – The Region in which the created address should reside. If it is not provided, the provider region is used.
  • session_affinity (pulumi.Input[str]) – How to distribute load. Options are NONE (no affinity), CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO. Defaults to NONE.
  • timeout_sec (pulumi.Input[float]) – The number of secs to wait for a backend to respond to a request before considering the request failed. Defaults to 30.
backends = None

The list of backends that serve this BackendService. Structure is documented below.

connection_draining_timeout_sec = None

Time for which instance will be drained (not accept new connections, but still work to finish started ones). Defaults to 0.

description = None

The textual description for the backend service.

fingerprint = None

The fingerprint of the backend service.

health_checks = None

Specifies a list of health checks for checking the health of the backend service. Currently at most one health check can be specified, and a health check is required.

name = None

The name of the backend service.

project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

protocol = None

The protocol for incoming requests. Defaults to TCP.

region = None

The Region in which the created address should reside. If it is not provided, the provider region is used.

The URI of the created resource.

session_affinity = None

How to distribute load. Options are NONE (no affinity), CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO. Defaults to NONE.

timeout_sec = None

The number of secs to wait for a backend to respond to a request before considering the request failed. Defaults to 30.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.RegionDisk(resource_name, opts=None, description=None, disk_encryption_key=None, labels=None, name=None, project=None, region=None, replica_zones=None, size=None, snapshot=None, source_snapshot_encryption_key=None, type=None, __name__=None, __opts__=None)

Persistent disks are durable storage devices that function similarly to the physical disks in a desktop or a server. Compute Engine manages the hardware behind these devices to ensure data redundancy and optimize performance for you. Persistent disks are available as either standard hard disk drives (HDD) or solid-state drives (SSD).

Persistent disks are located independently from your virtual machine instances, so you can detach or move persistent disks to keep your data even after you delete your instances. Persistent disk performance scales automatically with size, so you can resize your existing persistent disks or add more persistent disks to an instance to meet your performance and storage space requirements.

Add a persistent disk to your instance when you need reliable and affordable storage with consistent performance characteristics.

To get more information about RegionDisk, see:

Warning: All arguments including the disk encryption key will be stored in the raw state as plain-text. Read more about sensitive data in state.
Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

The URI of the created resource.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.RegionInstanceGroupManager(resource_name, opts=None, auto_healing_policies=None, base_instance_name=None, description=None, distribution_policy_zones=None, name=None, named_ports=None, project=None, region=None, target_pools=None, target_size=None, update_policy=None, versions=None, wait_for_instances=None, __name__=None, __opts__=None)

The Google Compute Engine Regional Instance Group Manager API creates and manages pools of homogeneous Compute Engine virtual machine instances from a common instance template. For more information, see the official documentation and API

Note: Use google_compute_instance_group_manager to create a single-zone instance group manager.
Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • auto_healing_policies (pulumi.Input[dict]) –

    ) The autohealing policies for this managed instance group. You can specify only one value. Structure is documented below. For more information, see the official documentation.

  • base_instance_name (pulumi.Input[str]) –

    The base instance name to use for instances in this group. The value must be a valid RFC1035 name. Supported characters are lowercase letters, numbers, and hyphens (-). Instances are named by appending a hyphen and a random four-character string to the base instance name.

  • description (pulumi.Input[str]) – An optional textual description of the instance group manager.
  • distribution_policy_zones (pulumi.Input[list]) –

    The distribution policy for this managed instance group. You can specify one or more values. For more information, see the official documentation.

Parameters:
  • name (pulumi.Input[str]) –

    The name of the instance group manager. Must be 1-63 characters long and comply with RFC1035. Supported characters include lowercase letters, numbers, and hyphens.

  • named_ports (pulumi.Input[list]) – The named port configuration. See the section below for details on configuration.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
  • region (pulumi.Input[str]) – The region where the managed instance group resides.
  • target_pools (pulumi.Input[list]) – The full URL of all target pools to which new instances in the group are added. Updating the target pools attribute does not affect existing instances.
  • target_size (pulumi.Input[float]) – The target number of running instances for this managed instance group. This value should always be explicitly set unless this resource is attached to an autoscaler, in which case it should never be set. Defaults to 0.
  • update_policy (pulumi.Input[dict]) –

    ) The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API

  • versions (pulumi.Input[list]) – ) Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios. Structure is documented below.
  • wait_for_instances (pulumi.Input[bool]) – Whether to wait for all instances to be created/updated before returning. Note that if this is set to true and the operation does not succeed, Terraform will continue trying until it times out.
auto_healing_policies = None

) The autohealing policies for this managed instance group. You can specify only one value. Structure is documented below. For more information, see the official documentation.

base_instance_name = None

The base instance name to use for instances in this group. The value must be a valid RFC1035 name. Supported characters are lowercase letters, numbers, and hyphens (-). Instances are named by appending a hyphen and a random four-character string to the base instance name.

description = None

An optional textual description of the instance group manager.

distribution_policy_zones = None

The distribution policy for this managed instance group. You can specify one or more values. For more information, see the official documentation.

fingerprint = None

The fingerprint of the instance group manager.

instance_group = None

The full URL of the instance group created by the manager.

name = None

The name of the instance group manager. Must be 1-63 characters long and comply with RFC1035. Supported characters include lowercase letters, numbers, and hyphens.

named_ports = None

The named port configuration. See the section below for details on configuration.

project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

region = None

The region where the managed instance group resides.

The URL of the created resource.

target_pools = None

The full URL of all target pools to which new instances in the group are added. Updating the target pools attribute does not affect existing instances.

target_size = None

The target number of running instances for this managed instance group. This value should always be explicitly set unless this resource is attached to an autoscaler, in which case it should never be set. Defaults to 0.

update_policy = None

) The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API

versions = None

) Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios. Structure is documented below.

wait_for_instances = None

Whether to wait for all instances to be created/updated before returning. Note that if this is set to true and the operation does not succeed, Terraform will continue trying until it times out.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.Route(resource_name, opts=None, description=None, dest_range=None, name=None, network=None, next_hop_gateway=None, next_hop_instance=None, next_hop_instance_zone=None, next_hop_ip=None, next_hop_vpn_tunnel=None, priority=None, project=None, tags=None, __name__=None, __opts__=None)

Represents a Route resource.

A route is a rule that specifies how certain packets should be handled by the virtual network. Routes are associated with virtual machines by tag, and the set of routes for a particular virtual machine is called its routing table. For each packet leaving a virtual machine, the system searches that virtual machine’s routing table for a single best matching route.

Routes match packets by destination IP address, preferring smaller or more specific ranges over larger ones. If there is a tie, the system selects the route with the smallest priority value. If there is still a tie, it uses the layer three and four packet headers to select just one of the remaining matching routes. The packet is then forwarded as specified by the next_hop field of the winning route – either to another virtual machine destination, a virtual machine gateway or a Compute Engine-operated gateway. Packets that do not match any route in the sending virtual machine’s routing table will be dropped.

A Route resource must have exactly one specification of either nextHopGateway, nextHopInstance, nextHopIp, or nextHopVpnTunnel.

To get more information about Route, see:

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • next_hop_instance_zone (pulumi.Input[str]) – (Optional when next_hop_instance is specified) The zone of the instance specified in next_hop_instance. Omit if next_hop_instance is specified as a URL.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
next_hop_instance_zone = None

(Optional when next_hop_instance is specified) The zone of the instance specified in next_hop_instance. Omit if next_hop_instance is specified as a URL.

project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

The URI of the created resource.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.Router(resource_name, opts=None, bgp=None, description=None, name=None, network=None, project=None, region=None, __name__=None, __opts__=None)

Represents a Router resource.

To get more information about Router, see:

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

The URI of the created resource.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.RouterInterface(resource_name, opts=None, ip_range=None, name=None, project=None, region=None, router=None, vpn_tunnel=None, __name__=None, __opts__=None)

Manages a Cloud Router interface. For more information see the official documentation and API.

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • ip_range (pulumi.Input[str]) – IP address and range of the interface. The IP range must be in the RFC3927 link-local IP space. Changing this forces a new interface to be created.
  • name (pulumi.Input[str]) – A unique name for the interface, required by GCE. Changing this forces a new interface to be created.
  • project (pulumi.Input[str]) – The ID of the project in which this interface’s router belongs. If it is not provided, the provider project is used. Changing this forces a new interface to be created.
  • region (pulumi.Input[str]) – The region this interface’s router sits in. If not specified, the project region will be used. Changing this forces a new interface to be created.
  • router (pulumi.Input[str]) – The name of the router this interface will be attached to. Changing this forces a new interface to be created.
  • vpn_tunnel (pulumi.Input[str]) – The name or resource link to the VPN tunnel this interface will be linked to. Changing this forces a new interface to be created.
ip_range = None

IP address and range of the interface. The IP range must be in the RFC3927 link-local IP space. Changing this forces a new interface to be created.

name = None

A unique name for the interface, required by GCE. Changing this forces a new interface to be created.

project = None

The ID of the project in which this interface’s router belongs. If it is not provided, the provider project is used. Changing this forces a new interface to be created.

region = None

The region this interface’s router sits in. If not specified, the project region will be used. Changing this forces a new interface to be created.

router = None

The name of the router this interface will be attached to. Changing this forces a new interface to be created.

vpn_tunnel = None

The name or resource link to the VPN tunnel this interface will be linked to. Changing this forces a new interface to be created.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.RouterNat(resource_name, opts=None, icmp_idle_timeout_sec=None, min_ports_per_vm=None, name=None, nat_ip_allocate_option=None, nat_ips=None, project=None, region=None, router=None, source_subnetwork_ip_ranges_to_nat=None, subnetworks=None, tcp_established_idle_timeout_sec=None, tcp_transitory_idle_timeout_sec=None, udp_idle_timeout_sec=None, __name__=None, __opts__=None)

Manages a Cloud NAT. For more information see the official documentation and API.

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • icmp_idle_timeout_sec (pulumi.Input[float]) – Timeout (in seconds) for ICMP connections. Defaults to 30s if not set. Changing this forces a new NAT to be created.
  • min_ports_per_vm (pulumi.Input[float]) – Minimum number of ports allocated to a VM from this NAT config. If not set, a default number of ports is allocated to a VM. Changing this forces a new NAT to be created.
  • name (pulumi.Input[str]) – A unique name for Cloud NAT, required by GCE. Changing this forces a new NAT to be created.
  • nat_ip_allocate_option (pulumi.Input[str]) – How external IPs should be allocated for this NAT. Valid values are AUTO_ONLY or MANUAL_ONLY. Changing this forces a new NAT to be created.
  • nat_ips (pulumi.Input[list]) – List of self_links of external IPs. Only valid if nat_ip_allocate_option is set to MANUAL_ONLY. Changing this forces a new NAT to be created.
  • project (pulumi.Input[str]) – The ID of the project in which this NAT’s router belongs. If it is not provided, the provider project is used. Changing this forces a new NAT to be created.
  • region (pulumi.Input[str]) – The region this NAT’s router sits in. If not specified, the project region will be used. Changing this forces a new NAT to be created.
  • router (pulumi.Input[str]) – The name of the router in which this NAT will be configured. Changing this forces a new NAT to be created.
  • source_subnetwork_ip_ranges_to_nat (pulumi.Input[str]) – How NAT should be configured per Subnetwork. Valid values include: ALL_SUBNETWORKS_ALL_IP_RANGES, ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES, LIST_OF_SUBNETWORKS. Changing this forces a new NAT to be created.
  • subnetworks (pulumi.Input[list]) – One or more subnetwork NAT configurations. Only used if source_subnetwork_ip_ranges_to_nat is set to LIST_OF_SUBNETWORKS. See the section below for details on configuration.
  • tcp_established_idle_timeout_sec (pulumi.Input[float]) – Timeout (in seconds) for TCP established connections. Defaults to 1200s if not set. Changing this forces a new NAT to be created.
  • tcp_transitory_idle_timeout_sec (pulumi.Input[float]) – Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not set. Changing this forces a new NAT to be created.
  • udp_idle_timeout_sec (pulumi.Input[float]) – Timeout (in seconds) for UDP connections. Defaults to 30s if not set. Changing this forces a new NAT to be created.
icmp_idle_timeout_sec = None

Timeout (in seconds) for ICMP connections. Defaults to 30s if not set. Changing this forces a new NAT to be created.

min_ports_per_vm = None

Minimum number of ports allocated to a VM from this NAT config. If not set, a default number of ports is allocated to a VM. Changing this forces a new NAT to be created.

name = None

A unique name for Cloud NAT, required by GCE. Changing this forces a new NAT to be created.

nat_ip_allocate_option = None

How external IPs should be allocated for this NAT. Valid values are AUTO_ONLY or MANUAL_ONLY. Changing this forces a new NAT to be created.

nat_ips = None

List of self_links of external IPs. Only valid if nat_ip_allocate_option is set to MANUAL_ONLY. Changing this forces a new NAT to be created.

project = None

The ID of the project in which this NAT’s router belongs. If it is not provided, the provider project is used. Changing this forces a new NAT to be created.

region = None

The region this NAT’s router sits in. If not specified, the project region will be used. Changing this forces a new NAT to be created.

router = None

The name of the router in which this NAT will be configured. Changing this forces a new NAT to be created.

source_subnetwork_ip_ranges_to_nat = None

How NAT should be configured per Subnetwork. Valid values include: ALL_SUBNETWORKS_ALL_IP_RANGES, ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES, LIST_OF_SUBNETWORKS. Changing this forces a new NAT to be created.

subnetworks = None

One or more subnetwork NAT configurations. Only used if source_subnetwork_ip_ranges_to_nat is set to LIST_OF_SUBNETWORKS. See the section below for details on configuration.

tcp_established_idle_timeout_sec = None

Timeout (in seconds) for TCP established connections. Defaults to 1200s if not set. Changing this forces a new NAT to be created.

tcp_transitory_idle_timeout_sec = None

Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not set. Changing this forces a new NAT to be created.

udp_idle_timeout_sec = None

Timeout (in seconds) for UDP connections. Defaults to 30s if not set. Changing this forces a new NAT to be created.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.RouterPeer(resource_name, opts=None, advertised_route_priority=None, interface=None, name=None, peer_asn=None, peer_ip_address=None, project=None, region=None, router=None, __name__=None, __opts__=None)

Manages a Cloud Router BGP peer. For more information see the official documentation and API.

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • advertised_route_priority (pulumi.Input[float]) – The priority of routes advertised to this BGP peer. Changing this forces a new peer to be created.
  • interface (pulumi.Input[str]) – The name of the interface the BGP peer is associated with. Changing this forces a new peer to be created.
  • name (pulumi.Input[str]) – A unique name for BGP peer, required by GCE. Changing this forces a new peer to be created.
  • peer_asn (pulumi.Input[float]) – Peer BGP Autonomous System Number (ASN). Changing this forces a new peer to be created.
  • peer_ip_address (pulumi.Input[str]) – IP address of the BGP interface outside Google Cloud. Changing this forces a new peer to be created.
  • project (pulumi.Input[str]) – The ID of the project in which this peer’s router belongs. If it is not provided, the provider project is used. Changing this forces a new peer to be created.
  • region (pulumi.Input[str]) – The region this peer’s router sits in. If not specified, the project region will be used. Changing this forces a new peer to be created.
  • router (pulumi.Input[str]) – The name of the router in which this BGP peer will be configured. Changing this forces a new peer to be created.
advertised_route_priority = None

The priority of routes advertised to this BGP peer. Changing this forces a new peer to be created.

interface = None

The name of the interface the BGP peer is associated with. Changing this forces a new peer to be created.

ip_address = None

IP address of the interface inside Google Cloud Platform.

name = None

A unique name for BGP peer, required by GCE. Changing this forces a new peer to be created.

peer_asn = None

Peer BGP Autonomous System Number (ASN). Changing this forces a new peer to be created.

peer_ip_address = None

IP address of the BGP interface outside Google Cloud. Changing this forces a new peer to be created.

project = None

The ID of the project in which this peer’s router belongs. If it is not provided, the provider project is used. Changing this forces a new peer to be created.

region = None

The region this peer’s router sits in. If not specified, the project region will be used. Changing this forces a new peer to be created.

router = None

The name of the router in which this BGP peer will be configured. Changing this forces a new peer to be created.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.SSLCertificate(resource_name, opts=None, certificate=None, description=None, name=None, name_prefix=None, private_key=None, project=None, __name__=None, __opts__=None)

An SslCertificate resource, used for HTTPS load balancing. This resource provides a mechanism to upload an SSL key and certificate to the load balancer to serve secure connections from the user.

To get more information about SslCertificate, see:

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • name_prefix (pulumi.Input[str]) – Creates a unique name beginning with the specified prefix. Conflicts with name.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
name_prefix = None

Creates a unique name beginning with the specified prefix. Conflicts with name.

project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

The URI of the created resource.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.SSLPolicy(resource_name, opts=None, custom_features=None, description=None, min_tls_version=None, name=None, profile=None, project=None, __name__=None, __opts__=None)

Represents a SSL policy. SSL policies give you the ability to control the features of SSL that your SSL proxy or HTTPS load balancer negotiates.

To get more information about SslPolicy, see:

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

The URI of the created resource.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.SecurityPolicy(resource_name, opts=None, description=None, name=None, project=None, rules=None, __name__=None, __opts__=None)

A Security Policy defines an IP blacklist or whitelist that protects load balanced Google Cloud services by denying or permitting traffic from specified IP ranges. For more information see the official documentation and the API.

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • description (pulumi.Input[str]) – An optional description of this security policy. Max size is 2048.
  • name (pulumi.Input[str]) – The name of the security policy.
  • project (pulumi.Input[str]) – The project in which the resource belongs. If it is not provided, the provider project is used.
  • rules (pulumi.Input[list]) – The set of rules that belong to this policy. There must always be a default rule (rule with priority 2147483647 and match “*”). If no rules are provided when creating a security policy, a default rule with action “allow” will be added. Structure is documented below.
description = None

An optional description of this security policy. Max size is 2048.

fingerprint = None

Fingerprint of this resource.

name = None

The name of the security policy.

project = None

The project in which the resource belongs. If it is not provided, the provider project is used.

rules = None

The set of rules that belong to this policy. There must always be a default rule (rule with priority 2147483647 and match “*”). If no rules are provided when creating a security policy, a default rule with action “allow” will be added. Structure is documented below.

The URI of the created resource.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.SharedVPCHostProject(resource_name, opts=None, project=None, __name__=None, __opts__=None)

Enables the Google Compute Engine Shared VPC feature for a project, assigning it as a Shared VPC host project.

For more information, see, the Project API documentation, where the Shared VPC feature is referred to by its former name “XPN”.

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • project (pulumi.Input[str]) – The ID of the project that will serve as a Shared VPC host project
project = None

The ID of the project that will serve as a Shared VPC host project

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.SharedVPCServiceProject(resource_name, opts=None, host_project=None, service_project=None, __name__=None, __opts__=None)

Enables the Google Compute Engine Shared VPC feature for a project, assigning it as a Shared VPC service project associated with a given host project.

For more information, see, the Project API documentation, where the Shared VPC feature is referred to by its former name “XPN”.

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • host_project (pulumi.Input[str]) – The ID of a host project to associate.
  • service_project (pulumi.Input[str]) – The ID of the project that will serve as a Shared VPC service project.
host_project = None

The ID of a host project to associate.

service_project = None

The ID of the project that will serve as a Shared VPC service project.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.Snapshot(resource_name, opts=None, description=None, labels=None, name=None, project=None, snapshot_encryption_key=None, source_disk=None, source_disk_encryption_key=None, zone=None, __name__=None, __opts__=None)

Represents a Persistent Disk Snapshot resource.

Use snapshots to back up data from your persistent disks. Snapshots are different from public images and custom images, which are used primarily to create instances or configure instance templates. Snapshots are useful for periodic backup of the data on your persistent disks. You can create snapshots from persistent disks even while they are attached to running instances.

Snapshots are incremental, so you can create regular snapshots on a persistent disk faster and at a much lower cost than if you regularly created a full image of the disk.

To get more information about Snapshot, see:

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

The URI of the created resource.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.Subnetwork(resource_name, opts=None, description=None, enable_flow_logs=None, ip_cidr_range=None, name=None, network=None, private_ip_google_access=None, project=None, region=None, secondary_ip_ranges=None, __name__=None, __opts__=None)

A VPC network is a virtual version of the traditional physical networks that exist within and between physical data centers. A VPC network provides connectivity for your Compute Engine virtual machine (VM) instances, Container Engine containers, App Engine Flex services, and other network-related resources.

Each GCP project contains one or more VPC networks. Each VPC network is a global entity spanning all GCP regions. This global VPC network allows VM instances and other resources to communicate with each other via internal, private IP addresses.

Each VPC network is subdivided into subnets, and each subnet is contained within a single region. You can have more than one subnet in a region for a given VPC network. Each subnet has a contiguous private RFC1918 IP space. You create instances, containers, and the like in these subnets. When you create an instance, you must create it in a subnet, and the instance draws its internal IP address from that subnet.

Virtual machine (VM) instances in a VPC network can communicate with instances in all other subnets of the same VPC network, regardless of region, using their RFC1918 private IP addresses. You can isolate portions of the network, even entire subnets, using firewall rules.

To get more information about Subnetwork, see:

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

The URI of the created resource.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.SubnetworkIAMBinding(resource_name, opts=None, members=None, project=None, region=None, role=None, subnetwork=None, __name__=None, __opts__=None)
Warning: These resources are in beta, and should be used with the terraform-provider-google-beta provider. See Provider Versions for more details on beta resources.

Three different resources help you manage your IAM policy for GCE subnetwork. Each of these resources serves a different use case:

  • google_compute_subnetwork_iam_policy: Authoritative. Sets the IAM policy for the subnetwork and replaces any existing policy already attached.
  • google_compute_subnetwork_iam_binding: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the subnetwork are preserved.
  • google_compute_subnetwork_iam_member: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the subnetwork are preserved.

Note: google_compute_subnetwork_iam_policy cannot be used in conjunction with google_compute_subnetwork_iam_binding and google_compute_subnetwork_iam_member or they will fight over what your policy should be.

Note: google_compute_subnetwork_iam_binding resources can be used in conjunction with google_compute_subnetwork_iam_member resources only if they do not grant privilege to the same role.

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
  • region (pulumi.Input[str]) – The region of the subnetwork. If unspecified, this defaults to the region configured in the provider.
  • role (pulumi.Input[str]) – The role that should be applied. Only one google_compute_subnetwork_iam_binding can be used per role. Note that custom roles must be of the format [projects|organizations]/{parent-name}/roles/{role-name}.
  • subnetwork (pulumi.Input[str]) – The name of the subnetwork.
etag = None

(Computed) The etag of the subnetwork’s IAM policy.

project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

region = None

The region of the subnetwork. If unspecified, this defaults to the region configured in the provider.

role = None

The role that should be applied. Only one google_compute_subnetwork_iam_binding can be used per role. Note that custom roles must be of the format [projects|organizations]/{parent-name}/roles/{role-name}.

subnetwork = None

The name of the subnetwork.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.SubnetworkIAMMember(resource_name, opts=None, member=None, project=None, region=None, role=None, subnetwork=None, __name__=None, __opts__=None)
Warning: These resources are in beta, and should be used with the terraform-provider-google-beta provider. See Provider Versions for more details on beta resources.

Three different resources help you manage your IAM policy for GCE subnetwork. Each of these resources serves a different use case:

  • google_compute_subnetwork_iam_policy: Authoritative. Sets the IAM policy for the subnetwork and replaces any existing policy already attached.
  • google_compute_subnetwork_iam_binding: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the subnetwork are preserved.
  • google_compute_subnetwork_iam_member: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the subnetwork are preserved.

Note: google_compute_subnetwork_iam_policy cannot be used in conjunction with google_compute_subnetwork_iam_binding and google_compute_subnetwork_iam_member or they will fight over what your policy should be.

Note: google_compute_subnetwork_iam_binding resources can be used in conjunction with google_compute_subnetwork_iam_member resources only if they do not grant privilege to the same role.

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
  • region (pulumi.Input[str]) – The region of the subnetwork. If unspecified, this defaults to the region configured in the provider.
  • role (pulumi.Input[str]) – The role that should be applied. Only one google_compute_subnetwork_iam_binding can be used per role. Note that custom roles must be of the format [projects|organizations]/{parent-name}/roles/{role-name}.
  • subnetwork (pulumi.Input[str]) – The name of the subnetwork.
etag = None

(Computed) The etag of the subnetwork’s IAM policy.

project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

region = None

The region of the subnetwork. If unspecified, this defaults to the region configured in the provider.

role = None

The role that should be applied. Only one google_compute_subnetwork_iam_binding can be used per role. Note that custom roles must be of the format [projects|organizations]/{parent-name}/roles/{role-name}.

subnetwork = None

The name of the subnetwork.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.SubnetworkIAMPolicy(resource_name, opts=None, policy_data=None, project=None, region=None, subnetwork=None, __name__=None, __opts__=None)
Warning: These resources are in beta, and should be used with the terraform-provider-google-beta provider. See Provider Versions for more details on beta resources.

Three different resources help you manage your IAM policy for GCE subnetwork. Each of these resources serves a different use case:

  • google_compute_subnetwork_iam_policy: Authoritative. Sets the IAM policy for the subnetwork and replaces any existing policy already attached.
  • google_compute_subnetwork_iam_binding: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the subnetwork are preserved.
  • google_compute_subnetwork_iam_member: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the subnetwork are preserved.

Note: google_compute_subnetwork_iam_policy cannot be used in conjunction with google_compute_subnetwork_iam_binding and google_compute_subnetwork_iam_member or they will fight over what your policy should be.

Note: google_compute_subnetwork_iam_binding resources can be used in conjunction with google_compute_subnetwork_iam_member resources only if they do not grant privilege to the same role.

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • policy_data (pulumi.Input[str]) – The policy data generated by a google_iam_policy data source.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
  • region (pulumi.Input[str]) – The region of the subnetwork. If unspecified, this defaults to the region configured in the provider.
  • subnetwork (pulumi.Input[str]) – The name of the subnetwork.
etag = None

(Computed) The etag of the subnetwork’s IAM policy.

policy_data = None

The policy data generated by a google_iam_policy data source.

project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

region = None

The region of the subnetwork. If unspecified, this defaults to the region configured in the provider.

subnetwork = None

The name of the subnetwork.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.TargetHttpProxy(resource_name, opts=None, description=None, name=None, project=None, url_map=None, __name__=None, __opts__=None)

Represents a TargetHttpProxy resource, which is used by one or more global forwarding rule to route incoming HTTP requests to a URL map.

To get more information about TargetHttpProxy, see:

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

The URI of the created resource.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.TargetHttpsProxy(resource_name, opts=None, description=None, name=None, project=None, quic_override=None, ssl_certificates=None, ssl_policy=None, url_map=None, __name__=None, __opts__=None)

Represents a TargetHttpsProxy resource, which is used by one or more global forwarding rule to route incoming HTTPS requests to a URL map.

To get more information about TargetHttpsProxy, see:

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

The URI of the created resource.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.TargetPool(resource_name, opts=None, backup_pool=None, description=None, failover_ratio=None, health_checks=None, instances=None, name=None, project=None, region=None, session_affinity=None, __name__=None, __opts__=None)

Manages a Target Pool within GCE. This is a collection of instances used as target of a network load balancer (Forwarding Rule). For more information see the official documentation and API.

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • backup_pool (pulumi.Input[str]) – URL to the backup target pool. Must also set failover_ratio.
  • description (pulumi.Input[str]) – Textual description field.
  • failover_ratio (pulumi.Input[float]) – Ratio (0 to 1) of failed nodes before using the backup pool (which must also be set).
  • health_checks (pulumi.Input[str]) – List of zero or one health check name or self_link. Only legacy google_compute_http_health_check is supported.
  • instances (pulumi.Input[list]) – List of instances in the pool. They can be given as URLs, or in the form of “zone/name”. Note that the instances need not exist at the time of target pool creation, so there is no need to use the Terraform interpolators to create a dependency on the instances from the target pool.
  • name (pulumi.Input[str]) – A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
  • region (pulumi.Input[str]) – Where the target pool resides. Defaults to project region.
  • session_affinity (pulumi.Input[str]) – How to distribute load. Options are “NONE” (no affinity). “CLIENT_IP” (hash of the source/dest addresses / ports), and “CLIENT_IP_PROTO” also includes the protocol (default “NONE”).
backup_pool = None

URL to the backup target pool. Must also set failover_ratio.

description = None

Textual description field.

failover_ratio = None

Ratio (0 to 1) of failed nodes before using the backup pool (which must also be set).

health_checks = None

List of zero or one health check name or self_link. Only legacy google_compute_http_health_check is supported.

instances = None

List of instances in the pool. They can be given as URLs, or in the form of “zone/name”. Note that the instances need not exist at the time of target pool creation, so there is no need to use the Terraform interpolators to create a dependency on the instances from the target pool.

name = None

A unique name for the resource, required by GCE. Changing this forces a new resource to be created.

project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

region = None

Where the target pool resides. Defaults to project region.

The URI of the created resource.

session_affinity = None

How to distribute load. Options are “NONE” (no affinity). “CLIENT_IP” (hash of the source/dest addresses / ports), and “CLIENT_IP_PROTO” also includes the protocol (default “NONE”).

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.TargetSSLProxy(resource_name, opts=None, backend_service=None, description=None, name=None, project=None, proxy_header=None, ssl_certificates=None, ssl_policy=None, __name__=None, __opts__=None)

Represents a TargetSslProxy resource, which is used by one or more global forwarding rule to route incoming SSL requests to a backend service.

To get more information about TargetSslProxy, see:

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

The URI of the created resource.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.TargetTCPProxy(resource_name, opts=None, backend_service=None, description=None, name=None, project=None, proxy_header=None, __name__=None, __opts__=None)

Represents a TargetTcpProxy resource, which is used by one or more global forwarding rule to route incoming TCP requests to a Backend service.

To get more information about TargetTcpProxy, see:

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

The URI of the created resource.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.URLMap(resource_name, opts=None, default_service=None, description=None, host_rules=None, name=None, path_matchers=None, project=None, tests=None, __name__=None, __opts__=None)

UrlMaps are used to route requests to a backend service based on rules that you define for the host and path of an incoming URL.

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

The URI of the created resource.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.VPNGateway(resource_name, opts=None, description=None, name=None, network=None, project=None, region=None, __name__=None, __opts__=None)

Represents a VPN gateway running in GCP. This virtual device is managed by Google, but used only by you.

To get more information about VpnGateway, see:

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

The URI of the created resource.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_gcp.compute.VPNTunnel(resource_name, opts=None, description=None, ike_version=None, labels=None, local_traffic_selectors=None, name=None, peer_ip=None, project=None, region=None, remote_traffic_selectors=None, router=None, shared_secret=None, target_vpn_gateway=None, __name__=None, __opts__=None)

VPN tunnel resource.

To get more information about VpnTunnel, see:

Warning: All arguments including the shared secret will be stored in the raw state as plain-text. Read more about sensitive data in state.
Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

The URI of the created resource.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
pulumi_gcp.compute.get_address(name=None, project=None, region=None, opts=None)

Get the IP address from a static address. For more information see the official API documentation.

pulumi_gcp.compute.get_backend_service(name=None, project=None, opts=None)

Provide acces to a Backend Service’s attribute. For more information see the official documentation and the API.

pulumi_gcp.compute.get_default_service_account(project=None, opts=None)

Use this data source to retrieve default service account for this project

pulumi_gcp.compute.get_forwarding_rule(name=None, project=None, region=None, opts=None)

Get a forwarding rule within GCE from its name.

pulumi_gcp.compute.get_global_address(name=None, project=None, opts=None)

Get the IP address from a static address reserved for a Global Forwarding Rule which are only used for HTTP load balancing. For more information see the official API documentation.

pulumi_gcp.compute.get_image(family=None, name=None, project=None, opts=None)

Get information about a Google Compute Image. Check that your service account has the compute.imageUser role if you want to share custom images from another project. If you want to use [public images][pubimg], do not forget to specify the dedicated project. For more information see the official documentation and its API.

pulumi_gcp.compute.get_instance(name=None, project=None, self_link=None, zone=None, opts=None)

Get information about a VM instance resource within GCE. For more information see the official documentation and API.

pulumi_gcp.compute.get_instance_group(name=None, project=None, self_link=None, zone=None, opts=None)

Get a Compute Instance Group within GCE. For more information, see the official documentation and API

pulumi_gcp.compute.get_lbip_ranges(opts=None)

Use this data source to access IP ranges in your firewall rules.

https://cloud.google.com/compute/docs/load-balancing/health-checks#health_check_source_ips_and_firewall_rules

pulumi_gcp.compute.get_netblock_ip_ranges(opts=None)

Use this data source to get the IP ranges from the sender policy framework (SPF) record of _cloud-netblocks.googleusercontent

https://cloud.google.com/compute/docs/faq#where_can_i_find_product_name_short_ip_ranges

pulumi_gcp.compute.get_network(name=None, project=None, opts=None)

Get a network within GCE from its name.

pulumi_gcp.compute.get_region_instance_group(name=None, project=None, region=None, self_link=None, opts=None)

Get a Compute Region Instance Group within GCE. For more information, see the official documentation and API.

The most common use of this datasource will be to fetch information about the instances inside regional managed instance groups, for instance:

pulumi_gcp.compute.get_regions(project=None, status=None, opts=None)

Provides access to available Google Compute regions for a given project. See more about regions and regions in the upstream docs.

pulumi_gcp.compute.get_ssl_policy(name=None, project=None, opts=None)
Gets an SSL Policy within GCE from its name, for use with Target HTTPS and Target SSL Proxies.
For more information see the official documentation.
pulumi_gcp.compute.get_subnetwork(name=None, project=None, region=None, self_link=None, opts=None)

Get a subnetwork within GCE from its name and region.

pulumi_gcp.compute.get_vpn_gateway(name=None, project=None, region=None, opts=None)

Get a VPN gateway within GCE from its name.

pulumi_gcp.compute.get_zones(project=None, region=None, status=None, opts=None)

Provides access to available Google Compute zones in a region for a given project. See more about regions and zones in the upstream docs.