compute

package
v1.7.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 2, 2019 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Address

type Address struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_address.html.markdown.

func GetAddress

func GetAddress(ctx *pulumi.Context,
	name string, id pulumi.ID, state *AddressState, opts ...pulumi.ResourceOpt) (*Address, error)

GetAddress gets an existing Address resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewAddress

func NewAddress(ctx *pulumi.Context,
	name string, args *AddressArgs, opts ...pulumi.ResourceOpt) (*Address, error)

NewAddress registers a new resource with the given unique name, arguments, and options.

func (*Address) Address

func (r *Address) Address() pulumi.StringOutput

The IP of the created resource.

func (*Address) AddressType

func (r *Address) AddressType() pulumi.StringOutput

The type of address to reserve, either INTERNAL or EXTERNAL. If unspecified, defaults to EXTERNAL.

func (*Address) CreationTimestamp added in v0.15.0

func (r *Address) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*Address) Description added in v0.15.0

func (r *Address) Description() pulumi.StringOutput

An optional description of this resource.

func (*Address) ID

func (r *Address) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*Address) LabelFingerprint added in v0.16.0

func (r *Address) LabelFingerprint() pulumi.StringOutput

The fingerprint used for optimistic locking of this resource. Used internally during updates.

func (*Address) Labels added in v0.16.0

func (r *Address) Labels() pulumi.MapOutput

Labels to apply to this address. A list of key->value pairs.

func (*Address) Name

func (r *Address) Name() pulumi.StringOutput

Name of the resource. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*Address) NetworkTier added in v0.15.0

func (r *Address) NetworkTier() pulumi.StringOutput

The networking tier used for configuring this address. This field can take the following values: PREMIUM or STANDARD. If this field is not specified, it is assumed to be PREMIUM.

func (*Address) Project

func (r *Address) Project() pulumi.StringOutput

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

func (*Address) Purpose added in v1.2.0

func (r *Address) Purpose() pulumi.StringOutput

The purpose of this resource, which can be one of the following values: - GCE_ENDPOINT for addresses that are used by VM instances, alias IP ranges, internal load balancers, and similar resources. This should only be set when using an Internal address.

func (*Address) Region

func (r *Address) Region() pulumi.StringOutput

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

func (r *Address) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*Address) Subnetwork

func (r *Address) Subnetwork() pulumi.StringOutput

The URL of the subnetwork in which to reserve the address. If an IP address is specified, it must be within the subnetwork's IP range. This field can only be used with INTERNAL type with GCE_ENDPOINT/DNS_RESOLVER purposes.

func (*Address) URN

func (r *Address) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*Address) Users added in v0.15.0

func (r *Address) Users() pulumi.ArrayOutput

The URLs of the resources that are using this address.

type AddressArgs

type AddressArgs struct {
	// The IP of the created resource.
	Address interface{}
	// The type of address to reserve, either INTERNAL or EXTERNAL. If unspecified, defaults to EXTERNAL.
	AddressType interface{}
	// An optional description of this resource.
	Description interface{}
	// Labels to apply to this address. A list of key->value pairs.
	Labels interface{}
	// Name of the resource. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be
	// 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must
	// be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last
	// character, which cannot be a dash.
	Name interface{}
	// The networking tier used for configuring this address. This field can take the following values: PREMIUM or STANDARD.
	// If this field is not specified, it is assumed to be PREMIUM.
	NetworkTier interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The purpose of this resource, which can be one of the following values: - GCE_ENDPOINT for addresses that are used by
	// VM instances, alias IP ranges, internal load balancers, and similar resources. This should only be set when using an
	// Internal address.
	Purpose interface{}
	// The Region in which the created address should reside. If it is not provided, the provider region is used.
	Region interface{}
	// The URL of the subnetwork in which to reserve the address. If an IP address is specified, it must be within the
	// subnetwork's IP range. This field can only be used with INTERNAL type with GCE_ENDPOINT/DNS_RESOLVER purposes.
	Subnetwork interface{}
}

The set of arguments for constructing a Address resource.

type AddressState

type AddressState struct {
	// The IP of the created resource.
	Address interface{}
	// The type of address to reserve, either INTERNAL or EXTERNAL. If unspecified, defaults to EXTERNAL.
	AddressType interface{}
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// An optional description of this resource.
	Description interface{}
	// The fingerprint used for optimistic locking of this resource. Used internally during updates.
	LabelFingerprint interface{}
	// Labels to apply to this address. A list of key->value pairs.
	Labels interface{}
	// Name of the resource. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be
	// 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must
	// be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last
	// character, which cannot be a dash.
	Name interface{}
	// The networking tier used for configuring this address. This field can take the following values: PREMIUM or STANDARD.
	// If this field is not specified, it is assumed to be PREMIUM.
	NetworkTier interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The purpose of this resource, which can be one of the following values: - GCE_ENDPOINT for addresses that are used by
	// VM instances, alias IP ranges, internal load balancers, and similar resources. This should only be set when using an
	// Internal address.
	Purpose interface{}
	// The Region in which the created address should reside. If it is not provided, the provider region is used.
	Region interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// The URL of the subnetwork in which to reserve the address. If an IP address is specified, it must be within the
	// subnetwork's IP range. This field can only be used with INTERNAL type with GCE_ENDPOINT/DNS_RESOLVER purposes.
	Subnetwork interface{}
	// The URLs of the resources that are using this address.
	Users interface{}
}

Input properties used for looking up and filtering Address resources.

type AttachedDisk added in v0.16.0

type AttachedDisk struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_attached_disk.html.markdown.

func GetAttachedDisk added in v0.16.0

func GetAttachedDisk(ctx *pulumi.Context,
	name string, id pulumi.ID, state *AttachedDiskState, opts ...pulumi.ResourceOpt) (*AttachedDisk, error)

GetAttachedDisk gets an existing AttachedDisk resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewAttachedDisk added in v0.16.0

func NewAttachedDisk(ctx *pulumi.Context,
	name string, args *AttachedDiskArgs, opts ...pulumi.ResourceOpt) (*AttachedDisk, error)

NewAttachedDisk registers a new resource with the given unique name, arguments, and options.

func (*AttachedDisk) DeviceName added in v0.16.0

func (r *AttachedDisk) DeviceName() pulumi.StringOutput

func (*AttachedDisk) Disk added in v0.16.0

func (r *AttachedDisk) Disk() pulumi.StringOutput

func (*AttachedDisk) ID added in v0.16.0

func (r *AttachedDisk) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*AttachedDisk) Instance added in v0.16.0

func (r *AttachedDisk) Instance() pulumi.StringOutput

func (*AttachedDisk) Mode added in v0.16.0

func (r *AttachedDisk) Mode() pulumi.StringOutput

func (*AttachedDisk) Project added in v0.16.0

func (r *AttachedDisk) Project() pulumi.StringOutput

func (*AttachedDisk) URN added in v0.16.0

func (r *AttachedDisk) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*AttachedDisk) Zone added in v0.16.0

func (r *AttachedDisk) Zone() pulumi.StringOutput

type AttachedDiskArgs added in v0.16.0

type AttachedDiskArgs struct {
	DeviceName interface{}
	Disk       interface{}
	Instance   interface{}
	Mode       interface{}
	Project    interface{}
	Zone       interface{}
}

The set of arguments for constructing a AttachedDisk resource.

type AttachedDiskState added in v0.16.0

type AttachedDiskState struct {
	DeviceName interface{}
	Disk       interface{}
	Instance   interface{}
	Mode       interface{}
	Project    interface{}
	Zone       interface{}
}

Input properties used for looking up and filtering AttachedDisk resources.

type Autoscalar

type Autoscalar struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_autoscaler.html.markdown.

func GetAutoscalar

func GetAutoscalar(ctx *pulumi.Context,
	name string, id pulumi.ID, state *AutoscalarState, opts ...pulumi.ResourceOpt) (*Autoscalar, error)

GetAutoscalar gets an existing Autoscalar resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewAutoscalar

func NewAutoscalar(ctx *pulumi.Context,
	name string, args *AutoscalarArgs, opts ...pulumi.ResourceOpt) (*Autoscalar, error)

NewAutoscalar registers a new resource with the given unique name, arguments, and options.

func (*Autoscalar) AutoscalingPolicy

func (r *Autoscalar) AutoscalingPolicy() pulumi.Output

The configuration parameters for the autoscaling algorithm. You can define one or more of the policies for an autoscaler: cpuUtilization, customMetricUtilizations, and loadBalancingUtilization. If none of these are specified, the default will be to autoscale based on cpuUtilization to 0.6 or 60%!.(MISSING)

func (*Autoscalar) CreationTimestamp added in v0.15.0

func (r *Autoscalar) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*Autoscalar) Description

func (r *Autoscalar) Description() pulumi.StringOutput

An optional description of this resource.

func (*Autoscalar) ID

func (r *Autoscalar) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*Autoscalar) Name

func (r *Autoscalar) Name() pulumi.StringOutput

Name of the resource. The name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*Autoscalar) Project

func (r *Autoscalar) Project() pulumi.StringOutput
func (r *Autoscalar) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*Autoscalar) Target

func (r *Autoscalar) Target() pulumi.StringOutput

URL of the managed instance group that this autoscaler will scale.

func (*Autoscalar) URN

func (r *Autoscalar) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*Autoscalar) Zone

func (r *Autoscalar) Zone() pulumi.StringOutput

URL of the zone where the instance group resides.

type AutoscalarArgs

type AutoscalarArgs struct {
	// The configuration parameters for the autoscaling algorithm. You can define one or more of the policies for an
	// autoscaler: cpuUtilization, customMetricUtilizations, and loadBalancingUtilization. If none of these are specified, the
	// default will be to autoscale based on cpuUtilization to 0.6 or 60%!.(MISSING)
	AutoscalingPolicy interface{}
	// An optional description of this resource.
	Description interface{}
	// Name of the resource. The name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name    interface{}
	Project interface{}
	// URL of the managed instance group that this autoscaler will scale.
	Target interface{}
	// URL of the zone where the instance group resides.
	Zone interface{}
}

The set of arguments for constructing a Autoscalar resource.

type AutoscalarState

type AutoscalarState struct {
	// The configuration parameters for the autoscaling algorithm. You can define one or more of the policies for an
	// autoscaler: cpuUtilization, customMetricUtilizations, and loadBalancingUtilization. If none of these are specified, the
	// default will be to autoscale based on cpuUtilization to 0.6 or 60%!.(MISSING)
	AutoscalingPolicy interface{}
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// An optional description of this resource.
	Description interface{}
	// Name of the resource. The name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name    interface{}
	Project interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// URL of the managed instance group that this autoscaler will scale.
	Target interface{}
	// URL of the zone where the instance group resides.
	Zone interface{}
}

Input properties used for looking up and filtering Autoscalar resources.

type BackendBucket

type BackendBucket struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_backend_bucket.html.markdown.

func GetBackendBucket

func GetBackendBucket(ctx *pulumi.Context,
	name string, id pulumi.ID, state *BackendBucketState, opts ...pulumi.ResourceOpt) (*BackendBucket, error)

GetBackendBucket gets an existing BackendBucket resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBackendBucket

func NewBackendBucket(ctx *pulumi.Context,
	name string, args *BackendBucketArgs, opts ...pulumi.ResourceOpt) (*BackendBucket, error)

NewBackendBucket registers a new resource with the given unique name, arguments, and options.

func (*BackendBucket) BucketName

func (r *BackendBucket) BucketName() pulumi.StringOutput

Cloud Storage bucket name.

func (*BackendBucket) CdnPolicy added in v0.18.5

func (r *BackendBucket) CdnPolicy() pulumi.Output

Cloud CDN configuration for this Backend Bucket.

func (*BackendBucket) CreationTimestamp

func (r *BackendBucket) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*BackendBucket) Description

func (r *BackendBucket) Description() pulumi.StringOutput

An optional textual description of the resource; provided by the client when the resource is created.

func (*BackendBucket) EnableCdn

func (r *BackendBucket) EnableCdn() pulumi.BoolOutput

If true, enable Cloud CDN for this BackendBucket.

func (*BackendBucket) ID

func (r *BackendBucket) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*BackendBucket) Name

func (r *BackendBucket) Name() pulumi.StringOutput

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*BackendBucket) Project

func (r *BackendBucket) Project() pulumi.StringOutput

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

func (r *BackendBucket) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*BackendBucket) URN

func (r *BackendBucket) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type BackendBucketArgs

type BackendBucketArgs struct {
	// Cloud Storage bucket name.
	BucketName interface{}
	// Cloud CDN configuration for this Backend Bucket.
	CdnPolicy interface{}
	// An optional textual description of the resource; provided by the client when the resource is created.
	Description interface{}
	// If true, enable Cloud CDN for this BackendBucket.
	EnableCdn interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
}

The set of arguments for constructing a BackendBucket resource.

type BackendBucketSignedUrlKey added in v0.18.13

type BackendBucketSignedUrlKey struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_backend_bucket_signed_url_key.html.markdown.

func GetBackendBucketSignedUrlKey added in v0.18.13

func GetBackendBucketSignedUrlKey(ctx *pulumi.Context,
	name string, id pulumi.ID, state *BackendBucketSignedUrlKeyState, opts ...pulumi.ResourceOpt) (*BackendBucketSignedUrlKey, error)

GetBackendBucketSignedUrlKey gets an existing BackendBucketSignedUrlKey resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBackendBucketSignedUrlKey added in v0.18.13

func NewBackendBucketSignedUrlKey(ctx *pulumi.Context,
	name string, args *BackendBucketSignedUrlKeyArgs, opts ...pulumi.ResourceOpt) (*BackendBucketSignedUrlKey, error)

NewBackendBucketSignedUrlKey registers a new resource with the given unique name, arguments, and options.

func (*BackendBucketSignedUrlKey) BackendBucket added in v0.18.13

func (r *BackendBucketSignedUrlKey) BackendBucket() pulumi.StringOutput

The backend bucket this signed URL key belongs.

func (*BackendBucketSignedUrlKey) ID added in v0.18.13

ID is this resource's unique identifier assigned by its provider.

func (*BackendBucketSignedUrlKey) KeyValue added in v0.18.13

128-bit key value used for signing the URL. The key value must be a valid RFC 4648 Section 5 base64url encoded string.

func (*BackendBucketSignedUrlKey) Name added in v0.18.13

Name of the signed URL key.

func (*BackendBucketSignedUrlKey) Project added in v0.18.13

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

func (*BackendBucketSignedUrlKey) URN added in v0.18.13

URN is this resource's unique name assigned by Pulumi.

type BackendBucketSignedUrlKeyArgs added in v0.18.13

type BackendBucketSignedUrlKeyArgs struct {
	// The backend bucket this signed URL key belongs.
	BackendBucket interface{}
	// 128-bit key value used for signing the URL. The key value must be a valid RFC 4648 Section 5 base64url encoded string.
	KeyValue interface{}
	// Name of the signed URL key.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
}

The set of arguments for constructing a BackendBucketSignedUrlKey resource.

type BackendBucketSignedUrlKeyState added in v0.18.13

type BackendBucketSignedUrlKeyState struct {
	// The backend bucket this signed URL key belongs.
	BackendBucket interface{}
	// 128-bit key value used for signing the URL. The key value must be a valid RFC 4648 Section 5 base64url encoded string.
	KeyValue interface{}
	// Name of the signed URL key.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
}

Input properties used for looking up and filtering BackendBucketSignedUrlKey resources.

type BackendBucketState

type BackendBucketState struct {
	// Cloud Storage bucket name.
	BucketName interface{}
	// Cloud CDN configuration for this Backend Bucket.
	CdnPolicy interface{}
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// An optional textual description of the resource; provided by the client when the resource is created.
	Description interface{}
	// If true, enable Cloud CDN for this BackendBucket.
	EnableCdn interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The URI of the created resource.
	SelfLink interface{}
}

Input properties used for looking up and filtering BackendBucket resources.

type BackendService

type BackendService struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_backend_service.html.markdown.

func GetBackendService

func GetBackendService(ctx *pulumi.Context,
	name string, id pulumi.ID, state *BackendServiceState, opts ...pulumi.ResourceOpt) (*BackendService, error)

GetBackendService gets an existing BackendService resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBackendService

func NewBackendService(ctx *pulumi.Context,
	name string, args *BackendServiceArgs, opts ...pulumi.ResourceOpt) (*BackendService, error)

NewBackendService registers a new resource with the given unique name, arguments, and options.

func (*BackendService) AffinityCookieTtlSec added in v0.18.0

func (r *BackendService) AffinityCookieTtlSec() pulumi.IntOutput

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. When the load balancing scheme is INTERNAL, this field is not used.

func (*BackendService) Backends

func (r *BackendService) Backends() pulumi.ArrayOutput

The set of backends that serve this BackendService.

func (*BackendService) CdnPolicy

func (r *BackendService) CdnPolicy() pulumi.Output

Cloud CDN configuration for this BackendService.

func (*BackendService) CircuitBreakers added in v1.2.0

func (r *BackendService) CircuitBreakers() pulumi.Output

Settings controlling the volume of connections to a backend service. This field is applicable only when the load_balancing_scheme is set to INTERNAL_SELF_MANAGED.

func (*BackendService) ConnectionDrainingTimeoutSec

func (r *BackendService) ConnectionDrainingTimeoutSec() pulumi.IntOutput

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

func (*BackendService) ConsistentHash added in v1.2.0

func (r *BackendService) ConsistentHash() pulumi.Output

Consistent Hash-based load balancing can be used to provide soft session affinity based on HTTP headers, cookies or other properties. This load balancing policy is applicable only for HTTP connections. The affinity to a particular destination host will be lost when one or more hosts are added/removed from the destination service. This field specifies parameters that control consistent hashing. This field only applies if the load_balancing_scheme is set to INTERNAL_SELF_MANAGED. This field is only applicable when locality_lb_policy is set to MAGLEV or RING_HASH.

func (*BackendService) CreationTimestamp added in v0.18.5

func (r *BackendService) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*BackendService) CustomRequestHeaders added in v0.15.0

func (r *BackendService) CustomRequestHeaders() pulumi.ArrayOutput

Headers that the HTTP/S load balancer should add to proxied requests.

func (*BackendService) Description

func (r *BackendService) Description() pulumi.StringOutput

An optional description of this resource.

func (*BackendService) EnableCdn

func (r *BackendService) EnableCdn() pulumi.BoolOutput

If true, enable Cloud CDN for this BackendService.

func (*BackendService) Fingerprint

func (r *BackendService) Fingerprint() pulumi.StringOutput

Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking.

func (*BackendService) HealthChecks

func (r *BackendService) HealthChecks() pulumi.StringOutput

The set of URLs to the HttpHealthCheck or HttpsHealthCheck resource for health checking this BackendService. Currently at most one health check can be specified, and a health check is required. For internal load balancing, a URL to a HealthCheck resource must be specified instead.

func (*BackendService) ID

func (r *BackendService) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*BackendService) Iap

func (r *BackendService) Iap() pulumi.Output

Settings for enabling Cloud Identity Aware Proxy

func (*BackendService) LoadBalancingScheme added in v0.18.5

func (r *BackendService) LoadBalancingScheme() pulumi.StringOutput

Indicates whether the backend service will be used with internal or external load balancing. A backend service created for one type of load balancing cannot be used with the other. Must be 'EXTERNAL' or 'INTERNAL_SELF_MANAGED' for a global backend service. Defaults to 'EXTERNAL'.

func (*BackendService) LocalityLbPolicy added in v1.2.0

func (r *BackendService) LocalityLbPolicy() pulumi.StringOutput

The load balancing algorithm used within the scope of the locality. The possible values are - ROUND_ROBIN - This is a simple policy in which each healthy backend is selected in round robin order. LEAST_REQUEST - An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. RING_HASH - The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. RANDOM - The load balancer selects a random healthy host. ORIGINAL_DESTINATION - Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. MAGLEV - used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, refer to https://ai.google/research/pubs/pub44824 This field is applicable only when the load_balancing_scheme is set to INTERNAL_SELF_MANAGED.

func (*BackendService) LogConfig added in v1.2.0

func (r *BackendService) LogConfig() pulumi.Output

This field denotes the logging options for the load balancer traffic served by this backend service. If logging is enabled, logs will be exported to Stackdriver.

func (*BackendService) Name

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*BackendService) OutlierDetection added in v1.2.0

func (r *BackendService) OutlierDetection() pulumi.Output

Settings controlling eviction of unhealthy hosts from the load balancing pool. This field is applicable only when the load_balancing_scheme is set to INTERNAL_SELF_MANAGED.

func (*BackendService) PortName

func (r *BackendService) PortName() pulumi.StringOutput

Name of backend port. The same name should appear in the instance groups referenced by this service. Required when the load balancing scheme is EXTERNAL.

func (*BackendService) Project

func (r *BackendService) Project() pulumi.StringOutput

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

func (*BackendService) Protocol

func (r *BackendService) Protocol() pulumi.StringOutput

The protocol this BackendService uses to communicate with backends. Possible values are HTTP, HTTPS, HTTP2, TCP, and SSL. The default is HTTP. **NOTE**: HTTP2 is only valid for beta HTTP/2 load balancer types and may result in errors if used with the GA API.

func (*BackendService) SecurityPolicy

func (r *BackendService) SecurityPolicy() pulumi.StringOutput

The security policy associated with this backend service.

func (r *BackendService) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*BackendService) SessionAffinity

func (r *BackendService) SessionAffinity() pulumi.StringOutput

Type of session affinity to use. The default is NONE. Session affinity is not applicable if the protocol is UDP.

func (*BackendService) TimeoutSec

func (r *BackendService) TimeoutSec() pulumi.IntOutput

How many seconds to wait for the backend before considering it a failed request. Default is 30 seconds. Valid range is [1, 86400].

func (*BackendService) URN

func (r *BackendService) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type BackendServiceArgs

type BackendServiceArgs struct {
	// 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. When the
	// load balancing scheme is INTERNAL, this field is not used.
	AffinityCookieTtlSec interface{}
	// The set of backends that serve this BackendService.
	Backends interface{}
	// Cloud CDN configuration for this BackendService.
	CdnPolicy interface{}
	// Settings controlling the volume of connections to a backend service. This field is applicable only when the
	// load_balancing_scheme is set to INTERNAL_SELF_MANAGED.
	CircuitBreakers interface{}
	// Time for which instance will be drained (not accept new connections, but still work to finish started).
	ConnectionDrainingTimeoutSec interface{}
	// Consistent Hash-based load balancing can be used to provide soft session affinity based on HTTP headers, cookies or
	// other properties. This load balancing policy is applicable only for HTTP connections. The affinity to a particular
	// destination host will be lost when one or more hosts are added/removed from the destination service. This field
	// specifies parameters that control consistent hashing. This field only applies if the load_balancing_scheme is set to
	// INTERNAL_SELF_MANAGED. This field is only applicable when locality_lb_policy is set to MAGLEV or RING_HASH.
	ConsistentHash interface{}
	// Headers that the HTTP/S load balancer should add to proxied requests.
	CustomRequestHeaders interface{}
	// An optional description of this resource.
	Description interface{}
	// If true, enable Cloud CDN for this BackendService.
	EnableCdn interface{}
	// The set of URLs to the HttpHealthCheck or HttpsHealthCheck resource for health checking this BackendService. Currently
	// at most one health check can be specified, and a health check is required. For internal load balancing, a URL to a
	// HealthCheck resource must be specified instead.
	HealthChecks interface{}
	// Settings for enabling Cloud Identity Aware Proxy
	Iap interface{}
	// Indicates whether the backend service will be used with internal or external load balancing. A backend service created
	// for one type of load balancing cannot be used with the other. Must be 'EXTERNAL' or 'INTERNAL_SELF_MANAGED' for a
	// global backend service. Defaults to 'EXTERNAL'.
	LoadBalancingScheme interface{}
	// The load balancing algorithm used within the scope of the locality. The possible values are - ROUND_ROBIN - This is a
	// simple policy in which each healthy backend is selected in round robin order. LEAST_REQUEST - An O(1) algorithm which
	// selects two random healthy hosts and picks the host which has fewer active requests. RING_HASH - The ring/modulo hash
	// load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a
	// host from a set of N hosts only affects 1/N of the requests. RANDOM - The load balancer selects a random healthy host.
	// ORIGINAL_DESTINATION - Backend host is selected based on the client connection metadata, i.e., connections are opened
	// to the same address as the destination address of the incoming connection before the connection was redirected to the
	// load balancer. MAGLEV - used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring
	// hash but has faster table lookup build times and host selection times. For more information about Maglev, refer to
	// https://ai.google/research/pubs/pub44824 This field is applicable only when the load_balancing_scheme is set to
	// INTERNAL_SELF_MANAGED.
	LocalityLbPolicy interface{}
	// This field denotes the logging options for the load balancer traffic served by this backend service. If logging is
	// enabled, logs will be exported to Stackdriver.
	LogConfig interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// Settings controlling eviction of unhealthy hosts from the load balancing pool. This field is applicable only when the
	// load_balancing_scheme is set to INTERNAL_SELF_MANAGED.
	OutlierDetection interface{}
	// Name of backend port. The same name should appear in the instance groups referenced by this service. Required when the
	// load balancing scheme is EXTERNAL.
	PortName interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The protocol this BackendService uses to communicate with backends. Possible values are HTTP, HTTPS, HTTP2, TCP, and
	// SSL. The default is HTTP. **NOTE**: HTTP2 is only valid for beta HTTP/2 load balancer types and may result in errors if
	// used with the GA API.
	Protocol interface{}
	// The security policy associated with this backend service.
	SecurityPolicy interface{}
	// Type of session affinity to use. The default is NONE. Session affinity is not applicable if the protocol is UDP.
	SessionAffinity interface{}
	// How many seconds to wait for the backend before considering it a failed request. Default is 30 seconds. Valid range is
	// [1, 86400].
	TimeoutSec interface{}
}

The set of arguments for constructing a BackendService resource.

type BackendServiceSignedUrlKey added in v0.18.13

type BackendServiceSignedUrlKey struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_backend_service_signed_url_key.html.markdown.

func GetBackendServiceSignedUrlKey added in v0.18.13

func GetBackendServiceSignedUrlKey(ctx *pulumi.Context,
	name string, id pulumi.ID, state *BackendServiceSignedUrlKeyState, opts ...pulumi.ResourceOpt) (*BackendServiceSignedUrlKey, error)

GetBackendServiceSignedUrlKey gets an existing BackendServiceSignedUrlKey resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBackendServiceSignedUrlKey added in v0.18.13

func NewBackendServiceSignedUrlKey(ctx *pulumi.Context,
	name string, args *BackendServiceSignedUrlKeyArgs, opts ...pulumi.ResourceOpt) (*BackendServiceSignedUrlKey, error)

NewBackendServiceSignedUrlKey registers a new resource with the given unique name, arguments, and options.

func (*BackendServiceSignedUrlKey) BackendService added in v0.18.13

func (r *BackendServiceSignedUrlKey) BackendService() pulumi.StringOutput

The backend service this signed URL key belongs.

func (*BackendServiceSignedUrlKey) ID added in v0.18.13

ID is this resource's unique identifier assigned by its provider.

func (*BackendServiceSignedUrlKey) KeyValue added in v0.18.13

128-bit key value used for signing the URL. The key value must be a valid RFC 4648 Section 5 base64url encoded string.

func (*BackendServiceSignedUrlKey) Name added in v0.18.13

Name of the signed URL key.

func (*BackendServiceSignedUrlKey) Project added in v0.18.13

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

func (*BackendServiceSignedUrlKey) URN added in v0.18.13

URN is this resource's unique name assigned by Pulumi.

type BackendServiceSignedUrlKeyArgs added in v0.18.13

type BackendServiceSignedUrlKeyArgs struct {
	// The backend service this signed URL key belongs.
	BackendService interface{}
	// 128-bit key value used for signing the URL. The key value must be a valid RFC 4648 Section 5 base64url encoded string.
	KeyValue interface{}
	// Name of the signed URL key.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
}

The set of arguments for constructing a BackendServiceSignedUrlKey resource.

type BackendServiceSignedUrlKeyState added in v0.18.13

type BackendServiceSignedUrlKeyState struct {
	// The backend service this signed URL key belongs.
	BackendService interface{}
	// 128-bit key value used for signing the URL. The key value must be a valid RFC 4648 Section 5 base64url encoded string.
	KeyValue interface{}
	// Name of the signed URL key.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
}

Input properties used for looking up and filtering BackendServiceSignedUrlKey resources.

type BackendServiceState

type BackendServiceState struct {
	// 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. When the
	// load balancing scheme is INTERNAL, this field is not used.
	AffinityCookieTtlSec interface{}
	// The set of backends that serve this BackendService.
	Backends interface{}
	// Cloud CDN configuration for this BackendService.
	CdnPolicy interface{}
	// Settings controlling the volume of connections to a backend service. This field is applicable only when the
	// load_balancing_scheme is set to INTERNAL_SELF_MANAGED.
	CircuitBreakers interface{}
	// Time for which instance will be drained (not accept new connections, but still work to finish started).
	ConnectionDrainingTimeoutSec interface{}
	// Consistent Hash-based load balancing can be used to provide soft session affinity based on HTTP headers, cookies or
	// other properties. This load balancing policy is applicable only for HTTP connections. The affinity to a particular
	// destination host will be lost when one or more hosts are added/removed from the destination service. This field
	// specifies parameters that control consistent hashing. This field only applies if the load_balancing_scheme is set to
	// INTERNAL_SELF_MANAGED. This field is only applicable when locality_lb_policy is set to MAGLEV or RING_HASH.
	ConsistentHash interface{}
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// Headers that the HTTP/S load balancer should add to proxied requests.
	CustomRequestHeaders interface{}
	// An optional description of this resource.
	Description interface{}
	// If true, enable Cloud CDN for this BackendService.
	EnableCdn interface{}
	// Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking.
	Fingerprint interface{}
	// The set of URLs to the HttpHealthCheck or HttpsHealthCheck resource for health checking this BackendService. Currently
	// at most one health check can be specified, and a health check is required. For internal load balancing, a URL to a
	// HealthCheck resource must be specified instead.
	HealthChecks interface{}
	// Settings for enabling Cloud Identity Aware Proxy
	Iap interface{}
	// Indicates whether the backend service will be used with internal or external load balancing. A backend service created
	// for one type of load balancing cannot be used with the other. Must be 'EXTERNAL' or 'INTERNAL_SELF_MANAGED' for a
	// global backend service. Defaults to 'EXTERNAL'.
	LoadBalancingScheme interface{}
	// The load balancing algorithm used within the scope of the locality. The possible values are - ROUND_ROBIN - This is a
	// simple policy in which each healthy backend is selected in round robin order. LEAST_REQUEST - An O(1) algorithm which
	// selects two random healthy hosts and picks the host which has fewer active requests. RING_HASH - The ring/modulo hash
	// load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a
	// host from a set of N hosts only affects 1/N of the requests. RANDOM - The load balancer selects a random healthy host.
	// ORIGINAL_DESTINATION - Backend host is selected based on the client connection metadata, i.e., connections are opened
	// to the same address as the destination address of the incoming connection before the connection was redirected to the
	// load balancer. MAGLEV - used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring
	// hash but has faster table lookup build times and host selection times. For more information about Maglev, refer to
	// https://ai.google/research/pubs/pub44824 This field is applicable only when the load_balancing_scheme is set to
	// INTERNAL_SELF_MANAGED.
	LocalityLbPolicy interface{}
	// This field denotes the logging options for the load balancer traffic served by this backend service. If logging is
	// enabled, logs will be exported to Stackdriver.
	LogConfig interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// Settings controlling eviction of unhealthy hosts from the load balancing pool. This field is applicable only when the
	// load_balancing_scheme is set to INTERNAL_SELF_MANAGED.
	OutlierDetection interface{}
	// Name of backend port. The same name should appear in the instance groups referenced by this service. Required when the
	// load balancing scheme is EXTERNAL.
	PortName interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The protocol this BackendService uses to communicate with backends. Possible values are HTTP, HTTPS, HTTP2, TCP, and
	// SSL. The default is HTTP. **NOTE**: HTTP2 is only valid for beta HTTP/2 load balancer types and may result in errors if
	// used with the GA API.
	Protocol interface{}
	// The security policy associated with this backend service.
	SecurityPolicy interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// Type of session affinity to use. The default is NONE. Session affinity is not applicable if the protocol is UDP.
	SessionAffinity interface{}
	// How many seconds to wait for the backend before considering it a failed request. Default is 30 seconds. Valid range is
	// [1, 86400].
	TimeoutSec interface{}
}

Input properties used for looking up and filtering BackendService resources.

type Disk

type Disk struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_disk.html.markdown.

func GetDisk

func GetDisk(ctx *pulumi.Context,
	name string, id pulumi.ID, state *DiskState, opts ...pulumi.ResourceOpt) (*Disk, error)

GetDisk gets an existing Disk resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDisk

func NewDisk(ctx *pulumi.Context,
	name string, args *DiskArgs, opts ...pulumi.ResourceOpt) (*Disk, error)

NewDisk registers a new resource with the given unique name, arguments, and options.

func (*Disk) CreationTimestamp added in v0.15.0

func (r *Disk) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*Disk) Description added in v0.15.0

func (r *Disk) Description() pulumi.StringOutput

An optional description of this resource. Provide this property when you create the resource.

func (*Disk) DiskEncryptionKey added in v0.15.0

func (r *Disk) DiskEncryptionKey() pulumi.Output

Encrypts the disk using a customer-supplied encryption key. After you encrypt a disk with a customer-supplied key, you must provide the same key if you use the disk later (e.g. to create a disk snapshot or an image, or to attach the disk to a virtual machine). Customer-supplied encryption keys do not protect access to metadata of the disk. If you do not provide an encryption key when creating the disk, then the disk will be encrypted using an automatically generated key and you do not need to provide a key to use the disk later.

func (*Disk) ID

func (r *Disk) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*Disk) Image

func (r *Disk) Image() pulumi.StringOutput

The image from which to initialize this disk. This can be one of: the image's 'self_link', 'projects/{project}/global/images/{image}', 'projects/{project}/global/images/family/{family}', 'global/images/{image}', 'global/images/family/{family}', 'family/{family}', '{project}/{family}', '{project}/{image}', '{family}', or '{image}'. If referred by family, the images names must include the family name. If they don't, use the [google_compute_image data source](/docs/providers/google/d/datasource_compute_image.html). For instance, the image 'centos-6-v20180104' includes its family name 'centos-6'. These images can be referred by family name here.

func (*Disk) LabelFingerprint

func (r *Disk) LabelFingerprint() pulumi.StringOutput

The fingerprint used for optimistic locking of this resource. Used internally during updates.

func (*Disk) Labels

func (r *Disk) Labels() pulumi.MapOutput

Labels to apply to this disk. A list of key->value pairs.

func (*Disk) LastAttachTimestamp added in v0.15.0

func (r *Disk) LastAttachTimestamp() pulumi.StringOutput

Last attach timestamp in RFC3339 text format.

func (*Disk) LastDetachTimestamp added in v0.15.0

func (r *Disk) LastDetachTimestamp() pulumi.StringOutput

Last detach timestamp in RFC3339 text format.

func (*Disk) Name

func (r *Disk) Name() pulumi.StringOutput

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*Disk) PhysicalBlockSizeBytes added in v0.18.1

func (r *Disk) PhysicalBlockSizeBytes() pulumi.IntOutput

Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. Currently supported sizes are 4096 and 16384, other sizes may be added in the future. If an unsupported value is requested, the error message will list the supported values for the caller's project.

func (*Disk) Project

func (r *Disk) Project() pulumi.StringOutput

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

func (*Disk) ResourcePolicies added in v0.18.15

func (r *Disk) ResourcePolicies() pulumi.ArrayOutput

Resource policies applied to this disk for automatic snapshot creations.

func (r *Disk) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*Disk) Size

func (r *Disk) Size() pulumi.IntOutput

Size of the persistent disk, specified in GB. You can specify this field when creating a persistent disk using the 'image' or 'snapshot' parameter, or specify it alone to create an empty persistent disk. If you specify this field along with 'image' or 'snapshot', the value must not be less than the size of the image or the size of the snapshot.

func (*Disk) Snapshot

func (r *Disk) Snapshot() pulumi.StringOutput

The source snapshot used to create this disk. You can provide this as a partial or full URL to the resource. If the snapshot is in another project than this disk, you must supply a full URL. For example, the following are valid values: * 'https://www.googleapis.com/compute/v1/projects/project/global/snapshots/snapshot' * 'projects/project/global/snapshots/snapshot' * 'global/snapshots/snapshot' * 'snapshot'

func (*Disk) SourceImageEncryptionKey added in v0.15.0

func (r *Disk) SourceImageEncryptionKey() pulumi.Output

The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key.

func (*Disk) SourceImageId added in v0.15.0

func (r *Disk) SourceImageId() pulumi.StringOutput

The ID value of the image used to create this disk. This value identifies the exact image that was used to create this persistent disk. For example, if you created the persistent disk from an image that was later deleted and recreated under the same name, the source image ID would identify the exact version of the image that was used.

func (*Disk) SourceSnapshotEncryptionKey added in v0.15.0

func (r *Disk) SourceSnapshotEncryptionKey() pulumi.Output

The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key.

func (*Disk) SourceSnapshotId added in v0.15.0

func (r *Disk) SourceSnapshotId() pulumi.StringOutput

The unique ID of the snapshot used to create this disk. This value identifies the exact snapshot that was used to create this persistent disk. For example, if you created the persistent disk from a snapshot that was later deleted and recreated under the same name, the source snapshot ID would identify the exact version of the snapshot that was used.

func (*Disk) Type

func (r *Disk) Type() pulumi.StringOutput

URL of the disk type resource describing which disk type to use to create the disk. Provide this when creating the disk.

func (*Disk) URN

func (r *Disk) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*Disk) Users

func (r *Disk) Users() pulumi.ArrayOutput

Links to the users of the disk (attached instances) in form: project/zones/zone/instances/instance

func (*Disk) Zone

func (r *Disk) Zone() pulumi.StringOutput

A reference to the zone where the disk resides.

type DiskArgs

type DiskArgs struct {
	// An optional description of this resource. Provide this property when you create the resource.
	Description interface{}
	// Encrypts the disk using a customer-supplied encryption key. After you encrypt a disk with a customer-supplied key, you
	// must provide the same key if you use the disk later (e.g. to create a disk snapshot or an image, or to attach the disk
	// to a virtual machine). Customer-supplied encryption keys do not protect access to metadata of the disk. If you do not
	// provide an encryption key when creating the disk, then the disk will be encrypted using an automatically generated key
	// and you do not need to provide a key to use the disk later.
	DiskEncryptionKey interface{}
	// The image from which to initialize this disk. This can be one of: the image's 'self_link',
	// 'projects/{project}/global/images/{image}', 'projects/{project}/global/images/family/{family}',
	// 'global/images/{image}', 'global/images/family/{family}', 'family/{family}', '{project}/{family}', '{project}/{image}',
	// '{family}', or '{image}'. If referred by family, the images names must include the family name. If they don't, use the
	// [google_compute_image data source](/docs/providers/google/d/datasource_compute_image.html). For instance, the image
	// 'centos-6-v20180104' includes its family name 'centos-6'. These images can be referred by family name here.
	Image interface{}
	// Labels to apply to this disk. A list of key->value pairs.
	Labels interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. Currently
	// supported sizes are 4096 and 16384, other sizes may be added in the future. If an unsupported value is requested, the
	// error message will list the supported values for the caller's project.
	PhysicalBlockSizeBytes interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// Resource policies applied to this disk for automatic snapshot creations.
	ResourcePolicies interface{}
	// Size of the persistent disk, specified in GB. You can specify this field when creating a persistent disk using the
	// 'image' or 'snapshot' parameter, or specify it alone to create an empty persistent disk. If you specify this field
	// along with 'image' or 'snapshot', the value must not be less than the size of the image or the size of the snapshot.
	Size interface{}
	// The source snapshot used to create this disk. You can provide this as a partial or full URL to the resource. If the
	// snapshot is in another project than this disk, you must supply a full URL. For example, the following are valid values:
	// * 'https://www.googleapis.com/compute/v1/projects/project/global/snapshots/snapshot' *
	// 'projects/project/global/snapshots/snapshot' * 'global/snapshots/snapshot' * 'snapshot'
	Snapshot interface{}
	// The customer-supplied encryption key of the source image. Required if the source image is protected by a
	// customer-supplied encryption key.
	SourceImageEncryptionKey interface{}
	// The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a
	// customer-supplied encryption key.
	SourceSnapshotEncryptionKey interface{}
	// URL of the disk type resource describing which disk type to use to create the disk. Provide this when creating the
	// disk.
	Type interface{}
	// A reference to the zone where the disk resides.
	Zone interface{}
}

The set of arguments for constructing a Disk resource.

type DiskResourcePolicyAttachment added in v1.2.0

type DiskResourcePolicyAttachment struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_disk_resource_policy_attachment.html.markdown.

func GetDiskResourcePolicyAttachment added in v1.2.0

func GetDiskResourcePolicyAttachment(ctx *pulumi.Context,
	name string, id pulumi.ID, state *DiskResourcePolicyAttachmentState, opts ...pulumi.ResourceOpt) (*DiskResourcePolicyAttachment, error)

GetDiskResourcePolicyAttachment gets an existing DiskResourcePolicyAttachment resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDiskResourcePolicyAttachment added in v1.2.0

func NewDiskResourcePolicyAttachment(ctx *pulumi.Context,
	name string, args *DiskResourcePolicyAttachmentArgs, opts ...pulumi.ResourceOpt) (*DiskResourcePolicyAttachment, error)

NewDiskResourcePolicyAttachment registers a new resource with the given unique name, arguments, and options.

func (*DiskResourcePolicyAttachment) Disk added in v1.2.0

The name of the disk in which the resource policies are attached to.

func (*DiskResourcePolicyAttachment) ID added in v1.2.0

ID is this resource's unique identifier assigned by its provider.

func (*DiskResourcePolicyAttachment) Name added in v1.2.0

The resource policy to be attached to the disk for scheduling snapshot creation. Do not specify the self link.

func (*DiskResourcePolicyAttachment) Project added in v1.2.0

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

func (*DiskResourcePolicyAttachment) URN added in v1.2.0

URN is this resource's unique name assigned by Pulumi.

func (*DiskResourcePolicyAttachment) Zone added in v1.2.0

A reference to the zone where the disk resides.

type DiskResourcePolicyAttachmentArgs added in v1.2.0

type DiskResourcePolicyAttachmentArgs struct {
	// The name of the disk in which the resource policies are attached to.
	Disk interface{}
	// The resource policy to be attached to the disk for scheduling snapshot creation. Do not specify the self link.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// A reference to the zone where the disk resides.
	Zone interface{}
}

The set of arguments for constructing a DiskResourcePolicyAttachment resource.

type DiskResourcePolicyAttachmentState added in v1.2.0

type DiskResourcePolicyAttachmentState struct {
	// The name of the disk in which the resource policies are attached to.
	Disk interface{}
	// The resource policy to be attached to the disk for scheduling snapshot creation. Do not specify the self link.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// A reference to the zone where the disk resides.
	Zone interface{}
}

Input properties used for looking up and filtering DiskResourcePolicyAttachment resources.

type DiskState

type DiskState struct {
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// An optional description of this resource. Provide this property when you create the resource.
	Description interface{}
	// Encrypts the disk using a customer-supplied encryption key. After you encrypt a disk with a customer-supplied key, you
	// must provide the same key if you use the disk later (e.g. to create a disk snapshot or an image, or to attach the disk
	// to a virtual machine). Customer-supplied encryption keys do not protect access to metadata of the disk. If you do not
	// provide an encryption key when creating the disk, then the disk will be encrypted using an automatically generated key
	// and you do not need to provide a key to use the disk later.
	DiskEncryptionKey interface{}
	// The image from which to initialize this disk. This can be one of: the image's 'self_link',
	// 'projects/{project}/global/images/{image}', 'projects/{project}/global/images/family/{family}',
	// 'global/images/{image}', 'global/images/family/{family}', 'family/{family}', '{project}/{family}', '{project}/{image}',
	// '{family}', or '{image}'. If referred by family, the images names must include the family name. If they don't, use the
	// [google_compute_image data source](/docs/providers/google/d/datasource_compute_image.html). For instance, the image
	// 'centos-6-v20180104' includes its family name 'centos-6'. These images can be referred by family name here.
	Image interface{}
	// The fingerprint used for optimistic locking of this resource. Used internally during updates.
	LabelFingerprint interface{}
	// Labels to apply to this disk. A list of key->value pairs.
	Labels interface{}
	// Last attach timestamp in RFC3339 text format.
	LastAttachTimestamp interface{}
	// Last detach timestamp in RFC3339 text format.
	LastDetachTimestamp interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. Currently
	// supported sizes are 4096 and 16384, other sizes may be added in the future. If an unsupported value is requested, the
	// error message will list the supported values for the caller's project.
	PhysicalBlockSizeBytes interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// Resource policies applied to this disk for automatic snapshot creations.
	ResourcePolicies interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// Size of the persistent disk, specified in GB. You can specify this field when creating a persistent disk using the
	// 'image' or 'snapshot' parameter, or specify it alone to create an empty persistent disk. If you specify this field
	// along with 'image' or 'snapshot', the value must not be less than the size of the image or the size of the snapshot.
	Size interface{}
	// The source snapshot used to create this disk. You can provide this as a partial or full URL to the resource. If the
	// snapshot is in another project than this disk, you must supply a full URL. For example, the following are valid values:
	// * 'https://www.googleapis.com/compute/v1/projects/project/global/snapshots/snapshot' *
	// 'projects/project/global/snapshots/snapshot' * 'global/snapshots/snapshot' * 'snapshot'
	Snapshot interface{}
	// The customer-supplied encryption key of the source image. Required if the source image is protected by a
	// customer-supplied encryption key.
	SourceImageEncryptionKey interface{}
	// The ID value of the image used to create this disk. This value identifies the exact image that was used to create this
	// persistent disk. For example, if you created the persistent disk from an image that was later deleted and recreated
	// under the same name, the source image ID would identify the exact version of the image that was used.
	SourceImageId interface{}
	// The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a
	// customer-supplied encryption key.
	SourceSnapshotEncryptionKey interface{}
	// The unique ID of the snapshot used to create this disk. This value identifies the exact snapshot that was used to
	// create this persistent disk. For example, if you created the persistent disk from a snapshot that was later deleted and
	// recreated under the same name, the source snapshot ID would identify the exact version of the snapshot that was used.
	SourceSnapshotId interface{}
	// URL of the disk type resource describing which disk type to use to create the disk. Provide this when creating the
	// disk.
	Type interface{}
	// Links to the users of the disk (attached instances) in form: project/zones/zone/instances/instance
	Users interface{}
	// A reference to the zone where the disk resides.
	Zone interface{}
}

Input properties used for looking up and filtering Disk resources.

type ExternalVpnGateway added in v0.18.8

type ExternalVpnGateway struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_external_vpn_gateway.html.markdown.

func GetExternalVpnGateway added in v0.18.8

func GetExternalVpnGateway(ctx *pulumi.Context,
	name string, id pulumi.ID, state *ExternalVpnGatewayState, opts ...pulumi.ResourceOpt) (*ExternalVpnGateway, error)

GetExternalVpnGateway gets an existing ExternalVpnGateway resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewExternalVpnGateway added in v0.18.8

func NewExternalVpnGateway(ctx *pulumi.Context,
	name string, args *ExternalVpnGatewayArgs, opts ...pulumi.ResourceOpt) (*ExternalVpnGateway, error)

NewExternalVpnGateway registers a new resource with the given unique name, arguments, and options.

func (*ExternalVpnGateway) Description added in v0.18.8

func (r *ExternalVpnGateway) Description() pulumi.StringOutput

An optional description of this resource.

func (*ExternalVpnGateway) ID added in v0.18.8

ID is this resource's unique identifier assigned by its provider.

func (*ExternalVpnGateway) Interfaces added in v0.18.8

func (r *ExternalVpnGateway) Interfaces() pulumi.ArrayOutput

A list of interfaces on this external VPN gateway.

func (*ExternalVpnGateway) Name added in v0.18.8

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*ExternalVpnGateway) Project added in v0.18.8

func (r *ExternalVpnGateway) Project() pulumi.StringOutput

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

func (*ExternalVpnGateway) RedundancyType added in v0.18.8

func (r *ExternalVpnGateway) RedundancyType() pulumi.StringOutput

Indicates the redundancy type of this external VPN gateway

func (r *ExternalVpnGateway) SelfLink() pulumi.StringOutput

func (*ExternalVpnGateway) URN added in v0.18.8

URN is this resource's unique name assigned by Pulumi.

type ExternalVpnGatewayArgs added in v0.18.8

type ExternalVpnGatewayArgs struct {
	// An optional description of this resource.
	Description interface{}
	// A list of interfaces on this external VPN gateway.
	Interfaces interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// Indicates the redundancy type of this external VPN gateway
	RedundancyType interface{}
}

The set of arguments for constructing a ExternalVpnGateway resource.

type ExternalVpnGatewayState added in v0.18.8

type ExternalVpnGatewayState struct {
	// An optional description of this resource.
	Description interface{}
	// A list of interfaces on this external VPN gateway.
	Interfaces interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// Indicates the redundancy type of this external VPN gateway
	RedundancyType interface{}
	SelfLink       interface{}
}

Input properties used for looking up and filtering ExternalVpnGateway resources.

type Firewall

type Firewall struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_firewall.html.markdown.

func GetFirewall

func GetFirewall(ctx *pulumi.Context,
	name string, id pulumi.ID, state *FirewallState, opts ...pulumi.ResourceOpt) (*Firewall, error)

GetFirewall gets an existing Firewall resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewFirewall

func NewFirewall(ctx *pulumi.Context,
	name string, args *FirewallArgs, opts ...pulumi.ResourceOpt) (*Firewall, error)

NewFirewall registers a new resource with the given unique name, arguments, and options.

func (*Firewall) Allows

func (r *Firewall) Allows() pulumi.ArrayOutput

The list of ALLOW rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection.

func (*Firewall) CreationTimestamp added in v0.16.0

func (r *Firewall) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*Firewall) Denies

func (r *Firewall) Denies() pulumi.ArrayOutput

The list of DENY rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a denied connection.

func (*Firewall) Description

func (r *Firewall) Description() pulumi.StringOutput

An optional description of this resource. Provide this property when you create the resource.

func (*Firewall) DestinationRanges

func (r *Firewall) DestinationRanges() pulumi.ArrayOutput

If destination ranges are specified, the firewall will apply only to traffic that has destination IP address in these ranges. These ranges must be expressed in CIDR format. Only IPv4 is supported.

func (*Firewall) Direction

func (r *Firewall) Direction() pulumi.StringOutput

Direction of traffic to which this firewall applies; default is INGRESS. Note: For INGRESS traffic, it is NOT supported to specify destinationRanges; For EGRESS traffic, it is NOT supported to specify sourceRanges OR sourceTags.

func (*Firewall) Disabled added in v0.15.0

func (r *Firewall) Disabled() pulumi.BoolOutput

Denotes whether the firewall rule is disabled, i.e not applied to the network it is associated with. When set to true, the firewall rule is not enforced and the network behaves as if it did not exist. If this is unspecified, the firewall rule will be enabled.

func (*Firewall) EnableLogging added in v0.16.0

func (r *Firewall) EnableLogging() pulumi.BoolOutput

This field denotes whether to enable logging for a particular firewall rule. If logging is enabled, logs will be exported to Stackdriver.

func (*Firewall) ID

func (r *Firewall) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*Firewall) Name

func (r *Firewall) Name() pulumi.StringOutput

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*Firewall) Network

func (r *Firewall) Network() pulumi.StringOutput

The name or self_link of the network to attach this firewall to.

func (*Firewall) Priority

func (r *Firewall) Priority() pulumi.IntOutput

Priority for this rule. This is an integer between 0 and 65535, both inclusive. When not specified, the value assumed is 1000. Relative priorities determine precedence of conflicting rules. Lower value of priority implies higher precedence (eg, a rule with priority 0 has higher precedence than a rule with priority 1). DENY rules take precedence over ALLOW rules having equal priority.

func (*Firewall) Project

func (r *Firewall) Project() pulumi.StringOutput

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

func (r *Firewall) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*Firewall) SourceRanges

func (r *Firewall) SourceRanges() pulumi.ArrayOutput

If source ranges are specified, the firewall will apply only to traffic that has source IP address in these ranges. These ranges must be expressed in CIDR format. One or both of sourceRanges and sourceTags may be set. If both properties are set, the firewall will apply to traffic that has source IP address within sourceRanges OR the source IP that belongs to a tag listed in the sourceTags property. The connection does not need to match both properties for the firewall to apply. Only IPv4 is supported.

func (*Firewall) SourceServiceAccounts

func (r *Firewall) SourceServiceAccounts() pulumi.ArrayOutput

If source service accounts are specified, the firewall will apply only to traffic originating from an instance with a service account in this list. Source service accounts cannot be used to control traffic to an instance's external IP address because service accounts are associated with an instance, not an IP address. sourceRanges can be set at the same time as sourceServiceAccounts. If both are set, the firewall will apply to traffic that has source IP address within sourceRanges OR the source IP belongs to an instance with service account listed in sourceServiceAccount. The connection does not need to match both properties for the firewall to apply. sourceServiceAccounts cannot be used at the same time as sourceTags or targetTags.

func (*Firewall) SourceTags

func (r *Firewall) SourceTags() pulumi.ArrayOutput

If source tags are specified, the firewall will apply only to traffic with source IP that belongs to a tag listed in source tags. Source tags cannot be used to control traffic to an instance's external IP address. Because tags are associated with an instance, not an IP address. One or both of sourceRanges and sourceTags may be set. If both properties are set, the firewall will apply to traffic that has source IP address within sourceRanges OR the source IP that belongs to a tag listed in the sourceTags property. The connection does not need to match both properties for the firewall to apply.

func (*Firewall) TargetServiceAccounts

func (r *Firewall) TargetServiceAccounts() pulumi.ArrayOutput

A list of service accounts indicating sets of instances located in the network that may make network connections as specified in allowed[]. targetServiceAccounts cannot be used at the same time as targetTags or sourceTags. If neither targetServiceAccounts nor targetTags are specified, the firewall rule applies to all instances on the specified network.

func (*Firewall) TargetTags

func (r *Firewall) TargetTags() pulumi.ArrayOutput

A list of instance tags indicating sets of instances located in the network that may make network connections as specified in allowed[]. If no targetTags are specified, the firewall rule applies to all instances on the specified network.

func (*Firewall) URN

func (r *Firewall) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type FirewallArgs

type FirewallArgs struct {
	// The list of ALLOW rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes
	// a permitted connection.
	Allows interface{}
	// The list of DENY rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a
	// denied connection.
	Denies interface{}
	// An optional description of this resource. Provide this property when you create the resource.
	Description interface{}
	// If destination ranges are specified, the firewall will apply only to traffic that has destination IP address in these
	// ranges. These ranges must be expressed in CIDR format. Only IPv4 is supported.
	DestinationRanges interface{}
	// Direction of traffic to which this firewall applies; default is INGRESS. Note: For INGRESS traffic, it is NOT supported
	// to specify destinationRanges; For EGRESS traffic, it is NOT supported to specify sourceRanges OR sourceTags.
	Direction interface{}
	// Denotes whether the firewall rule is disabled, i.e not applied to the network it is associated with. When set to true,
	// the firewall rule is not enforced and the network behaves as if it did not exist. If this is unspecified, the firewall
	// rule will be enabled.
	Disabled interface{}
	// This field denotes whether to enable logging for a particular firewall rule. If logging is enabled, logs will be
	// exported to Stackdriver.
	EnableLogging interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The name or self_link of the network to attach this firewall to.
	Network interface{}
	// Priority for this rule. This is an integer between 0 and 65535, both inclusive. When not specified, the value assumed
	// is 1000. Relative priorities determine precedence of conflicting rules. Lower value of priority implies higher
	// precedence (eg, a rule with priority 0 has higher precedence than a rule with priority 1). DENY rules take precedence
	// over ALLOW rules having equal priority.
	Priority interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// If source ranges are specified, the firewall will apply only to traffic that has source IP address in these ranges.
	// These ranges must be expressed in CIDR format. One or both of sourceRanges and sourceTags may be set. If both
	// properties are set, the firewall will apply to traffic that has source IP address within sourceRanges OR the source IP
	// that belongs to a tag listed in the sourceTags property. The connection does not need to match both properties for the
	// firewall to apply. Only IPv4 is supported.
	SourceRanges interface{}
	// If source service accounts are specified, the firewall will apply only to traffic originating from an instance with a
	// service account in this list. Source service accounts cannot be used to control traffic to an instance's external IP
	// address because service accounts are associated with an instance, not an IP address. sourceRanges can be set at the
	// same time as sourceServiceAccounts. If both are set, the firewall will apply to traffic that has source IP address
	// within sourceRanges OR the source IP belongs to an instance with service account listed in sourceServiceAccount. The
	// connection does not need to match both properties for the firewall to apply. sourceServiceAccounts cannot be used at
	// the same time as sourceTags or targetTags.
	SourceServiceAccounts interface{}
	// If source tags are specified, the firewall will apply only to traffic with source IP that belongs to a tag listed in
	// source tags. Source tags cannot be used to control traffic to an instance's external IP address. Because tags are
	// associated with an instance, not an IP address. One or both of sourceRanges and sourceTags may be set. If both
	// properties are set, the firewall will apply to traffic that has source IP address within sourceRanges OR the source IP
	// that belongs to a tag listed in the sourceTags property. The connection does not need to match both properties for the
	// firewall to apply.
	SourceTags interface{}
	// A list of service accounts indicating sets of instances located in the network that may make network connections as
	// specified in allowed[]. targetServiceAccounts cannot be used at the same time as targetTags or sourceTags. If neither
	// targetServiceAccounts nor targetTags are specified, the firewall rule applies to all instances on the specified
	// network.
	TargetServiceAccounts interface{}
	// A list of instance tags indicating sets of instances located in the network that may make network connections as
	// specified in allowed[]. If no targetTags are specified, the firewall rule applies to all instances on the specified
	// network.
	TargetTags interface{}
}

The set of arguments for constructing a Firewall resource.

type FirewallState

type FirewallState struct {
	// The list of ALLOW rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes
	// a permitted connection.
	Allows interface{}
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// The list of DENY rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a
	// denied connection.
	Denies interface{}
	// An optional description of this resource. Provide this property when you create the resource.
	Description interface{}
	// If destination ranges are specified, the firewall will apply only to traffic that has destination IP address in these
	// ranges. These ranges must be expressed in CIDR format. Only IPv4 is supported.
	DestinationRanges interface{}
	// Direction of traffic to which this firewall applies; default is INGRESS. Note: For INGRESS traffic, it is NOT supported
	// to specify destinationRanges; For EGRESS traffic, it is NOT supported to specify sourceRanges OR sourceTags.
	Direction interface{}
	// Denotes whether the firewall rule is disabled, i.e not applied to the network it is associated with. When set to true,
	// the firewall rule is not enforced and the network behaves as if it did not exist. If this is unspecified, the firewall
	// rule will be enabled.
	Disabled interface{}
	// This field denotes whether to enable logging for a particular firewall rule. If logging is enabled, logs will be
	// exported to Stackdriver.
	EnableLogging interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The name or self_link of the network to attach this firewall to.
	Network interface{}
	// Priority for this rule. This is an integer between 0 and 65535, both inclusive. When not specified, the value assumed
	// is 1000. Relative priorities determine precedence of conflicting rules. Lower value of priority implies higher
	// precedence (eg, a rule with priority 0 has higher precedence than a rule with priority 1). DENY rules take precedence
	// over ALLOW rules having equal priority.
	Priority interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// If source ranges are specified, the firewall will apply only to traffic that has source IP address in these ranges.
	// These ranges must be expressed in CIDR format. One or both of sourceRanges and sourceTags may be set. If both
	// properties are set, the firewall will apply to traffic that has source IP address within sourceRanges OR the source IP
	// that belongs to a tag listed in the sourceTags property. The connection does not need to match both properties for the
	// firewall to apply. Only IPv4 is supported.
	SourceRanges interface{}
	// If source service accounts are specified, the firewall will apply only to traffic originating from an instance with a
	// service account in this list. Source service accounts cannot be used to control traffic to an instance's external IP
	// address because service accounts are associated with an instance, not an IP address. sourceRanges can be set at the
	// same time as sourceServiceAccounts. If both are set, the firewall will apply to traffic that has source IP address
	// within sourceRanges OR the source IP belongs to an instance with service account listed in sourceServiceAccount. The
	// connection does not need to match both properties for the firewall to apply. sourceServiceAccounts cannot be used at
	// the same time as sourceTags or targetTags.
	SourceServiceAccounts interface{}
	// If source tags are specified, the firewall will apply only to traffic with source IP that belongs to a tag listed in
	// source tags. Source tags cannot be used to control traffic to an instance's external IP address. Because tags are
	// associated with an instance, not an IP address. One or both of sourceRanges and sourceTags may be set. If both
	// properties are set, the firewall will apply to traffic that has source IP address within sourceRanges OR the source IP
	// that belongs to a tag listed in the sourceTags property. The connection does not need to match both properties for the
	// firewall to apply.
	SourceTags interface{}
	// A list of service accounts indicating sets of instances located in the network that may make network connections as
	// specified in allowed[]. targetServiceAccounts cannot be used at the same time as targetTags or sourceTags. If neither
	// targetServiceAccounts nor targetTags are specified, the firewall rule applies to all instances on the specified
	// network.
	TargetServiceAccounts interface{}
	// A list of instance tags indicating sets of instances located in the network that may make network connections as
	// specified in allowed[]. If no targetTags are specified, the firewall rule applies to all instances on the specified
	// network.
	TargetTags interface{}
}

Input properties used for looking up and filtering Firewall resources.

type ForwardingRule

type ForwardingRule struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_forwarding_rule.html.markdown.

func GetForwardingRule

func GetForwardingRule(ctx *pulumi.Context,
	name string, id pulumi.ID, state *ForwardingRuleState, opts ...pulumi.ResourceOpt) (*ForwardingRule, error)

GetForwardingRule gets an existing ForwardingRule resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewForwardingRule

func NewForwardingRule(ctx *pulumi.Context,
	name string, args *ForwardingRuleArgs, opts ...pulumi.ResourceOpt) (*ForwardingRule, error)

NewForwardingRule registers a new resource with the given unique name, arguments, and options.

func (*ForwardingRule) AllPorts added in v0.18.0

func (r *ForwardingRule) AllPorts() pulumi.BoolOutput

For internal TCP/UDP load balancing (i.e. load balancing scheme is INTERNAL and protocol is TCP/UDP), set this to true to allow packets addressed to any ports to be forwarded to the backends configured with this forwarding rule. Used with backend service. Cannot be set if port or portRange are set.

func (*ForwardingRule) BackendService

func (r *ForwardingRule) BackendService() pulumi.StringOutput

A BackendService to receive the matched traffic. This is used only for INTERNAL load balancing.

func (*ForwardingRule) CreationTimestamp added in v0.15.0

func (r *ForwardingRule) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*ForwardingRule) Description

func (r *ForwardingRule) Description() pulumi.StringOutput

An optional description of this resource. Provide this property when you create the resource.

func (*ForwardingRule) ID

func (r *ForwardingRule) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*ForwardingRule) IpAddress

func (r *ForwardingRule) IpAddress() pulumi.StringOutput

The IP address that this forwarding rule is serving on behalf of. Addresses are restricted based on the forwarding rule's load balancing scheme (EXTERNAL or INTERNAL) and scope (global or regional). When the load balancing scheme is EXTERNAL, for global forwarding rules, the address must be a global IP, and for regional forwarding rules, the address must live in the same region as the forwarding rule. If this field is empty, an ephemeral IPv4 address from the same scope (global or regional) will be assigned. A regional forwarding rule supports IPv4 only. A global forwarding rule supports either IPv4 or IPv6. When the load balancing scheme is INTERNAL, this can only be an RFC 1918 IP address belonging to the network/subnet configured for the forwarding rule. By default, if this field is empty, an ephemeral internal IP address will be automatically allocated from the IP range of the subnet or network configured for this forwarding rule. ~> **NOTE** The address should be specified as a literal IP address, e.g. '100.1.2.3' to avoid a permanent diff, as the server returns the IP address regardless of the input value. The server accepts a literal IP address or a URL reference to an existing Address resource. The following examples are all valid but only the first will prevent a permadiff. If you are using 'google_compute_address' or similar, interpolate using '.address' instead of '.self_link' or similar to prevent a diff on re-apply.

func (*ForwardingRule) IpProtocol

func (r *ForwardingRule) IpProtocol() pulumi.StringOutput

The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP, AH, SCTP or ICMP. When the load balancing scheme is INTERNAL, only TCP and UDP are valid.

func (*ForwardingRule) IpVersion added in v0.15.0

func (r *ForwardingRule) IpVersion() pulumi.StringOutput

ipVersion is not a valid field for regional forwarding rules.

func (*ForwardingRule) LabelFingerprint added in v0.15.0

func (r *ForwardingRule) LabelFingerprint() pulumi.StringOutput

The fingerprint used for optimistic locking of this resource. Used internally during updates.

func (*ForwardingRule) Labels added in v0.15.0

func (r *ForwardingRule) Labels() pulumi.MapOutput

Labels to apply to this forwarding rule. A list of key->value pairs.

func (*ForwardingRule) LoadBalancingScheme

func (r *ForwardingRule) LoadBalancingScheme() pulumi.StringOutput

This signifies what the ForwardingRule will be used for and can be EXTERNAL, INTERNAL, or INTERNAL_MANAGED. EXTERNAL is used for Classic Cloud VPN gateways, protocol forwarding to VMs from an external IP address, and HTTP(S), SSL Proxy, TCP Proxy, and Network TCP/UDP load balancers. INTERNAL is used for protocol forwarding to VMs from an internal IP address, and internal TCP/UDP load balancers. INTERNAL_MANAGED is used for internal HTTP(S) load balancers.

func (*ForwardingRule) Name

Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*ForwardingRule) Network

func (r *ForwardingRule) Network() pulumi.StringOutput

For internal load balancing, this field identifies the network that the load balanced IP should belong to for this Forwarding Rule. If this field is not specified, the default network will be used. This field is only used for INTERNAL load balancing.

func (*ForwardingRule) NetworkTier added in v0.15.0

func (r *ForwardingRule) NetworkTier() pulumi.StringOutput

The networking tier used for configuring this address. This field can take the following values: PREMIUM or STANDARD. If this field is not specified, it is assumed to be PREMIUM.

func (*ForwardingRule) PortRange

func (r *ForwardingRule) PortRange() pulumi.StringOutput

This field is used along with the target field for TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool, TargetInstance. Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets addressed to ports in the specified range will be forwarded to target. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges. Some types of forwarding target have constraints on the acceptable ports: * TargetHttpProxy: 80, 8080 * TargetHttpsProxy: 443 * TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 5222 * TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 5222 * TargetVpnGateway: 500, 4500

func (*ForwardingRule) Ports

func (r *ForwardingRule) Ports() pulumi.ArrayOutput

This field is used along with the backend_service field for internal load balancing. When the load balancing scheme is INTERNAL, a single port or a comma separated list of ports can be configured. Only packets addressed to these ports will be forwarded to the backends configured with this forwarding rule. You may specify a maximum of up to 5 ports.

func (*ForwardingRule) Project

func (r *ForwardingRule) Project() pulumi.StringOutput

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

func (*ForwardingRule) Region

func (r *ForwardingRule) Region() pulumi.StringOutput

A reference to the region where the regional forwarding rule resides. This field is not applicable to global forwarding rules.

func (r *ForwardingRule) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*ForwardingRule) ServiceLabel added in v0.15.0

func (r *ForwardingRule) ServiceLabel() pulumi.StringOutput

An optional prefix to the service name for this Forwarding Rule. If specified, will be the first label of the fully qualified service name. The label must be 1-63 characters long, and comply with RFC1035. Specifically, the label must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. This field is only used for INTERNAL load balancing.

func (*ForwardingRule) ServiceName added in v0.15.0

func (r *ForwardingRule) ServiceName() pulumi.StringOutput

The internal fully qualified service name for this Forwarding Rule. This field is only used for INTERNAL load balancing.

func (*ForwardingRule) Subnetwork

func (r *ForwardingRule) Subnetwork() pulumi.StringOutput

The subnetwork that the load balanced IP should belong to for this Forwarding Rule. This field is only used for INTERNAL load balancing. If the network specified is in auto subnet mode, this field is optional. However, if the network is in custom subnet mode, a subnetwork must be specified.

func (*ForwardingRule) Target

func (r *ForwardingRule) Target() pulumi.StringOutput

This field is only used for EXTERNAL load balancing. A reference to a TargetPool resource to receive the matched traffic. This target must live in the same region as the forwarding rule. The forwarded traffic must be of a type appropriate to the target object.

func (*ForwardingRule) URN

func (r *ForwardingRule) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type ForwardingRuleArgs

type ForwardingRuleArgs struct {
	// For internal TCP/UDP load balancing (i.e. load balancing scheme is INTERNAL and protocol is TCP/UDP), set this to true
	// to allow packets addressed to any ports to be forwarded to the backends configured with this forwarding rule. Used with
	// backend service. Cannot be set if port or portRange are set.
	AllPorts interface{}
	// A BackendService to receive the matched traffic. This is used only for INTERNAL load balancing.
	BackendService interface{}
	// An optional description of this resource. Provide this property when you create the resource.
	Description interface{}
	// The IP address that this forwarding rule is serving on behalf of. Addresses are restricted based on the forwarding
	// rule's load balancing scheme (EXTERNAL or INTERNAL) and scope (global or regional). When the load balancing scheme is
	// EXTERNAL, for global forwarding rules, the address must be a global IP, and for regional forwarding rules, the address
	// must live in the same region as the forwarding rule. If this field is empty, an ephemeral IPv4 address from the same
	// scope (global or regional) will be assigned. A regional forwarding rule supports IPv4 only. A global forwarding rule
	// supports either IPv4 or IPv6. When the load balancing scheme is INTERNAL, this can only be an RFC 1918 IP address
	// belonging to the network/subnet configured for the forwarding rule. By default, if this field is empty, an ephemeral
	// internal IP address will be automatically allocated from the IP range of the subnet or network configured for this
	// forwarding rule. ~> **NOTE** The address should be specified as a literal IP address, e.g. '100.1.2.3' to avoid a
	// permanent diff, as the server returns the IP address regardless of the input value. The server accepts a literal IP
	// address or a URL reference to an existing Address resource. The following examples are all valid but only the first
	// will prevent a permadiff. If you are using 'google_compute_address' or similar, interpolate using '.address' instead of
	// '.self_link' or similar to prevent a diff on re-apply.
	IpAddress interface{}
	// The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP, AH, SCTP or ICMP. When the load balancing
	// scheme is INTERNAL, only TCP and UDP are valid.
	IpProtocol interface{}
	// ipVersion is not a valid field for regional forwarding rules.
	IpVersion interface{}
	// Labels to apply to this forwarding rule. A list of key->value pairs.
	Labels interface{}
	// This signifies what the ForwardingRule will be used for and can be EXTERNAL, INTERNAL, or INTERNAL_MANAGED. EXTERNAL is
	// used for Classic Cloud VPN gateways, protocol forwarding to VMs from an external IP address, and HTTP(S), SSL Proxy,
	// TCP Proxy, and Network TCP/UDP load balancers. INTERNAL is used for protocol forwarding to VMs from an internal IP
	// address, and internal TCP/UDP load balancers. INTERNAL_MANAGED is used for internal HTTP(S) load balancers.
	LoadBalancingScheme interface{}
	// Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// For internal load balancing, this field identifies the network that the load balanced IP should belong to for this
	// Forwarding Rule. If this field is not specified, the default network will be used. This field is only used for INTERNAL
	// load balancing.
	Network interface{}
	// The networking tier used for configuring this address. This field can take the following values: PREMIUM or STANDARD.
	// If this field is not specified, it is assumed to be PREMIUM.
	NetworkTier interface{}
	// This field is used along with the target field for TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy,
	// TargetVpnGateway, TargetPool, TargetInstance. Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets
	// addressed to ports in the specified range will be forwarded to target. Forwarding rules with the same [IPAddress,
	// IPProtocol] pair must have disjoint port ranges. Some types of forwarding target have constraints on the acceptable
	// ports: * TargetHttpProxy: 80, 8080 * TargetHttpsProxy: 443 * TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700,
	// 993, 995, 1883, 5222 * TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 5222 *
	// TargetVpnGateway: 500, 4500
	PortRange interface{}
	// This field is used along with the backend_service field for internal load balancing. When the load balancing scheme is
	// INTERNAL, a single port or a comma separated list of ports can be configured. Only packets addressed to these ports
	// will be forwarded to the backends configured with this forwarding rule. You may specify a maximum of up to 5 ports.
	Ports interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// A reference to the region where the regional forwarding rule resides. This field is not applicable to global forwarding
	// rules.
	Region interface{}
	// An optional prefix to the service name for this Forwarding Rule. If specified, will be the first label of the fully
	// qualified service name. The label must be 1-63 characters long, and comply with RFC1035. Specifically, the label must
	// be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character
	// must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last
	// character, which cannot be a dash. This field is only used for INTERNAL load balancing.
	ServiceLabel interface{}
	// The subnetwork that the load balanced IP should belong to for this Forwarding Rule. This field is only used for
	// INTERNAL load balancing. If the network specified is in auto subnet mode, this field is optional. However, if the
	// network is in custom subnet mode, a subnetwork must be specified.
	Subnetwork interface{}
	// This field is only used for EXTERNAL load balancing. A reference to a TargetPool resource to receive the matched
	// traffic. This target must live in the same region as the forwarding rule. The forwarded traffic must be of a type
	// appropriate to the target object.
	Target interface{}
}

The set of arguments for constructing a ForwardingRule resource.

type ForwardingRuleState

type ForwardingRuleState struct {
	// For internal TCP/UDP load balancing (i.e. load balancing scheme is INTERNAL and protocol is TCP/UDP), set this to true
	// to allow packets addressed to any ports to be forwarded to the backends configured with this forwarding rule. Used with
	// backend service. Cannot be set if port or portRange are set.
	AllPorts interface{}
	// A BackendService to receive the matched traffic. This is used only for INTERNAL load balancing.
	BackendService interface{}
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// An optional description of this resource. Provide this property when you create the resource.
	Description interface{}
	// The IP address that this forwarding rule is serving on behalf of. Addresses are restricted based on the forwarding
	// rule's load balancing scheme (EXTERNAL or INTERNAL) and scope (global or regional). When the load balancing scheme is
	// EXTERNAL, for global forwarding rules, the address must be a global IP, and for regional forwarding rules, the address
	// must live in the same region as the forwarding rule. If this field is empty, an ephemeral IPv4 address from the same
	// scope (global or regional) will be assigned. A regional forwarding rule supports IPv4 only. A global forwarding rule
	// supports either IPv4 or IPv6. When the load balancing scheme is INTERNAL, this can only be an RFC 1918 IP address
	// belonging to the network/subnet configured for the forwarding rule. By default, if this field is empty, an ephemeral
	// internal IP address will be automatically allocated from the IP range of the subnet or network configured for this
	// forwarding rule. ~> **NOTE** The address should be specified as a literal IP address, e.g. '100.1.2.3' to avoid a
	// permanent diff, as the server returns the IP address regardless of the input value. The server accepts a literal IP
	// address or a URL reference to an existing Address resource. The following examples are all valid but only the first
	// will prevent a permadiff. If you are using 'google_compute_address' or similar, interpolate using '.address' instead of
	// '.self_link' or similar to prevent a diff on re-apply.
	IpAddress interface{}
	// The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP, AH, SCTP or ICMP. When the load balancing
	// scheme is INTERNAL, only TCP and UDP are valid.
	IpProtocol interface{}
	// ipVersion is not a valid field for regional forwarding rules.
	IpVersion interface{}
	// The fingerprint used for optimistic locking of this resource. Used internally during updates.
	LabelFingerprint interface{}
	// Labels to apply to this forwarding rule. A list of key->value pairs.
	Labels interface{}
	// This signifies what the ForwardingRule will be used for and can be EXTERNAL, INTERNAL, or INTERNAL_MANAGED. EXTERNAL is
	// used for Classic Cloud VPN gateways, protocol forwarding to VMs from an external IP address, and HTTP(S), SSL Proxy,
	// TCP Proxy, and Network TCP/UDP load balancers. INTERNAL is used for protocol forwarding to VMs from an internal IP
	// address, and internal TCP/UDP load balancers. INTERNAL_MANAGED is used for internal HTTP(S) load balancers.
	LoadBalancingScheme interface{}
	// Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// For internal load balancing, this field identifies the network that the load balanced IP should belong to for this
	// Forwarding Rule. If this field is not specified, the default network will be used. This field is only used for INTERNAL
	// load balancing.
	Network interface{}
	// The networking tier used for configuring this address. This field can take the following values: PREMIUM or STANDARD.
	// If this field is not specified, it is assumed to be PREMIUM.
	NetworkTier interface{}
	// This field is used along with the target field for TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy,
	// TargetVpnGateway, TargetPool, TargetInstance. Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets
	// addressed to ports in the specified range will be forwarded to target. Forwarding rules with the same [IPAddress,
	// IPProtocol] pair must have disjoint port ranges. Some types of forwarding target have constraints on the acceptable
	// ports: * TargetHttpProxy: 80, 8080 * TargetHttpsProxy: 443 * TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700,
	// 993, 995, 1883, 5222 * TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 5222 *
	// TargetVpnGateway: 500, 4500
	PortRange interface{}
	// This field is used along with the backend_service field for internal load balancing. When the load balancing scheme is
	// INTERNAL, a single port or a comma separated list of ports can be configured. Only packets addressed to these ports
	// will be forwarded to the backends configured with this forwarding rule. You may specify a maximum of up to 5 ports.
	Ports interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// A reference to the region where the regional forwarding rule resides. This field is not applicable to global forwarding
	// rules.
	Region interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// An optional prefix to the service name for this Forwarding Rule. If specified, will be the first label of the fully
	// qualified service name. The label must be 1-63 characters long, and comply with RFC1035. Specifically, the label must
	// be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character
	// must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last
	// character, which cannot be a dash. This field is only used for INTERNAL load balancing.
	ServiceLabel interface{}
	// The internal fully qualified service name for this Forwarding Rule. This field is only used for INTERNAL load
	// balancing.
	ServiceName interface{}
	// The subnetwork that the load balanced IP should belong to for this Forwarding Rule. This field is only used for
	// INTERNAL load balancing. If the network specified is in auto subnet mode, this field is optional. However, if the
	// network is in custom subnet mode, a subnetwork must be specified.
	Subnetwork interface{}
	// This field is only used for EXTERNAL load balancing. A reference to a TargetPool resource to receive the matched
	// traffic. This target must live in the same region as the forwarding rule. The forwarded traffic must be of a type
	// appropriate to the target object.
	Target interface{}
}

Input properties used for looking up and filtering ForwardingRule resources.

type GetAddressArgs

type GetAddressArgs struct {
	// A unique name for the resource, required by GCE.
	Name interface{}
	// The project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// The Region in which the created address reside.
	// If it is not provided, the provider region is used.
	Region interface{}
}

A collection of arguments for invoking getAddress.

type GetAddressResult

type GetAddressResult struct {
	// The IP of the created resource.
	Address interface{}
	Name    interface{}
	Project interface{}
	Region  interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// Indicates if the address is used. Possible values are: RESERVED or IN_USE.
	Status interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getAddress.

func LookupAddress

func LookupAddress(ctx *pulumi.Context, args *GetAddressArgs) (*GetAddressResult, error)

Get the IP address from a static address. For more information see the official [API](https://cloud.google.com/compute/docs/reference/latest/addresses/get) documentation.

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/d/compute_address.html.markdown.

type GetBackendServiceArgs

type GetBackendServiceArgs struct {
	// The name of the Backend Service.
	Name interface{}
	// The project in which the resource belongs. If it is not provided, the provider project is used.
	Project interface{}
}

A collection of arguments for invoking getBackendService.

type GetBackendServiceResult

type GetBackendServiceResult struct {
	AffinityCookieTtlSec interface{}
	// The set of backends that serve this Backend Service.
	Backends        interface{}
	CdnPolicies     interface{}
	CircuitBreakers interface{}
	// Time for which instance will be drained (not accept new connections, but still work to finish started ones).
	ConnectionDrainingTimeoutSec interface{}
	ConsistentHash               interface{}
	CreationTimestamp            interface{}
	CustomRequestHeaders         interface{}
	// Textual description for the Backend Service.
	Description interface{}
	// Whether or not Cloud CDN is enabled on the Backend Service.
	EnableCdn interface{}
	// The fingerprint of the Backend Service.
	Fingerprint interface{}
	// The set of HTTP/HTTPS health checks used by the Backend Service.
	HealthChecks        interface{}
	Iaps                interface{}
	LoadBalancingScheme interface{}
	LocalityLbPolicy    interface{}
	LogConfigs          interface{}
	Name                interface{}
	OutlierDetections   interface{}
	// The name of a service that has been added to an instance group in this backend.
	PortName interface{}
	Project  interface{}
	// The protocol for incoming requests.
	Protocol       interface{}
	SecurityPolicy interface{}
	// The URI of the Backend Service.
	SelfLink interface{}
	// The Backend Service session stickiness configuration.
	SessionAffinity interface{}
	// The number of seconds to wait for a backend to respond to a request before considering the request failed.
	TimeoutSec interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getBackendService.

type GetCertificateArgs added in v0.18.7

type GetCertificateArgs struct {
	// The name of the certificate.
	Name interface{}
	// The project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
}

A collection of arguments for invoking getCertificate.

type GetCertificateResult added in v0.18.7

type GetCertificateResult struct {
	Certificate       interface{}
	CertificateId     interface{}
	CreationTimestamp interface{}
	Description       interface{}
	Name              interface{}
	NamePrefix        interface{}
	PrivateKey        interface{}
	Project           interface{}
	SelfLink          interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getCertificate.

func LookupCertificate added in v0.18.7

func LookupCertificate(ctx *pulumi.Context, args *GetCertificateArgs) (*GetCertificateResult, error)

Get info about a Google Compute SSL Certificate from its name.

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/d/compute_ssl_certificate.html.markdown.

type GetDefaultServiceAccountArgs

type GetDefaultServiceAccountArgs struct {
	// The project ID. If it is not provided, the provider project is used.
	Project interface{}
}

A collection of arguments for invoking getDefaultServiceAccount.

type GetDefaultServiceAccountResult added in v0.14.1

type GetDefaultServiceAccountResult struct {
	// The display name for the service account.
	DisplayName interface{}
	// Email address of the default service account used by VMs running in this project
	Email interface{}
	// The fully-qualified name of the service account.
	Name    interface{}
	Project interface{}
	// The unique id of the service account.
	UniqueId interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getDefaultServiceAccount.

func LookupDefaultServiceAccount

func LookupDefaultServiceAccount(ctx *pulumi.Context, args *GetDefaultServiceAccountArgs) (*GetDefaultServiceAccountResult, error)

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

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/d/compute_default_service_account.html.markdown.

type GetForwardingRuleArgs

type GetForwardingRuleArgs struct {
	// The name of the forwarding rule.
	Name interface{}
	// The project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// The region in which the resource belongs. If it
	// is not provided, the project region is used.
	Region interface{}
}

A collection of arguments for invoking getForwardingRule.

type GetForwardingRuleResult

type GetForwardingRuleResult struct {
	// Backend service, if this forwarding rule has one.
	BackendService interface{}
	// Description of this forwarding rule.
	Description interface{}
	// IP address of this forwarding rule.
	IpAddress interface{}
	// IP protocol of this forwarding rule.
	IpProtocol interface{}
	// Type of load balancing of this forwarding rule.
	LoadBalancingScheme interface{}
	Name                interface{}
	// Network of this forwarding rule.
	Network interface{}
	// Port range, if this forwarding rule has one.
	PortRange interface{}
	// List of ports to use for internal load balancing, if this forwarding rule has any.
	Ports   interface{}
	Project interface{}
	// Region of this forwarding rule.
	Region interface{}
	// The URI of the resource.
	SelfLink interface{}
	// Subnetwork of this forwarding rule.
	Subnetwork interface{}
	// URL of the target pool, if this forwarding rule has one.
	Target interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getForwardingRule.

type GetGlobalAddressArgs

type GetGlobalAddressArgs struct {
	// A unique name for the resource, required by GCE.
	Name interface{}
	// The project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
}

A collection of arguments for invoking getGlobalAddress.

type GetGlobalAddressResult

type GetGlobalAddressResult struct {
	// The IP of the created resource.
	Address interface{}
	Name    interface{}
	Project interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// Indicates if the address is used. Possible values are: RESERVED or IN_USE.
	Status interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getGlobalAddress.

func LookupGlobalAddress

func LookupGlobalAddress(ctx *pulumi.Context, args *GetGlobalAddressArgs) (*GetGlobalAddressResult, error)

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](https://cloud.google.com/compute/docs/reference/latest/globalAddresses) documentation.

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/d/compute_global_address.html.markdown.

type GetImageArgs

type GetImageArgs struct {
	Family interface{}
	Name   interface{}
	// The project in which the resource belongs. If it is not
	// provided, the provider project is used. If you are using a
	// [public base image][pubimg], be sure to specify the correct Image Project.
	Project interface{}
}

A collection of arguments for invoking getImage.

type GetImageResult

type GetImageResult struct {
	// The size of the image tar.gz archive stored in Google Cloud Storage in bytes.
	ArchiveSizeBytes interface{}
	// The creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// An optional description of this image.
	Description interface{}
	// The size of the image when restored onto a persistent disk in gigabytes.
	DiskSizeGb interface{}
	// The family name of the image.
	Family interface{}
	// The [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
	// encoded SHA-256 hash of the [customer-supplied encryption key](https://cloud.google.com/compute/docs/disks/customer-supplied-encryption)
	// that protects this image.
	ImageEncryptionKeySha256 interface{}
	// The unique identifier for the image.
	ImageId interface{}
	// A fingerprint for the labels being applied to this image.
	LabelFingerprint interface{}
	// A map of labels applied to this image.
	Labels interface{}
	// A list of applicable license URI.
	Licenses interface{}
	// The name of the image.
	Name    interface{}
	Project interface{}
	// The URI of the image.
	SelfLink interface{}
	// The URL of the source disk used to create this image.
	SourceDisk interface{}
	// The [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
	// encoded SHA-256 hash of the [customer-supplied encryption key](https://cloud.google.com/compute/docs/disks/customer-supplied-encryption)
	// that protects this image.
	SourceDiskEncryptionKeySha256 interface{}
	// The ID value of the disk used to create this image.
	SourceDiskId interface{}
	// The ID value of the image used to create this image.
	SourceImageId interface{}
	// The status of the image. Possible values are **FAILED**, **PENDING**, or **READY**.
	Status interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getImage.

func LookupImage

func LookupImage(ctx *pulumi.Context, args *GetImageArgs) (*GetImageResult, error)

Get information about a Google Compute Image. Check that your service account has the `compute.imageUser` role if you want to share [custom images](https://cloud.google.com/compute/docs/images/sharing-images-across-projects) 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](https://cloud.google.com/compute/docs/images) and its [API](https://cloud.google.com/compute/docs/reference/latest/images).

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/d/compute_image.html.markdown.

type GetInstanceArgs added in v0.16.1

type GetInstanceArgs struct {
	// The name of the instance. One of `name` or `selfLink` must be provided.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If `selfLink` is provided, this value is ignored.  If neither `selfLink`
	// nor `project` are provided, the provider project is used.
	Project interface{}
	// The self link of the instance. One of `name` or `selfLink` must be provided.
	SelfLink interface{}
	// The zone of the instance. If `selfLink` is provided, this
	// value is ignored.  If neither `selfLink` nor `zone` are provided, the
	// provider zone is used.
	Zone interface{}
}

A collection of arguments for invoking getInstance.

type GetInstanceGroupArgs

type GetInstanceGroupArgs struct {
	// The name of the instance group. Either `name` or `selfLink` must be provided.
	Name interface{}
	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// The self link of the instance group. Either `name` or `selfLink` must be provided.
	SelfLink interface{}
	// The zone of the instance group. If referencing the instance group by name
	// and `zone` is not provided, the provider zone is used.
	Zone interface{}
}

A collection of arguments for invoking getInstanceGroup.

type GetInstanceGroupResult

type GetInstanceGroupResult struct {
	// Textual description of the instance group.
	Description interface{}
	// List of instances in the group.
	Instances interface{}
	Name      interface{}
	// List of named ports in the group.
	NamedPorts interface{}
	// The URL of the network the instance group is in.
	Network interface{}
	Project interface{}
	// The URI of the resource.
	SelfLink interface{}
	// The number of instances in the group.
	Size interface{}
	Zone interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getInstanceGroup.

type GetInstanceResult added in v0.16.1

type GetInstanceResult struct {
	AllowStoppingForUpdate interface{}
	// List of disks attached to the instance. Structure is documented below.
	AttachedDisks interface{}
	// The boot disk for the instance. Structure is documented below.
	BootDisks interface{}
	// Whether sending and receiving of packets with non-matching source or destination IPs is allowed.
	CanIpForward interface{}
	// The CPU platform used by this instance.
	CpuPlatform interface{}
	// Whether deletion protection is enabled on this instance.
	DeletionProtection interface{}
	// A brief description of the resource.
	Description   interface{}
	Disks         interface{}
	EnableDisplay interface{}
	// List of the type and count of accelerator cards attached to the instance. Structure is documented below.
	GuestAccelerators interface{}
	Hostname          interface{}
	// The server-assigned unique identifier of this instance.
	InstanceId interface{}
	// The unique fingerprint of the labels.
	LabelFingerprint interface{}
	// A set of key/value label pairs assigned to the instance.
	Labels interface{}
	// The machine type to create.
	MachineType interface{}
	// Metadata key/value pairs made available within the instance.
	Metadata interface{}
	// The unique fingerprint of the metadata.
	MetadataFingerprint   interface{}
	MetadataStartupScript interface{}
	// The minimum CPU platform specified for the VM instance.
	MinCpuPlatform interface{}
	Name           interface{}
	// The networks attached to the instance. Structure is documented below.
	NetworkInterfaces interface{}
	Project           interface{}
	// The scheduling strategy being used by the instance.
	Schedulings interface{}
	// The scratch disks attached to the instance. Structure is documented below.
	ScratchDisks interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// The service account to attach to the instance. Structure is documented below.
	ServiceAccounts interface{}
	// The shielded vm config being used by the instance. Structure is documented below.
	ShieldedInstanceConfigs interface{}
	// The list of tags attached to the instance.
	Tags interface{}
	// The unique fingerprint of the tags.
	TagsFingerprint interface{}
	Zone            interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getInstance.

func LookupInstance added in v0.16.1

func LookupInstance(ctx *pulumi.Context, args *GetInstanceArgs) (*GetInstanceResult, error)

Get information about a VM instance resource within GCE. For more information see [the official documentation](https://cloud.google.com/compute/docs/instances) and [API](https://cloud.google.com/compute/docs/reference/latest/instances).

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/d/compute_instance.html.markdown.

type GetLBIPRangesResult

type GetLBIPRangesResult struct {
	// The IP ranges used for health checks when **HTTP(S), SSL proxy, TCP proxy, and Internal load balancing** is used
	HttpSslTcpInternals interface{}
	// The IP ranges used for health checks when **Network load balancing** is used
	Networks interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getLBIPRanges.

type GetNetblockIPRangesArgs added in v1.1.0

type GetNetblockIPRangesArgs struct {
	// The type of range for which to provide results.
	RangeType interface{}
}

A collection of arguments for invoking getNetblockIPRanges.

type GetNetblockIPRangesResult added in v0.15.0

type GetNetblockIPRangesResult struct {
	// Retrieve list of all CIDR blocks.
	CidrBlocks interface{}
	// Retrieve list of the IPv4 CIDR blocks
	CidrBlocksIpv4s interface{}
	// Retrieve list of the IPv6 CIDR blocks, if available.
	CidrBlocksIpv6s interface{}
	RangeType       interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getNetblockIPRanges.

func LookupNetblockIPRanges added in v0.15.0

func LookupNetblockIPRanges(ctx *pulumi.Context, args *GetNetblockIPRangesArgs) (*GetNetblockIPRangesResult, error)

Use this data source to get the IP addresses from different special IP ranges on Google Cloud Platform.

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/d/netblock_ip_ranges.html.markdown.

type GetNetworkArgs

type GetNetworkArgs struct {
	// The name of the network.
	Name interface{}
	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
}

A collection of arguments for invoking getNetwork.

type GetNetworkEndpointGroupArgs added in v1.1.0

type GetNetworkEndpointGroupArgs struct {
	Name     interface{}
	SelfLink interface{}
	Zone     interface{}
}

A collection of arguments for invoking getNetworkEndpointGroup.

type GetNetworkEndpointGroupResult added in v1.1.0

type GetNetworkEndpointGroupResult struct {
	DefaultPort         interface{}
	Description         interface{}
	Name                interface{}
	Network             interface{}
	NetworkEndpointType interface{}
	Project             interface{}
	SelfLink            interface{}
	Size                interface{}
	Subnetwork          interface{}
	Zone                interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getNetworkEndpointGroup.

func LookupNetworkEndpointGroup added in v1.1.0

func LookupNetworkEndpointGroup(ctx *pulumi.Context, args *GetNetworkEndpointGroupArgs) (*GetNetworkEndpointGroupResult, error)

type GetNetworkResult

type GetNetworkResult struct {
	// Description of this network.
	Description interface{}
	// The IP address of the gateway.
	GatewayIpv4 interface{}
	Name        interface{}
	Project     interface{}
	// The URI of the resource.
	SelfLink interface{}
	// the list of subnetworks which belong to the network
	SubnetworksSelfLinks interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getNetwork.

type GetNodeTypesArgs added in v0.18.6

type GetNodeTypesArgs struct {
	// ID of the project to list available node types for.
	// Should match the project the nodes of this type will be deployed to.
	// Defaults to the project that the provider is authenticated with.
	Project interface{}
	// The zone to list node types for. Should be in zone of intended node groups and region of referencing node template. If `zone` is not specified, the provider-level zone must be set and is used
	// instead.
	Zone interface{}
}

A collection of arguments for invoking getNodeTypes.

type GetNodeTypesResult added in v0.18.6

type GetNodeTypesResult struct {
	// A list of node types available in the given zone and project.
	Names   interface{}
	Project interface{}
	Zone    interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getNodeTypes.

func LookupNodeTypes added in v0.18.6

func LookupNodeTypes(ctx *pulumi.Context, args *GetNodeTypesArgs) (*GetNodeTypesResult, error)

Provides available node types for Compute Engine sole-tenant nodes in a zone for a given project. For more information, see [the official documentation](https://cloud.google.com/compute/docs/nodes/#types) and [API](https://cloud.google.com/compute/docs/reference/rest/v1/nodeTypes).

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/d/compute_node_types.html.markdown.

type GetRegionInstanceGroupArgs

type GetRegionInstanceGroupArgs struct {
	// The name of the instance group.  One of `name` or `selfLink` must be provided.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If `selfLink` is provided, this value is ignored.  If neither `selfLink`
	// nor `project` are provided, the provider project is used.
	Project interface{}
	// The region in which the resource belongs.  If `selfLink`
	// is provided, this value is ignored.  If neither `selfLink` nor `region` are
	// provided, the provider region is used.
	Region interface{}
	// The link to the instance group.  One of `name` or `selfLink` must be provided.
	SelfLink interface{}
}

A collection of arguments for invoking getRegionInstanceGroup.

type GetRegionInstanceGroupResult

type GetRegionInstanceGroupResult struct {
	// List of instances in the group, as a list of resources, each containing:
	Instances interface{}
	// String port name
	Name     interface{}
	Project  interface{}
	Region   interface{}
	SelfLink interface{}
	// The number of instances in the group.
	Size interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getRegionInstanceGroup.

func LookupRegionInstanceGroup

func LookupRegionInstanceGroup(ctx *pulumi.Context, args *GetRegionInstanceGroupArgs) (*GetRegionInstanceGroupResult, error)

Get a Compute Region Instance Group within GCE. For more information, see [the official documentation](https://cloud.google.com/compute/docs/instance-groups/distributing-instances-with-regional-instance-groups) and [API](https://cloud.google.com/compute/docs/reference/latest/regionInstanceGroups).

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

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/d/compute_region_instance_group.html.markdown.

type GetRegionsArgs added in v0.15.0

type GetRegionsArgs struct {
	// Project from which to list available regions. Defaults to project declared in the provider.
	Project interface{}
	// Allows to filter list of regions based on their current status. Status can be either `UP` or `DOWN`.
	// Defaults to no filtering (all available regions - both `UP` and `DOWN`).
	Status interface{}
}

A collection of arguments for invoking getRegions.

type GetRegionsResult added in v0.15.0

type GetRegionsResult struct {
	// A list of regions available in the given project
	Names   interface{}
	Project interface{}
	Status  interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getRegions.

func LookupRegions added in v0.15.0

func LookupRegions(ctx *pulumi.Context, args *GetRegionsArgs) (*GetRegionsResult, error)

Provides access to available Google Compute regions for a given project. See more about [regions and regions](https://cloud.google.com/compute/docs/regions-zones/) in the upstream docs.

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/d/compute_regions.html.markdown.

type GetResourcePolicyArgs added in v1.4.0

type GetResourcePolicyArgs struct {
	// The name of the Resource Policy.
	Name interface{}
	// Project from which to list the Resource Policy. Defaults to project declared in the provider.
	Project interface{}
	// Region where the Resource Policy resides.
	Region interface{}
}

A collection of arguments for invoking getResourcePolicy.

type GetResourcePolicyResult added in v1.4.0

type GetResourcePolicyResult struct {
	// Description of this Resource Policy.
	Description interface{}
	Name        interface{}
	Project     interface{}
	Region      interface{}
	// The URI of the resource.
	SelfLink interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getResourcePolicy.

type GetRouterArgs added in v1.6.0

type GetRouterArgs struct {
	Name    interface{}
	Network interface{}
	Project interface{}
	Region  interface{}
}

A collection of arguments for invoking getRouter.

type GetRouterResult added in v1.6.0

type GetRouterResult struct {
	Bgps              interface{}
	CreationTimestamp interface{}
	Description       interface{}
	Name              interface{}
	Network           interface{}
	Project           interface{}
	Region            interface{}
	SelfLink          interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getRouter.

func LookupRouter added in v1.6.0

func LookupRouter(ctx *pulumi.Context, args *GetRouterArgs) (*GetRouterResult, error)

type GetSSLPolicyArgs added in v0.15.0

type GetSSLPolicyArgs struct {
	// The name of the SSL Policy.
	Name interface{}
	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
}

A collection of arguments for invoking getSSLPolicy.

type GetSSLPolicyResult added in v0.15.0

type GetSSLPolicyResult struct {
	CreationTimestamp interface{}
	// 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.
	CustomFeatures interface{}
	// Description of this SSL Policy.
	Description interface{}
	// The set of enabled encryption ciphers as a result of the policy config
	EnabledFeatures interface{}
	// Fingerprint of this resource.
	Fingerprint interface{}
	// The minimum supported TLS version of this policy.
	MinTlsVersion interface{}
	Name          interface{}
	// The Google-curated or custom profile used by this policy.
	Profile interface{}
	Project interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getSSLPolicy.

func LookupSSLPolicy added in v0.15.0

func LookupSSLPolicy(ctx *pulumi.Context, args *GetSSLPolicyArgs) (*GetSSLPolicyResult, error)

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](https://cloud.google.com/compute/docs/load-balancing/ssl-policies).

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/d/compute_ssl_policy.html.markdown.

type GetSubnetworkArgs

type GetSubnetworkArgs struct {
	// The name of the subnetwork. One of `name` or `selfLink`
	// must be specified.
	Name interface{}
	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// The region this subnetwork has been created in. If
	// unspecified, this defaults to the region configured in the provider.
	Region interface{}
	// The self link of the subnetwork. If `selfLink` is
	// specified, `name`, `project`, and `region` are ignored.
	SelfLink interface{}
}

A collection of arguments for invoking getSubnetwork.

type GetSubnetworkResult

type GetSubnetworkResult struct {
	// Description of this subnetwork.
	Description interface{}
	// The IP address of the gateway.
	GatewayAddress interface{}
	// The range of IP addresses belonging to this subnetwork
	// secondary range.
	IpCidrRange interface{}
	Name        interface{}
	// The network name or resource link to the parent
	// network of this subnetwork.
	Network interface{}
	// Whether the VMs in this subnet
	// can access Google services without assigned external IP
	// addresses.
	PrivateIpGoogleAccess interface{}
	Project               interface{}
	Region                interface{}
	// An array of configurations for secondary IP ranges for
	// VM instances contained in this subnetwork. Structure is documented below.
	SecondaryIpRanges interface{}
	SelfLink          interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getSubnetwork.

func LookupSubnetwork

func LookupSubnetwork(ctx *pulumi.Context, args *GetSubnetworkArgs) (*GetSubnetworkResult, error)

Get a subnetwork within GCE from its name and region.

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/d/compute_subnetwork.html.markdown.

type GetVPNGatewayArgs

type GetVPNGatewayArgs struct {
	// The name of the VPN gateway.
	Name interface{}
	// The project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// The region in which the resource belongs. If it
	// is not provided, the project region is used.
	Region interface{}
}

A collection of arguments for invoking getVPNGateway.

type GetVPNGatewayResult

type GetVPNGatewayResult struct {
	// Description of this VPN gateway.
	Description interface{}
	Name        interface{}
	// The network of this VPN gateway.
	Network interface{}
	Project interface{}
	// Region of this VPN gateway.
	Region interface{}
	// The URI of the resource.
	SelfLink interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getVPNGateway.

type GetZonesArgs

type GetZonesArgs struct {
	// Project from which to list available zones. Defaults to project declared in the provider.
	Project interface{}
	// Region from which to list available zones. Defaults to region declared in the provider.
	Region interface{}
	// Allows to filter list of zones based on their current status. Status can be either `UP` or `DOWN`.
	// Defaults to no filtering (all available zones - both `UP` and `DOWN`).
	Status interface{}
}

A collection of arguments for invoking getZones.

type GetZonesResult

type GetZonesResult struct {
	// A list of zones available in the given region
	Names   interface{}
	Project interface{}
	Region  interface{}
	Status  interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getZones.

func LookupZones

func LookupZones(ctx *pulumi.Context, args *GetZonesArgs) (*GetZonesResult, error)

Provides access to available Google Compute zones in a region for a given project. See more about [regions and zones](https://cloud.google.com/compute/docs/regions-zones/regions-zones) in the upstream docs.

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/d/compute_zones.html.markdown.

type GlobalAddress

type GlobalAddress struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_global_address.html.markdown.

func GetGlobalAddress

func GetGlobalAddress(ctx *pulumi.Context,
	name string, id pulumi.ID, state *GlobalAddressState, opts ...pulumi.ResourceOpt) (*GlobalAddress, error)

GetGlobalAddress gets an existing GlobalAddress resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewGlobalAddress

func NewGlobalAddress(ctx *pulumi.Context,
	name string, args *GlobalAddressArgs, opts ...pulumi.ResourceOpt) (*GlobalAddress, error)

NewGlobalAddress registers a new resource with the given unique name, arguments, and options.

func (*GlobalAddress) Address

func (r *GlobalAddress) Address() pulumi.StringOutput

The IP address or beginning of the address range represented by this resource. This can be supplied as an input to reserve a specific address or omitted to allow GCP to choose a valid one for you.

func (*GlobalAddress) AddressType added in v0.16.1

func (r *GlobalAddress) AddressType() pulumi.StringOutput

The type of the address to reserve, default is EXTERNAL. * EXTERNAL indicates public/external single IP address. * INTERNAL indicates internal IP ranges belonging to some network.

func (*GlobalAddress) CreationTimestamp

func (r *GlobalAddress) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*GlobalAddress) Description

func (r *GlobalAddress) Description() pulumi.StringOutput

An optional description of this resource.

func (*GlobalAddress) ID

func (r *GlobalAddress) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*GlobalAddress) IpVersion

func (r *GlobalAddress) IpVersion() pulumi.StringOutput

The IP Version that will be used by this address. Valid options are 'IPV4' or 'IPV6'. The default value is 'IPV4'.

func (*GlobalAddress) LabelFingerprint added in v0.16.0

func (r *GlobalAddress) LabelFingerprint() pulumi.StringOutput

The fingerprint used for optimistic locking of this resource. Used internally during updates.

func (*GlobalAddress) Labels added in v0.16.0

func (r *GlobalAddress) Labels() pulumi.MapOutput

Labels to apply to this address. A list of key->value pairs.

func (*GlobalAddress) Name

func (r *GlobalAddress) Name() pulumi.StringOutput

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*GlobalAddress) Network added in v0.16.1

func (r *GlobalAddress) Network() pulumi.StringOutput

The URL of the network in which to reserve the IP range. The IP range must be in RFC1918 space. The network cannot be deleted if there are any reserved IP ranges referring to it. This should only be set when using an Internal address.

func (*GlobalAddress) PrefixLength added in v0.16.1

func (r *GlobalAddress) PrefixLength() pulumi.IntOutput

The prefix length of the IP range. If not present, it means the address field is a single IP address. This field is not applicable to addresses with addressType=EXTERNAL.

func (*GlobalAddress) Project

func (r *GlobalAddress) Project() pulumi.StringOutput

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

func (*GlobalAddress) Purpose added in v0.16.1

func (r *GlobalAddress) Purpose() pulumi.StringOutput

The purpose of the resource. For global internal addresses it can be * VPC_PEERING - for peer networks This should only be set when using an Internal address.

func (r *GlobalAddress) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*GlobalAddress) URN

func (r *GlobalAddress) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type GlobalAddressArgs

type GlobalAddressArgs struct {
	// The IP address or beginning of the address range represented by this resource. This can be supplied as an input to
	// reserve a specific address or omitted to allow GCP to choose a valid one for you.
	Address interface{}
	// The type of the address to reserve, default is EXTERNAL. * EXTERNAL indicates public/external single IP address. *
	// INTERNAL indicates internal IP ranges belonging to some network.
	AddressType interface{}
	// An optional description of this resource.
	Description interface{}
	// The IP Version that will be used by this address. Valid options are 'IPV4' or 'IPV6'. The default value is 'IPV4'.
	IpVersion interface{}
	// Labels to apply to this address. A list of key->value pairs.
	Labels interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The URL of the network in which to reserve the IP range. The IP range must be in RFC1918 space. The network cannot be
	// deleted if there are any reserved IP ranges referring to it. This should only be set when using an Internal address.
	Network interface{}
	// The prefix length of the IP range. If not present, it means the address field is a single IP address. This field is not
	// applicable to addresses with addressType=EXTERNAL.
	PrefixLength interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The purpose of the resource. For global internal addresses it can be * VPC_PEERING - for peer networks This should only
	// be set when using an Internal address.
	Purpose interface{}
}

The set of arguments for constructing a GlobalAddress resource.

type GlobalAddressState

type GlobalAddressState struct {
	// The IP address or beginning of the address range represented by this resource. This can be supplied as an input to
	// reserve a specific address or omitted to allow GCP to choose a valid one for you.
	Address interface{}
	// The type of the address to reserve, default is EXTERNAL. * EXTERNAL indicates public/external single IP address. *
	// INTERNAL indicates internal IP ranges belonging to some network.
	AddressType interface{}
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// An optional description of this resource.
	Description interface{}
	// The IP Version that will be used by this address. Valid options are 'IPV4' or 'IPV6'. The default value is 'IPV4'.
	IpVersion interface{}
	// The fingerprint used for optimistic locking of this resource. Used internally during updates.
	LabelFingerprint interface{}
	// Labels to apply to this address. A list of key->value pairs.
	Labels interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The URL of the network in which to reserve the IP range. The IP range must be in RFC1918 space. The network cannot be
	// deleted if there are any reserved IP ranges referring to it. This should only be set when using an Internal address.
	Network interface{}
	// The prefix length of the IP range. If not present, it means the address field is a single IP address. This field is not
	// applicable to addresses with addressType=EXTERNAL.
	PrefixLength interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The purpose of the resource. For global internal addresses it can be * VPC_PEERING - for peer networks This should only
	// be set when using an Internal address.
	Purpose interface{}
	// The URI of the created resource.
	SelfLink interface{}
}

Input properties used for looking up and filtering GlobalAddress resources.

type GlobalForwardingRule

type GlobalForwardingRule struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_global_forwarding_rule.html.markdown.

func GetGlobalForwardingRule

func GetGlobalForwardingRule(ctx *pulumi.Context,
	name string, id pulumi.ID, state *GlobalForwardingRuleState, opts ...pulumi.ResourceOpt) (*GlobalForwardingRule, error)

GetGlobalForwardingRule gets an existing GlobalForwardingRule resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewGlobalForwardingRule

func NewGlobalForwardingRule(ctx *pulumi.Context,
	name string, args *GlobalForwardingRuleArgs, opts ...pulumi.ResourceOpt) (*GlobalForwardingRule, error)

NewGlobalForwardingRule registers a new resource with the given unique name, arguments, and options.

func (*GlobalForwardingRule) Description

func (r *GlobalForwardingRule) Description() pulumi.StringOutput

An optional description of this resource. Provide this property when you create the resource.

func (*GlobalForwardingRule) ID

ID is this resource's unique identifier assigned by its provider.

func (*GlobalForwardingRule) IpAddress

func (r *GlobalForwardingRule) IpAddress() pulumi.StringOutput

The IP address that this forwarding rule is serving on behalf of. Addresses are restricted based on the forwarding rule's load balancing scheme (EXTERNAL or INTERNAL) and scope (global or regional). When the load balancing scheme is EXTERNAL, for global forwarding rules, the address must be a global IP, and for regional forwarding rules, the address must live in the same region as the forwarding rule. If this field is empty, an ephemeral IPv4 address from the same scope (global or regional) will be assigned. A regional forwarding rule supports IPv4 only. A global forwarding rule supports either IPv4 or IPv6. When the load balancing scheme is INTERNAL, this can only be an RFC 1918 IP address belonging to the network/subnet configured for the forwarding rule. By default, if this field is empty, an ephemeral internal IP address will be automatically allocated from the IP range of the subnet or network configured for this forwarding rule. ~> **NOTE** The address should be specified as a literal IP address, e.g. '100.1.2.3' to avoid a permanent diff, as the server returns the IP address regardless of the input value. The server accepts a literal IP address or a URL reference to an existing Address resource. The following examples are all valid but only the first will prevent a permadiff. If you are using 'google_compute_address' or similar, interpolate using '.address' instead of '.self_link' or similar to prevent a diff on re-apply.

func (*GlobalForwardingRule) IpProtocol

func (r *GlobalForwardingRule) IpProtocol() pulumi.StringOutput

The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP, AH, SCTP or ICMP. When the load balancing scheme is INTERNAL_SELF_MANAGED, only TCP is valid.

func (*GlobalForwardingRule) IpVersion

func (r *GlobalForwardingRule) IpVersion() pulumi.StringOutput

The IP Version that will be used by this global forwarding rule. Valid options are IPV4 or IPV6.

func (*GlobalForwardingRule) LabelFingerprint

func (r *GlobalForwardingRule) LabelFingerprint() pulumi.StringOutput

The fingerprint used for optimistic locking of this resource. Used internally during updates.

func (*GlobalForwardingRule) Labels

Labels to apply to this forwarding rule. A list of key->value pairs.

func (*GlobalForwardingRule) LoadBalancingScheme added in v0.18.7

func (r *GlobalForwardingRule) LoadBalancingScheme() pulumi.StringOutput

This signifies what the GlobalForwardingRule will be used for. The value of INTERNAL_SELF_MANAGED means that this will be used for Internal Global HTTP(S) LB. The value of EXTERNAL means that this will be used for External Global Load Balancing (HTTP(S) LB, External TCP/UDP LB, SSL Proxy) NOTE: Currently global forwarding rules cannot be used for INTERNAL load balancing.

func (*GlobalForwardingRule) MetadataFilters added in v1.2.0

func (r *GlobalForwardingRule) MetadataFilters() pulumi.ArrayOutput

Opaque filter criteria used by Loadbalancer to restrict routing configuration to a limited set xDS compliant clients. In their xDS requests to Loadbalancer, xDS clients present node metadata. If a match takes place, the relevant routing configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels in the provided metadata. metadataFilters specified here can be overridden by those specified in the UrlMap that this ForwardingRule references. metadataFilters only applies to Loadbalancers that have their loadBalancingScheme set to INTERNAL_SELF_MANAGED.

func (*GlobalForwardingRule) Name

Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*GlobalForwardingRule) Network added in v0.18.7

This field is not used for external load balancing. For INTERNAL_SELF_MANAGED load balancing, this field identifies the network that the load balanced IP should belong to for this global forwarding rule. If this field is not specified, the default network will be used.

func (*GlobalForwardingRule) PortRange

func (r *GlobalForwardingRule) PortRange() pulumi.StringOutput

This field is used along with the target field for TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool, TargetInstance. Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets addressed to ports in the specified range will be forwarded to target. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges. Some types of forwarding target have constraints on the acceptable ports: * TargetHttpProxy: 80, 8080 * TargetHttpsProxy: 443 * TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 5222 * TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 5222 * TargetVpnGateway: 500, 4500

func (*GlobalForwardingRule) Project

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.

func (*GlobalForwardingRule) Target

The URL of the target resource to receive the matched traffic. The forwarded traffic must be of a type appropriate to the target object. For INTERNAL_SELF_MANAGED load balancing, only HTTP and HTTPS targets are valid.

func (*GlobalForwardingRule) URN

URN is this resource's unique name assigned by Pulumi.

type GlobalForwardingRuleArgs

type GlobalForwardingRuleArgs struct {
	// An optional description of this resource. Provide this property when you create the resource.
	Description interface{}
	// The IP address that this forwarding rule is serving on behalf of. Addresses are restricted based on the forwarding
	// rule's load balancing scheme (EXTERNAL or INTERNAL) and scope (global or regional). When the load balancing scheme is
	// EXTERNAL, for global forwarding rules, the address must be a global IP, and for regional forwarding rules, the address
	// must live in the same region as the forwarding rule. If this field is empty, an ephemeral IPv4 address from the same
	// scope (global or regional) will be assigned. A regional forwarding rule supports IPv4 only. A global forwarding rule
	// supports either IPv4 or IPv6. When the load balancing scheme is INTERNAL, this can only be an RFC 1918 IP address
	// belonging to the network/subnet configured for the forwarding rule. By default, if this field is empty, an ephemeral
	// internal IP address will be automatically allocated from the IP range of the subnet or network configured for this
	// forwarding rule. ~> **NOTE** The address should be specified as a literal IP address, e.g. '100.1.2.3' to avoid a
	// permanent diff, as the server returns the IP address regardless of the input value. The server accepts a literal IP
	// address or a URL reference to an existing Address resource. The following examples are all valid but only the first
	// will prevent a permadiff. If you are using 'google_compute_address' or similar, interpolate using '.address' instead of
	// '.self_link' or similar to prevent a diff on re-apply.
	IpAddress interface{}
	// The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP, AH, SCTP or ICMP. When the load balancing
	// scheme is INTERNAL_SELF_MANAGED, only TCP is valid.
	IpProtocol interface{}
	// The IP Version that will be used by this global forwarding rule. Valid options are IPV4 or IPV6.
	IpVersion interface{}
	// Labels to apply to this forwarding rule. A list of key->value pairs.
	Labels interface{}
	// This signifies what the GlobalForwardingRule will be used for. The value of INTERNAL_SELF_MANAGED means that this will
	// be used for Internal Global HTTP(S) LB. The value of EXTERNAL means that this will be used for External Global Load
	// Balancing (HTTP(S) LB, External TCP/UDP LB, SSL Proxy) NOTE: Currently global forwarding rules cannot be used for
	// INTERNAL load balancing.
	LoadBalancingScheme interface{}
	// Opaque filter criteria used by Loadbalancer to restrict routing configuration to a limited set xDS compliant clients.
	// In their xDS requests to Loadbalancer, xDS clients present node metadata. If a match takes place, the relevant routing
	// configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is
	// set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its
	// filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels in the
	// provided metadata. metadataFilters specified here can be overridden by those specified in the UrlMap that this
	// ForwardingRule references. metadataFilters only applies to Loadbalancers that have their loadBalancingScheme set to
	// INTERNAL_SELF_MANAGED.
	MetadataFilters interface{}
	// Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// This field is not used for external load balancing. For INTERNAL_SELF_MANAGED load balancing, this field identifies the
	// network that the load balanced IP should belong to for this global forwarding rule. If this field is not specified, the
	// default network will be used.
	Network interface{}
	// This field is used along with the target field for TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy,
	// TargetVpnGateway, TargetPool, TargetInstance. Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets
	// addressed to ports in the specified range will be forwarded to target. Forwarding rules with the same [IPAddress,
	// IPProtocol] pair must have disjoint port ranges. Some types of forwarding target have constraints on the acceptable
	// ports: * TargetHttpProxy: 80, 8080 * TargetHttpsProxy: 443 * TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700,
	// 993, 995, 1883, 5222 * TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 5222 *
	// TargetVpnGateway: 500, 4500
	PortRange interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The URL of the target resource to receive the matched traffic. The forwarded traffic must be of a type appropriate to
	// the target object. For INTERNAL_SELF_MANAGED load balancing, only HTTP and HTTPS targets are valid.
	Target interface{}
}

The set of arguments for constructing a GlobalForwardingRule resource.

type GlobalForwardingRuleState

type GlobalForwardingRuleState struct {
	// An optional description of this resource. Provide this property when you create the resource.
	Description interface{}
	// The IP address that this forwarding rule is serving on behalf of. Addresses are restricted based on the forwarding
	// rule's load balancing scheme (EXTERNAL or INTERNAL) and scope (global or regional). When the load balancing scheme is
	// EXTERNAL, for global forwarding rules, the address must be a global IP, and for regional forwarding rules, the address
	// must live in the same region as the forwarding rule. If this field is empty, an ephemeral IPv4 address from the same
	// scope (global or regional) will be assigned. A regional forwarding rule supports IPv4 only. A global forwarding rule
	// supports either IPv4 or IPv6. When the load balancing scheme is INTERNAL, this can only be an RFC 1918 IP address
	// belonging to the network/subnet configured for the forwarding rule. By default, if this field is empty, an ephemeral
	// internal IP address will be automatically allocated from the IP range of the subnet or network configured for this
	// forwarding rule. ~> **NOTE** The address should be specified as a literal IP address, e.g. '100.1.2.3' to avoid a
	// permanent diff, as the server returns the IP address regardless of the input value. The server accepts a literal IP
	// address or a URL reference to an existing Address resource. The following examples are all valid but only the first
	// will prevent a permadiff. If you are using 'google_compute_address' or similar, interpolate using '.address' instead of
	// '.self_link' or similar to prevent a diff on re-apply.
	IpAddress interface{}
	// The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP, AH, SCTP or ICMP. When the load balancing
	// scheme is INTERNAL_SELF_MANAGED, only TCP is valid.
	IpProtocol interface{}
	// The IP Version that will be used by this global forwarding rule. Valid options are IPV4 or IPV6.
	IpVersion interface{}
	// The fingerprint used for optimistic locking of this resource. Used internally during updates.
	LabelFingerprint interface{}
	// Labels to apply to this forwarding rule. A list of key->value pairs.
	Labels interface{}
	// This signifies what the GlobalForwardingRule will be used for. The value of INTERNAL_SELF_MANAGED means that this will
	// be used for Internal Global HTTP(S) LB. The value of EXTERNAL means that this will be used for External Global Load
	// Balancing (HTTP(S) LB, External TCP/UDP LB, SSL Proxy) NOTE: Currently global forwarding rules cannot be used for
	// INTERNAL load balancing.
	LoadBalancingScheme interface{}
	// Opaque filter criteria used by Loadbalancer to restrict routing configuration to a limited set xDS compliant clients.
	// In their xDS requests to Loadbalancer, xDS clients present node metadata. If a match takes place, the relevant routing
	// configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is
	// set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its
	// filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels in the
	// provided metadata. metadataFilters specified here can be overridden by those specified in the UrlMap that this
	// ForwardingRule references. metadataFilters only applies to Loadbalancers that have their loadBalancingScheme set to
	// INTERNAL_SELF_MANAGED.
	MetadataFilters interface{}
	// Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// This field is not used for external load balancing. For INTERNAL_SELF_MANAGED load balancing, this field identifies the
	// network that the load balanced IP should belong to for this global forwarding rule. If this field is not specified, the
	// default network will be used.
	Network interface{}
	// This field is used along with the target field for TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy,
	// TargetVpnGateway, TargetPool, TargetInstance. Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets
	// addressed to ports in the specified range will be forwarded to target. Forwarding rules with the same [IPAddress,
	// IPProtocol] pair must have disjoint port ranges. Some types of forwarding target have constraints on the acceptable
	// ports: * TargetHttpProxy: 80, 8080 * TargetHttpsProxy: 443 * TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700,
	// 993, 995, 1883, 5222 * TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 5222 *
	// TargetVpnGateway: 500, 4500
	PortRange interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// The URL of the target resource to receive the matched traffic. The forwarded traffic must be of a type appropriate to
	// the target object. For INTERNAL_SELF_MANAGED load balancing, only HTTP and HTTPS targets are valid.
	Target interface{}
}

Input properties used for looking up and filtering GlobalForwardingRule resources.

type HaVpnGateway added in v0.18.7

type HaVpnGateway struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_ha_vpn_gateway.html.markdown.

func GetHaVpnGateway added in v0.18.7

func GetHaVpnGateway(ctx *pulumi.Context,
	name string, id pulumi.ID, state *HaVpnGatewayState, opts ...pulumi.ResourceOpt) (*HaVpnGateway, error)

GetHaVpnGateway gets an existing HaVpnGateway resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewHaVpnGateway added in v0.18.7

func NewHaVpnGateway(ctx *pulumi.Context,
	name string, args *HaVpnGatewayArgs, opts ...pulumi.ResourceOpt) (*HaVpnGateway, error)

NewHaVpnGateway registers a new resource with the given unique name, arguments, and options.

func (*HaVpnGateway) Description added in v0.18.7

func (r *HaVpnGateway) Description() pulumi.StringOutput

An optional description of this resource.

func (*HaVpnGateway) ID added in v0.18.7

func (r *HaVpnGateway) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*HaVpnGateway) Name added in v0.18.7

func (r *HaVpnGateway) Name() pulumi.StringOutput

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*HaVpnGateway) Network added in v0.18.7

func (r *HaVpnGateway) Network() pulumi.StringOutput

The network this VPN gateway is accepting traffic for.

func (*HaVpnGateway) Project added in v0.18.7

func (r *HaVpnGateway) Project() pulumi.StringOutput

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

func (*HaVpnGateway) Region added in v0.18.7

func (r *HaVpnGateway) Region() pulumi.StringOutput

The region this gateway should sit in.

func (r *HaVpnGateway) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*HaVpnGateway) URN added in v0.18.7

func (r *HaVpnGateway) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*HaVpnGateway) VpnInterfaces added in v0.18.7

func (r *HaVpnGateway) VpnInterfaces() pulumi.ArrayOutput

A list of interfaces on this VPN gateway.

type HaVpnGatewayArgs added in v0.18.7

type HaVpnGatewayArgs struct {
	// An optional description of this resource.
	Description interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The network this VPN gateway is accepting traffic for.
	Network interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The region this gateway should sit in.
	Region interface{}
}

The set of arguments for constructing a HaVpnGateway resource.

type HaVpnGatewayState added in v0.18.7

type HaVpnGatewayState struct {
	// An optional description of this resource.
	Description interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The network this VPN gateway is accepting traffic for.
	Network interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The region this gateway should sit in.
	Region interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// A list of interfaces on this VPN gateway.
	VpnInterfaces interface{}
}

Input properties used for looking up and filtering HaVpnGateway resources.

type HealthCheck

type HealthCheck struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_health_check.html.markdown.

func GetHealthCheck

func GetHealthCheck(ctx *pulumi.Context,
	name string, id pulumi.ID, state *HealthCheckState, opts ...pulumi.ResourceOpt) (*HealthCheck, error)

GetHealthCheck gets an existing HealthCheck resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewHealthCheck

func NewHealthCheck(ctx *pulumi.Context,
	name string, args *HealthCheckArgs, opts ...pulumi.ResourceOpt) (*HealthCheck, error)

NewHealthCheck registers a new resource with the given unique name, arguments, and options.

func (*HealthCheck) CheckIntervalSec

func (r *HealthCheck) CheckIntervalSec() pulumi.IntOutput

How often (in seconds) to send a health check. The default value is 5 seconds.

func (*HealthCheck) CreationTimestamp added in v0.16.0

func (r *HealthCheck) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*HealthCheck) Description

func (r *HealthCheck) Description() pulumi.StringOutput

An optional description of this resource. Provide this property when you create the resource.

func (*HealthCheck) HealthyThreshold

func (r *HealthCheck) HealthyThreshold() pulumi.IntOutput

A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2.

func (*HealthCheck) Http2HealthCheck added in v1.2.0

func (r *HealthCheck) Http2HealthCheck() pulumi.Output

A nested object resource

func (*HealthCheck) HttpHealthCheck

func (r *HealthCheck) HttpHealthCheck() pulumi.Output

A nested object resource

func (*HealthCheck) HttpsHealthCheck

func (r *HealthCheck) HttpsHealthCheck() pulumi.Output

A nested object resource

func (*HealthCheck) ID

func (r *HealthCheck) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*HealthCheck) Name

func (r *HealthCheck) Name() pulumi.StringOutput

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*HealthCheck) Project

func (r *HealthCheck) Project() pulumi.StringOutput

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

func (r *HealthCheck) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*HealthCheck) SslHealthCheck

func (r *HealthCheck) SslHealthCheck() pulumi.Output

A nested object resource

func (*HealthCheck) TcpHealthCheck

func (r *HealthCheck) TcpHealthCheck() pulumi.Output

A nested object resource

func (*HealthCheck) TimeoutSec

func (r *HealthCheck) TimeoutSec() pulumi.IntOutput

How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to have greater value than checkIntervalSec.

func (*HealthCheck) Type added in v0.16.0

func (r *HealthCheck) Type() pulumi.StringOutput

The type of the health check. One of HTTP, HTTPS, TCP, or SSL.

func (*HealthCheck) URN

func (r *HealthCheck) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*HealthCheck) UnhealthyThreshold

func (r *HealthCheck) UnhealthyThreshold() pulumi.IntOutput

A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2.

type HealthCheckArgs

type HealthCheckArgs struct {
	// How often (in seconds) to send a health check. The default value is 5 seconds.
	CheckIntervalSec interface{}
	// An optional description of this resource. Provide this property when you create the resource.
	Description interface{}
	// A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2.
	HealthyThreshold interface{}
	// A nested object resource
	Http2HealthCheck interface{}
	// A nested object resource
	HttpHealthCheck interface{}
	// A nested object resource
	HttpsHealthCheck interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// A nested object resource
	SslHealthCheck interface{}
	// A nested object resource
	TcpHealthCheck interface{}
	// How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to
	// have greater value than checkIntervalSec.
	TimeoutSec interface{}
	// A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2.
	UnhealthyThreshold interface{}
}

The set of arguments for constructing a HealthCheck resource.

type HealthCheckState

type HealthCheckState struct {
	// How often (in seconds) to send a health check. The default value is 5 seconds.
	CheckIntervalSec interface{}
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// An optional description of this resource. Provide this property when you create the resource.
	Description interface{}
	// A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2.
	HealthyThreshold interface{}
	// A nested object resource
	Http2HealthCheck interface{}
	// A nested object resource
	HttpHealthCheck interface{}
	// A nested object resource
	HttpsHealthCheck interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// A nested object resource
	SslHealthCheck interface{}
	// A nested object resource
	TcpHealthCheck interface{}
	// How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to
	// have greater value than checkIntervalSec.
	TimeoutSec interface{}
	// The type of the health check. One of HTTP, HTTPS, TCP, or SSL.
	Type interface{}
	// A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2.
	UnhealthyThreshold interface{}
}

Input properties used for looking up and filtering HealthCheck resources.

type HttpHealthCheck

type HttpHealthCheck struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_http_health_check.html.markdown.

func GetHttpHealthCheck

func GetHttpHealthCheck(ctx *pulumi.Context,
	name string, id pulumi.ID, state *HttpHealthCheckState, opts ...pulumi.ResourceOpt) (*HttpHealthCheck, error)

GetHttpHealthCheck gets an existing HttpHealthCheck resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewHttpHealthCheck

func NewHttpHealthCheck(ctx *pulumi.Context,
	name string, args *HttpHealthCheckArgs, opts ...pulumi.ResourceOpt) (*HttpHealthCheck, error)

NewHttpHealthCheck registers a new resource with the given unique name, arguments, and options.

func (*HttpHealthCheck) CheckIntervalSec

func (r *HttpHealthCheck) CheckIntervalSec() pulumi.IntOutput

How often (in seconds) to send a health check. The default value is 5 seconds.

func (*HttpHealthCheck) CreationTimestamp

func (r *HttpHealthCheck) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*HttpHealthCheck) Description

func (r *HttpHealthCheck) Description() pulumi.StringOutput

An optional description of this resource. Provide this property when you create the resource.

func (*HttpHealthCheck) HealthyThreshold

func (r *HttpHealthCheck) HealthyThreshold() pulumi.IntOutput

A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2.

func (*HttpHealthCheck) Host

The value of the host header in the HTTP health check request. If left empty (default value), the public IP on behalf of which this health check is performed will be used.

func (*HttpHealthCheck) ID

ID is this resource's unique identifier assigned by its provider.

func (*HttpHealthCheck) Name

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*HttpHealthCheck) Port

func (r *HttpHealthCheck) Port() pulumi.IntOutput

The TCP port number for the HTTP health check request. The default value is 80.

func (*HttpHealthCheck) Project

func (r *HttpHealthCheck) Project() pulumi.StringOutput

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

func (*HttpHealthCheck) RequestPath

func (r *HttpHealthCheck) RequestPath() pulumi.StringOutput

The request path of the HTTP health check request. The default value is /.

func (r *HttpHealthCheck) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*HttpHealthCheck) TimeoutSec

func (r *HttpHealthCheck) TimeoutSec() pulumi.IntOutput

How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to have greater value than checkIntervalSec.

func (*HttpHealthCheck) URN

func (r *HttpHealthCheck) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*HttpHealthCheck) UnhealthyThreshold

func (r *HttpHealthCheck) UnhealthyThreshold() pulumi.IntOutput

A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2.

type HttpHealthCheckArgs

type HttpHealthCheckArgs struct {
	// How often (in seconds) to send a health check. The default value is 5 seconds.
	CheckIntervalSec interface{}
	// An optional description of this resource. Provide this property when you create the resource.
	Description interface{}
	// A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2.
	HealthyThreshold interface{}
	// The value of the host header in the HTTP health check request. If left empty (default value), the public IP on behalf
	// of which this health check is performed will be used.
	Host interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The TCP port number for the HTTP health check request. The default value is 80.
	Port interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The request path of the HTTP health check request. The default value is /.
	RequestPath interface{}
	// How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to
	// have greater value than checkIntervalSec.
	TimeoutSec interface{}
	// A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2.
	UnhealthyThreshold interface{}
}

The set of arguments for constructing a HttpHealthCheck resource.

type HttpHealthCheckState

type HttpHealthCheckState struct {
	// How often (in seconds) to send a health check. The default value is 5 seconds.
	CheckIntervalSec interface{}
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// An optional description of this resource. Provide this property when you create the resource.
	Description interface{}
	// A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2.
	HealthyThreshold interface{}
	// The value of the host header in the HTTP health check request. If left empty (default value), the public IP on behalf
	// of which this health check is performed will be used.
	Host interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The TCP port number for the HTTP health check request. The default value is 80.
	Port interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The request path of the HTTP health check request. The default value is /.
	RequestPath interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to
	// have greater value than checkIntervalSec.
	TimeoutSec interface{}
	// A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2.
	UnhealthyThreshold interface{}
}

Input properties used for looking up and filtering HttpHealthCheck resources.

type HttpsHealthCheck

type HttpsHealthCheck struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_https_health_check.html.markdown.

func GetHttpsHealthCheck

func GetHttpsHealthCheck(ctx *pulumi.Context,
	name string, id pulumi.ID, state *HttpsHealthCheckState, opts ...pulumi.ResourceOpt) (*HttpsHealthCheck, error)

GetHttpsHealthCheck gets an existing HttpsHealthCheck resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewHttpsHealthCheck

func NewHttpsHealthCheck(ctx *pulumi.Context,
	name string, args *HttpsHealthCheckArgs, opts ...pulumi.ResourceOpt) (*HttpsHealthCheck, error)

NewHttpsHealthCheck registers a new resource with the given unique name, arguments, and options.

func (*HttpsHealthCheck) CheckIntervalSec

func (r *HttpsHealthCheck) CheckIntervalSec() pulumi.IntOutput

How often (in seconds) to send a health check. The default value is 5 seconds.

func (*HttpsHealthCheck) CreationTimestamp

func (r *HttpsHealthCheck) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*HttpsHealthCheck) Description

func (r *HttpsHealthCheck) Description() pulumi.StringOutput

An optional description of this resource. Provide this property when you create the resource.

func (*HttpsHealthCheck) HealthyThreshold

func (r *HttpsHealthCheck) HealthyThreshold() pulumi.IntOutput

A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2.

func (*HttpsHealthCheck) Host

The value of the host header in the HTTPS health check request. If left empty (default value), the public IP on behalf of which this health check is performed will be used.

func (*HttpsHealthCheck) ID

ID is this resource's unique identifier assigned by its provider.

func (*HttpsHealthCheck) Name

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*HttpsHealthCheck) Port

func (r *HttpsHealthCheck) Port() pulumi.IntOutput

The TCP port number for the HTTPS health check request. The default value is 80.

func (*HttpsHealthCheck) Project

func (r *HttpsHealthCheck) Project() pulumi.StringOutput

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

func (*HttpsHealthCheck) RequestPath

func (r *HttpsHealthCheck) RequestPath() pulumi.StringOutput

The request path of the HTTPS health check request. The default value is /.

func (r *HttpsHealthCheck) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*HttpsHealthCheck) TimeoutSec

func (r *HttpsHealthCheck) TimeoutSec() pulumi.IntOutput

How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to have greater value than checkIntervalSec.

func (*HttpsHealthCheck) URN

URN is this resource's unique name assigned by Pulumi.

func (*HttpsHealthCheck) UnhealthyThreshold

func (r *HttpsHealthCheck) UnhealthyThreshold() pulumi.IntOutput

A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2.

type HttpsHealthCheckArgs

type HttpsHealthCheckArgs struct {
	// How often (in seconds) to send a health check. The default value is 5 seconds.
	CheckIntervalSec interface{}
	// An optional description of this resource. Provide this property when you create the resource.
	Description interface{}
	// A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2.
	HealthyThreshold interface{}
	// The value of the host header in the HTTPS health check request. If left empty (default value), the public IP on behalf
	// of which this health check is performed will be used.
	Host interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The TCP port number for the HTTPS health check request. The default value is 80.
	Port interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The request path of the HTTPS health check request. The default value is /.
	RequestPath interface{}
	// How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to
	// have greater value than checkIntervalSec.
	TimeoutSec interface{}
	// A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2.
	UnhealthyThreshold interface{}
}

The set of arguments for constructing a HttpsHealthCheck resource.

type HttpsHealthCheckState

type HttpsHealthCheckState struct {
	// How often (in seconds) to send a health check. The default value is 5 seconds.
	CheckIntervalSec interface{}
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// An optional description of this resource. Provide this property when you create the resource.
	Description interface{}
	// A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2.
	HealthyThreshold interface{}
	// The value of the host header in the HTTPS health check request. If left empty (default value), the public IP on behalf
	// of which this health check is performed will be used.
	Host interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The TCP port number for the HTTPS health check request. The default value is 80.
	Port interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The request path of the HTTPS health check request. The default value is /.
	RequestPath interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to
	// have greater value than checkIntervalSec.
	TimeoutSec interface{}
	// A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2.
	UnhealthyThreshold interface{}
}

Input properties used for looking up and filtering HttpsHealthCheck resources.

type Image

type Image struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_image.html.markdown.

func GetImage

func GetImage(ctx *pulumi.Context,
	name string, id pulumi.ID, state *ImageState, opts ...pulumi.ResourceOpt) (*Image, error)

GetImage gets an existing Image resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewImage

func NewImage(ctx *pulumi.Context,
	name string, args *ImageArgs, opts ...pulumi.ResourceOpt) (*Image, error)

NewImage registers a new resource with the given unique name, arguments, and options.

func (*Image) ArchiveSizeBytes added in v0.18.0

func (r *Image) ArchiveSizeBytes() pulumi.IntOutput

Size of the image tar.gz archive stored in Google Cloud Storage (in bytes).

func (*Image) CreationTimestamp added in v0.18.0

func (r *Image) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*Image) Description

func (r *Image) Description() pulumi.StringOutput

An optional description of this resource. Provide this property when you create the resource.

func (*Image) DiskSizeGb added in v0.18.0

func (r *Image) DiskSizeGb() pulumi.IntOutput

Size of the image when restored onto a persistent disk (in GB).

func (*Image) Family

func (r *Image) Family() pulumi.StringOutput

The name of the image family to which this image belongs. You can create disks by specifying an image family instead of a specific image name. The image family always returns its latest image that is not deprecated. The name of the image family must comply with RFC1035.

func (*Image) GuestOsFeatures added in v1.2.0

func (r *Image) GuestOsFeatures() pulumi.ArrayOutput

A list of features to enable on the guest operating system. Applicable only for bootable images.

func (*Image) ID

func (r *Image) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*Image) LabelFingerprint

func (r *Image) LabelFingerprint() pulumi.StringOutput

The fingerprint used for optimistic locking of this resource. Used internally during updates.

func (*Image) Labels

func (r *Image) Labels() pulumi.MapOutput

Labels to apply to this Image.

func (*Image) Licenses added in v0.15.0

func (r *Image) Licenses() pulumi.ArrayOutput

Any applicable license URI.

func (*Image) Name

func (r *Image) Name() pulumi.StringOutput

Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*Image) Project

func (r *Image) Project() pulumi.StringOutput

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

func (*Image) RawDisk

func (r *Image) RawDisk() pulumi.Output

The parameters of the raw disk image.

func (r *Image) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*Image) SourceDisk

func (r *Image) SourceDisk() pulumi.StringOutput

The source disk to create this image based on. You must provide either this property or the rawDisk.source property but not both to create an image.

func (*Image) URN

func (r *Image) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type ImageArgs

type ImageArgs struct {
	// An optional description of this resource. Provide this property when you create the resource.
	Description interface{}
	// Size of the image when restored onto a persistent disk (in GB).
	DiskSizeGb interface{}
	// The name of the image family to which this image belongs. You can create disks by specifying an image family instead of
	// a specific image name. The image family always returns its latest image that is not deprecated. The name of the image
	// family must comply with RFC1035.
	Family interface{}
	// A list of features to enable on the guest operating system. Applicable only for bootable images.
	GuestOsFeatures interface{}
	// Labels to apply to this Image.
	Labels interface{}
	// Any applicable license URI.
	Licenses interface{}
	// Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The parameters of the raw disk image.
	RawDisk interface{}
	// The source disk to create this image based on. You must provide either this property or the rawDisk.source property but
	// not both to create an image.
	SourceDisk interface{}
}

The set of arguments for constructing a Image resource.

type ImageState

type ImageState struct {
	// Size of the image tar.gz archive stored in Google Cloud Storage (in bytes).
	ArchiveSizeBytes interface{}
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// An optional description of this resource. Provide this property when you create the resource.
	Description interface{}
	// Size of the image when restored onto a persistent disk (in GB).
	DiskSizeGb interface{}
	// The name of the image family to which this image belongs. You can create disks by specifying an image family instead of
	// a specific image name. The image family always returns its latest image that is not deprecated. The name of the image
	// family must comply with RFC1035.
	Family interface{}
	// A list of features to enable on the guest operating system. Applicable only for bootable images.
	GuestOsFeatures interface{}
	// The fingerprint used for optimistic locking of this resource. Used internally during updates.
	LabelFingerprint interface{}
	// Labels to apply to this Image.
	Labels interface{}
	// Any applicable license URI.
	Licenses interface{}
	// Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The parameters of the raw disk image.
	RawDisk interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// The source disk to create this image based on. You must provide either this property or the rawDisk.source property but
	// not both to create an image.
	SourceDisk interface{}
}

Input properties used for looking up and filtering Image resources.

type Instance

type Instance struct {
	// contains filtered or unexported fields
}

Manages a VM instance resource within GCE. For more information see [the official documentation](https://cloud.google.com/compute/docs/instances) and [API](https://cloud.google.com/compute/docs/reference/latest/instances).

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_instance.html.markdown.

func GetInstance

func GetInstance(ctx *pulumi.Context,
	name string, id pulumi.ID, state *InstanceState, opts ...pulumi.ResourceOpt) (*Instance, error)

GetInstance gets an existing Instance resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewInstance

func NewInstance(ctx *pulumi.Context,
	name string, args *InstanceArgs, opts ...pulumi.ResourceOpt) (*Instance, error)

NewInstance registers a new resource with the given unique name, arguments, and options.

func (*Instance) AllowStoppingForUpdate

func (r *Instance) AllowStoppingForUpdate() pulumi.BoolOutput

If true, allows this provider 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.

func (*Instance) AttachedDisks

func (r *Instance) AttachedDisks() pulumi.ArrayOutput

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

func (*Instance) BootDisk

func (r *Instance) BootDisk() pulumi.Output

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

func (*Instance) CanIpForward

func (r *Instance) CanIpForward() pulumi.BoolOutput

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

func (*Instance) CpuPlatform

func (r *Instance) CpuPlatform() pulumi.StringOutput

The CPU platform used by this instance.

func (*Instance) DeletionProtection

func (r *Instance) DeletionProtection() pulumi.BoolOutput

Enable deletion protection on this instance. Defaults to false. **Note:** you must disable deletion protection before removing the resource, or the instance cannot be deleted and the deployment will not complete successfully.

func (*Instance) Description

func (r *Instance) Description() pulumi.StringOutput

A brief description of this resource.

func (*Instance) EnableDisplay added in v1.6.0

func (r *Instance) EnableDisplay() pulumi.BoolOutput

Enable [Virtual Displays](https://cloud.google.com/compute/docs/instances/enable-instance-virtual-display#verify_display_driver) on this instance. **Note**: `allowStoppingForUpdate` must be set to true in order to update this field.

func (*Instance) GuestAccelerators

func (r *Instance) GuestAccelerators() pulumi.ArrayOutput

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

func (*Instance) Hostname added in v0.18.0

func (r *Instance) Hostname() pulumi.StringOutput

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.

func (*Instance) ID

func (r *Instance) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*Instance) InstanceId

func (r *Instance) InstanceId() pulumi.StringOutput

The server-assigned unique identifier of this instance.

func (*Instance) LabelFingerprint

func (r *Instance) LabelFingerprint() pulumi.StringOutput

The unique fingerprint of the labels.

func (*Instance) Labels

func (r *Instance) Labels() pulumi.MapOutput

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

func (*Instance) MachineType

func (r *Instance) MachineType() pulumi.StringOutput

The machine type to create.

func (*Instance) Metadata

func (r *Instance) Metadata() pulumi.MapOutput

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.

func (*Instance) MetadataFingerprint

func (r *Instance) MetadataFingerprint() pulumi.StringOutput

The unique fingerprint of the metadata.

func (*Instance) MetadataStartupScript

func (r *Instance) MetadataStartupScript() pulumi.StringOutput

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.

func (*Instance) MinCpuPlatform

func (r *Instance) MinCpuPlatform() pulumi.StringOutput

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](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform). **Note**: `allowStoppingForUpdate` must be set to true in order to update this field.

func (*Instance) Name

func (r *Instance) Name() pulumi.StringOutput

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

func (*Instance) NetworkInterfaces

func (r *Instance) NetworkInterfaces() pulumi.ArrayOutput

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

func (*Instance) Project

func (r *Instance) Project() pulumi.StringOutput

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

func (*Instance) Scheduling

func (r *Instance) Scheduling() pulumi.Output

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

func (*Instance) ScratchDisks

func (r *Instance) ScratchDisks() pulumi.ArrayOutput

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

func (r *Instance) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*Instance) ServiceAccount

func (r *Instance) ServiceAccount() pulumi.Output

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

func (*Instance) ShieldedInstanceConfig added in v0.18.6

func (r *Instance) ShieldedInstanceConfig() pulumi.Output

Enable [Shielded VM](https://cloud.google.com/security/shielded-cloud/shielded-vm) on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below. **Note**: `shieldedInstanceConfig` can only be used with boot images with shielded vm support. See the complete list [here](https://cloud.google.com/compute/docs/images#shielded-images).

func (*Instance) Tags

func (r *Instance) Tags() pulumi.ArrayOutput

A list of tags to attach to the instance.

func (*Instance) TagsFingerprint

func (r *Instance) TagsFingerprint() pulumi.StringOutput

The unique fingerprint of the tags.

func (*Instance) URN

func (r *Instance) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*Instance) Zone

func (r *Instance) Zone() pulumi.StringOutput

The zone that the machine should be created in.

type InstanceArgs

type InstanceArgs struct {
	// If true, allows this provider 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.
	AllowStoppingForUpdate interface{}
	// Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.
	AttachedDisks interface{}
	// The boot disk for the instance.
	// Structure is documented below.
	BootDisk interface{}
	// Whether to allow sending and receiving of
	// packets with non-matching source or destination IPs.
	// This defaults to false.
	CanIpForward interface{}
	// Enable deletion protection on this instance. Defaults to false.
	// **Note:** you must disable deletion protection before removing the resource, or the instance cannot be deleted and the deployment will not complete successfully.
	DeletionProtection interface{}
	// A brief description of this resource.
	Description interface{}
	// Enable [Virtual Displays](https://cloud.google.com/compute/docs/instances/enable-instance-virtual-display#verify_display_driver) on this instance.
	// **Note**: `allowStoppingForUpdate` must be set to true in order to update this field.
	EnableDisplay interface{}
	// List of the type and count of accelerator cards attached to the instance. Structure documented below.
	// **Note:** GPU accelerators can only be used with `onHostMaintenance` option set to TERMINATE.
	GuestAccelerators interface{}
	// 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.
	Hostname interface{}
	// A map of key/value label pairs to assign to the instance.
	Labels interface{}
	// The machine type to create.
	MachineType interface{}
	// 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 interface{}
	// 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.
	MetadataStartupScript interface{}
	// 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](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform).
	// **Note**: `allowStoppingForUpdate` must be set to true in order to update this field.
	MinCpuPlatform interface{}
	// A unique name for the resource, required by GCE.
	// Changing this forces a new resource to be created.
	Name interface{}
	// Networks to attach to the instance. This can
	// be specified multiple times. Structure is documented below.
	NetworkInterfaces interface{}
	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// The scheduling strategy to use. More details about
	// this configuration option are detailed below.
	Scheduling interface{}
	// Scratch disks to attach to the instance. This can be
	// specified multiple times for multiple scratch disks. Structure is documented below.
	ScratchDisks interface{}
	// Service account to attach to the instance.
	// Structure is documented below.
	// **Note**: `allowStoppingForUpdate` must be set to true in order to update this field.
	ServiceAccount interface{}
	// Enable [Shielded VM](https://cloud.google.com/security/shielded-cloud/shielded-vm) on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below.
	// **Note**: `shieldedInstanceConfig` can only be used with boot images with shielded vm support. See the complete list [here](https://cloud.google.com/compute/docs/images#shielded-images).
	ShieldedInstanceConfig interface{}
	// A list of tags to attach to the instance.
	Tags interface{}
	// The zone that the machine should be created in.
	Zone interface{}
}

The set of arguments for constructing a Instance resource.

type InstanceFromTemplate added in v0.15.0

type InstanceFromTemplate struct {
	// contains filtered or unexported fields
}

Manages a VM instance resource within GCE. For more information see [the official documentation](https://cloud.google.com/compute/docs/instances) and [API](https://cloud.google.com/compute/docs/reference/latest/instances).

This resource is specifically to create a compute instance from a given `sourceInstanceTemplate`. To create an instance without a template, use the `compute.Instance` resource.

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_instance_from_template.html.markdown.

func GetInstanceFromTemplate added in v0.15.0

func GetInstanceFromTemplate(ctx *pulumi.Context,
	name string, id pulumi.ID, state *InstanceFromTemplateState, opts ...pulumi.ResourceOpt) (*InstanceFromTemplate, error)

GetInstanceFromTemplate gets an existing InstanceFromTemplate resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewInstanceFromTemplate added in v0.15.0

func NewInstanceFromTemplate(ctx *pulumi.Context,
	name string, args *InstanceFromTemplateArgs, opts ...pulumi.ResourceOpt) (*InstanceFromTemplate, error)

NewInstanceFromTemplate registers a new resource with the given unique name, arguments, and options.

func (*InstanceFromTemplate) AllowStoppingForUpdate added in v0.15.0

func (r *InstanceFromTemplate) AllowStoppingForUpdate() pulumi.BoolOutput

func (*InstanceFromTemplate) AttachedDisks added in v0.15.0

func (r *InstanceFromTemplate) AttachedDisks() pulumi.ArrayOutput

func (*InstanceFromTemplate) BootDisk added in v0.15.0

func (r *InstanceFromTemplate) BootDisk() pulumi.Output

func (*InstanceFromTemplate) CanIpForward added in v0.15.0

func (r *InstanceFromTemplate) CanIpForward() pulumi.BoolOutput

func (*InstanceFromTemplate) CpuPlatform added in v0.15.0

func (r *InstanceFromTemplate) CpuPlatform() pulumi.StringOutput

func (*InstanceFromTemplate) DeletionProtection added in v0.15.0

func (r *InstanceFromTemplate) DeletionProtection() pulumi.BoolOutput

func (*InstanceFromTemplate) Description added in v0.15.0

func (r *InstanceFromTemplate) Description() pulumi.StringOutput

func (*InstanceFromTemplate) EnableDisplay added in v1.6.0

func (r *InstanceFromTemplate) EnableDisplay() pulumi.BoolOutput

func (*InstanceFromTemplate) GuestAccelerators added in v0.15.0

func (r *InstanceFromTemplate) GuestAccelerators() pulumi.ArrayOutput

func (*InstanceFromTemplate) Hostname added in v0.18.0

func (*InstanceFromTemplate) ID added in v0.15.0

ID is this resource's unique identifier assigned by its provider.

func (*InstanceFromTemplate) InstanceId added in v0.15.0

func (r *InstanceFromTemplate) InstanceId() pulumi.StringOutput

func (*InstanceFromTemplate) LabelFingerprint added in v0.15.0

func (r *InstanceFromTemplate) LabelFingerprint() pulumi.StringOutput

func (*InstanceFromTemplate) Labels added in v0.15.0

func (*InstanceFromTemplate) MachineType added in v0.15.0

func (r *InstanceFromTemplate) MachineType() pulumi.StringOutput

func (*InstanceFromTemplate) Metadata added in v0.15.0

func (r *InstanceFromTemplate) Metadata() pulumi.MapOutput

func (*InstanceFromTemplate) MetadataFingerprint added in v0.15.0

func (r *InstanceFromTemplate) MetadataFingerprint() pulumi.StringOutput

func (*InstanceFromTemplate) MetadataStartupScript added in v0.15.0

func (r *InstanceFromTemplate) MetadataStartupScript() pulumi.StringOutput

func (*InstanceFromTemplate) MinCpuPlatform added in v0.15.0

func (r *InstanceFromTemplate) MinCpuPlatform() pulumi.StringOutput

func (*InstanceFromTemplate) Name added in v0.15.0

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

func (*InstanceFromTemplate) NetworkInterfaces added in v0.15.0

func (r *InstanceFromTemplate) NetworkInterfaces() pulumi.ArrayOutput

func (*InstanceFromTemplate) Project added in v0.15.0

func (*InstanceFromTemplate) Scheduling added in v0.15.0

func (r *InstanceFromTemplate) Scheduling() pulumi.Output

func (*InstanceFromTemplate) ScratchDisks added in v0.15.0

func (r *InstanceFromTemplate) ScratchDisks() pulumi.ArrayOutput

func (*InstanceFromTemplate) ServiceAccount added in v0.15.0

func (r *InstanceFromTemplate) ServiceAccount() pulumi.Output

func (*InstanceFromTemplate) ShieldedInstanceConfig added in v0.18.6

func (r *InstanceFromTemplate) ShieldedInstanceConfig() pulumi.Output

func (*InstanceFromTemplate) SourceInstanceTemplate added in v0.15.0

func (r *InstanceFromTemplate) SourceInstanceTemplate() pulumi.StringOutput

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

func (*InstanceFromTemplate) Tags added in v0.15.0

func (*InstanceFromTemplate) TagsFingerprint added in v0.15.0

func (r *InstanceFromTemplate) TagsFingerprint() pulumi.StringOutput

func (*InstanceFromTemplate) URN added in v0.15.0

URN is this resource's unique name assigned by Pulumi.

func (*InstanceFromTemplate) Zone added in v0.15.0

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

type InstanceFromTemplateArgs added in v0.15.0

type InstanceFromTemplateArgs struct {
	AllowStoppingForUpdate interface{}
	AttachedDisks          interface{}
	BootDisk               interface{}
	CanIpForward           interface{}
	DeletionProtection     interface{}
	Description            interface{}
	EnableDisplay          interface{}
	GuestAccelerators      interface{}
	Hostname               interface{}
	Labels                 interface{}
	MachineType            interface{}
	Metadata               interface{}
	MetadataStartupScript  interface{}
	MinCpuPlatform         interface{}
	// A unique name for the resource, required by GCE.
	// Changing this forces a new resource to be created.
	Name                   interface{}
	NetworkInterfaces      interface{}
	Project                interface{}
	Scheduling             interface{}
	ScratchDisks           interface{}
	ServiceAccount         interface{}
	ShieldedInstanceConfig interface{}
	// Name or self link of an instance
	// template to create the instance based on.
	SourceInstanceTemplate interface{}
	Tags                   interface{}
	// The zone that the machine should be created in. If not
	// set, the provider zone is used.
	Zone interface{}
}

The set of arguments for constructing a InstanceFromTemplate resource.

type InstanceFromTemplateState added in v0.15.0

type InstanceFromTemplateState struct {
	AllowStoppingForUpdate interface{}
	AttachedDisks          interface{}
	BootDisk               interface{}
	CanIpForward           interface{}
	CpuPlatform            interface{}
	DeletionProtection     interface{}
	Description            interface{}
	EnableDisplay          interface{}
	GuestAccelerators      interface{}
	Hostname               interface{}
	InstanceId             interface{}
	LabelFingerprint       interface{}
	Labels                 interface{}
	MachineType            interface{}
	Metadata               interface{}
	MetadataFingerprint    interface{}
	MetadataStartupScript  interface{}
	MinCpuPlatform         interface{}
	// A unique name for the resource, required by GCE.
	// Changing this forces a new resource to be created.
	Name                   interface{}
	NetworkInterfaces      interface{}
	Project                interface{}
	Scheduling             interface{}
	ScratchDisks           interface{}
	SelfLink               interface{}
	ServiceAccount         interface{}
	ShieldedInstanceConfig interface{}
	// Name or self link of an instance
	// template to create the instance based on.
	SourceInstanceTemplate interface{}
	Tags                   interface{}
	TagsFingerprint        interface{}
	// The zone that the machine should be created in. If not
	// set, the provider zone is used.
	Zone interface{}
}

Input properties used for looking up and filtering InstanceFromTemplate resources.

type InstanceGroup

type InstanceGroup struct {
	// contains filtered or unexported fields
}

Creates a group of dissimilar Compute Engine virtual machine instances. For more information, see [the official documentation](https://cloud.google.com/compute/docs/instance-groups/#unmanaged_instance_groups) and [API](https://cloud.google.com/compute/docs/reference/latest/instanceGroups)

> Recreating an instance group that's in use by another resource will give a `resourceInUseByAnotherResource` error.

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_instance_group.html.markdown.

func GetInstanceGroup

func GetInstanceGroup(ctx *pulumi.Context,
	name string, id pulumi.ID, state *InstanceGroupState, opts ...pulumi.ResourceOpt) (*InstanceGroup, error)

GetInstanceGroup gets an existing InstanceGroup resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewInstanceGroup

func NewInstanceGroup(ctx *pulumi.Context,
	name string, args *InstanceGroupArgs, opts ...pulumi.ResourceOpt) (*InstanceGroup, error)

NewInstanceGroup registers a new resource with the given unique name, arguments, and options.

func (*InstanceGroup) Description

func (r *InstanceGroup) Description() pulumi.StringOutput

An optional textual description of the instance group.

func (*InstanceGroup) ID

func (r *InstanceGroup) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*InstanceGroup) Instances

func (r *InstanceGroup) Instances() pulumi.ArrayOutput

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

func (*InstanceGroup) Name

func (r *InstanceGroup) Name() pulumi.StringOutput

The name of the instance group. Must be 1-63 characters long and comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Supported characters include lowercase letters, numbers, and hyphens.

func (*InstanceGroup) NamedPorts

func (r *InstanceGroup) NamedPorts() pulumi.ArrayOutput

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

func (*InstanceGroup) Network

func (r *InstanceGroup) Network() pulumi.StringOutput

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).

func (*InstanceGroup) Project

func (r *InstanceGroup) Project() pulumi.StringOutput

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

func (r *InstanceGroup) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*InstanceGroup) Size

func (r *InstanceGroup) Size() pulumi.IntOutput

The number of instances in the group.

func (*InstanceGroup) URN

func (r *InstanceGroup) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*InstanceGroup) Zone

func (r *InstanceGroup) Zone() pulumi.StringOutput

The zone that this instance group should be created in.

type InstanceGroupArgs

type InstanceGroupArgs struct {
	// An optional textual description of the instance
	// group.
	Description interface{}
	// List of instances in the group. They should be given
	// as selfLink URLs. When adding instances they must all be in the same
	// network and zone as the instance group.
	Instances interface{}
	// The name of the instance group. Must be 1-63
	// characters long and comply with
	// [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Supported characters
	// include lowercase letters, numbers, and hyphens.
	Name interface{}
	// The named port configuration. See the section below
	// for details on configuration.
	NamedPorts interface{}
	// 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).
	Network interface{}
	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// The zone that this instance group should be created in.
	Zone interface{}
}

The set of arguments for constructing a InstanceGroup resource.

type InstanceGroupManager

type InstanceGroupManager struct {
	// contains filtered or unexported fields
}

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](https://cloud.google.com/compute/docs/instance-groups/manager) and [API](https://cloud.google.com/compute/docs/reference/latest/instanceGroupManagers)

> **Note:** Use compute.RegionInstanceGroupManager(https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager.html) to create a regional (multi-zone) instance group manager.

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_instance_group_manager.html.markdown.

func GetInstanceGroupManager

func GetInstanceGroupManager(ctx *pulumi.Context,
	name string, id pulumi.ID, state *InstanceGroupManagerState, opts ...pulumi.ResourceOpt) (*InstanceGroupManager, error)

GetInstanceGroupManager gets an existing InstanceGroupManager resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewInstanceGroupManager

func NewInstanceGroupManager(ctx *pulumi.Context,
	name string, args *InstanceGroupManagerArgs, opts ...pulumi.ResourceOpt) (*InstanceGroupManager, error)

NewInstanceGroupManager registers a new resource with the given unique name, arguments, and options.

func (*InstanceGroupManager) AutoHealingPolicies

func (r *InstanceGroupManager) AutoHealingPolicies() pulumi.Output

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](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances#monitoring_groups).

func (*InstanceGroupManager) BaseInstanceName

func (r *InstanceGroupManager) BaseInstanceName() pulumi.StringOutput

The base instance name to use for instances in this group. The value must be a valid [RFC1035](https://www.ietf.org/rfc/rfc1035.txt) 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.

func (*InstanceGroupManager) Description

func (r *InstanceGroupManager) Description() pulumi.StringOutput

An optional textual description of the instance group manager.

func (*InstanceGroupManager) Fingerprint

func (r *InstanceGroupManager) Fingerprint() pulumi.StringOutput

The fingerprint of the instance group manager.

func (*InstanceGroupManager) ID

ID is this resource's unique identifier assigned by its provider.

func (*InstanceGroupManager) InstanceGroup

func (r *InstanceGroupManager) InstanceGroup() pulumi.StringOutput

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

func (*InstanceGroupManager) Name

The name of the instance group manager. Must be 1-63 characters long and comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Supported characters include lowercase letters, numbers, and hyphens.

func (*InstanceGroupManager) NamedPorts

func (r *InstanceGroupManager) NamedPorts() pulumi.ArrayOutput

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

func (*InstanceGroupManager) Project

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.

func (*InstanceGroupManager) TargetPools

func (r *InstanceGroupManager) TargetPools() pulumi.ArrayOutput

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.

func (*InstanceGroupManager) TargetSize

func (r *InstanceGroupManager) TargetSize() pulumi.IntOutput

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`.

func (*InstanceGroupManager) URN

URN is this resource's unique name assigned by Pulumi.

func (*InstanceGroupManager) UpdatePolicy added in v0.18.0

func (r *InstanceGroupManager) UpdatePolicy() pulumi.Output

The update policy for this managed instance group. Structure is documented below. For more information, see the [official documentation](https://cloud.google.com/compute/docs/instance-groups/updating-managed-instance-groups) and [API](https://cloud.google.com/compute/docs/reference/rest/beta/instanceGroupManagers/patch) - - -

func (*InstanceGroupManager) Versions added in v0.15.0

func (r *InstanceGroupManager) Versions() pulumi.ArrayOutput

Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios. Structure is documented below. Until `instanceTemplate` is removed this field will be Optional to allow for a graceful upgrade. In the Beta provider and as of 3.0.0 it will be Required.

func (*InstanceGroupManager) WaitForInstances

func (r *InstanceGroupManager) WaitForInstances() pulumi.BoolOutput

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, this provider will continue trying until it times out.

func (*InstanceGroupManager) Zone

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

type InstanceGroupManagerArgs

type InstanceGroupManagerArgs struct {
	// 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](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances#monitoring_groups).
	AutoHealingPolicies interface{}
	// The base instance name to use for
	// instances in this group. The value must be a valid
	// [RFC1035](https://www.ietf.org/rfc/rfc1035.txt) 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.
	BaseInstanceName interface{}
	// An optional textual description of the instance
	// group manager.
	Description interface{}
	// The name of the instance group manager. Must be 1-63
	// characters long and comply with
	// [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Supported characters
	// include lowercase letters, numbers, and hyphens.
	Name interface{}
	// The named port configuration. See the section below
	// for details on configuration.
	NamedPorts interface{}
	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// 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.
	TargetPools interface{}
	// 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`.
	TargetSize interface{}
	// The update policy for this managed instance group. Structure is documented below. For more information, see the [official documentation](https://cloud.google.com/compute/docs/instance-groups/updating-managed-instance-groups) and [API](https://cloud.google.com/compute/docs/reference/rest/beta/instanceGroupManagers/patch)
	// - - -
	UpdatePolicy interface{}
	// Application versions managed by this instance group. Each
	// version deals with a specific instance template, allowing canary release scenarios.
	// Structure is documented below.
	// Until `instanceTemplate` is removed this field will be Optional to allow for a
	// graceful upgrade. In the Beta provider and as of 3.0.0 it will be Required.
	Versions interface{}
	// 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, this provider will
	// continue trying until it times out.
	WaitForInstances interface{}
	// The zone that instances in this group should be created
	// in.
	Zone interface{}
}

The set of arguments for constructing a InstanceGroupManager resource.

type InstanceGroupManagerState

type InstanceGroupManagerState struct {
	// 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](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances#monitoring_groups).
	AutoHealingPolicies interface{}
	// The base instance name to use for
	// instances in this group. The value must be a valid
	// [RFC1035](https://www.ietf.org/rfc/rfc1035.txt) 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.
	BaseInstanceName interface{}
	// An optional textual description of the instance
	// group manager.
	Description interface{}
	// The fingerprint of the instance group manager.
	Fingerprint interface{}
	// The full URL of the instance group created by the manager.
	InstanceGroup interface{}
	// The name of the instance group manager. Must be 1-63
	// characters long and comply with
	// [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Supported characters
	// include lowercase letters, numbers, and hyphens.
	Name interface{}
	// The named port configuration. See the section below
	// for details on configuration.
	NamedPorts interface{}
	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// The URL of the created resource.
	SelfLink interface{}
	// 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.
	TargetPools interface{}
	// 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`.
	TargetSize interface{}
	// The update policy for this managed instance group. Structure is documented below. For more information, see the [official documentation](https://cloud.google.com/compute/docs/instance-groups/updating-managed-instance-groups) and [API](https://cloud.google.com/compute/docs/reference/rest/beta/instanceGroupManagers/patch)
	// - - -
	UpdatePolicy interface{}
	// Application versions managed by this instance group. Each
	// version deals with a specific instance template, allowing canary release scenarios.
	// Structure is documented below.
	// Until `instanceTemplate` is removed this field will be Optional to allow for a
	// graceful upgrade. In the Beta provider and as of 3.0.0 it will be Required.
	Versions interface{}
	// 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, this provider will
	// continue trying until it times out.
	WaitForInstances interface{}
	// The zone that instances in this group should be created
	// in.
	Zone interface{}
}

Input properties used for looking up and filtering InstanceGroupManager resources.

type InstanceGroupState

type InstanceGroupState struct {
	// An optional textual description of the instance
	// group.
	Description interface{}
	// List of instances in the group. They should be given
	// as selfLink URLs. When adding instances they must all be in the same
	// network and zone as the instance group.
	Instances interface{}
	// The name of the instance group. Must be 1-63
	// characters long and comply with
	// [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Supported characters
	// include lowercase letters, numbers, and hyphens.
	Name interface{}
	// The named port configuration. See the section below
	// for details on configuration.
	NamedPorts interface{}
	// 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).
	Network interface{}
	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// The number of instances in the group.
	Size interface{}
	// The zone that this instance group should be created in.
	Zone interface{}
}

Input properties used for looking up and filtering InstanceGroup resources.

type InstanceIAMBinding added in v0.18.6

type InstanceIAMBinding struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_instance_iam_binding.html.markdown.

func GetInstanceIAMBinding added in v0.18.6

func GetInstanceIAMBinding(ctx *pulumi.Context,
	name string, id pulumi.ID, state *InstanceIAMBindingState, opts ...pulumi.ResourceOpt) (*InstanceIAMBinding, error)

GetInstanceIAMBinding gets an existing InstanceIAMBinding resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewInstanceIAMBinding added in v0.18.6

func NewInstanceIAMBinding(ctx *pulumi.Context,
	name string, args *InstanceIAMBindingArgs, opts ...pulumi.ResourceOpt) (*InstanceIAMBinding, error)

NewInstanceIAMBinding registers a new resource with the given unique name, arguments, and options.

func (*InstanceIAMBinding) Condition added in v1.6.0

func (r *InstanceIAMBinding) Condition() pulumi.Output

func (*InstanceIAMBinding) Etag added in v0.18.6

(Computed) The etag of the IAM policy.

func (*InstanceIAMBinding) ID added in v0.18.6

ID is this resource's unique identifier assigned by its provider.

func (*InstanceIAMBinding) InstanceName added in v0.18.6

func (r *InstanceIAMBinding) InstanceName() pulumi.StringOutput

Used to find the parent resource to bind the IAM policy to

func (*InstanceIAMBinding) Members added in v0.18.6

func (r *InstanceIAMBinding) Members() pulumi.ArrayOutput

func (*InstanceIAMBinding) Project added in v0.18.6

func (r *InstanceIAMBinding) Project() pulumi.StringOutput

The ID of the project in which the resource belongs. If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.

func (*InstanceIAMBinding) Role added in v0.18.6

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

func (*InstanceIAMBinding) URN added in v0.18.6

URN is this resource's unique name assigned by Pulumi.

func (*InstanceIAMBinding) Zone added in v0.18.6

A reference to the zone where the machine resides. Used to find the parent resource to bind the IAM policy to. If not specified, the value will be parsed from the identifier of the parent resource. If no zone is provided in the parent identifier and no zone is specified, it is taken from the provider configuration.

type InstanceIAMBindingArgs added in v0.18.6

type InstanceIAMBindingArgs struct {
	Condition interface{}
	// Used to find the parent resource to bind the IAM policy to
	InstanceName interface{}
	Members      interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project interface{}
	// The role that should be applied. Only one
	// `compute.InstanceIAMBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role interface{}
	// A reference to the zone where the machine resides. Used to find the parent resource to bind the IAM policy to. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no zone is provided in the parent identifier and no
	// zone is specified, it is taken from the provider configuration.
	Zone interface{}
}

The set of arguments for constructing a InstanceIAMBinding resource.

type InstanceIAMBindingState added in v0.18.6

type InstanceIAMBindingState struct {
	Condition interface{}
	// (Computed) The etag of the IAM policy.
	Etag interface{}
	// Used to find the parent resource to bind the IAM policy to
	InstanceName interface{}
	Members      interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project interface{}
	// The role that should be applied. Only one
	// `compute.InstanceIAMBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role interface{}
	// A reference to the zone where the machine resides. Used to find the parent resource to bind the IAM policy to. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no zone is provided in the parent identifier and no
	// zone is specified, it is taken from the provider configuration.
	Zone interface{}
}

Input properties used for looking up and filtering InstanceIAMBinding resources.

type InstanceIAMMember added in v0.18.6

type InstanceIAMMember struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_instance_iam_member.html.markdown.

func GetInstanceIAMMember added in v0.18.6

func GetInstanceIAMMember(ctx *pulumi.Context,
	name string, id pulumi.ID, state *InstanceIAMMemberState, opts ...pulumi.ResourceOpt) (*InstanceIAMMember, error)

GetInstanceIAMMember gets an existing InstanceIAMMember resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewInstanceIAMMember added in v0.18.6

func NewInstanceIAMMember(ctx *pulumi.Context,
	name string, args *InstanceIAMMemberArgs, opts ...pulumi.ResourceOpt) (*InstanceIAMMember, error)

NewInstanceIAMMember registers a new resource with the given unique name, arguments, and options.

func (*InstanceIAMMember) Condition added in v1.6.0

func (r *InstanceIAMMember) Condition() pulumi.Output

func (*InstanceIAMMember) Etag added in v0.18.6

(Computed) The etag of the IAM policy.

func (*InstanceIAMMember) ID added in v0.18.6

ID is this resource's unique identifier assigned by its provider.

func (*InstanceIAMMember) InstanceName added in v0.18.6

func (r *InstanceIAMMember) InstanceName() pulumi.StringOutput

Used to find the parent resource to bind the IAM policy to

func (*InstanceIAMMember) Member added in v0.18.6

func (*InstanceIAMMember) Project added in v0.18.6

func (r *InstanceIAMMember) Project() pulumi.StringOutput

The ID of the project in which the resource belongs. If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.

func (*InstanceIAMMember) Role added in v0.18.6

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

func (*InstanceIAMMember) URN added in v0.18.6

URN is this resource's unique name assigned by Pulumi.

func (*InstanceIAMMember) Zone added in v0.18.6

A reference to the zone where the machine resides. Used to find the parent resource to bind the IAM policy to. If not specified, the value will be parsed from the identifier of the parent resource. If no zone is provided in the parent identifier and no zone is specified, it is taken from the provider configuration.

type InstanceIAMMemberArgs added in v0.18.6

type InstanceIAMMemberArgs struct {
	Condition interface{}
	// Used to find the parent resource to bind the IAM policy to
	InstanceName interface{}
	Member       interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project interface{}
	// The role that should be applied. Only one
	// `compute.InstanceIAMBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role interface{}
	// A reference to the zone where the machine resides. Used to find the parent resource to bind the IAM policy to. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no zone is provided in the parent identifier and no
	// zone is specified, it is taken from the provider configuration.
	Zone interface{}
}

The set of arguments for constructing a InstanceIAMMember resource.

type InstanceIAMMemberState added in v0.18.6

type InstanceIAMMemberState struct {
	Condition interface{}
	// (Computed) The etag of the IAM policy.
	Etag interface{}
	// Used to find the parent resource to bind the IAM policy to
	InstanceName interface{}
	Member       interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project interface{}
	// The role that should be applied. Only one
	// `compute.InstanceIAMBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role interface{}
	// A reference to the zone where the machine resides. Used to find the parent resource to bind the IAM policy to. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no zone is provided in the parent identifier and no
	// zone is specified, it is taken from the provider configuration.
	Zone interface{}
}

Input properties used for looking up and filtering InstanceIAMMember resources.

type InstanceIAMPolicy added in v0.18.6

type InstanceIAMPolicy struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_instance_iam_policy.html.markdown.

func GetInstanceIAMPolicy added in v0.18.6

func GetInstanceIAMPolicy(ctx *pulumi.Context,
	name string, id pulumi.ID, state *InstanceIAMPolicyState, opts ...pulumi.ResourceOpt) (*InstanceIAMPolicy, error)

GetInstanceIAMPolicy gets an existing InstanceIAMPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewInstanceIAMPolicy added in v0.18.6

func NewInstanceIAMPolicy(ctx *pulumi.Context,
	name string, args *InstanceIAMPolicyArgs, opts ...pulumi.ResourceOpt) (*InstanceIAMPolicy, error)

NewInstanceIAMPolicy registers a new resource with the given unique name, arguments, and options.

func (*InstanceIAMPolicy) Etag added in v0.18.6

(Computed) The etag of the IAM policy.

func (*InstanceIAMPolicy) ID added in v0.18.6

ID is this resource's unique identifier assigned by its provider.

func (*InstanceIAMPolicy) InstanceName added in v0.18.6

func (r *InstanceIAMPolicy) InstanceName() pulumi.StringOutput

Used to find the parent resource to bind the IAM policy to

func (*InstanceIAMPolicy) PolicyData added in v0.18.6

func (r *InstanceIAMPolicy) PolicyData() pulumi.StringOutput

The policy data generated by a `organizations.getIAMPolicy` data source.

func (*InstanceIAMPolicy) Project added in v0.18.6

func (r *InstanceIAMPolicy) Project() pulumi.StringOutput

The ID of the project in which the resource belongs. If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.

func (*InstanceIAMPolicy) URN added in v0.18.6

URN is this resource's unique name assigned by Pulumi.

func (*InstanceIAMPolicy) Zone added in v0.18.6

A reference to the zone where the machine resides. Used to find the parent resource to bind the IAM policy to. If not specified, the value will be parsed from the identifier of the parent resource. If no zone is provided in the parent identifier and no zone is specified, it is taken from the provider configuration.

type InstanceIAMPolicyArgs added in v0.18.6

type InstanceIAMPolicyArgs struct {
	// Used to find the parent resource to bind the IAM policy to
	InstanceName interface{}
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project interface{}
	// A reference to the zone where the machine resides. Used to find the parent resource to bind the IAM policy to. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no zone is provided in the parent identifier and no
	// zone is specified, it is taken from the provider configuration.
	Zone interface{}
}

The set of arguments for constructing a InstanceIAMPolicy resource.

type InstanceIAMPolicyState added in v0.18.6

type InstanceIAMPolicyState struct {
	// (Computed) The etag of the IAM policy.
	Etag interface{}
	// Used to find the parent resource to bind the IAM policy to
	InstanceName interface{}
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project interface{}
	// A reference to the zone where the machine resides. Used to find the parent resource to bind the IAM policy to. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no zone is provided in the parent identifier and no
	// zone is specified, it is taken from the provider configuration.
	Zone interface{}
}

Input properties used for looking up and filtering InstanceIAMPolicy resources.

type InstanceState

type InstanceState struct {
	// If true, allows this provider 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.
	AllowStoppingForUpdate interface{}
	// Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.
	AttachedDisks interface{}
	// The boot disk for the instance.
	// Structure is documented below.
	BootDisk interface{}
	// Whether to allow sending and receiving of
	// packets with non-matching source or destination IPs.
	// This defaults to false.
	CanIpForward interface{}
	// The CPU platform used by this instance.
	CpuPlatform interface{}
	// Enable deletion protection on this instance. Defaults to false.
	// **Note:** you must disable deletion protection before removing the resource, or the instance cannot be deleted and the deployment will not complete successfully.
	DeletionProtection interface{}
	// A brief description of this resource.
	Description interface{}
	// Enable [Virtual Displays](https://cloud.google.com/compute/docs/instances/enable-instance-virtual-display#verify_display_driver) on this instance.
	// **Note**: `allowStoppingForUpdate` must be set to true in order to update this field.
	EnableDisplay interface{}
	// List of the type and count of accelerator cards attached to the instance. Structure documented below.
	// **Note:** GPU accelerators can only be used with `onHostMaintenance` option set to TERMINATE.
	GuestAccelerators interface{}
	// 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.
	Hostname interface{}
	// The server-assigned unique identifier of this instance.
	InstanceId interface{}
	// The unique fingerprint of the labels.
	LabelFingerprint interface{}
	// A map of key/value label pairs to assign to the instance.
	Labels interface{}
	// The machine type to create.
	MachineType interface{}
	// 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 interface{}
	// The unique fingerprint of the metadata.
	MetadataFingerprint interface{}
	// 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.
	MetadataStartupScript interface{}
	// 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](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform).
	// **Note**: `allowStoppingForUpdate` must be set to true in order to update this field.
	MinCpuPlatform interface{}
	// A unique name for the resource, required by GCE.
	// Changing this forces a new resource to be created.
	Name interface{}
	// Networks to attach to the instance. This can
	// be specified multiple times. Structure is documented below.
	NetworkInterfaces interface{}
	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// The scheduling strategy to use. More details about
	// this configuration option are detailed below.
	Scheduling interface{}
	// Scratch disks to attach to the instance. This can be
	// specified multiple times for multiple scratch disks. Structure is documented below.
	ScratchDisks interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// Service account to attach to the instance.
	// Structure is documented below.
	// **Note**: `allowStoppingForUpdate` must be set to true in order to update this field.
	ServiceAccount interface{}
	// Enable [Shielded VM](https://cloud.google.com/security/shielded-cloud/shielded-vm) on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below.
	// **Note**: `shieldedInstanceConfig` can only be used with boot images with shielded vm support. See the complete list [here](https://cloud.google.com/compute/docs/images#shielded-images).
	ShieldedInstanceConfig interface{}
	// A list of tags to attach to the instance.
	Tags interface{}
	// The unique fingerprint of the tags.
	TagsFingerprint interface{}
	// The zone that the machine should be created in.
	Zone interface{}
}

Input properties used for looking up and filtering Instance resources.

type InstanceTemplate

type InstanceTemplate struct {
	// contains filtered or unexported fields
}

Manages a VM instance template resource within GCE. For more information see [the official documentation](https://cloud.google.com/compute/docs/instance-templates) and [API](https://cloud.google.com/compute/docs/reference/latest/instanceTemplates).

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_instance_template.html.markdown.

func GetInstanceTemplate

func GetInstanceTemplate(ctx *pulumi.Context,
	name string, id pulumi.ID, state *InstanceTemplateState, opts ...pulumi.ResourceOpt) (*InstanceTemplate, error)

GetInstanceTemplate gets an existing InstanceTemplate resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewInstanceTemplate

func NewInstanceTemplate(ctx *pulumi.Context,
	name string, args *InstanceTemplateArgs, opts ...pulumi.ResourceOpt) (*InstanceTemplate, error)

NewInstanceTemplate registers a new resource with the given unique name, arguments, and options.

func (*InstanceTemplate) CanIpForward

func (r *InstanceTemplate) CanIpForward() pulumi.BoolOutput

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

func (*InstanceTemplate) Description

func (r *InstanceTemplate) Description() pulumi.StringOutput

A brief description of this resource.

func (*InstanceTemplate) Disks

func (r *InstanceTemplate) Disks() pulumi.ArrayOutput

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

func (*InstanceTemplate) EnableDisplay added in v1.6.0

func (r *InstanceTemplate) EnableDisplay() pulumi.BoolOutput

Enable [Virtual Displays](https://cloud.google.com/compute/docs/instances/enable-instance-virtual-display#verify_display_driver) on this instance. **Note**: `allowStoppingForUpdate` must be set to true in order to update this field.

func (*InstanceTemplate) GuestAccelerators

func (r *InstanceTemplate) GuestAccelerators() pulumi.ArrayOutput

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

func (*InstanceTemplate) ID

ID is this resource's unique identifier assigned by its provider.

func (*InstanceTemplate) InstanceDescription

func (r *InstanceTemplate) InstanceDescription() pulumi.StringOutput

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

func (*InstanceTemplate) Labels

func (r *InstanceTemplate) Labels() pulumi.MapOutput

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

func (*InstanceTemplate) MachineType

func (r *InstanceTemplate) MachineType() pulumi.StringOutput

The machine type to create.

func (*InstanceTemplate) Metadata

func (r *InstanceTemplate) Metadata() pulumi.MapOutput

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

func (*InstanceTemplate) MetadataFingerprint

func (r *InstanceTemplate) MetadataFingerprint() pulumi.StringOutput

The unique fingerprint of the metadata.

func (*InstanceTemplate) MetadataStartupScript

func (r *InstanceTemplate) MetadataStartupScript() pulumi.StringOutput

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

func (*InstanceTemplate) MinCpuPlatform

func (r *InstanceTemplate) MinCpuPlatform() pulumi.StringOutput

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](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform).

func (*InstanceTemplate) Name

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

func (*InstanceTemplate) NamePrefix

func (r *InstanceTemplate) NamePrefix() pulumi.StringOutput

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

func (*InstanceTemplate) NetworkInterfaces

func (r *InstanceTemplate) NetworkInterfaces() pulumi.ArrayOutput

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

func (*InstanceTemplate) Project

func (r *InstanceTemplate) Project() pulumi.StringOutput

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

func (*InstanceTemplate) Region

func (r *InstanceTemplate) Region() pulumi.StringOutput

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.

func (*InstanceTemplate) Scheduling added in v0.18.6

func (r *InstanceTemplate) Scheduling() pulumi.Output

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

func (r *InstanceTemplate) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*InstanceTemplate) ServiceAccount

func (r *InstanceTemplate) ServiceAccount() pulumi.Output

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

func (*InstanceTemplate) ShieldedInstanceConfig added in v0.18.6

func (r *InstanceTemplate) ShieldedInstanceConfig() pulumi.Output

Enable [Shielded VM](https://cloud.google.com/security/shielded-cloud/shielded-vm) on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below. **Note**: `shieldedInstanceConfig` can only be used with boot images with shielded vm support. See the complete list [here](https://cloud.google.com/compute/docs/images#shielded-images).

func (*InstanceTemplate) Tags

Tags to attach to the instance.

func (*InstanceTemplate) TagsFingerprint

func (r *InstanceTemplate) TagsFingerprint() pulumi.StringOutput

The unique fingerprint of the tags.

func (*InstanceTemplate) URN

URN is this resource's unique name assigned by Pulumi.

type InstanceTemplateArgs

type InstanceTemplateArgs struct {
	// Whether to allow sending and receiving of
	// packets with non-matching source or destination IPs. This defaults to false.
	CanIpForward interface{}
	// A brief description of this resource.
	Description interface{}
	// Disks to attach to instances created from this template.
	// This can be specified multiple times for multiple disks. Structure is
	// documented below.
	Disks interface{}
	// Enable [Virtual Displays](https://cloud.google.com/compute/docs/instances/enable-instance-virtual-display#verify_display_driver) on this instance.
	// **Note**: `allowStoppingForUpdate` must be set to true in order to update this field.
	EnableDisplay interface{}
	// List of the type and count of accelerator cards attached to the instance. Structure documented below.
	GuestAccelerators interface{}
	// A brief description to use for instances
	// created from this template.
	InstanceDescription interface{}
	// A set of key/value label pairs to assign to instances
	// created from this template,
	Labels interface{}
	// The machine type to create.
	MachineType interface{}
	// Metadata key/value pairs to make available from
	// within instances created from this template.
	Metadata interface{}
	// An alternative to using the
	// startup-script metadata key, mostly to match the computeInstance resource.
	// This replaces the startup-script metadata key on the created instance and
	// thus the two mechanisms are not allowed to be used simultaneously.
	MetadataStartupScript interface{}
	// 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](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform).
	MinCpuPlatform interface{}
	// The name of the instance template. If you leave
	// this blank, this provider will auto-generate a unique name.
	Name interface{}
	// Creates a unique name beginning with the specified
	// prefix. Conflicts with `name`.
	NamePrefix interface{}
	// Networks to attach to instances created from
	// this template. This can be specified multiple times for multiple networks.
	// Structure is documented below.
	NetworkInterfaces interface{}
	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// 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.
	Region interface{}
	// The scheduling strategy to use. More details about
	// this configuration option are detailed below.
	Scheduling interface{}
	// Service account to attach to the instance. Structure is documented below.
	ServiceAccount interface{}
	// Enable [Shielded VM](https://cloud.google.com/security/shielded-cloud/shielded-vm) on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below.
	// **Note**: `shieldedInstanceConfig` can only be used with boot images with shielded vm support. See the complete list [here](https://cloud.google.com/compute/docs/images#shielded-images).
	ShieldedInstanceConfig interface{}
	// Tags to attach to the instance.
	Tags interface{}
}

The set of arguments for constructing a InstanceTemplate resource.

type InstanceTemplateState

type InstanceTemplateState struct {
	// Whether to allow sending and receiving of
	// packets with non-matching source or destination IPs. This defaults to false.
	CanIpForward interface{}
	// A brief description of this resource.
	Description interface{}
	// Disks to attach to instances created from this template.
	// This can be specified multiple times for multiple disks. Structure is
	// documented below.
	Disks interface{}
	// Enable [Virtual Displays](https://cloud.google.com/compute/docs/instances/enable-instance-virtual-display#verify_display_driver) on this instance.
	// **Note**: `allowStoppingForUpdate` must be set to true in order to update this field.
	EnableDisplay interface{}
	// List of the type and count of accelerator cards attached to the instance. Structure documented below.
	GuestAccelerators interface{}
	// A brief description to use for instances
	// created from this template.
	InstanceDescription interface{}
	// A set of key/value label pairs to assign to instances
	// created from this template,
	Labels interface{}
	// The machine type to create.
	MachineType interface{}
	// Metadata key/value pairs to make available from
	// within instances created from this template.
	Metadata interface{}
	// The unique fingerprint of the metadata.
	MetadataFingerprint interface{}
	// An alternative to using the
	// startup-script metadata key, mostly to match the computeInstance resource.
	// This replaces the startup-script metadata key on the created instance and
	// thus the two mechanisms are not allowed to be used simultaneously.
	MetadataStartupScript interface{}
	// 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](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform).
	MinCpuPlatform interface{}
	// The name of the instance template. If you leave
	// this blank, this provider will auto-generate a unique name.
	Name interface{}
	// Creates a unique name beginning with the specified
	// prefix. Conflicts with `name`.
	NamePrefix interface{}
	// Networks to attach to instances created from
	// this template. This can be specified multiple times for multiple networks.
	// Structure is documented below.
	NetworkInterfaces interface{}
	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// 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.
	Region interface{}
	// The scheduling strategy to use. More details about
	// this configuration option are detailed below.
	Scheduling interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// Service account to attach to the instance. Structure is documented below.
	ServiceAccount interface{}
	// Enable [Shielded VM](https://cloud.google.com/security/shielded-cloud/shielded-vm) on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below.
	// **Note**: `shieldedInstanceConfig` can only be used with boot images with shielded vm support. See the complete list [here](https://cloud.google.com/compute/docs/images#shielded-images).
	ShieldedInstanceConfig interface{}
	// Tags to attach to the instance.
	Tags interface{}
	// The unique fingerprint of the tags.
	TagsFingerprint interface{}
}

Input properties used for looking up and filtering InstanceTemplate resources.

type InterconnectAttachment added in v0.16.1

type InterconnectAttachment struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_interconnect_attachment.html.markdown.

func GetInterconnectAttachment added in v0.16.1

func GetInterconnectAttachment(ctx *pulumi.Context,
	name string, id pulumi.ID, state *InterconnectAttachmentState, opts ...pulumi.ResourceOpt) (*InterconnectAttachment, error)

GetInterconnectAttachment gets an existing InterconnectAttachment resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewInterconnectAttachment added in v0.16.1

func NewInterconnectAttachment(ctx *pulumi.Context,
	name string, args *InterconnectAttachmentArgs, opts ...pulumi.ResourceOpt) (*InterconnectAttachment, error)

NewInterconnectAttachment registers a new resource with the given unique name, arguments, and options.

func (*InterconnectAttachment) AdminEnabled added in v1.1.0

func (r *InterconnectAttachment) AdminEnabled() pulumi.BoolOutput

Whether the VLAN attachment is enabled or disabled. When using PARTNER type this will Pre-Activate the interconnect attachment

func (*InterconnectAttachment) Bandwidth added in v1.1.0

Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user can set the bandwidth. For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED, Defaults to BPS_10G

func (*InterconnectAttachment) CandidateSubnets added in v0.18.0

func (r *InterconnectAttachment) CandidateSubnets() pulumi.ArrayOutput

Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select an unused /29 from the supplied candidate prefix(es). The request will fail if all possible /29s are in use on Google's edge. If not supplied, Google will randomly select an unused /29 from all of link-local space.

func (*InterconnectAttachment) CloudRouterIpAddress added in v0.16.1

func (r *InterconnectAttachment) CloudRouterIpAddress() pulumi.StringOutput

IPv4 address + prefix length to be configured on Cloud Router Interface for this interconnect attachment.

func (*InterconnectAttachment) CreationTimestamp added in v0.16.1

func (r *InterconnectAttachment) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*InterconnectAttachment) CustomerRouterIpAddress added in v0.16.1

func (r *InterconnectAttachment) CustomerRouterIpAddress() pulumi.StringOutput

IPv4 address + prefix length to be configured on the customer router subinterface for this interconnect attachment.

func (*InterconnectAttachment) Description added in v0.16.1

func (r *InterconnectAttachment) Description() pulumi.StringOutput

An optional description of this resource.

func (*InterconnectAttachment) EdgeAvailabilityDomain added in v0.18.0

func (r *InterconnectAttachment) EdgeAvailabilityDomain() pulumi.StringOutput

Desired availability domain for the attachment. Only available for type PARTNER, at creation time. For improved reliability, customers should configure a pair of attachments with one per availability domain. The selected availability domain will be provided to the Partner via the pairing key so that the provisioned circuit will lie in the specified domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY.

func (*InterconnectAttachment) GoogleReferenceId added in v0.16.1

func (r *InterconnectAttachment) GoogleReferenceId() pulumi.StringOutput

Google reference ID, to be used when raising support tickets with Google or otherwise to debug backend connectivity issues.

func (*InterconnectAttachment) ID added in v0.16.1

ID is this resource's unique identifier assigned by its provider.

func (*InterconnectAttachment) Interconnect added in v0.16.1

func (r *InterconnectAttachment) Interconnect() pulumi.StringOutput

URL of the underlying Interconnect object that this attachment's traffic will traverse through. Required if type is DEDICATED, must not be set if type is PARTNER.

func (*InterconnectAttachment) Name added in v0.16.1

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*InterconnectAttachment) PairingKey added in v0.18.0

func (r *InterconnectAttachment) PairingKey() pulumi.StringOutput

[Output only for type PARTNER. Not present for DEDICATED]. The opaque identifier of an PARTNER attachment used to initiate provisioning with a selected partner. Of the form "XXXXX/region/domain"

func (*InterconnectAttachment) PartnerAsn added in v0.18.0

func (r *InterconnectAttachment) PartnerAsn() pulumi.StringOutput

[Output only for type PARTNER. Not present for DEDICATED]. Optional BGP ASN for the router that should be supplied by a layer 3 Partner if they configured BGP on behalf of the customer.

func (*InterconnectAttachment) PrivateInterconnectInfo added in v0.16.1

func (r *InterconnectAttachment) PrivateInterconnectInfo() pulumi.Output

Information specific to an InterconnectAttachment. This property is populated if the interconnect that this is attached to is of type DEDICATED.

func (*InterconnectAttachment) Project added in v0.16.1

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

func (*InterconnectAttachment) Region added in v0.16.1

Region where the regional interconnect attachment resides.

func (*InterconnectAttachment) Router added in v0.16.1

URL of the cloud router to be used for dynamic routing. This router must be in the same region as this InterconnectAttachment. The InterconnectAttachment will automatically connect the Interconnect to the network & region within which the Cloud Router is configured.

The URI of the created resource.

func (*InterconnectAttachment) State added in v0.18.0

[Output Only] The current state of this attachment's functionality.

func (*InterconnectAttachment) Type added in v0.18.0

The type of InterconnectAttachment you wish to create. Defaults to DEDICATED.

func (*InterconnectAttachment) URN added in v0.16.1

URN is this resource's unique name assigned by Pulumi.

func (*InterconnectAttachment) VlanTag8021q added in v0.18.0

func (r *InterconnectAttachment) VlanTag8021q() pulumi.IntOutput

The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4094. When using PARTNER type this will be managed upstream.

type InterconnectAttachmentArgs added in v0.16.1

type InterconnectAttachmentArgs struct {
	// Whether the VLAN attachment is enabled or disabled. When using PARTNER type this will Pre-Activate the interconnect
	// attachment
	AdminEnabled interface{}
	// Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user can set the
	// bandwidth. For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the
	// bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED, Defaults to BPS_10G
	Bandwidth interface{}
	// Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and
	// customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and
	// must be /29 or shorter (/28, /27, etc). Google will attempt to select an unused /29 from the supplied candidate
	// prefix(es). The request will fail if all possible /29s are in use on Google's edge. If not supplied, Google will
	// randomly select an unused /29 from all of link-local space.
	CandidateSubnets interface{}
	// An optional description of this resource.
	Description interface{}
	// Desired availability domain for the attachment. Only available for type PARTNER, at creation time. For improved
	// reliability, customers should configure a pair of attachments with one per availability domain. The selected
	// availability domain will be provided to the Partner via the pairing key so that the provisioned circuit will lie in the
	// specified domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY.
	EdgeAvailabilityDomain interface{}
	// URL of the underlying Interconnect object that this attachment's traffic will traverse through. Required if type is
	// DEDICATED, must not be set if type is PARTNER.
	Interconnect interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// Region where the regional interconnect attachment resides.
	Region interface{}
	// URL of the cloud router to be used for dynamic routing. This router must be in the same region as this
	// InterconnectAttachment. The InterconnectAttachment will automatically connect the Interconnect to the network & region
	// within which the Cloud Router is configured.
	Router interface{}
	// The type of InterconnectAttachment you wish to create. Defaults to DEDICATED.
	Type interface{}
	// The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4094. When using PARTNER type this will be managed
	// upstream.
	VlanTag8021q interface{}
}

The set of arguments for constructing a InterconnectAttachment resource.

type InterconnectAttachmentState added in v0.16.1

type InterconnectAttachmentState struct {
	// Whether the VLAN attachment is enabled or disabled. When using PARTNER type this will Pre-Activate the interconnect
	// attachment
	AdminEnabled interface{}
	// Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user can set the
	// bandwidth. For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the
	// bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED, Defaults to BPS_10G
	Bandwidth interface{}
	// Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and
	// customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and
	// must be /29 or shorter (/28, /27, etc). Google will attempt to select an unused /29 from the supplied candidate
	// prefix(es). The request will fail if all possible /29s are in use on Google's edge. If not supplied, Google will
	// randomly select an unused /29 from all of link-local space.
	CandidateSubnets interface{}
	// IPv4 address + prefix length to be configured on Cloud Router Interface for this interconnect attachment.
	CloudRouterIpAddress interface{}
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// IPv4 address + prefix length to be configured on the customer router subinterface for this interconnect attachment.
	CustomerRouterIpAddress interface{}
	// An optional description of this resource.
	Description interface{}
	// Desired availability domain for the attachment. Only available for type PARTNER, at creation time. For improved
	// reliability, customers should configure a pair of attachments with one per availability domain. The selected
	// availability domain will be provided to the Partner via the pairing key so that the provisioned circuit will lie in the
	// specified domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY.
	EdgeAvailabilityDomain interface{}
	// Google reference ID, to be used when raising support tickets with Google or otherwise to debug backend connectivity
	// issues.
	GoogleReferenceId interface{}
	// URL of the underlying Interconnect object that this attachment's traffic will traverse through. Required if type is
	// DEDICATED, must not be set if type is PARTNER.
	Interconnect interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// [Output only for type PARTNER. Not present for DEDICATED]. The opaque identifier of an PARTNER attachment used to
	// initiate provisioning with a selected partner. Of the form "XXXXX/region/domain"
	PairingKey interface{}
	// [Output only for type PARTNER. Not present for DEDICATED]. Optional BGP ASN for the router that should be supplied by a
	// layer 3 Partner if they configured BGP on behalf of the customer.
	PartnerAsn interface{}
	// Information specific to an InterconnectAttachment. This property is populated if the interconnect that this is attached
	// to is of type DEDICATED.
	PrivateInterconnectInfo interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// Region where the regional interconnect attachment resides.
	Region interface{}
	// URL of the cloud router to be used for dynamic routing. This router must be in the same region as this
	// InterconnectAttachment. The InterconnectAttachment will automatically connect the Interconnect to the network & region
	// within which the Cloud Router is configured.
	Router interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// [Output Only] The current state of this attachment's functionality.
	State interface{}
	// The type of InterconnectAttachment you wish to create. Defaults to DEDICATED.
	Type interface{}
	// The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4094. When using PARTNER type this will be managed
	// upstream.
	VlanTag8021q interface{}
}

Input properties used for looking up and filtering InterconnectAttachment resources.

type ManagedSslCertificate added in v1.3.0

type ManagedSslCertificate struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_managed_ssl_certificate.html.markdown.

func GetManagedSslCertificate added in v1.3.0

func GetManagedSslCertificate(ctx *pulumi.Context,
	name string, id pulumi.ID, state *ManagedSslCertificateState, opts ...pulumi.ResourceOpt) (*ManagedSslCertificate, error)

GetManagedSslCertificate gets an existing ManagedSslCertificate resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewManagedSslCertificate added in v1.3.0

func NewManagedSslCertificate(ctx *pulumi.Context,
	name string, args *ManagedSslCertificateArgs, opts ...pulumi.ResourceOpt) (*ManagedSslCertificate, error)

NewManagedSslCertificate registers a new resource with the given unique name, arguments, and options.

func (*ManagedSslCertificate) CertificateId added in v1.3.0

func (r *ManagedSslCertificate) CertificateId() pulumi.IntOutput

The unique identifier for the resource.

func (*ManagedSslCertificate) CreationTimestamp added in v1.3.0

func (r *ManagedSslCertificate) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*ManagedSslCertificate) Description added in v1.3.0

func (r *ManagedSslCertificate) Description() pulumi.StringOutput

An optional description of this resource.

func (*ManagedSslCertificate) ExpireTime added in v1.3.0

func (r *ManagedSslCertificate) ExpireTime() pulumi.StringOutput

Expire time of the certificate.

func (*ManagedSslCertificate) ID added in v1.3.0

ID is this resource's unique identifier assigned by its provider.

func (*ManagedSslCertificate) Managed added in v1.3.0

func (r *ManagedSslCertificate) Managed() pulumi.Output

Properties relevant to a managed certificate. These will be used if the certificate is managed (as indicated by a value of 'MANAGED' in 'type').

func (*ManagedSslCertificate) Name added in v1.3.0

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. These are in the same namespace as the managed SSL certificates.

func (*ManagedSslCertificate) Project added in v1.3.0

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.

func (*ManagedSslCertificate) SubjectAlternativeNames added in v1.3.0

func (r *ManagedSslCertificate) SubjectAlternativeNames() pulumi.ArrayOutput

Domains associated with the certificate via Subject Alternative Name.

func (*ManagedSslCertificate) Type added in v1.3.0

Enum field whose value is always 'MANAGED' - used to signal to the API which type this is.

func (*ManagedSslCertificate) URN added in v1.3.0

URN is this resource's unique name assigned by Pulumi.

type ManagedSslCertificateArgs added in v1.3.0

type ManagedSslCertificateArgs struct {
	// The unique identifier for the resource.
	CertificateId interface{}
	// An optional description of this resource.
	Description interface{}
	// Properties relevant to a managed certificate. These will be used if the certificate is managed (as indicated by a value
	// of 'MANAGED' in 'type').
	Managed interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. These are in the same
	// namespace as the managed SSL certificates.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// Enum field whose value is always 'MANAGED' - used to signal to the API which type this is.
	Type interface{}
}

The set of arguments for constructing a ManagedSslCertificate resource.

type ManagedSslCertificateState added in v1.3.0

type ManagedSslCertificateState struct {
	// The unique identifier for the resource.
	CertificateId interface{}
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// An optional description of this resource.
	Description interface{}
	// Expire time of the certificate.
	ExpireTime interface{}
	// Properties relevant to a managed certificate. These will be used if the certificate is managed (as indicated by a value
	// of 'MANAGED' in 'type').
	Managed interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. These are in the same
	// namespace as the managed SSL certificates.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// Domains associated with the certificate via Subject Alternative Name.
	SubjectAlternativeNames interface{}
	// Enum field whose value is always 'MANAGED' - used to signal to the API which type this is.
	Type interface{}
}

Input properties used for looking up and filtering ManagedSslCertificate resources.

type MangedSslCertificate added in v0.18.0

type MangedSslCertificate struct {
	// contains filtered or unexported fields
}

func GetMangedSslCertificate added in v0.18.0

func GetMangedSslCertificate(ctx *pulumi.Context,
	name string, id pulumi.ID, state *MangedSslCertificateState, opts ...pulumi.ResourceOpt) (*MangedSslCertificate, error)

GetMangedSslCertificate gets an existing MangedSslCertificate resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewMangedSslCertificate added in v0.18.0

func NewMangedSslCertificate(ctx *pulumi.Context,
	name string, args *MangedSslCertificateArgs, opts ...pulumi.ResourceOpt) (*MangedSslCertificate, error)

NewMangedSslCertificate registers a new resource with the given unique name, arguments, and options.

func (*MangedSslCertificate) CertificateId added in v0.18.0

func (r *MangedSslCertificate) CertificateId() pulumi.IntOutput

The unique identifier for the resource.

func (*MangedSslCertificate) CreationTimestamp added in v0.18.0

func (r *MangedSslCertificate) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*MangedSslCertificate) Description added in v0.18.0

func (r *MangedSslCertificate) Description() pulumi.StringOutput

An optional description of this resource.

func (*MangedSslCertificate) ExpireTime added in v0.18.0

func (r *MangedSslCertificate) ExpireTime() pulumi.StringOutput

Expire time of the certificate.

func (*MangedSslCertificate) ID added in v0.18.0

ID is this resource's unique identifier assigned by its provider.

func (*MangedSslCertificate) Managed added in v0.18.0

func (r *MangedSslCertificate) Managed() pulumi.Output

Properties relevant to a managed certificate. These will be used if the certificate is managed (as indicated by a value of 'MANAGED' in 'type').

func (*MangedSslCertificate) Name added in v0.18.0

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. These are in the same namespace as the managed SSL certificates.

func (*MangedSslCertificate) Project added in v0.18.0

func (*MangedSslCertificate) SubjectAlternativeNames added in v0.18.0

func (r *MangedSslCertificate) SubjectAlternativeNames() pulumi.ArrayOutput

Domains associated with the certificate via Subject Alternative Name.

func (*MangedSslCertificate) Type added in v0.18.0

Enum field whose value is always 'MANAGED' - used to signal to the API which type this is.

func (*MangedSslCertificate) URN added in v0.18.0

URN is this resource's unique name assigned by Pulumi.

type MangedSslCertificateArgs added in v0.18.0

type MangedSslCertificateArgs struct {
	// The unique identifier for the resource.
	CertificateId interface{}
	// An optional description of this resource.
	Description interface{}
	// Properties relevant to a managed certificate. These will be used if the certificate is managed (as indicated by a value
	// of 'MANAGED' in 'type').
	Managed interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. These are in the same
	// namespace as the managed SSL certificates.
	Name    interface{}
	Project interface{}
	// Enum field whose value is always 'MANAGED' - used to signal to the API which type this is.
	Type interface{}
}

The set of arguments for constructing a MangedSslCertificate resource.

type MangedSslCertificateState added in v0.18.0

type MangedSslCertificateState struct {
	// The unique identifier for the resource.
	CertificateId interface{}
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// An optional description of this resource.
	Description interface{}
	// Expire time of the certificate.
	ExpireTime interface{}
	// Properties relevant to a managed certificate. These will be used if the certificate is managed (as indicated by a value
	// of 'MANAGED' in 'type').
	Managed interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. These are in the same
	// namespace as the managed SSL certificates.
	Name     interface{}
	Project  interface{}
	SelfLink interface{}
	// Domains associated with the certificate via Subject Alternative Name.
	SubjectAlternativeNames interface{}
	// Enum field whose value is always 'MANAGED' - used to signal to the API which type this is.
	Type interface{}
}

Input properties used for looking up and filtering MangedSslCertificate resources.

type Network

type Network struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_network.html.markdown.

func GetNetwork

func GetNetwork(ctx *pulumi.Context,
	name string, id pulumi.ID, state *NetworkState, opts ...pulumi.ResourceOpt) (*Network, error)

GetNetwork gets an existing Network resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewNetwork

func NewNetwork(ctx *pulumi.Context,
	name string, args *NetworkArgs, opts ...pulumi.ResourceOpt) (*Network, error)

NewNetwork registers a new resource with the given unique name, arguments, and options.

func (*Network) AutoCreateSubnetworks

func (r *Network) AutoCreateSubnetworks() pulumi.BoolOutput

When set to 'true', the network is created in "auto subnet mode" and it will create a subnet for each region automatically across the '10.128.0.0/9' address range. When set to 'false', the network is created in "custom subnet mode" so the user can explicitly connect subnetwork resources.

func (*Network) DeleteDefaultRoutesOnCreate added in v0.18.5

func (r *Network) DeleteDefaultRoutesOnCreate() pulumi.BoolOutput

If set to `true`, default routes (`0.0.0.0/0`) will be deleted immediately after network creation. Defaults to `false`.

func (*Network) Description

func (r *Network) Description() pulumi.StringOutput

An optional description of this resource. The resource must be recreated to modify this field.

func (*Network) GatewayIpv4

func (r *Network) GatewayIpv4() pulumi.StringOutput

The gateway address for default routing out of the network. This value is selected by GCP.

func (*Network) ID

func (r *Network) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*Network) Ipv4Range

func (r *Network) Ipv4Range() pulumi.StringOutput

If this field is specified, a deprecated legacy network is created. You will no longer be able to create a legacy network on Feb 1, 2020. See the [legacy network docs](https://cloud.google.com/vpc/docs/legacy) for more details. The range of internal addresses that are legal on this legacy network. This range is a CIDR specification, for example: '192.168.0.0/16'. The resource must be recreated to modify this field.

func (*Network) Name

func (r *Network) Name() pulumi.StringOutput

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*Network) Project

func (r *Network) Project() pulumi.StringOutput

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

func (*Network) RoutingMode

func (r *Network) RoutingMode() pulumi.StringOutput

The network-wide routing mode to use. If set to 'REGIONAL', this network's cloud routers will only advertise routes with subnetworks of this network in the same region as the router. If set to 'GLOBAL', this network's cloud routers will advertise routes with all subnetworks of this network, across regions.

func (r *Network) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*Network) URN

func (r *Network) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type NetworkArgs

type NetworkArgs struct {
	// When set to 'true', the network is created in "auto subnet mode" and it will create a subnet for each region
	// automatically across the '10.128.0.0/9' address range. When set to 'false', the network is created in "custom subnet
	// mode" so the user can explicitly connect subnetwork resources.
	AutoCreateSubnetworks interface{}
	// If set to `true`, default routes (`0.0.0.0/0`) will be deleted
	// immediately after network creation. Defaults to `false`.
	DeleteDefaultRoutesOnCreate interface{}
	// An optional description of this resource. The resource must be recreated to modify this field.
	Description interface{}
	// If this field is specified, a deprecated legacy network is created. You will no longer be able to create a legacy
	// network on Feb 1, 2020. See the [legacy network docs](https://cloud.google.com/vpc/docs/legacy) for more details. The
	// range of internal addresses that are legal on this legacy network. This range is a CIDR specification, for example:
	// '192.168.0.0/16'. The resource must be recreated to modify this field.
	Ipv4Range interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The network-wide routing mode to use. If set to 'REGIONAL', this network's cloud routers will only advertise routes
	// with subnetworks of this network in the same region as the router. If set to 'GLOBAL', this network's cloud routers
	// will advertise routes with all subnetworks of this network, across regions.
	RoutingMode interface{}
}

The set of arguments for constructing a Network resource.

type NetworkEndpoint added in v0.18.8

type NetworkEndpoint struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_network_endpoint.html.markdown.

func GetNetworkEndpoint added in v0.18.8

func GetNetworkEndpoint(ctx *pulumi.Context,
	name string, id pulumi.ID, state *NetworkEndpointState, opts ...pulumi.ResourceOpt) (*NetworkEndpoint, error)

GetNetworkEndpoint gets an existing NetworkEndpoint resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewNetworkEndpoint added in v0.18.8

func NewNetworkEndpoint(ctx *pulumi.Context,
	name string, args *NetworkEndpointArgs, opts ...pulumi.ResourceOpt) (*NetworkEndpoint, error)

NewNetworkEndpoint registers a new resource with the given unique name, arguments, and options.

func (*NetworkEndpoint) ID added in v0.18.8

ID is this resource's unique identifier assigned by its provider.

func (*NetworkEndpoint) Instance added in v0.18.8

func (r *NetworkEndpoint) Instance() pulumi.StringOutput

The name for a specific VM instance that the IP address belongs to. This is required for network endpoints of type GCE_VM_IP_PORT. The instance must be in the same zone of network endpoint group.

func (*NetworkEndpoint) IpAddress added in v0.18.8

func (r *NetworkEndpoint) IpAddress() pulumi.StringOutput

IPv4 address of network endpoint. The IP address must belong to a VM in GCE (either the primary IP or as part of an aliased IP range).

func (*NetworkEndpoint) NetworkEndpointGroup added in v0.18.8

func (r *NetworkEndpoint) NetworkEndpointGroup() pulumi.StringOutput

The network endpoint group this endpoint is part of.

func (*NetworkEndpoint) Port added in v0.18.8

func (r *NetworkEndpoint) Port() pulumi.IntOutput

Port number of network endpoint.

func (*NetworkEndpoint) Project added in v0.18.8

func (r *NetworkEndpoint) Project() pulumi.StringOutput

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

func (*NetworkEndpoint) URN added in v0.18.8

func (r *NetworkEndpoint) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*NetworkEndpoint) Zone added in v0.18.8

Zone where the containing network endpoint group is located.

type NetworkEndpointArgs added in v0.18.8

type NetworkEndpointArgs struct {
	// The name for a specific VM instance that the IP address belongs to. This is required for network endpoints of type
	// GCE_VM_IP_PORT. The instance must be in the same zone of network endpoint group.
	Instance interface{}
	// IPv4 address of network endpoint. The IP address must belong to a VM in GCE (either the primary IP or as part of an
	// aliased IP range).
	IpAddress interface{}
	// The network endpoint group this endpoint is part of.
	NetworkEndpointGroup interface{}
	// Port number of network endpoint.
	Port interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// Zone where the containing network endpoint group is located.
	Zone interface{}
}

The set of arguments for constructing a NetworkEndpoint resource.

type NetworkEndpointGroup added in v0.18.6

type NetworkEndpointGroup struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_network_endpoint_group.html.markdown.

func GetNetworkEndpointGroup added in v0.18.6

func GetNetworkEndpointGroup(ctx *pulumi.Context,
	name string, id pulumi.ID, state *NetworkEndpointGroupState, opts ...pulumi.ResourceOpt) (*NetworkEndpointGroup, error)

GetNetworkEndpointGroup gets an existing NetworkEndpointGroup resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewNetworkEndpointGroup added in v0.18.6

func NewNetworkEndpointGroup(ctx *pulumi.Context,
	name string, args *NetworkEndpointGroupArgs, opts ...pulumi.ResourceOpt) (*NetworkEndpointGroup, error)

NewNetworkEndpointGroup registers a new resource with the given unique name, arguments, and options.

func (*NetworkEndpointGroup) DefaultPort added in v0.18.6

func (r *NetworkEndpointGroup) DefaultPort() pulumi.IntOutput

The default port used if the port number is not specified in the network endpoint.

func (*NetworkEndpointGroup) Description added in v0.18.6

func (r *NetworkEndpointGroup) Description() pulumi.StringOutput

An optional description of this resource. Provide this property when you create the resource.

func (*NetworkEndpointGroup) ID added in v0.18.6

ID is this resource's unique identifier assigned by its provider.

func (*NetworkEndpointGroup) Name added in v0.18.6

Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*NetworkEndpointGroup) Network added in v0.18.6

The network to which all network endpoints in the NEG belong. Uses "default" project network if unspecified.

func (*NetworkEndpointGroup) NetworkEndpointType added in v0.18.6

func (r *NetworkEndpointGroup) NetworkEndpointType() pulumi.StringOutput

Type of network endpoints in this network endpoint group. Currently the only supported value is GCE_VM_IP_PORT.

func (*NetworkEndpointGroup) Project added in v0.18.6

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.

func (*NetworkEndpointGroup) Size added in v0.18.6

Number of network endpoints in the network endpoint group.

func (*NetworkEndpointGroup) Subnetwork added in v0.18.6

func (r *NetworkEndpointGroup) Subnetwork() pulumi.StringOutput

Optional subnetwork to which all network endpoints in the NEG belong.

func (*NetworkEndpointGroup) URN added in v0.18.6

URN is this resource's unique name assigned by Pulumi.

func (*NetworkEndpointGroup) Zone added in v0.18.6

Zone where the network endpoint group is located.

type NetworkEndpointGroupArgs added in v0.18.6

type NetworkEndpointGroupArgs struct {
	// The default port used if the port number is not specified in the network endpoint.
	DefaultPort interface{}
	// An optional description of this resource. Provide this property when you create the resource.
	Description interface{}
	// Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The network to which all network endpoints in the NEG belong. Uses "default" project network if unspecified.
	Network interface{}
	// Type of network endpoints in this network endpoint group. Currently the only supported value is GCE_VM_IP_PORT.
	NetworkEndpointType interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// Optional subnetwork to which all network endpoints in the NEG belong.
	Subnetwork interface{}
	// Zone where the network endpoint group is located.
	Zone interface{}
}

The set of arguments for constructing a NetworkEndpointGroup resource.

type NetworkEndpointGroupState added in v0.18.6

type NetworkEndpointGroupState struct {
	// The default port used if the port number is not specified in the network endpoint.
	DefaultPort interface{}
	// An optional description of this resource. Provide this property when you create the resource.
	Description interface{}
	// Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The network to which all network endpoints in the NEG belong. Uses "default" project network if unspecified.
	Network interface{}
	// Type of network endpoints in this network endpoint group. Currently the only supported value is GCE_VM_IP_PORT.
	NetworkEndpointType interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// Number of network endpoints in the network endpoint group.
	Size interface{}
	// Optional subnetwork to which all network endpoints in the NEG belong.
	Subnetwork interface{}
	// Zone where the network endpoint group is located.
	Zone interface{}
}

Input properties used for looking up and filtering NetworkEndpointGroup resources.

type NetworkEndpointState added in v0.18.8

type NetworkEndpointState struct {
	// The name for a specific VM instance that the IP address belongs to. This is required for network endpoints of type
	// GCE_VM_IP_PORT. The instance must be in the same zone of network endpoint group.
	Instance interface{}
	// IPv4 address of network endpoint. The IP address must belong to a VM in GCE (either the primary IP or as part of an
	// aliased IP range).
	IpAddress interface{}
	// The network endpoint group this endpoint is part of.
	NetworkEndpointGroup interface{}
	// Port number of network endpoint.
	Port interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// Zone where the containing network endpoint group is located.
	Zone interface{}
}

Input properties used for looking up and filtering NetworkEndpoint resources.

type NetworkPeering

type NetworkPeering struct {
	// contains filtered or unexported fields
}

Manages a network peering within GCE. For more information see [the official documentation](https://cloud.google.com/compute/docs/vpc/vpc-peering) and [API](https://cloud.google.com/compute/docs/reference/latest/networks).

> **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.

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_network_peering.html.markdown.

func GetNetworkPeering

func GetNetworkPeering(ctx *pulumi.Context,
	name string, id pulumi.ID, state *NetworkPeeringState, opts ...pulumi.ResourceOpt) (*NetworkPeering, error)

GetNetworkPeering gets an existing NetworkPeering resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewNetworkPeering

func NewNetworkPeering(ctx *pulumi.Context,
	name string, args *NetworkPeeringArgs, opts ...pulumi.ResourceOpt) (*NetworkPeering, error)

NewNetworkPeering registers a new resource with the given unique name, arguments, and options.

func (*NetworkPeering) AutoCreateRoutes

func (r *NetworkPeering) AutoCreateRoutes() pulumi.BoolOutput

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

func (*NetworkPeering) ExportCustomRoutes added in v0.18.7

func (r *NetworkPeering) ExportCustomRoutes() pulumi.BoolOutput

func (*NetworkPeering) ID

func (r *NetworkPeering) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*NetworkPeering) ImportCustomRoutes added in v0.18.7

func (r *NetworkPeering) ImportCustomRoutes() pulumi.BoolOutput

func (*NetworkPeering) Name

Name of the peering.

func (*NetworkPeering) Network

func (r *NetworkPeering) Network() pulumi.StringOutput

Resource link of the network to add a peering to.

func (*NetworkPeering) PeerNetwork

func (r *NetworkPeering) PeerNetwork() pulumi.StringOutput

Resource link of the peer network.

func (*NetworkPeering) State

func (r *NetworkPeering) State() pulumi.StringOutput

State for the peering.

func (*NetworkPeering) StateDetails

func (r *NetworkPeering) StateDetails() pulumi.StringOutput

Details about the current state of the peering.

func (*NetworkPeering) URN

func (r *NetworkPeering) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type NetworkPeeringArgs

type NetworkPeeringArgs struct {
	// If set to `true`, the routes between the two networks will
	// be created and managed automatically. Defaults to `true`.
	AutoCreateRoutes   interface{}
	ExportCustomRoutes interface{}
	ImportCustomRoutes interface{}
	// Name of the peering.
	Name interface{}
	// Resource link of the network to add a peering to.
	Network interface{}
	// Resource link of the peer network.
	PeerNetwork interface{}
}

The set of arguments for constructing a NetworkPeering resource.

type NetworkPeeringState

type NetworkPeeringState struct {
	// If set to `true`, the routes between the two networks will
	// be created and managed automatically. Defaults to `true`.
	AutoCreateRoutes   interface{}
	ExportCustomRoutes interface{}
	ImportCustomRoutes interface{}
	// Name of the peering.
	Name interface{}
	// Resource link of the network to add a peering to.
	Network interface{}
	// Resource link of the peer network.
	PeerNetwork interface{}
	// State for the peering.
	State interface{}
	// Details about the current state of the peering.
	StateDetails interface{}
}

Input properties used for looking up and filtering NetworkPeering resources.

type NetworkState

type NetworkState struct {
	// When set to 'true', the network is created in "auto subnet mode" and it will create a subnet for each region
	// automatically across the '10.128.0.0/9' address range. When set to 'false', the network is created in "custom subnet
	// mode" so the user can explicitly connect subnetwork resources.
	AutoCreateSubnetworks interface{}
	// If set to `true`, default routes (`0.0.0.0/0`) will be deleted
	// immediately after network creation. Defaults to `false`.
	DeleteDefaultRoutesOnCreate interface{}
	// An optional description of this resource. The resource must be recreated to modify this field.
	Description interface{}
	// The gateway address for default routing out of the network. This value is selected by GCP.
	GatewayIpv4 interface{}
	// If this field is specified, a deprecated legacy network is created. You will no longer be able to create a legacy
	// network on Feb 1, 2020. See the [legacy network docs](https://cloud.google.com/vpc/docs/legacy) for more details. The
	// range of internal addresses that are legal on this legacy network. This range is a CIDR specification, for example:
	// '192.168.0.0/16'. The resource must be recreated to modify this field.
	Ipv4Range interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The network-wide routing mode to use. If set to 'REGIONAL', this network's cloud routers will only advertise routes
	// with subnetworks of this network in the same region as the router. If set to 'GLOBAL', this network's cloud routers
	// will advertise routes with all subnetworks of this network, across regions.
	RoutingMode interface{}
	// The URI of the created resource.
	SelfLink interface{}
}

Input properties used for looking up and filtering Network resources.

type NodeGroup added in v0.18.6

type NodeGroup struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_node_group.html.markdown.

func GetNodeGroup added in v0.18.6

func GetNodeGroup(ctx *pulumi.Context,
	name string, id pulumi.ID, state *NodeGroupState, opts ...pulumi.ResourceOpt) (*NodeGroup, error)

GetNodeGroup gets an existing NodeGroup resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewNodeGroup added in v0.18.6

func NewNodeGroup(ctx *pulumi.Context,
	name string, args *NodeGroupArgs, opts ...pulumi.ResourceOpt) (*NodeGroup, error)

NewNodeGroup registers a new resource with the given unique name, arguments, and options.

func (*NodeGroup) CreationTimestamp added in v0.18.6

func (r *NodeGroup) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*NodeGroup) Description added in v0.18.6

func (r *NodeGroup) Description() pulumi.StringOutput

An optional textual description of the resource.

func (*NodeGroup) ID added in v0.18.6

func (r *NodeGroup) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*NodeGroup) Name added in v0.18.6

func (r *NodeGroup) Name() pulumi.StringOutput

Name of the resource.

func (*NodeGroup) NodeTemplate added in v0.18.6

func (r *NodeGroup) NodeTemplate() pulumi.StringOutput

The URL of the node template to which this node group belongs.

func (*NodeGroup) Project added in v0.18.6

func (r *NodeGroup) Project() pulumi.StringOutput

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

func (r *NodeGroup) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*NodeGroup) Size added in v0.18.6

func (r *NodeGroup) Size() pulumi.IntOutput

The total number of nodes in the node group.

func (*NodeGroup) URN added in v0.18.6

func (r *NodeGroup) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*NodeGroup) Zone added in v0.18.6

func (r *NodeGroup) Zone() pulumi.StringOutput

Zone where this node group is located

type NodeGroupArgs added in v0.18.6

type NodeGroupArgs struct {
	// An optional textual description of the resource.
	Description interface{}
	// Name of the resource.
	Name interface{}
	// The URL of the node template to which this node group belongs.
	NodeTemplate interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The total number of nodes in the node group.
	Size interface{}
	// Zone where this node group is located
	Zone interface{}
}

The set of arguments for constructing a NodeGroup resource.

type NodeGroupState added in v0.18.6

type NodeGroupState struct {
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// An optional textual description of the resource.
	Description interface{}
	// Name of the resource.
	Name interface{}
	// The URL of the node template to which this node group belongs.
	NodeTemplate interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// The total number of nodes in the node group.
	Size interface{}
	// Zone where this node group is located
	Zone interface{}
}

Input properties used for looking up and filtering NodeGroup resources.

type NodeTemplate added in v0.18.6

type NodeTemplate struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_node_template.html.markdown.

func GetNodeTemplate added in v0.18.6

func GetNodeTemplate(ctx *pulumi.Context,
	name string, id pulumi.ID, state *NodeTemplateState, opts ...pulumi.ResourceOpt) (*NodeTemplate, error)

GetNodeTemplate gets an existing NodeTemplate resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewNodeTemplate added in v0.18.6

func NewNodeTemplate(ctx *pulumi.Context,
	name string, args *NodeTemplateArgs, opts ...pulumi.ResourceOpt) (*NodeTemplate, error)

NewNodeTemplate registers a new resource with the given unique name, arguments, and options.

func (*NodeTemplate) CreationTimestamp added in v0.18.6

func (r *NodeTemplate) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*NodeTemplate) Description added in v0.18.6

func (r *NodeTemplate) Description() pulumi.StringOutput

An optional textual description of the resource.

func (*NodeTemplate) ID added in v0.18.6

func (r *NodeTemplate) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*NodeTemplate) Name added in v0.18.6

func (r *NodeTemplate) Name() pulumi.StringOutput

Name of the resource.

func (*NodeTemplate) NodeAffinityLabels added in v0.18.6

func (r *NodeTemplate) NodeAffinityLabels() pulumi.MapOutput

Labels to use for node affinity, which will be used in instance scheduling.

func (*NodeTemplate) NodeType added in v0.18.6

func (r *NodeTemplate) NodeType() pulumi.StringOutput

Node type to use for nodes group that are created from this template. Only one of nodeTypeFlexibility and nodeType can be specified.

func (*NodeTemplate) NodeTypeFlexibility added in v0.18.6

func (r *NodeTemplate) NodeTypeFlexibility() pulumi.Output

Flexible properties for the desired node type. Node groups that use this node template will create nodes of a type that matches these properties. Only one of nodeTypeFlexibility and nodeType can be specified.

func (*NodeTemplate) Project added in v0.18.6

func (r *NodeTemplate) Project() pulumi.StringOutput

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

func (*NodeTemplate) Region added in v0.18.6

func (r *NodeTemplate) Region() pulumi.StringOutput

Region where nodes using the node template will be created. If it is not provided, the provider region is used.

func (r *NodeTemplate) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*NodeTemplate) ServerBinding added in v0.18.6

func (r *NodeTemplate) ServerBinding() pulumi.Output

The server binding policy for nodes using this template. Determines where the nodes should restart following a maintenance event.

func (*NodeTemplate) URN added in v0.18.6

func (r *NodeTemplate) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type NodeTemplateArgs added in v0.18.6

type NodeTemplateArgs struct {
	// An optional textual description of the resource.
	Description interface{}
	// Name of the resource.
	Name interface{}
	// Labels to use for node affinity, which will be used in instance scheduling.
	NodeAffinityLabels interface{}
	// Node type to use for nodes group that are created from this template. Only one of nodeTypeFlexibility and nodeType can
	// be specified.
	NodeType interface{}
	// Flexible properties for the desired node type. Node groups that use this node template will create nodes of a type that
	// matches these properties. Only one of nodeTypeFlexibility and nodeType can be specified.
	NodeTypeFlexibility interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// Region where nodes using the node template will be created. If it is not provided, the provider region is used.
	Region interface{}
	// The server binding policy for nodes using this template. Determines where the nodes should restart following a
	// maintenance event.
	ServerBinding interface{}
}

The set of arguments for constructing a NodeTemplate resource.

type NodeTemplateState added in v0.18.6

type NodeTemplateState struct {
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// An optional textual description of the resource.
	Description interface{}
	// Name of the resource.
	Name interface{}
	// Labels to use for node affinity, which will be used in instance scheduling.
	NodeAffinityLabels interface{}
	// Node type to use for nodes group that are created from this template. Only one of nodeTypeFlexibility and nodeType can
	// be specified.
	NodeType interface{}
	// Flexible properties for the desired node type. Node groups that use this node template will create nodes of a type that
	// matches these properties. Only one of nodeTypeFlexibility and nodeType can be specified.
	NodeTypeFlexibility interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// Region where nodes using the node template will be created. If it is not provided, the provider region is used.
	Region interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// The server binding policy for nodes using this template. Determines where the nodes should restart following a
	// maintenance event.
	ServerBinding interface{}
}

Input properties used for looking up and filtering NodeTemplate resources.

type ProjectDefaultNetworkTier added in v0.18.10

type ProjectDefaultNetworkTier struct {
	// contains filtered or unexported fields
}

Configures the Google Compute Engine [Default Network Tier](https://cloud.google.com/network-tiers/docs/using-network-service-tiers#setting_the_tier_for_all_resources_in_a_project) for a project.

For more information, see, [the Project API documentation](https://cloud.google.com/compute/docs/reference/rest/v1/projects/setDefaultNetworkTier).

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_project_default_network_tier.html.markdown.

func GetProjectDefaultNetworkTier added in v0.18.10

func GetProjectDefaultNetworkTier(ctx *pulumi.Context,
	name string, id pulumi.ID, state *ProjectDefaultNetworkTierState, opts ...pulumi.ResourceOpt) (*ProjectDefaultNetworkTier, error)

GetProjectDefaultNetworkTier gets an existing ProjectDefaultNetworkTier resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewProjectDefaultNetworkTier added in v0.18.10

func NewProjectDefaultNetworkTier(ctx *pulumi.Context,
	name string, args *ProjectDefaultNetworkTierArgs, opts ...pulumi.ResourceOpt) (*ProjectDefaultNetworkTier, error)

NewProjectDefaultNetworkTier registers a new resource with the given unique name, arguments, and options.

func (*ProjectDefaultNetworkTier) ID added in v0.18.10

ID is this resource's unique identifier assigned by its provider.

func (*ProjectDefaultNetworkTier) NetworkTier added in v0.18.10

The default network tier to be configured for the project. This field can take the following values: `PREMIUM` or `STANDARD`.

func (*ProjectDefaultNetworkTier) Project added in v0.18.10

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

func (*ProjectDefaultNetworkTier) URN added in v0.18.10

URN is this resource's unique name assigned by Pulumi.

type ProjectDefaultNetworkTierArgs added in v0.18.10

type ProjectDefaultNetworkTierArgs struct {
	// The default network tier to be configured for the project.
	// This field can take the following values: `PREMIUM` or `STANDARD`.
	NetworkTier interface{}
	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
}

The set of arguments for constructing a ProjectDefaultNetworkTier resource.

type ProjectDefaultNetworkTierState added in v0.18.10

type ProjectDefaultNetworkTierState struct {
	// The default network tier to be configured for the project.
	// This field can take the following values: `PREMIUM` or `STANDARD`.
	NetworkTier interface{}
	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
}

Input properties used for looking up and filtering ProjectDefaultNetworkTier resources.

type ProjectMetadata

type ProjectMetadata struct {
	// contains filtered or unexported fields
}

Authoritatively manages metadata common to all instances for a project in GCE. For more information see [the official documentation](https://cloud.google.com/compute/docs/storing-retrieving-metadata) and [API](https://cloud.google.com/compute/docs/reference/latest/projects/setCommonInstanceMetadata).

> **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.

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_project_metadata.html.markdown.

func GetProjectMetadata

func GetProjectMetadata(ctx *pulumi.Context,
	name string, id pulumi.ID, state *ProjectMetadataState, opts ...pulumi.ResourceOpt) (*ProjectMetadata, error)

GetProjectMetadata gets an existing ProjectMetadata resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewProjectMetadata

func NewProjectMetadata(ctx *pulumi.Context,
	name string, args *ProjectMetadataArgs, opts ...pulumi.ResourceOpt) (*ProjectMetadata, error)

NewProjectMetadata registers a new resource with the given unique name, arguments, and options.

func (*ProjectMetadata) ID

ID is this resource's unique identifier assigned by its provider.

func (*ProjectMetadata) Metadata

func (r *ProjectMetadata) Metadata() pulumi.MapOutput

A series of key value pairs.

func (*ProjectMetadata) Project

func (r *ProjectMetadata) Project() pulumi.StringOutput

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

func (*ProjectMetadata) URN

func (r *ProjectMetadata) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type ProjectMetadataArgs

type ProjectMetadataArgs struct {
	// A series of key value pairs.
	Metadata interface{}
	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
}

The set of arguments for constructing a ProjectMetadata resource.

type ProjectMetadataItem

type ProjectMetadataItem struct {
	// contains filtered or unexported fields
}

Manages a single key/value pair on metadata common to all instances for a project in GCE. Using `compute.ProjectMetadataItem` lets you manage a single key/value setting with this provider rather than the entire project metadata map.

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_project_metadata_item.html.markdown.

func GetProjectMetadataItem

func GetProjectMetadataItem(ctx *pulumi.Context,
	name string, id pulumi.ID, state *ProjectMetadataItemState, opts ...pulumi.ResourceOpt) (*ProjectMetadataItem, error)

GetProjectMetadataItem gets an existing ProjectMetadataItem resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewProjectMetadataItem

func NewProjectMetadataItem(ctx *pulumi.Context,
	name string, args *ProjectMetadataItemArgs, opts ...pulumi.ResourceOpt) (*ProjectMetadataItem, error)

NewProjectMetadataItem registers a new resource with the given unique name, arguments, and options.

func (*ProjectMetadataItem) ID

ID is this resource's unique identifier assigned by its provider.

func (*ProjectMetadataItem) Key

The metadata key to set.

func (*ProjectMetadataItem) Project

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

func (*ProjectMetadataItem) URN

URN is this resource's unique name assigned by Pulumi.

func (*ProjectMetadataItem) Value

The value to set for the given metadata key.

type ProjectMetadataItemArgs

type ProjectMetadataItemArgs struct {
	// The metadata key to set.
	Key interface{}
	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// The value to set for the given metadata key.
	Value interface{}
}

The set of arguments for constructing a ProjectMetadataItem resource.

type ProjectMetadataItemState

type ProjectMetadataItemState struct {
	// The metadata key to set.
	Key interface{}
	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// The value to set for the given metadata key.
	Value interface{}
}

Input properties used for looking up and filtering ProjectMetadataItem resources.

type ProjectMetadataState

type ProjectMetadataState struct {
	// A series of key value pairs.
	Metadata interface{}
	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
}

Input properties used for looking up and filtering ProjectMetadata resources.

type RegionAutoscaler

type RegionAutoscaler struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_region_autoscaler.html.markdown.

func GetRegionAutoscaler

func GetRegionAutoscaler(ctx *pulumi.Context,
	name string, id pulumi.ID, state *RegionAutoscalerState, opts ...pulumi.ResourceOpt) (*RegionAutoscaler, error)

GetRegionAutoscaler gets an existing RegionAutoscaler resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewRegionAutoscaler

func NewRegionAutoscaler(ctx *pulumi.Context,
	name string, args *RegionAutoscalerArgs, opts ...pulumi.ResourceOpt) (*RegionAutoscaler, error)

NewRegionAutoscaler registers a new resource with the given unique name, arguments, and options.

func (*RegionAutoscaler) AutoscalingPolicy

func (r *RegionAutoscaler) AutoscalingPolicy() pulumi.Output

The configuration parameters for the autoscaling algorithm. You can define one or more of the policies for an autoscaler: cpuUtilization, customMetricUtilizations, and loadBalancingUtilization. If none of these are specified, the default will be to autoscale based on cpuUtilization to 0.6 or 60%!.(MISSING)

func (*RegionAutoscaler) CreationTimestamp added in v0.15.0

func (r *RegionAutoscaler) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*RegionAutoscaler) Description

func (r *RegionAutoscaler) Description() pulumi.StringOutput

An optional description of this resource.

func (*RegionAutoscaler) ID

ID is this resource's unique identifier assigned by its provider.

func (*RegionAutoscaler) Name

Name of the resource. The name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*RegionAutoscaler) Project

func (r *RegionAutoscaler) Project() pulumi.StringOutput

func (*RegionAutoscaler) Region

func (r *RegionAutoscaler) Region() pulumi.StringOutput

URL of the region where the instance group resides.

func (r *RegionAutoscaler) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*RegionAutoscaler) Target

func (r *RegionAutoscaler) Target() pulumi.StringOutput

URL of the managed instance group that this autoscaler will scale.

func (*RegionAutoscaler) URN

URN is this resource's unique name assigned by Pulumi.

type RegionAutoscalerArgs

type RegionAutoscalerArgs struct {
	// The configuration parameters for the autoscaling algorithm. You can define one or more of the policies for an
	// autoscaler: cpuUtilization, customMetricUtilizations, and loadBalancingUtilization. If none of these are specified, the
	// default will be to autoscale based on cpuUtilization to 0.6 or 60%!.(MISSING)
	AutoscalingPolicy interface{}
	// An optional description of this resource.
	Description interface{}
	// Name of the resource. The name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name    interface{}
	Project interface{}
	// URL of the region where the instance group resides.
	Region interface{}
	// URL of the managed instance group that this autoscaler will scale.
	Target interface{}
}

The set of arguments for constructing a RegionAutoscaler resource.

type RegionAutoscalerState

type RegionAutoscalerState struct {
	// The configuration parameters for the autoscaling algorithm. You can define one or more of the policies for an
	// autoscaler: cpuUtilization, customMetricUtilizations, and loadBalancingUtilization. If none of these are specified, the
	// default will be to autoscale based on cpuUtilization to 0.6 or 60%!.(MISSING)
	AutoscalingPolicy interface{}
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// An optional description of this resource.
	Description interface{}
	// Name of the resource. The name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name    interface{}
	Project interface{}
	// URL of the region where the instance group resides.
	Region interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// URL of the managed instance group that this autoscaler will scale.
	Target interface{}
}

Input properties used for looking up and filtering RegionAutoscaler resources.

type RegionBackendService

type RegionBackendService struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_region_backend_service.html.markdown.

func GetRegionBackendService

func GetRegionBackendService(ctx *pulumi.Context,
	name string, id pulumi.ID, state *RegionBackendServiceState, opts ...pulumi.ResourceOpt) (*RegionBackendService, error)

GetRegionBackendService gets an existing RegionBackendService resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewRegionBackendService

func NewRegionBackendService(ctx *pulumi.Context,
	name string, args *RegionBackendServiceArgs, opts ...pulumi.ResourceOpt) (*RegionBackendService, error)

NewRegionBackendService registers a new resource with the given unique name, arguments, and options.

func (*RegionBackendService) AffinityCookieTtlSec added in v1.6.0

func (r *RegionBackendService) AffinityCookieTtlSec() pulumi.IntOutput

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. When the load balancing scheme is INTERNAL, this field is not used.

func (*RegionBackendService) Backends

func (r *RegionBackendService) Backends() pulumi.ArrayOutput

The set of backends that serve this RegionBackendService.

func (*RegionBackendService) CircuitBreakers added in v1.6.0

func (r *RegionBackendService) CircuitBreakers() pulumi.Output

Settings controlling the volume of connections to a backend service. This field is applicable only when the 'load_balancing_scheme' is set to INTERNAL_MANAGED and the 'protocol' is set to HTTP, HTTPS, or HTTP2.

func (*RegionBackendService) ConnectionDrainingTimeoutSec

func (r *RegionBackendService) ConnectionDrainingTimeoutSec() pulumi.IntOutput

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

func (*RegionBackendService) ConsistentHash added in v1.6.0

func (r *RegionBackendService) ConsistentHash() pulumi.Output

Consistent Hash-based load balancing can be used to provide soft session affinity based on HTTP headers, cookies or other properties. This load balancing policy is applicable only for HTTP connections. The affinity to a particular destination host will be lost when one or more hosts are added/removed from the destination service. This field specifies parameters that control consistent hashing. This field only applies when all of the following are true - * 'load_balancing_scheme' is set to INTERNAL_MANAGED * 'protocol' is set to HTTP, HTTPS, or HTTP2 * 'locality_lb_policy' is set to MAGLEV or RING_HASH

func (*RegionBackendService) CreationTimestamp added in v1.6.0

func (r *RegionBackendService) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*RegionBackendService) Description

func (r *RegionBackendService) Description() pulumi.StringOutput

An optional description of this resource.

func (*RegionBackendService) FailoverPolicy added in v0.18.7

func (r *RegionBackendService) FailoverPolicy() pulumi.Output

Policy for failovers.

func (*RegionBackendService) Fingerprint

func (r *RegionBackendService) Fingerprint() pulumi.StringOutput

Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking.

func (*RegionBackendService) HealthChecks

func (r *RegionBackendService) HealthChecks() pulumi.StringOutput

The set of URLs to HealthCheck resources for health checking this RegionBackendService. Currently at most one health check can be specified, and a health check is required.

func (*RegionBackendService) ID

ID is this resource's unique identifier assigned by its provider.

func (*RegionBackendService) LoadBalancingScheme added in v0.18.6

func (r *RegionBackendService) LoadBalancingScheme() pulumi.StringOutput

Indicates what kind of load balancing this regional backend service will be used for. A backend service created for one type of load balancing cannot be used with the other(s). Must be 'INTERNAL' or 'INTERNAL_MANAGED'. Defaults to 'INTERNAL'.

func (*RegionBackendService) LocalityLbPolicy added in v1.6.0

func (r *RegionBackendService) LocalityLbPolicy() pulumi.StringOutput

The load balancing algorithm used within the scope of the locality. The possible values are - ROUND_ROBIN - This is a simple policy in which each healthy backend is selected in round robin order. LEAST_REQUEST - An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. RING_HASH - The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. RANDOM - The load balancer selects a random healthy host. ORIGINAL_DESTINATION - Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. MAGLEV - used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, refer to https://ai.google/research/pubs/pub44824 This field is applicable only when the 'load_balancing_scheme' is set to INTERNAL_MANAGED and the 'protocol' is set to HTTP, HTTPS, or HTTP2.

func (*RegionBackendService) LogConfig added in v1.6.0

func (r *RegionBackendService) LogConfig() pulumi.Output

This field denotes the logging options for the load balancer traffic served by this backend service. If logging is enabled, logs will be exported to Stackdriver.

func (*RegionBackendService) Name

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*RegionBackendService) OutlierDetection added in v1.6.0

func (r *RegionBackendService) OutlierDetection() pulumi.Output

Settings controlling eviction of unhealthy hosts from the load balancing pool. This field is applicable only when the 'load_balancing_scheme' is set to INTERNAL_MANAGED and the 'protocol' is set to HTTP, HTTPS, or HTTP2.

func (*RegionBackendService) Project

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

func (*RegionBackendService) Protocol

The protocol this RegionBackendService uses to communicate with backends. Possible values are HTTP, HTTPS, HTTP2, SSL, TCP, and UDP. The default is HTTP. **NOTE**: HTTP2 is only valid for beta HTTP/2 load balancer types and may result in errors if used with the GA API.

func (*RegionBackendService) Region

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

The URI of the created resource.

func (*RegionBackendService) SessionAffinity

func (r *RegionBackendService) SessionAffinity() pulumi.StringOutput

Type of session affinity to use. The default is NONE. Session affinity is not applicable if the protocol is UDP.

func (*RegionBackendService) TimeoutSec

func (r *RegionBackendService) TimeoutSec() pulumi.IntOutput

How many seconds to wait for the backend before considering it a failed request. Default is 30 seconds. Valid range is [1, 86400].

func (*RegionBackendService) URN

URN is this resource's unique name assigned by Pulumi.

type RegionBackendServiceArgs

type RegionBackendServiceArgs struct {
	// 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. When the
	// load balancing scheme is INTERNAL, this field is not used.
	AffinityCookieTtlSec interface{}
	// The set of backends that serve this RegionBackendService.
	Backends interface{}
	// Settings controlling the volume of connections to a backend service. This field is applicable only when the
	// 'load_balancing_scheme' is set to INTERNAL_MANAGED and the 'protocol' is set to HTTP, HTTPS, or HTTP2.
	CircuitBreakers interface{}
	// Time for which instance will be drained (not accept new connections, but still work to finish started).
	ConnectionDrainingTimeoutSec interface{}
	// Consistent Hash-based load balancing can be used to provide soft session affinity based on HTTP headers, cookies or
	// other properties. This load balancing policy is applicable only for HTTP connections. The affinity to a particular
	// destination host will be lost when one or more hosts are added/removed from the destination service. This field
	// specifies parameters that control consistent hashing. This field only applies when all of the following are true - *
	// 'load_balancing_scheme' is set to INTERNAL_MANAGED * 'protocol' is set to HTTP, HTTPS, or HTTP2 * 'locality_lb_policy'
	// is set to MAGLEV or RING_HASH
	ConsistentHash interface{}
	// An optional description of this resource.
	Description interface{}
	// Policy for failovers.
	FailoverPolicy interface{}
	// The set of URLs to HealthCheck resources for health checking this RegionBackendService. Currently at most one health
	// check can be specified, and a health check is required.
	HealthChecks interface{}
	// Indicates what kind of load balancing this regional backend service will be used for. A backend service created for one
	// type of load balancing cannot be used with the other(s). Must be 'INTERNAL' or 'INTERNAL_MANAGED'. Defaults to
	// 'INTERNAL'.
	LoadBalancingScheme interface{}
	// The load balancing algorithm used within the scope of the locality. The possible values are - ROUND_ROBIN - This is a
	// simple policy in which each healthy backend is selected in round robin order. LEAST_REQUEST - An O(1) algorithm which
	// selects two random healthy hosts and picks the host which has fewer active requests. RING_HASH - The ring/modulo hash
	// load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a
	// host from a set of N hosts only affects 1/N of the requests. RANDOM - The load balancer selects a random healthy host.
	// ORIGINAL_DESTINATION - Backend host is selected based on the client connection metadata, i.e., connections are opened
	// to the same address as the destination address of the incoming connection before the connection was redirected to the
	// load balancer. MAGLEV - used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring
	// hash but has faster table lookup build times and host selection times. For more information about Maglev, refer to
	// https://ai.google/research/pubs/pub44824 This field is applicable only when the 'load_balancing_scheme' is set to
	// INTERNAL_MANAGED and the 'protocol' is set to HTTP, HTTPS, or HTTP2.
	LocalityLbPolicy interface{}
	// This field denotes the logging options for the load balancer traffic served by this backend service. If logging is
	// enabled, logs will be exported to Stackdriver.
	LogConfig interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// Settings controlling eviction of unhealthy hosts from the load balancing pool. This field is applicable only when the
	// 'load_balancing_scheme' is set to INTERNAL_MANAGED and the 'protocol' is set to HTTP, HTTPS, or HTTP2.
	OutlierDetection interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The protocol this RegionBackendService uses to communicate with backends. Possible values are HTTP, HTTPS, HTTP2, SSL,
	// TCP, and UDP. The default is HTTP. **NOTE**: HTTP2 is only valid for beta HTTP/2 load balancer types and may result in
	// errors if used with the GA API.
	Protocol interface{}
	// The Region in which the created backend service should reside. If it is not provided, the provider region is used.
	Region interface{}
	// Type of session affinity to use. The default is NONE. Session affinity is not applicable if the protocol is UDP.
	SessionAffinity interface{}
	// How many seconds to wait for the backend before considering it a failed request. Default is 30 seconds. Valid range is
	// [1, 86400].
	TimeoutSec interface{}
}

The set of arguments for constructing a RegionBackendService resource.

type RegionBackendServiceState

type RegionBackendServiceState struct {
	// 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. When the
	// load balancing scheme is INTERNAL, this field is not used.
	AffinityCookieTtlSec interface{}
	// The set of backends that serve this RegionBackendService.
	Backends interface{}
	// Settings controlling the volume of connections to a backend service. This field is applicable only when the
	// 'load_balancing_scheme' is set to INTERNAL_MANAGED and the 'protocol' is set to HTTP, HTTPS, or HTTP2.
	CircuitBreakers interface{}
	// Time for which instance will be drained (not accept new connections, but still work to finish started).
	ConnectionDrainingTimeoutSec interface{}
	// Consistent Hash-based load balancing can be used to provide soft session affinity based on HTTP headers, cookies or
	// other properties. This load balancing policy is applicable only for HTTP connections. The affinity to a particular
	// destination host will be lost when one or more hosts are added/removed from the destination service. This field
	// specifies parameters that control consistent hashing. This field only applies when all of the following are true - *
	// 'load_balancing_scheme' is set to INTERNAL_MANAGED * 'protocol' is set to HTTP, HTTPS, or HTTP2 * 'locality_lb_policy'
	// is set to MAGLEV or RING_HASH
	ConsistentHash interface{}
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// An optional description of this resource.
	Description interface{}
	// Policy for failovers.
	FailoverPolicy interface{}
	// Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking.
	Fingerprint interface{}
	// The set of URLs to HealthCheck resources for health checking this RegionBackendService. Currently at most one health
	// check can be specified, and a health check is required.
	HealthChecks interface{}
	// Indicates what kind of load balancing this regional backend service will be used for. A backend service created for one
	// type of load balancing cannot be used with the other(s). Must be 'INTERNAL' or 'INTERNAL_MANAGED'. Defaults to
	// 'INTERNAL'.
	LoadBalancingScheme interface{}
	// The load balancing algorithm used within the scope of the locality. The possible values are - ROUND_ROBIN - This is a
	// simple policy in which each healthy backend is selected in round robin order. LEAST_REQUEST - An O(1) algorithm which
	// selects two random healthy hosts and picks the host which has fewer active requests. RING_HASH - The ring/modulo hash
	// load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a
	// host from a set of N hosts only affects 1/N of the requests. RANDOM - The load balancer selects a random healthy host.
	// ORIGINAL_DESTINATION - Backend host is selected based on the client connection metadata, i.e., connections are opened
	// to the same address as the destination address of the incoming connection before the connection was redirected to the
	// load balancer. MAGLEV - used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring
	// hash but has faster table lookup build times and host selection times. For more information about Maglev, refer to
	// https://ai.google/research/pubs/pub44824 This field is applicable only when the 'load_balancing_scheme' is set to
	// INTERNAL_MANAGED and the 'protocol' is set to HTTP, HTTPS, or HTTP2.
	LocalityLbPolicy interface{}
	// This field denotes the logging options for the load balancer traffic served by this backend service. If logging is
	// enabled, logs will be exported to Stackdriver.
	LogConfig interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// Settings controlling eviction of unhealthy hosts from the load balancing pool. This field is applicable only when the
	// 'load_balancing_scheme' is set to INTERNAL_MANAGED and the 'protocol' is set to HTTP, HTTPS, or HTTP2.
	OutlierDetection interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The protocol this RegionBackendService uses to communicate with backends. Possible values are HTTP, HTTPS, HTTP2, SSL,
	// TCP, and UDP. The default is HTTP. **NOTE**: HTTP2 is only valid for beta HTTP/2 load balancer types and may result in
	// errors if used with the GA API.
	Protocol interface{}
	// The Region in which the created backend service should reside. If it is not provided, the provider region is used.
	Region interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// Type of session affinity to use. The default is NONE. Session affinity is not applicable if the protocol is UDP.
	SessionAffinity interface{}
	// How many seconds to wait for the backend before considering it a failed request. Default is 30 seconds. Valid range is
	// [1, 86400].
	TimeoutSec interface{}
}

Input properties used for looking up and filtering RegionBackendService resources.

type RegionDisk added in v0.16.0

type RegionDisk struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_region_disk.html.markdown.

func GetRegionDisk added in v0.16.0

func GetRegionDisk(ctx *pulumi.Context,
	name string, id pulumi.ID, state *RegionDiskState, opts ...pulumi.ResourceOpt) (*RegionDisk, error)

GetRegionDisk gets an existing RegionDisk resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewRegionDisk added in v0.16.0

func NewRegionDisk(ctx *pulumi.Context,
	name string, args *RegionDiskArgs, opts ...pulumi.ResourceOpt) (*RegionDisk, error)

NewRegionDisk registers a new resource with the given unique name, arguments, and options.

func (*RegionDisk) CreationTimestamp added in v0.16.0

func (r *RegionDisk) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*RegionDisk) Description added in v0.16.0

func (r *RegionDisk) Description() pulumi.StringOutput

An optional description of this resource. Provide this property when you create the resource.

func (*RegionDisk) DiskEncryptionKey added in v0.16.0

func (r *RegionDisk) DiskEncryptionKey() pulumi.Output

Encrypts the disk using a customer-supplied encryption key. After you encrypt a disk with a customer-supplied key, you must provide the same key if you use the disk later (e.g. to create a disk snapshot or an image, or to attach the disk to a virtual machine). Customer-supplied encryption keys do not protect access to metadata of the disk. If you do not provide an encryption key when creating the disk, then the disk will be encrypted using an automatically generated key and you do not need to provide a key to use the disk later.

func (*RegionDisk) ID added in v0.16.0

func (r *RegionDisk) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*RegionDisk) LabelFingerprint added in v0.16.0

func (r *RegionDisk) LabelFingerprint() pulumi.StringOutput

The fingerprint used for optimistic locking of this resource. Used internally during updates.

func (*RegionDisk) Labels added in v0.16.0

func (r *RegionDisk) Labels() pulumi.MapOutput

Labels to apply to this disk. A list of key->value pairs.

func (*RegionDisk) LastAttachTimestamp added in v0.16.0

func (r *RegionDisk) LastAttachTimestamp() pulumi.StringOutput

Last attach timestamp in RFC3339 text format.

func (*RegionDisk) LastDetachTimestamp added in v0.16.0

func (r *RegionDisk) LastDetachTimestamp() pulumi.StringOutput

Last detach timestamp in RFC3339 text format.

func (*RegionDisk) Name added in v0.16.0

func (r *RegionDisk) Name() pulumi.StringOutput

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*RegionDisk) PhysicalBlockSizeBytes added in v0.18.1

func (r *RegionDisk) PhysicalBlockSizeBytes() pulumi.IntOutput

Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. Currently supported sizes are 4096 and 16384, other sizes may be added in the future. If an unsupported value is requested, the error message will list the supported values for the caller's project.

func (*RegionDisk) Project added in v0.16.0

func (r *RegionDisk) Project() pulumi.StringOutput

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

func (*RegionDisk) Region added in v0.16.0

func (r *RegionDisk) Region() pulumi.StringOutput

A reference to the region where the disk resides.

func (*RegionDisk) ReplicaZones added in v0.16.0

func (r *RegionDisk) ReplicaZones() pulumi.ArrayOutput

URLs of the zones where the disk should be replicated to.

func (r *RegionDisk) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*RegionDisk) Size added in v0.16.0

func (r *RegionDisk) Size() pulumi.IntOutput

Size of the persistent disk, specified in GB. You can specify this field when creating a persistent disk using the sourceImage or sourceSnapshot parameter, or specify it alone to create an empty persistent disk. If you specify this field along with sourceImage or sourceSnapshot, the value of sizeGb must not be less than the size of the sourceImage or the size of the snapshot.

func (*RegionDisk) Snapshot added in v0.16.0

func (r *RegionDisk) Snapshot() pulumi.StringOutput

The source snapshot used to create this disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values: * 'https://www.googleapis.com/compute/v1/projects/project/global/snapshots/snapshot' * 'projects/project/global/snapshots/snapshot' * 'global/snapshots/snapshot' * 'snapshot'

func (*RegionDisk) SourceSnapshotEncryptionKey added in v0.16.0

func (r *RegionDisk) SourceSnapshotEncryptionKey() pulumi.Output

The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key.

func (*RegionDisk) SourceSnapshotId added in v0.16.0

func (r *RegionDisk) SourceSnapshotId() pulumi.StringOutput

The unique ID of the snapshot used to create this disk. This value identifies the exact snapshot that was used to create this persistent disk. For example, if you created the persistent disk from a snapshot that was later deleted and recreated under the same name, the source snapshot ID would identify the exact version of the snapshot that was used.

func (*RegionDisk) Type added in v0.16.0

func (r *RegionDisk) Type() pulumi.StringOutput

URL of the disk type resource describing which disk type to use to create the disk. Provide this when creating the disk.

func (*RegionDisk) URN added in v0.16.0

func (r *RegionDisk) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*RegionDisk) Users added in v0.16.0

func (r *RegionDisk) Users() pulumi.ArrayOutput

Links to the users of the disk (attached instances) in form: project/zones/zone/instances/instance

type RegionDiskArgs added in v0.16.0

type RegionDiskArgs struct {
	// An optional description of this resource. Provide this property when you create the resource.
	Description interface{}
	// Encrypts the disk using a customer-supplied encryption key. After you encrypt a disk with a customer-supplied key, you
	// must provide the same key if you use the disk later (e.g. to create a disk snapshot or an image, or to attach the disk
	// to a virtual machine). Customer-supplied encryption keys do not protect access to metadata of the disk. If you do not
	// provide an encryption key when creating the disk, then the disk will be encrypted using an automatically generated key
	// and you do not need to provide a key to use the disk later.
	DiskEncryptionKey interface{}
	// Labels to apply to this disk. A list of key->value pairs.
	Labels interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. Currently
	// supported sizes are 4096 and 16384, other sizes may be added in the future. If an unsupported value is requested, the
	// error message will list the supported values for the caller's project.
	PhysicalBlockSizeBytes interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// A reference to the region where the disk resides.
	Region interface{}
	// URLs of the zones where the disk should be replicated to.
	ReplicaZones interface{}
	// Size of the persistent disk, specified in GB. You can specify this field when creating a persistent disk using the
	// sourceImage or sourceSnapshot parameter, or specify it alone to create an empty persistent disk. If you specify this
	// field along with sourceImage or sourceSnapshot, the value of sizeGb must not be less than the size of the sourceImage
	// or the size of the snapshot.
	Size interface{}
	// The source snapshot used to create this disk. You can provide this as a partial or full URL to the resource. For
	// example, the following are valid values: *
	// 'https://www.googleapis.com/compute/v1/projects/project/global/snapshots/snapshot' *
	// 'projects/project/global/snapshots/snapshot' * 'global/snapshots/snapshot' * 'snapshot'
	Snapshot interface{}
	// The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a
	// customer-supplied encryption key.
	SourceSnapshotEncryptionKey interface{}
	// URL of the disk type resource describing which disk type to use to create the disk. Provide this when creating the
	// disk.
	Type interface{}
}

The set of arguments for constructing a RegionDisk resource.

type RegionDiskState added in v0.16.0

type RegionDiskState struct {
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// An optional description of this resource. Provide this property when you create the resource.
	Description interface{}
	// Encrypts the disk using a customer-supplied encryption key. After you encrypt a disk with a customer-supplied key, you
	// must provide the same key if you use the disk later (e.g. to create a disk snapshot or an image, or to attach the disk
	// to a virtual machine). Customer-supplied encryption keys do not protect access to metadata of the disk. If you do not
	// provide an encryption key when creating the disk, then the disk will be encrypted using an automatically generated key
	// and you do not need to provide a key to use the disk later.
	DiskEncryptionKey interface{}
	// The fingerprint used for optimistic locking of this resource. Used internally during updates.
	LabelFingerprint interface{}
	// Labels to apply to this disk. A list of key->value pairs.
	Labels interface{}
	// Last attach timestamp in RFC3339 text format.
	LastAttachTimestamp interface{}
	// Last detach timestamp in RFC3339 text format.
	LastDetachTimestamp interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. Currently
	// supported sizes are 4096 and 16384, other sizes may be added in the future. If an unsupported value is requested, the
	// error message will list the supported values for the caller's project.
	PhysicalBlockSizeBytes interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// A reference to the region where the disk resides.
	Region interface{}
	// URLs of the zones where the disk should be replicated to.
	ReplicaZones interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// Size of the persistent disk, specified in GB. You can specify this field when creating a persistent disk using the
	// sourceImage or sourceSnapshot parameter, or specify it alone to create an empty persistent disk. If you specify this
	// field along with sourceImage or sourceSnapshot, the value of sizeGb must not be less than the size of the sourceImage
	// or the size of the snapshot.
	Size interface{}
	// The source snapshot used to create this disk. You can provide this as a partial or full URL to the resource. For
	// example, the following are valid values: *
	// 'https://www.googleapis.com/compute/v1/projects/project/global/snapshots/snapshot' *
	// 'projects/project/global/snapshots/snapshot' * 'global/snapshots/snapshot' * 'snapshot'
	Snapshot interface{}
	// The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a
	// customer-supplied encryption key.
	SourceSnapshotEncryptionKey interface{}
	// The unique ID of the snapshot used to create this disk. This value identifies the exact snapshot that was used to
	// create this persistent disk. For example, if you created the persistent disk from a snapshot that was later deleted and
	// recreated under the same name, the source snapshot ID would identify the exact version of the snapshot that was used.
	SourceSnapshotId interface{}
	// URL of the disk type resource describing which disk type to use to create the disk. Provide this when creating the
	// disk.
	Type interface{}
	// Links to the users of the disk (attached instances) in form: project/zones/zone/instances/instance
	Users interface{}
}

Input properties used for looking up and filtering RegionDisk resources.

type RegionHealthCheck added in v1.2.0

type RegionHealthCheck struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_region_health_check.html.markdown.

func GetRegionHealthCheck added in v1.2.0

func GetRegionHealthCheck(ctx *pulumi.Context,
	name string, id pulumi.ID, state *RegionHealthCheckState, opts ...pulumi.ResourceOpt) (*RegionHealthCheck, error)

GetRegionHealthCheck gets an existing RegionHealthCheck resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewRegionHealthCheck added in v1.2.0

func NewRegionHealthCheck(ctx *pulumi.Context,
	name string, args *RegionHealthCheckArgs, opts ...pulumi.ResourceOpt) (*RegionHealthCheck, error)

NewRegionHealthCheck registers a new resource with the given unique name, arguments, and options.

func (*RegionHealthCheck) CheckIntervalSec added in v1.2.0

func (r *RegionHealthCheck) CheckIntervalSec() pulumi.IntOutput

How often (in seconds) to send a health check. The default value is 5 seconds.

func (*RegionHealthCheck) CreationTimestamp added in v1.2.0

func (r *RegionHealthCheck) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*RegionHealthCheck) Description added in v1.2.0

func (r *RegionHealthCheck) Description() pulumi.StringOutput

An optional description of this resource. Provide this property when you create the resource.

func (*RegionHealthCheck) HealthyThreshold added in v1.2.0

func (r *RegionHealthCheck) HealthyThreshold() pulumi.IntOutput

A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2.

func (*RegionHealthCheck) Http2HealthCheck added in v1.2.0

func (r *RegionHealthCheck) Http2HealthCheck() pulumi.Output

A nested object resource

func (*RegionHealthCheck) HttpHealthCheck added in v1.2.0

func (r *RegionHealthCheck) HttpHealthCheck() pulumi.Output

A nested object resource

func (*RegionHealthCheck) HttpsHealthCheck added in v1.2.0

func (r *RegionHealthCheck) HttpsHealthCheck() pulumi.Output

A nested object resource

func (*RegionHealthCheck) ID added in v1.2.0

ID is this resource's unique identifier assigned by its provider.

func (*RegionHealthCheck) Name added in v1.2.0

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*RegionHealthCheck) Project added in v1.2.0

func (r *RegionHealthCheck) Project() pulumi.StringOutput

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

func (*RegionHealthCheck) Region added in v1.2.0

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

func (r *RegionHealthCheck) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*RegionHealthCheck) SslHealthCheck added in v1.2.0

func (r *RegionHealthCheck) SslHealthCheck() pulumi.Output

A nested object resource

func (*RegionHealthCheck) TcpHealthCheck added in v1.2.0

func (r *RegionHealthCheck) TcpHealthCheck() pulumi.Output

A nested object resource

func (*RegionHealthCheck) TimeoutSec added in v1.2.0

func (r *RegionHealthCheck) TimeoutSec() pulumi.IntOutput

How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to have greater value than checkIntervalSec.

func (*RegionHealthCheck) Type added in v1.2.0

The type of the health check. One of HTTP, HTTP2, HTTPS, TCP, or SSL.

func (*RegionHealthCheck) URN added in v1.2.0

URN is this resource's unique name assigned by Pulumi.

func (*RegionHealthCheck) UnhealthyThreshold added in v1.2.0

func (r *RegionHealthCheck) UnhealthyThreshold() pulumi.IntOutput

A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2.

type RegionHealthCheckArgs added in v1.2.0

type RegionHealthCheckArgs struct {
	// How often (in seconds) to send a health check. The default value is 5 seconds.
	CheckIntervalSec interface{}
	// An optional description of this resource. Provide this property when you create the resource.
	Description interface{}
	// A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2.
	HealthyThreshold interface{}
	// A nested object resource
	Http2HealthCheck interface{}
	// A nested object resource
	HttpHealthCheck interface{}
	// A nested object resource
	HttpsHealthCheck interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The Region in which the created health check should reside. If it is not provided, the provider region is used.
	Region interface{}
	// A nested object resource
	SslHealthCheck interface{}
	// A nested object resource
	TcpHealthCheck interface{}
	// How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to
	// have greater value than checkIntervalSec.
	TimeoutSec interface{}
	// A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2.
	UnhealthyThreshold interface{}
}

The set of arguments for constructing a RegionHealthCheck resource.

type RegionHealthCheckState added in v1.2.0

type RegionHealthCheckState struct {
	// How often (in seconds) to send a health check. The default value is 5 seconds.
	CheckIntervalSec interface{}
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// An optional description of this resource. Provide this property when you create the resource.
	Description interface{}
	// A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2.
	HealthyThreshold interface{}
	// A nested object resource
	Http2HealthCheck interface{}
	// A nested object resource
	HttpHealthCheck interface{}
	// A nested object resource
	HttpsHealthCheck interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The Region in which the created health check should reside. If it is not provided, the provider region is used.
	Region interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// A nested object resource
	SslHealthCheck interface{}
	// A nested object resource
	TcpHealthCheck interface{}
	// How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to
	// have greater value than checkIntervalSec.
	TimeoutSec interface{}
	// The type of the health check. One of HTTP, HTTP2, HTTPS, TCP, or SSL.
	Type interface{}
	// A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2.
	UnhealthyThreshold interface{}
}

Input properties used for looking up and filtering RegionHealthCheck resources.

type RegionInstanceGroupManager

type RegionInstanceGroupManager struct {
	// contains filtered or unexported fields
}

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](https://cloud.google.com/compute/docs/instance-groups/distributing-instances-with-regional-instance-groups) and [API](https://cloud.google.com/compute/docs/reference/latest/regionInstanceGroupManagers)

> **Note:** Use compute.InstanceGroupManager(https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager.html) to create a single-zone instance group manager.

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_region_instance_group_manager.html.markdown.

func GetRegionInstanceGroupManager

func GetRegionInstanceGroupManager(ctx *pulumi.Context,
	name string, id pulumi.ID, state *RegionInstanceGroupManagerState, opts ...pulumi.ResourceOpt) (*RegionInstanceGroupManager, error)

GetRegionInstanceGroupManager gets an existing RegionInstanceGroupManager resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewRegionInstanceGroupManager

func NewRegionInstanceGroupManager(ctx *pulumi.Context,
	name string, args *RegionInstanceGroupManagerArgs, opts ...pulumi.ResourceOpt) (*RegionInstanceGroupManager, error)

NewRegionInstanceGroupManager registers a new resource with the given unique name, arguments, and options.

func (*RegionInstanceGroupManager) AutoHealingPolicies

func (r *RegionInstanceGroupManager) AutoHealingPolicies() pulumi.Output

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](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances#monitoring_groups).

func (*RegionInstanceGroupManager) BaseInstanceName

func (r *RegionInstanceGroupManager) BaseInstanceName() pulumi.StringOutput

The base instance name to use for instances in this group. The value must be a valid [RFC1035](https://www.ietf.org/rfc/rfc1035.txt) 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.

func (*RegionInstanceGroupManager) Description

An optional textual description of the instance group manager.

func (*RegionInstanceGroupManager) DistributionPolicyZones

func (r *RegionInstanceGroupManager) DistributionPolicyZones() pulumi.ArrayOutput

The distribution policy for this managed instance group. You can specify one or more values. For more information, see the [official documentation](https://cloud.google.com/compute/docs/instance-groups/distributing-instances-with-regional-instance-groups#selectingzones). - - -

func (*RegionInstanceGroupManager) Fingerprint

The fingerprint of the instance group manager.

func (*RegionInstanceGroupManager) ID

ID is this resource's unique identifier assigned by its provider.

func (*RegionInstanceGroupManager) InstanceGroup

func (r *RegionInstanceGroupManager) InstanceGroup() pulumi.StringOutput

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

func (*RegionInstanceGroupManager) Name

The name of the instance group manager. Must be 1-63 characters long and comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Supported characters include lowercase letters, numbers, and hyphens.

func (*RegionInstanceGroupManager) NamedPorts

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

func (*RegionInstanceGroupManager) Project

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

func (*RegionInstanceGroupManager) Region

The region where the managed instance group resides.

The URL of the created resource.

func (*RegionInstanceGroupManager) TargetPools

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.

func (*RegionInstanceGroupManager) TargetSize

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`.

func (*RegionInstanceGroupManager) URN

URN is this resource's unique name assigned by Pulumi.

func (*RegionInstanceGroupManager) UpdatePolicy added in v0.18.0

func (r *RegionInstanceGroupManager) UpdatePolicy() pulumi.Output

The update policy for this managed instance group. Structure is documented below. For more information, see the [official documentation](https://cloud.google.com/compute/docs/instance-groups/updating-managed-instance-groups) and [API](https://cloud.google.com/compute/docs/reference/rest/beta/regionInstanceGroupManagers/patch)

func (*RegionInstanceGroupManager) Versions added in v0.16.0

Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios. Structure is documented below. Until `instanceTemplate` is removed this field will be Optional to allow for a graceful upgrade. In the Beta provider and as of 3.0.0 it will be Required.

func (*RegionInstanceGroupManager) WaitForInstances

func (r *RegionInstanceGroupManager) WaitForInstances() pulumi.BoolOutput

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, this provider will continue trying until it times out.

type RegionInstanceGroupManagerArgs

type RegionInstanceGroupManagerArgs struct {
	// 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](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances#monitoring_groups).
	AutoHealingPolicies interface{}
	// The base instance name to use for
	// instances in this group. The value must be a valid
	// [RFC1035](https://www.ietf.org/rfc/rfc1035.txt) 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.
	BaseInstanceName interface{}
	// An optional textual description of the instance
	// group manager.
	Description interface{}
	// The distribution policy for this managed instance
	// group. You can specify one or more values. For more information, see the [official documentation](https://cloud.google.com/compute/docs/instance-groups/distributing-instances-with-regional-instance-groups#selectingzones).
	// - - -
	DistributionPolicyZones interface{}
	// The name of the instance group manager. Must be 1-63
	// characters long and comply with
	// [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Supported characters
	// include lowercase letters, numbers, and hyphens.
	Name interface{}
	// The named port configuration. See the section below
	// for details on configuration.
	NamedPorts interface{}
	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// The region where the managed instance group resides.
	Region interface{}
	// 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.
	TargetPools interface{}
	// 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`.
	TargetSize interface{}
	// The update policy for this managed instance group. Structure is documented below. For more information, see the [official documentation](https://cloud.google.com/compute/docs/instance-groups/updating-managed-instance-groups) and [API](https://cloud.google.com/compute/docs/reference/rest/beta/regionInstanceGroupManagers/patch)
	UpdatePolicy interface{}
	// Application versions managed by this instance group. Each
	// version deals with a specific instance template, allowing canary release scenarios.
	// Structure is documented below.
	// Until `instanceTemplate` is removed this field will be Optional to allow for a
	// graceful upgrade. In the Beta provider and as of 3.0.0 it will be Required.
	Versions interface{}
	// 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, this provider will
	// continue trying until it times out.
	WaitForInstances interface{}
}

The set of arguments for constructing a RegionInstanceGroupManager resource.

type RegionInstanceGroupManagerState

type RegionInstanceGroupManagerState struct {
	// 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](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances#monitoring_groups).
	AutoHealingPolicies interface{}
	// The base instance name to use for
	// instances in this group. The value must be a valid
	// [RFC1035](https://www.ietf.org/rfc/rfc1035.txt) 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.
	BaseInstanceName interface{}
	// An optional textual description of the instance
	// group manager.
	Description interface{}
	// The distribution policy for this managed instance
	// group. You can specify one or more values. For more information, see the [official documentation](https://cloud.google.com/compute/docs/instance-groups/distributing-instances-with-regional-instance-groups#selectingzones).
	// - - -
	DistributionPolicyZones interface{}
	// The fingerprint of the instance group manager.
	Fingerprint interface{}
	// The full URL of the instance group created by the manager.
	InstanceGroup interface{}
	// The name of the instance group manager. Must be 1-63
	// characters long and comply with
	// [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Supported characters
	// include lowercase letters, numbers, and hyphens.
	Name interface{}
	// The named port configuration. See the section below
	// for details on configuration.
	NamedPorts interface{}
	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// The region where the managed instance group resides.
	Region interface{}
	// The URL of the created resource.
	SelfLink interface{}
	// 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.
	TargetPools interface{}
	// 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`.
	TargetSize interface{}
	// The update policy for this managed instance group. Structure is documented below. For more information, see the [official documentation](https://cloud.google.com/compute/docs/instance-groups/updating-managed-instance-groups) and [API](https://cloud.google.com/compute/docs/reference/rest/beta/regionInstanceGroupManagers/patch)
	UpdatePolicy interface{}
	// Application versions managed by this instance group. Each
	// version deals with a specific instance template, allowing canary release scenarios.
	// Structure is documented below.
	// Until `instanceTemplate` is removed this field will be Optional to allow for a
	// graceful upgrade. In the Beta provider and as of 3.0.0 it will be Required.
	Versions interface{}
	// 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, this provider will
	// continue trying until it times out.
	WaitForInstances interface{}
}

Input properties used for looking up and filtering RegionInstanceGroupManager resources.

type RegionSslCertificate added in v1.3.0

type RegionSslCertificate struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_region_ssl_certificate.html.markdown.

func GetRegionSslCertificate added in v1.3.0

func GetRegionSslCertificate(ctx *pulumi.Context,
	name string, id pulumi.ID, state *RegionSslCertificateState, opts ...pulumi.ResourceOpt) (*RegionSslCertificate, error)

GetRegionSslCertificate gets an existing RegionSslCertificate resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewRegionSslCertificate added in v1.3.0

func NewRegionSslCertificate(ctx *pulumi.Context,
	name string, args *RegionSslCertificateArgs, opts ...pulumi.ResourceOpt) (*RegionSslCertificate, error)

NewRegionSslCertificate registers a new resource with the given unique name, arguments, and options.

func (*RegionSslCertificate) Certificate added in v1.3.0

func (r *RegionSslCertificate) Certificate() pulumi.StringOutput

The certificate in PEM format. The certificate chain must be no greater than 5 certs long. The chain must include at least one intermediate cert.

func (*RegionSslCertificate) CertificateId added in v1.3.0

func (r *RegionSslCertificate) CertificateId() pulumi.IntOutput

The unique identifier for the resource.

func (*RegionSslCertificate) CreationTimestamp added in v1.3.0

func (r *RegionSslCertificate) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*RegionSslCertificate) Description added in v1.3.0

func (r *RegionSslCertificate) Description() pulumi.StringOutput

An optional description of this resource.

func (*RegionSslCertificate) ID added in v1.3.0

ID is this resource's unique identifier assigned by its provider.

func (*RegionSslCertificate) Name added in v1.3.0

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. These are in the same namespace as the managed SSL certificates.

func (*RegionSslCertificate) NamePrefix added in v1.3.0

func (r *RegionSslCertificate) NamePrefix() pulumi.StringOutput

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

func (*RegionSslCertificate) PrivateKey added in v1.3.0

func (r *RegionSslCertificate) PrivateKey() pulumi.StringOutput

The write-only private key in PEM format.

func (*RegionSslCertificate) Project added in v1.3.0

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

func (*RegionSslCertificate) Region added in v1.3.0

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

The URI of the created resource.

func (*RegionSslCertificate) URN added in v1.3.0

URN is this resource's unique name assigned by Pulumi.

type RegionSslCertificateArgs added in v1.3.0

type RegionSslCertificateArgs struct {
	// The certificate in PEM format. The certificate chain must be no greater than 5 certs long. The chain must include at
	// least one intermediate cert.
	Certificate interface{}
	// An optional description of this resource.
	Description interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. These are in the same
	// namespace as the managed SSL certificates.
	Name interface{}
	// Creates a unique name beginning with the
	// specified prefix. Conflicts with `name`.
	NamePrefix interface{}
	// The write-only private key in PEM format.
	PrivateKey interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The Region in which the created regional ssl certificate should reside. If it is not provided, the provider region is
	// used.
	Region interface{}
}

The set of arguments for constructing a RegionSslCertificate resource.

type RegionSslCertificateState added in v1.3.0

type RegionSslCertificateState struct {
	// The certificate in PEM format. The certificate chain must be no greater than 5 certs long. The chain must include at
	// least one intermediate cert.
	Certificate interface{}
	// The unique identifier for the resource.
	CertificateId interface{}
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// An optional description of this resource.
	Description interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. These are in the same
	// namespace as the managed SSL certificates.
	Name interface{}
	// Creates a unique name beginning with the
	// specified prefix. Conflicts with `name`.
	NamePrefix interface{}
	// The write-only private key in PEM format.
	PrivateKey interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The Region in which the created regional ssl certificate should reside. If it is not provided, the provider region is
	// used.
	Region interface{}
	// The URI of the created resource.
	SelfLink interface{}
}

Input properties used for looking up and filtering RegionSslCertificate resources.

type RegionTargetHttpProxy added in v1.3.0

type RegionTargetHttpProxy struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_region_target_http_proxy.html.markdown.

func GetRegionTargetHttpProxy added in v1.3.0

func GetRegionTargetHttpProxy(ctx *pulumi.Context,
	name string, id pulumi.ID, state *RegionTargetHttpProxyState, opts ...pulumi.ResourceOpt) (*RegionTargetHttpProxy, error)

GetRegionTargetHttpProxy gets an existing RegionTargetHttpProxy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewRegionTargetHttpProxy added in v1.3.0

func NewRegionTargetHttpProxy(ctx *pulumi.Context,
	name string, args *RegionTargetHttpProxyArgs, opts ...pulumi.ResourceOpt) (*RegionTargetHttpProxy, error)

NewRegionTargetHttpProxy registers a new resource with the given unique name, arguments, and options.

func (*RegionTargetHttpProxy) CreationTimestamp added in v1.3.0

func (r *RegionTargetHttpProxy) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*RegionTargetHttpProxy) Description added in v1.3.0

func (r *RegionTargetHttpProxy) Description() pulumi.StringOutput

An optional description of this resource.

func (*RegionTargetHttpProxy) ID added in v1.3.0

ID is this resource's unique identifier assigned by its provider.

func (*RegionTargetHttpProxy) Name added in v1.3.0

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*RegionTargetHttpProxy) Project added in v1.3.0

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

func (*RegionTargetHttpProxy) ProxyId added in v1.3.0

func (r *RegionTargetHttpProxy) ProxyId() pulumi.IntOutput

The unique identifier for the resource.

func (*RegionTargetHttpProxy) Region added in v1.3.0

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

The URI of the created resource.

func (*RegionTargetHttpProxy) URN added in v1.3.0

URN is this resource's unique name assigned by Pulumi.

func (*RegionTargetHttpProxy) UrlMap added in v1.3.0

A reference to the RegionUrlMap resource that defines the mapping from URL to the BackendService.

type RegionTargetHttpProxyArgs added in v1.3.0

type RegionTargetHttpProxyArgs struct {
	// An optional description of this resource.
	Description interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The Region in which the created target https proxy should reside. If it is not provided, the provider region is used.
	Region interface{}
	// A reference to the RegionUrlMap resource that defines the mapping from URL to the BackendService.
	UrlMap interface{}
}

The set of arguments for constructing a RegionTargetHttpProxy resource.

type RegionTargetHttpProxyState added in v1.3.0

type RegionTargetHttpProxyState struct {
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// An optional description of this resource.
	Description interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The unique identifier for the resource.
	ProxyId interface{}
	// The Region in which the created target https proxy should reside. If it is not provided, the provider region is used.
	Region interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// A reference to the RegionUrlMap resource that defines the mapping from URL to the BackendService.
	UrlMap interface{}
}

Input properties used for looking up and filtering RegionTargetHttpProxy resources.

type RegionTargetHttpsProxy added in v1.3.0

type RegionTargetHttpsProxy struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_region_target_https_proxy.html.markdown.

func GetRegionTargetHttpsProxy added in v1.3.0

func GetRegionTargetHttpsProxy(ctx *pulumi.Context,
	name string, id pulumi.ID, state *RegionTargetHttpsProxyState, opts ...pulumi.ResourceOpt) (*RegionTargetHttpsProxy, error)

GetRegionTargetHttpsProxy gets an existing RegionTargetHttpsProxy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewRegionTargetHttpsProxy added in v1.3.0

func NewRegionTargetHttpsProxy(ctx *pulumi.Context,
	name string, args *RegionTargetHttpsProxyArgs, opts ...pulumi.ResourceOpt) (*RegionTargetHttpsProxy, error)

NewRegionTargetHttpsProxy registers a new resource with the given unique name, arguments, and options.

func (*RegionTargetHttpsProxy) CreationTimestamp added in v1.3.0

func (r *RegionTargetHttpsProxy) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*RegionTargetHttpsProxy) Description added in v1.3.0

func (r *RegionTargetHttpsProxy) Description() pulumi.StringOutput

An optional description of this resource.

func (*RegionTargetHttpsProxy) ID added in v1.3.0

ID is this resource's unique identifier assigned by its provider.

func (*RegionTargetHttpsProxy) Name added in v1.3.0

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*RegionTargetHttpsProxy) Project added in v1.3.0

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

func (*RegionTargetHttpsProxy) ProxyId added in v1.3.0

The unique identifier for the resource.

func (*RegionTargetHttpsProxy) Region added in v1.3.0

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

The URI of the created resource.

func (*RegionTargetHttpsProxy) SslCertificates added in v1.3.0

func (r *RegionTargetHttpsProxy) SslCertificates() pulumi.ArrayOutput

A list of RegionSslCertificate resources that are used to authenticate connections between users and the load balancer. Currently, exactly one SSL certificate must be specified.

func (*RegionTargetHttpsProxy) URN added in v1.3.0

URN is this resource's unique name assigned by Pulumi.

func (*RegionTargetHttpsProxy) UrlMap added in v1.3.0

A reference to the RegionUrlMap resource that defines the mapping from URL to the RegionBackendService.

type RegionTargetHttpsProxyArgs added in v1.3.0

type RegionTargetHttpsProxyArgs struct {
	// An optional description of this resource.
	Description interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The Region in which the created target https proxy should reside. If it is not provided, the provider region is used.
	Region interface{}
	// A list of RegionSslCertificate resources that are used to authenticate connections between users and the load balancer.
	// Currently, exactly one SSL certificate must be specified.
	SslCertificates interface{}
	// A reference to the RegionUrlMap resource that defines the mapping from URL to the RegionBackendService.
	UrlMap interface{}
}

The set of arguments for constructing a RegionTargetHttpsProxy resource.

type RegionTargetHttpsProxyState added in v1.3.0

type RegionTargetHttpsProxyState struct {
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// An optional description of this resource.
	Description interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The unique identifier for the resource.
	ProxyId interface{}
	// The Region in which the created target https proxy should reside. If it is not provided, the provider region is used.
	Region interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// A list of RegionSslCertificate resources that are used to authenticate connections between users and the load balancer.
	// Currently, exactly one SSL certificate must be specified.
	SslCertificates interface{}
	// A reference to the RegionUrlMap resource that defines the mapping from URL to the RegionBackendService.
	UrlMap interface{}
}

Input properties used for looking up and filtering RegionTargetHttpsProxy resources.

type RegionUrlMap added in v1.2.0

type RegionUrlMap struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_region_url_map.html.markdown.

func GetRegionUrlMap added in v1.2.0

func GetRegionUrlMap(ctx *pulumi.Context,
	name string, id pulumi.ID, state *RegionUrlMapState, opts ...pulumi.ResourceOpt) (*RegionUrlMap, error)

GetRegionUrlMap gets an existing RegionUrlMap resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewRegionUrlMap added in v1.2.0

func NewRegionUrlMap(ctx *pulumi.Context,
	name string, args *RegionUrlMapArgs, opts ...pulumi.ResourceOpt) (*RegionUrlMap, error)

NewRegionUrlMap registers a new resource with the given unique name, arguments, and options.

func (*RegionUrlMap) CreationTimestamp added in v1.2.0

func (r *RegionUrlMap) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*RegionUrlMap) DefaultService added in v1.2.0

func (r *RegionUrlMap) DefaultService() pulumi.StringOutput

A reference to RegionBackendService resource if none of the hostRules match.

func (*RegionUrlMap) Description added in v1.2.0

func (r *RegionUrlMap) Description() pulumi.StringOutput

An optional description of this resource. Provide this property when you create the resource.

func (*RegionUrlMap) Fingerprint added in v1.2.0

func (r *RegionUrlMap) Fingerprint() pulumi.StringOutput

Fingerprint of this resource. This field is used internally during updates of this resource.

func (*RegionUrlMap) HostRules added in v1.2.0

func (r *RegionUrlMap) HostRules() pulumi.ArrayOutput

The list of HostRules to use against the URL.

func (*RegionUrlMap) ID added in v1.2.0

func (r *RegionUrlMap) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*RegionUrlMap) MapId added in v1.2.0

func (r *RegionUrlMap) MapId() pulumi.IntOutput

The unique identifier for the resource.

func (*RegionUrlMap) Name added in v1.2.0

func (r *RegionUrlMap) Name() pulumi.StringOutput

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*RegionUrlMap) PathMatchers added in v1.2.0

func (r *RegionUrlMap) PathMatchers() pulumi.ArrayOutput

The list of named PathMatchers to use against the URL.

func (*RegionUrlMap) Project added in v1.2.0

func (r *RegionUrlMap) Project() pulumi.StringOutput

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

func (*RegionUrlMap) Region added in v1.2.0

func (r *RegionUrlMap) Region() pulumi.StringOutput

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

func (r *RegionUrlMap) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*RegionUrlMap) Tests added in v1.2.0

func (r *RegionUrlMap) Tests() pulumi.ArrayOutput

The list of expected URL mappings. Requests to update this UrlMap will succeed only if all of the test cases pass.

func (*RegionUrlMap) URN added in v1.2.0

func (r *RegionUrlMap) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type RegionUrlMapArgs added in v1.2.0

type RegionUrlMapArgs struct {
	// A reference to RegionBackendService resource if none of the hostRules match.
	DefaultService interface{}
	// An optional description of this resource. Provide this property when you create the resource.
	Description interface{}
	// The list of HostRules to use against the URL.
	HostRules interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The list of named PathMatchers to use against the URL.
	PathMatchers interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The Region in which the url map should reside. If it is not provided, the provider region is used.
	Region interface{}
	// The list of expected URL mappings. Requests to update this UrlMap will succeed only if all of the test cases pass.
	Tests interface{}
}

The set of arguments for constructing a RegionUrlMap resource.

type RegionUrlMapState added in v1.2.0

type RegionUrlMapState struct {
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// A reference to RegionBackendService resource if none of the hostRules match.
	DefaultService interface{}
	// An optional description of this resource. Provide this property when you create the resource.
	Description interface{}
	// Fingerprint of this resource. This field is used internally during updates of this resource.
	Fingerprint interface{}
	// The list of HostRules to use against the URL.
	HostRules interface{}
	// The unique identifier for the resource.
	MapId interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The list of named PathMatchers to use against the URL.
	PathMatchers interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The Region in which the url map should reside. If it is not provided, the provider region is used.
	Region interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// The list of expected URL mappings. Requests to update this UrlMap will succeed only if all of the test cases pass.
	Tests interface{}
}

Input properties used for looking up and filtering RegionUrlMap resources.

type Reservation added in v1.2.0

type Reservation struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_reservation.html.markdown.

func GetReservation added in v1.2.0

func GetReservation(ctx *pulumi.Context,
	name string, id pulumi.ID, state *ReservationState, opts ...pulumi.ResourceOpt) (*Reservation, error)

GetReservation gets an existing Reservation resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewReservation added in v1.2.0

func NewReservation(ctx *pulumi.Context,
	name string, args *ReservationArgs, opts ...pulumi.ResourceOpt) (*Reservation, error)

NewReservation registers a new resource with the given unique name, arguments, and options.

func (*Reservation) Commitment added in v1.2.0

func (r *Reservation) Commitment() pulumi.StringOutput

Full or partial URL to a parent commitment. This field displays for reservations that are tied to a commitment.

func (*Reservation) CreationTimestamp added in v1.2.0

func (r *Reservation) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*Reservation) Description added in v1.2.0

func (r *Reservation) Description() pulumi.StringOutput

An optional description of this resource.

func (*Reservation) ID added in v1.2.0

func (r *Reservation) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*Reservation) Name added in v1.2.0

func (r *Reservation) Name() pulumi.StringOutput

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*Reservation) Project added in v1.2.0

func (r *Reservation) Project() pulumi.StringOutput
func (r *Reservation) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*Reservation) SpecificReservation added in v1.2.0

func (r *Reservation) SpecificReservation() pulumi.Output

Reservation for instances with specific machine shapes.

func (*Reservation) SpecificReservationRequired added in v1.2.0

func (r *Reservation) SpecificReservationRequired() pulumi.BoolOutput

When set to true, only VMs that target this reservation by name can consume this reservation. Otherwise, it can be consumed by VMs with affinity for any reservation. Defaults to false.

func (*Reservation) Status added in v1.2.0

func (r *Reservation) Status() pulumi.StringOutput

The status of the reservation.

func (*Reservation) URN added in v1.2.0

func (r *Reservation) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*Reservation) Zone added in v1.2.0

func (r *Reservation) Zone() pulumi.StringOutput

The zone where the reservation is made.

type ReservationArgs added in v1.2.0

type ReservationArgs struct {
	// An optional description of this resource.
	Description interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name    interface{}
	Project interface{}
	// Reservation for instances with specific machine shapes.
	SpecificReservation interface{}
	// When set to true, only VMs that target this reservation by name can consume this reservation. Otherwise, it can be
	// consumed by VMs with affinity for any reservation. Defaults to false.
	SpecificReservationRequired interface{}
	// The zone where the reservation is made.
	Zone interface{}
}

The set of arguments for constructing a Reservation resource.

type ReservationState added in v1.2.0

type ReservationState struct {
	// Full or partial URL to a parent commitment. This field displays for reservations that are tied to a commitment.
	Commitment interface{}
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// An optional description of this resource.
	Description interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name    interface{}
	Project interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// Reservation for instances with specific machine shapes.
	SpecificReservation interface{}
	// When set to true, only VMs that target this reservation by name can consume this reservation. Otherwise, it can be
	// consumed by VMs with affinity for any reservation. Defaults to false.
	SpecificReservationRequired interface{}
	// The status of the reservation.
	Status interface{}
	// The zone where the reservation is made.
	Zone interface{}
}

Input properties used for looking up and filtering Reservation resources.

type ResourcePolicy added in v0.18.8

type ResourcePolicy struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_resource_policy.html.markdown.

func GetResourcePolicy added in v0.18.8

func GetResourcePolicy(ctx *pulumi.Context,
	name string, id pulumi.ID, state *ResourcePolicyState, opts ...pulumi.ResourceOpt) (*ResourcePolicy, error)

GetResourcePolicy gets an existing ResourcePolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewResourcePolicy added in v0.18.8

func NewResourcePolicy(ctx *pulumi.Context,
	name string, args *ResourcePolicyArgs, opts ...pulumi.ResourceOpt) (*ResourcePolicy, error)

NewResourcePolicy registers a new resource with the given unique name, arguments, and options.

func (*ResourcePolicy) ID added in v0.18.8

func (r *ResourcePolicy) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*ResourcePolicy) Name added in v0.18.8

The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])'? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*ResourcePolicy) Project added in v0.18.8

func (r *ResourcePolicy) Project() pulumi.StringOutput

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

func (*ResourcePolicy) Region added in v0.18.8

func (r *ResourcePolicy) Region() pulumi.StringOutput

Region where resource policy resides.

func (r *ResourcePolicy) SelfLink() pulumi.StringOutput

func (*ResourcePolicy) SnapshotSchedulePolicy added in v0.18.8

func (r *ResourcePolicy) SnapshotSchedulePolicy() pulumi.Output

Policy for creating snapshots of persistent disks.

func (*ResourcePolicy) URN added in v0.18.8

func (r *ResourcePolicy) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type ResourcePolicyArgs added in v0.18.8

type ResourcePolicyArgs struct {
	// The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63
	// characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular
	// expression '[a-z]([-a-z0-9]*[a-z0-9])'? which means the first character must be a lowercase letter, and all following
	// characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// Region where resource policy resides.
	Region interface{}
	// Policy for creating snapshots of persistent disks.
	SnapshotSchedulePolicy interface{}
}

The set of arguments for constructing a ResourcePolicy resource.

type ResourcePolicyState added in v0.18.8

type ResourcePolicyState struct {
	// The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63
	// characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular
	// expression '[a-z]([-a-z0-9]*[a-z0-9])'? which means the first character must be a lowercase letter, and all following
	// characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// Region where resource policy resides.
	Region   interface{}
	SelfLink interface{}
	// Policy for creating snapshots of persistent disks.
	SnapshotSchedulePolicy interface{}
}

Input properties used for looking up and filtering ResourcePolicy resources.

type Route

type Route struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_route.html.markdown.

func GetRoute

func GetRoute(ctx *pulumi.Context,
	name string, id pulumi.ID, state *RouteState, opts ...pulumi.ResourceOpt) (*Route, error)

GetRoute gets an existing Route resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewRoute

func NewRoute(ctx *pulumi.Context,
	name string, args *RouteArgs, opts ...pulumi.ResourceOpt) (*Route, error)

NewRoute registers a new resource with the given unique name, arguments, and options.

func (*Route) Description

func (r *Route) Description() pulumi.StringOutput

An optional description of this resource. Provide this property when you create the resource.

func (*Route) DestRange

func (r *Route) DestRange() pulumi.StringOutput

The destination range of outgoing packets that this route applies to. Only IPv4 is supported.

func (*Route) ID

func (r *Route) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*Route) Name

func (r *Route) Name() pulumi.StringOutput

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*Route) Network

func (r *Route) Network() pulumi.StringOutput

The network that this route applies to.

func (*Route) NextHopGateway

func (r *Route) NextHopGateway() pulumi.StringOutput

URL to a gateway that should handle matching packets. Currently, you can only specify the internet gateway, using a full or partial valid URL: * 'https://www.googleapis.com/compute/v1/projects/project/global/gateways/default-internet-gateway' * 'projects/project/global/gateways/default-internet-gateway' * 'global/gateways/default-internet-gateway' * The string 'default-internet-gateway'.

func (*Route) NextHopIlb added in v1.1.0

func (r *Route) NextHopIlb() pulumi.StringOutput

The URL to a forwarding rule of type loadBalancingScheme=INTERNAL that should handle matching packets. You can only specify the forwarding rule as a partial or full URL. For example, the following are all valid URLs: https://www.googleapis.com/compute/v1/projects/project/regions/region/forwardingRules/forwardingRule regions/region/forwardingRules/forwardingRule Note that this can only be used when the destinationRange is a public (non-RFC 1918) IP CIDR range.

func (*Route) NextHopInstance

func (r *Route) NextHopInstance() pulumi.StringOutput

URL to an instance that should handle matching packets. You can specify this as a full or partial URL. For example: * 'https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance' * 'projects/project/zones/zone/instances/instance' * 'zones/zone/instances/instance' * Just the instance name, with the zone in 'next_hop_instance_zone'.

func (*Route) NextHopInstanceZone

func (r *Route) NextHopInstanceZone() pulumi.StringOutput

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

func (*Route) NextHopIp

func (r *Route) NextHopIp() pulumi.StringOutput

Network IP address of an instance that should handle matching packets.

func (*Route) NextHopNetwork

func (r *Route) NextHopNetwork() pulumi.StringOutput

URL to a Network that should handle matching packets.

func (*Route) NextHopVpnTunnel

func (r *Route) NextHopVpnTunnel() pulumi.StringOutput

URL to a VpnTunnel that should handle matching packets.

func (*Route) Priority

func (r *Route) Priority() pulumi.IntOutput

The priority of this route. Priority is used to break ties in cases where there is more than one matching route of equal prefix length. In the case of two routes with equal prefix length, the one with the lowest-numbered priority value wins. Default value is 1000. Valid range is 0 through 65535.

func (*Route) Project

func (r *Route) Project() pulumi.StringOutput

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

func (r *Route) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*Route) Tags

func (r *Route) Tags() pulumi.ArrayOutput

A list of instance tags to which this route applies.

func (*Route) URN

func (r *Route) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type RouteArgs

type RouteArgs struct {
	// An optional description of this resource. Provide this property when you create the resource.
	Description interface{}
	// The destination range of outgoing packets that this route applies to. Only IPv4 is supported.
	DestRange interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The network that this route applies to.
	Network interface{}
	// URL to a gateway that should handle matching packets. Currently, you can only specify the internet gateway, using a
	// full or partial valid URL: *
	// 'https://www.googleapis.com/compute/v1/projects/project/global/gateways/default-internet-gateway' *
	// 'projects/project/global/gateways/default-internet-gateway' * 'global/gateways/default-internet-gateway' * The string
	// 'default-internet-gateway'.
	NextHopGateway interface{}
	// The URL to a forwarding rule of type loadBalancingScheme=INTERNAL that should handle matching packets. You can only
	// specify the forwarding rule as a partial or full URL. For example, the following are all valid URLs:
	// https://www.googleapis.com/compute/v1/projects/project/regions/region/forwardingRules/forwardingRule
	// regions/region/forwardingRules/forwardingRule Note that this can only be used when the destinationRange is a public
	// (non-RFC 1918) IP CIDR range.
	NextHopIlb interface{}
	// URL to an instance that should handle matching packets. You can specify this as a full or partial URL. For example: *
	// 'https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance' *
	// 'projects/project/zones/zone/instances/instance' * 'zones/zone/instances/instance' * Just the instance name, with the
	// zone in 'next_hop_instance_zone'.
	NextHopInstance interface{}
	// (Optional when `nextHopInstance` is
	// specified)  The zone of the instance specified in
	// `nextHopInstance`.  Omit if `nextHopInstance` is specified as
	// a URL.
	NextHopInstanceZone interface{}
	// Network IP address of an instance that should handle matching packets.
	NextHopIp interface{}
	// URL to a VpnTunnel that should handle matching packets.
	NextHopVpnTunnel interface{}
	// The priority of this route. Priority is used to break ties in cases where there is more than one matching route of
	// equal prefix length. In the case of two routes with equal prefix length, the one with the lowest-numbered priority
	// value wins. Default value is 1000. Valid range is 0 through 65535.
	Priority interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// A list of instance tags to which this route applies.
	Tags interface{}
}

The set of arguments for constructing a Route resource.

type RouteState

type RouteState struct {
	// An optional description of this resource. Provide this property when you create the resource.
	Description interface{}
	// The destination range of outgoing packets that this route applies to. Only IPv4 is supported.
	DestRange interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The network that this route applies to.
	Network interface{}
	// URL to a gateway that should handle matching packets. Currently, you can only specify the internet gateway, using a
	// full or partial valid URL: *
	// 'https://www.googleapis.com/compute/v1/projects/project/global/gateways/default-internet-gateway' *
	// 'projects/project/global/gateways/default-internet-gateway' * 'global/gateways/default-internet-gateway' * The string
	// 'default-internet-gateway'.
	NextHopGateway interface{}
	// The URL to a forwarding rule of type loadBalancingScheme=INTERNAL that should handle matching packets. You can only
	// specify the forwarding rule as a partial or full URL. For example, the following are all valid URLs:
	// https://www.googleapis.com/compute/v1/projects/project/regions/region/forwardingRules/forwardingRule
	// regions/region/forwardingRules/forwardingRule Note that this can only be used when the destinationRange is a public
	// (non-RFC 1918) IP CIDR range.
	NextHopIlb interface{}
	// URL to an instance that should handle matching packets. You can specify this as a full or partial URL. For example: *
	// 'https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance' *
	// 'projects/project/zones/zone/instances/instance' * 'zones/zone/instances/instance' * Just the instance name, with the
	// zone in 'next_hop_instance_zone'.
	NextHopInstance interface{}
	// (Optional when `nextHopInstance` is
	// specified)  The zone of the instance specified in
	// `nextHopInstance`.  Omit if `nextHopInstance` is specified as
	// a URL.
	NextHopInstanceZone interface{}
	// Network IP address of an instance that should handle matching packets.
	NextHopIp interface{}
	// URL to a Network that should handle matching packets.
	NextHopNetwork interface{}
	// URL to a VpnTunnel that should handle matching packets.
	NextHopVpnTunnel interface{}
	// The priority of this route. Priority is used to break ties in cases where there is more than one matching route of
	// equal prefix length. In the case of two routes with equal prefix length, the one with the lowest-numbered priority
	// value wins. Default value is 1000. Valid range is 0 through 65535.
	Priority interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// A list of instance tags to which this route applies.
	Tags interface{}
}

Input properties used for looking up and filtering Route resources.

type Router

type Router struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_router.html.markdown.

func GetRouter

func GetRouter(ctx *pulumi.Context,
	name string, id pulumi.ID, state *RouterState, opts ...pulumi.ResourceOpt) (*Router, error)

GetRouter gets an existing Router resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewRouter

func NewRouter(ctx *pulumi.Context,
	name string, args *RouterArgs, opts ...pulumi.ResourceOpt) (*Router, error)

NewRouter registers a new resource with the given unique name, arguments, and options.

func (*Router) Bgp

func (r *Router) Bgp() pulumi.Output

BGP information specific to this router.

func (*Router) CreationTimestamp added in v0.15.0

func (r *Router) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*Router) Description

func (r *Router) Description() pulumi.StringOutput

An optional description of this resource.

func (*Router) ID

func (r *Router) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*Router) Name

func (r *Router) Name() pulumi.StringOutput

Name of the resource. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*Router) Network

func (r *Router) Network() pulumi.StringOutput

A reference to the network to which this router belongs.

func (*Router) Project

func (r *Router) Project() pulumi.StringOutput

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

func (*Router) Region

func (r *Router) Region() pulumi.StringOutput

Region where the router resides.

func (r *Router) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*Router) URN

func (r *Router) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type RouterArgs

type RouterArgs struct {
	// BGP information specific to this router.
	Bgp interface{}
	// An optional description of this resource.
	Description interface{}
	// Name of the resource. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be
	// 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must
	// be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last
	// character, which cannot be a dash.
	Name interface{}
	// A reference to the network to which this router belongs.
	Network interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// Region where the router resides.
	Region interface{}
}

The set of arguments for constructing a Router resource.

type RouterInterface

type RouterInterface struct {
	// contains filtered or unexported fields
}

Manages a Cloud Router interface. For more information see [the official documentation](https://cloud.google.com/compute/docs/cloudrouter) and [API](https://cloud.google.com/compute/docs/reference/latest/routers).

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_router_interface.html.markdown.

func GetRouterInterface

func GetRouterInterface(ctx *pulumi.Context,
	name string, id pulumi.ID, state *RouterInterfaceState, opts ...pulumi.ResourceOpt) (*RouterInterface, error)

GetRouterInterface gets an existing RouterInterface resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewRouterInterface

func NewRouterInterface(ctx *pulumi.Context,
	name string, args *RouterInterfaceArgs, opts ...pulumi.ResourceOpt) (*RouterInterface, error)

NewRouterInterface registers a new resource with the given unique name, arguments, and options.

func (*RouterInterface) ID

ID is this resource's unique identifier assigned by its provider.

func (*RouterInterface) InterconnectAttachment added in v0.18.7

func (r *RouterInterface) InterconnectAttachment() pulumi.StringOutput

The name or resource link to the VLAN interconnect for this interface. Changing this forces a new interface to be created. Only one of `vpnTunnel` and `interconnectAttachment` can be specified.

func (*RouterInterface) IpRange

func (r *RouterInterface) IpRange() pulumi.StringOutput

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.

func (*RouterInterface) Name

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

func (*RouterInterface) Project

func (r *RouterInterface) Project() pulumi.StringOutput

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.

func (*RouterInterface) Region

func (r *RouterInterface) Region() pulumi.StringOutput

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.

func (*RouterInterface) Router

func (r *RouterInterface) Router() pulumi.StringOutput

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

func (*RouterInterface) URN

func (r *RouterInterface) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*RouterInterface) VpnTunnel

func (r *RouterInterface) VpnTunnel() pulumi.StringOutput

The name or resource link to the VPN tunnel this interface will be linked to. Changing this forces a new interface to be created. Only one of `vpnTunnel` and `interconnectAttachment` can be specified.

type RouterInterfaceArgs

type RouterInterfaceArgs struct {
	// The name or resource link to the
	// VLAN interconnect for this interface. Changing this forces a new interface to
	// be created. Only one of `vpnTunnel` and `interconnectAttachment` can be
	// specified.
	InterconnectAttachment interface{}
	// 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.
	IpRange interface{}
	// A unique name for the interface, required by GCE. Changing
	// this forces a new interface to be created.
	Name interface{}
	// 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.
	Project interface{}
	// 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.
	Region interface{}
	// The name of the router this interface will be attached to.
	// Changing this forces a new interface to be created.
	Router interface{}
	// The name or resource link to the VPN tunnel this
	// interface will be linked to. Changing this forces a new interface to be created. Only
	// one of `vpnTunnel` and `interconnectAttachment` can be specified.
	VpnTunnel interface{}
}

The set of arguments for constructing a RouterInterface resource.

type RouterInterfaceState

type RouterInterfaceState struct {
	// The name or resource link to the
	// VLAN interconnect for this interface. Changing this forces a new interface to
	// be created. Only one of `vpnTunnel` and `interconnectAttachment` can be
	// specified.
	InterconnectAttachment interface{}
	// 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.
	IpRange interface{}
	// A unique name for the interface, required by GCE. Changing
	// this forces a new interface to be created.
	Name interface{}
	// 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.
	Project interface{}
	// 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.
	Region interface{}
	// The name of the router this interface will be attached to.
	// Changing this forces a new interface to be created.
	Router interface{}
	// The name or resource link to the VPN tunnel this
	// interface will be linked to. Changing this forces a new interface to be created. Only
	// one of `vpnTunnel` and `interconnectAttachment` can be specified.
	VpnTunnel interface{}
}

Input properties used for looking up and filtering RouterInterface resources.

type RouterNat added in v0.16.4

type RouterNat struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_router_nat.html.markdown.

func GetRouterNat added in v0.16.4

func GetRouterNat(ctx *pulumi.Context,
	name string, id pulumi.ID, state *RouterNatState, opts ...pulumi.ResourceOpt) (*RouterNat, error)

GetRouterNat gets an existing RouterNat resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewRouterNat added in v0.16.4

func NewRouterNat(ctx *pulumi.Context,
	name string, args *RouterNatArgs, opts ...pulumi.ResourceOpt) (*RouterNat, error)

NewRouterNat registers a new resource with the given unique name, arguments, and options.

func (*RouterNat) DrainNatIps added in v1.2.0

func (r *RouterNat) DrainNatIps() pulumi.ArrayOutput

A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT.

func (*RouterNat) ID added in v0.16.4

func (r *RouterNat) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*RouterNat) IcmpIdleTimeoutSec added in v0.16.4

func (r *RouterNat) IcmpIdleTimeoutSec() pulumi.IntOutput

Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.

func (*RouterNat) LogConfig added in v0.18.7

func (r *RouterNat) LogConfig() pulumi.Output

Configuration for logging on NAT

func (*RouterNat) MinPortsPerVm added in v0.16.4

func (r *RouterNat) MinPortsPerVm() pulumi.IntOutput

Minimum number of ports allocated to a VM from this NAT.

func (*RouterNat) Name added in v0.16.4

func (r *RouterNat) Name() pulumi.StringOutput

Name of the NAT service. The name must be 1-63 characters long and comply with RFC1035.

func (*RouterNat) NatIpAllocateOption added in v0.16.4

func (r *RouterNat) NatIpAllocateOption() pulumi.StringOutput

How external IPs should be allocated for this NAT. Valid values are 'AUTO_ONLY' for only allowing NAT IPs allocated by Google Cloud Platform, or 'MANUAL_ONLY' for only user-allocated NAT IP addresses.

func (*RouterNat) NatIps added in v0.16.4

func (r *RouterNat) NatIps() pulumi.ArrayOutput

Self-links of NAT IPs. Only valid if natIpAllocateOption is set to MANUAL_ONLY.

func (*RouterNat) Project added in v0.16.4

func (r *RouterNat) Project() pulumi.StringOutput

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

func (*RouterNat) Region added in v0.16.4

func (r *RouterNat) Region() pulumi.StringOutput

Region where the router and NAT reside.

func (*RouterNat) Router added in v0.16.4

func (r *RouterNat) Router() pulumi.StringOutput

The name of the Cloud Router in which this NAT will be configured.

func (*RouterNat) SourceSubnetworkIpRangesToNat added in v0.16.4

func (r *RouterNat) SourceSubnetworkIpRangesToNat() pulumi.StringOutput

How NAT should be configured per Subnetwork. If 'ALL_SUBNETWORKS_ALL_IP_RANGES', all of the IP ranges in every Subnetwork are allowed to Nat. If 'ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES', all of the primary IP ranges in every Subnetwork are allowed to Nat. 'LIST_OF_SUBNETWORKS': A list of Subnetworks are allowed to Nat (specified in the field subnetwork below). Note that if this field contains ALL_SUBNETWORKS_ALL_IP_RANGES or ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES, then there should not be any other RouterNat section in any Router for this network in this region.

func (*RouterNat) Subnetworks added in v0.16.4

func (r *RouterNat) Subnetworks() pulumi.ArrayOutput

One or more subnetwork NAT configurations. Only used if 'source_subnetwork_ip_ranges_to_nat' is set to 'LIST_OF_SUBNETWORKS'

func (*RouterNat) TcpEstablishedIdleTimeoutSec added in v0.16.4

func (r *RouterNat) TcpEstablishedIdleTimeoutSec() pulumi.IntOutput

Timeout (in seconds) for TCP established connections. Defaults to 1200s if not set.

func (*RouterNat) TcpTransitoryIdleTimeoutSec added in v0.16.4

func (r *RouterNat) TcpTransitoryIdleTimeoutSec() pulumi.IntOutput

Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not set.

func (*RouterNat) URN added in v0.16.4

func (r *RouterNat) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*RouterNat) UdpIdleTimeoutSec added in v0.16.4

func (r *RouterNat) UdpIdleTimeoutSec() pulumi.IntOutput

Timeout (in seconds) for UDP connections. Defaults to 30s if not set.

type RouterNatArgs added in v0.16.4

type RouterNatArgs struct {
	// A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned
	// to the NAT.
	DrainNatIps interface{}
	// Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.
	IcmpIdleTimeoutSec interface{}
	// Configuration for logging on NAT
	LogConfig interface{}
	// Minimum number of ports allocated to a VM from this NAT.
	MinPortsPerVm interface{}
	// Name of the NAT service. The name must be 1-63 characters long and comply with RFC1035.
	Name interface{}
	// How external IPs should be allocated for this NAT. Valid values are 'AUTO_ONLY' for only allowing NAT IPs allocated by
	// Google Cloud Platform, or 'MANUAL_ONLY' for only user-allocated NAT IP addresses.
	NatIpAllocateOption interface{}
	// Self-links of NAT IPs. Only valid if natIpAllocateOption is set to MANUAL_ONLY.
	NatIps interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// Region where the router and NAT reside.
	Region interface{}
	// The name of the Cloud Router in which this NAT will be configured.
	Router interface{}
	// How NAT should be configured per Subnetwork. If 'ALL_SUBNETWORKS_ALL_IP_RANGES', all of the IP ranges in every
	// Subnetwork are allowed to Nat. If 'ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES', all of the primary IP ranges in every
	// Subnetwork are allowed to Nat. 'LIST_OF_SUBNETWORKS': A list of Subnetworks are allowed to Nat (specified in the field
	// subnetwork below). Note that if this field contains ALL_SUBNETWORKS_ALL_IP_RANGES or
	// ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES, then there should not be any other RouterNat section in any Router for this
	// network in this region.
	SourceSubnetworkIpRangesToNat interface{}
	// One or more subnetwork NAT configurations. Only used if 'source_subnetwork_ip_ranges_to_nat' is set to
	// 'LIST_OF_SUBNETWORKS'
	Subnetworks interface{}
	// Timeout (in seconds) for TCP established connections. Defaults to 1200s if not set.
	TcpEstablishedIdleTimeoutSec interface{}
	// Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not set.
	TcpTransitoryIdleTimeoutSec interface{}
	// Timeout (in seconds) for UDP connections. Defaults to 30s if not set.
	UdpIdleTimeoutSec interface{}
}

The set of arguments for constructing a RouterNat resource.

type RouterNatState added in v0.16.4

type RouterNatState struct {
	// A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned
	// to the NAT.
	DrainNatIps interface{}
	// Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.
	IcmpIdleTimeoutSec interface{}
	// Configuration for logging on NAT
	LogConfig interface{}
	// Minimum number of ports allocated to a VM from this NAT.
	MinPortsPerVm interface{}
	// Name of the NAT service. The name must be 1-63 characters long and comply with RFC1035.
	Name interface{}
	// How external IPs should be allocated for this NAT. Valid values are 'AUTO_ONLY' for only allowing NAT IPs allocated by
	// Google Cloud Platform, or 'MANUAL_ONLY' for only user-allocated NAT IP addresses.
	NatIpAllocateOption interface{}
	// Self-links of NAT IPs. Only valid if natIpAllocateOption is set to MANUAL_ONLY.
	NatIps interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// Region where the router and NAT reside.
	Region interface{}
	// The name of the Cloud Router in which this NAT will be configured.
	Router interface{}
	// How NAT should be configured per Subnetwork. If 'ALL_SUBNETWORKS_ALL_IP_RANGES', all of the IP ranges in every
	// Subnetwork are allowed to Nat. If 'ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES', all of the primary IP ranges in every
	// Subnetwork are allowed to Nat. 'LIST_OF_SUBNETWORKS': A list of Subnetworks are allowed to Nat (specified in the field
	// subnetwork below). Note that if this field contains ALL_SUBNETWORKS_ALL_IP_RANGES or
	// ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES, then there should not be any other RouterNat section in any Router for this
	// network in this region.
	SourceSubnetworkIpRangesToNat interface{}
	// One or more subnetwork NAT configurations. Only used if 'source_subnetwork_ip_ranges_to_nat' is set to
	// 'LIST_OF_SUBNETWORKS'
	Subnetworks interface{}
	// Timeout (in seconds) for TCP established connections. Defaults to 1200s if not set.
	TcpEstablishedIdleTimeoutSec interface{}
	// Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not set.
	TcpTransitoryIdleTimeoutSec interface{}
	// Timeout (in seconds) for UDP connections. Defaults to 30s if not set.
	UdpIdleTimeoutSec interface{}
}

Input properties used for looking up and filtering RouterNat resources.

type RouterPeer

type RouterPeer struct {
	// contains filtered or unexported fields
}

Manages a Cloud Router BGP peer. For more information see [the official documentation](https://cloud.google.com/compute/docs/cloudrouter) and [API](https://cloud.google.com/compute/docs/reference/latest/routers).

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_router_peer.html.markdown.

func GetRouterPeer

func GetRouterPeer(ctx *pulumi.Context,
	name string, id pulumi.ID, state *RouterPeerState, opts ...pulumi.ResourceOpt) (*RouterPeer, error)

GetRouterPeer gets an existing RouterPeer resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewRouterPeer

func NewRouterPeer(ctx *pulumi.Context,
	name string, args *RouterPeerArgs, opts ...pulumi.ResourceOpt) (*RouterPeer, error)

NewRouterPeer registers a new resource with the given unique name, arguments, and options.

func (*RouterPeer) AdvertiseMode added in v1.2.0

func (r *RouterPeer) AdvertiseMode() pulumi.StringOutput

User-specified flag to indicate which mode to use for advertisement. Options include `DEFAULT` or `CUSTOM`.

func (*RouterPeer) AdvertisedGroups added in v1.2.0

func (r *RouterPeer) AdvertisedGroups() pulumi.ArrayOutput

User-specified list of prefix groups to advertise in custom mode, which can take one of the following options:

func (*RouterPeer) AdvertisedIpRanges added in v1.2.0

func (r *RouterPeer) AdvertisedIpRanges() pulumi.ArrayOutput

User-specified list of individual IP ranges to advertise in custom mode. This field can only be populated if `advertiseMode` is `CUSTOM` and overrides the list defined for the router (in the "bgp" message). These IP ranges are advertised in addition to any specified groups. Leave this field blank to advertise no custom IP ranges.

func (*RouterPeer) AdvertisedRoutePriority

func (r *RouterPeer) AdvertisedRoutePriority() pulumi.IntOutput

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

func (*RouterPeer) ID

func (r *RouterPeer) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*RouterPeer) Interface

func (r *RouterPeer) Interface() pulumi.StringOutput

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

func (*RouterPeer) IpAddress

func (r *RouterPeer) IpAddress() pulumi.StringOutput

IP address of the interface inside Google Cloud Platform.

func (*RouterPeer) Name

func (r *RouterPeer) Name() pulumi.StringOutput

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

func (*RouterPeer) PeerAsn

func (r *RouterPeer) PeerAsn() pulumi.IntOutput

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

func (*RouterPeer) PeerIpAddress

func (r *RouterPeer) PeerIpAddress() pulumi.StringOutput

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

func (*RouterPeer) Project

func (r *RouterPeer) Project() pulumi.StringOutput

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.

func (*RouterPeer) Region

func (r *RouterPeer) Region() pulumi.StringOutput

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.

func (*RouterPeer) Router

func (r *RouterPeer) Router() pulumi.StringOutput

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

func (*RouterPeer) URN

func (r *RouterPeer) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type RouterPeerArgs

type RouterPeerArgs struct {
	// User-specified flag to indicate which mode to use for advertisement.
	// Options include `DEFAULT` or `CUSTOM`.
	AdvertiseMode interface{}
	// User-specified list of prefix groups to advertise in custom mode,
	// which can take one of the following options:
	AdvertisedGroups interface{}
	// User-specified list of individual IP ranges to advertise in
	// custom mode. This field can only be populated if `advertiseMode` is `CUSTOM` and overrides
	// the list defined for the router (in the "bgp" message). These IP ranges are advertised in
	// addition to any specified groups. Leave this field blank to advertise no custom IP ranges.
	AdvertisedIpRanges interface{}
	// The priority of routes advertised to this BGP peer.
	// Changing this forces a new peer to be created.
	AdvertisedRoutePriority interface{}
	// The name of the interface the BGP peer is associated with.
	// Changing this forces a new peer to be created.
	Interface interface{}
	// A unique name for BGP peer, required by GCE. Changing
	// this forces a new peer to be created.
	Name interface{}
	// Peer BGP Autonomous System Number (ASN).
	// Changing this forces a new peer to be created.
	PeerAsn interface{}
	// IP address of the BGP interface outside Google Cloud.
	// Changing this forces a new peer to be created.
	PeerIpAddress interface{}
	// 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.
	Project interface{}
	// 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.
	Region interface{}
	// The name of the router in which this BGP peer will be configured.
	// Changing this forces a new peer to be created.
	Router interface{}
}

The set of arguments for constructing a RouterPeer resource.

type RouterPeerState

type RouterPeerState struct {
	// User-specified flag to indicate which mode to use for advertisement.
	// Options include `DEFAULT` or `CUSTOM`.
	AdvertiseMode interface{}
	// User-specified list of prefix groups to advertise in custom mode,
	// which can take one of the following options:
	AdvertisedGroups interface{}
	// User-specified list of individual IP ranges to advertise in
	// custom mode. This field can only be populated if `advertiseMode` is `CUSTOM` and overrides
	// the list defined for the router (in the "bgp" message). These IP ranges are advertised in
	// addition to any specified groups. Leave this field blank to advertise no custom IP ranges.
	AdvertisedIpRanges interface{}
	// The priority of routes advertised to this BGP peer.
	// Changing this forces a new peer to be created.
	AdvertisedRoutePriority interface{}
	// The name of the interface the BGP peer is associated with.
	// Changing this forces a new peer to be created.
	Interface interface{}
	// IP address of the interface inside Google Cloud Platform.
	IpAddress interface{}
	// A unique name for BGP peer, required by GCE. Changing
	// this forces a new peer to be created.
	Name interface{}
	// Peer BGP Autonomous System Number (ASN).
	// Changing this forces a new peer to be created.
	PeerAsn interface{}
	// IP address of the BGP interface outside Google Cloud.
	// Changing this forces a new peer to be created.
	PeerIpAddress interface{}
	// 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.
	Project interface{}
	// 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.
	Region interface{}
	// The name of the router in which this BGP peer will be configured.
	// Changing this forces a new peer to be created.
	Router interface{}
}

Input properties used for looking up and filtering RouterPeer resources.

type RouterState

type RouterState struct {
	// BGP information specific to this router.
	Bgp interface{}
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// An optional description of this resource.
	Description interface{}
	// Name of the resource. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be
	// 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must
	// be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last
	// character, which cannot be a dash.
	Name interface{}
	// A reference to the network to which this router belongs.
	Network interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// Region where the router resides.
	Region interface{}
	// The URI of the created resource.
	SelfLink interface{}
}

Input properties used for looking up and filtering Router resources.

type SSLCertificate

type SSLCertificate struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_ssl_certificate.html.markdown.

func GetSSLCertificate

func GetSSLCertificate(ctx *pulumi.Context,
	name string, id pulumi.ID, state *SSLCertificateState, opts ...pulumi.ResourceOpt) (*SSLCertificate, error)

GetSSLCertificate gets an existing SSLCertificate resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSSLCertificate

func NewSSLCertificate(ctx *pulumi.Context,
	name string, args *SSLCertificateArgs, opts ...pulumi.ResourceOpt) (*SSLCertificate, error)

NewSSLCertificate registers a new resource with the given unique name, arguments, and options.

func (*SSLCertificate) Certificate

func (r *SSLCertificate) Certificate() pulumi.StringOutput

The certificate in PEM format. The certificate chain must be no greater than 5 certs long. The chain must include at least one intermediate cert.

func (*SSLCertificate) CertificateId

func (r *SSLCertificate) CertificateId() pulumi.IntOutput

The unique identifier for the resource.

func (*SSLCertificate) CreationTimestamp added in v0.16.0

func (r *SSLCertificate) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*SSLCertificate) Description

func (r *SSLCertificate) Description() pulumi.StringOutput

An optional description of this resource.

func (*SSLCertificate) ID

func (r *SSLCertificate) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*SSLCertificate) Name

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. These are in the same namespace as the managed SSL certificates.

func (*SSLCertificate) NamePrefix

func (r *SSLCertificate) NamePrefix() pulumi.StringOutput

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

func (*SSLCertificate) PrivateKey

func (r *SSLCertificate) PrivateKey() pulumi.StringOutput

The write-only private key in PEM format.

func (*SSLCertificate) Project

func (r *SSLCertificate) Project() pulumi.StringOutput

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

func (r *SSLCertificate) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*SSLCertificate) URN

func (r *SSLCertificate) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type SSLCertificateArgs

type SSLCertificateArgs struct {
	// The certificate in PEM format. The certificate chain must be no greater than 5 certs long. The chain must include at
	// least one intermediate cert.
	Certificate interface{}
	// An optional description of this resource.
	Description interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. These are in the same
	// namespace as the managed SSL certificates.
	Name interface{}
	// Creates a unique name beginning with the
	// specified prefix. Conflicts with `name`.
	NamePrefix interface{}
	// The write-only private key in PEM format.
	PrivateKey interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
}

The set of arguments for constructing a SSLCertificate resource.

type SSLCertificateState

type SSLCertificateState struct {
	// The certificate in PEM format. The certificate chain must be no greater than 5 certs long. The chain must include at
	// least one intermediate cert.
	Certificate interface{}
	// The unique identifier for the resource.
	CertificateId interface{}
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// An optional description of this resource.
	Description interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. These are in the same
	// namespace as the managed SSL certificates.
	Name interface{}
	// Creates a unique name beginning with the
	// specified prefix. Conflicts with `name`.
	NamePrefix interface{}
	// The write-only private key in PEM format.
	PrivateKey interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The URI of the created resource.
	SelfLink interface{}
}

Input properties used for looking up and filtering SSLCertificate resources.

type SSLPolicy added in v0.15.0

type SSLPolicy struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_ssl_policy.html.markdown.

func GetSSLPolicy added in v0.15.0

func GetSSLPolicy(ctx *pulumi.Context,
	name string, id pulumi.ID, state *SSLPolicyState, opts ...pulumi.ResourceOpt) (*SSLPolicy, error)

GetSSLPolicy gets an existing SSLPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSSLPolicy added in v0.15.0

func NewSSLPolicy(ctx *pulumi.Context,
	name string, args *SSLPolicyArgs, opts ...pulumi.ResourceOpt) (*SSLPolicy, error)

NewSSLPolicy registers a new resource with the given unique name, arguments, and options.

func (*SSLPolicy) CreationTimestamp added in v0.15.0

func (r *SSLPolicy) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*SSLPolicy) CustomFeatures added in v0.15.0

func (r *SSLPolicy) CustomFeatures() pulumi.ArrayOutput

Profile specifies the set of SSL features that can be used by the load balancer when negotiating SSL with clients. This can be one of 'COMPATIBLE', 'MODERN', 'RESTRICTED', or 'CUSTOM'. If using 'CUSTOM', the set of SSL features to enable must be specified in the 'customFeatures' field. See the [official documentation](https://cloud.google.com/compute/docs/load-balancing/ssl-policies#profilefeaturesupport) for which ciphers are available to use. **Note**: this argument *must* be present when using the 'CUSTOM' profile. This argument *must not* be present when using any other profile.

func (*SSLPolicy) Description added in v0.15.0

func (r *SSLPolicy) Description() pulumi.StringOutput

An optional description of this resource.

func (*SSLPolicy) EnabledFeatures added in v0.15.0

func (r *SSLPolicy) EnabledFeatures() pulumi.ArrayOutput

The list of features enabled in the SSL policy.

func (*SSLPolicy) Fingerprint added in v0.15.0

func (r *SSLPolicy) Fingerprint() pulumi.StringOutput

Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking.

func (*SSLPolicy) ID added in v0.15.0

func (r *SSLPolicy) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*SSLPolicy) MinTlsVersion added in v0.15.0

func (r *SSLPolicy) MinTlsVersion() pulumi.StringOutput

The minimum version of SSL protocol that can be used by the clients to establish a connection with the load balancer. This can be one of 'TLS_1_0', 'TLS_1_1', 'TLS_1_2'. Default is 'TLS_1_0'.

func (*SSLPolicy) Name added in v0.15.0

func (r *SSLPolicy) Name() pulumi.StringOutput

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*SSLPolicy) Profile added in v0.15.0

func (r *SSLPolicy) Profile() pulumi.StringOutput

Profile specifies the set of SSL features that can be used by the load balancer when negotiating SSL with clients. This can be one of 'COMPATIBLE', 'MODERN', 'RESTRICTED', or 'CUSTOM'. If using 'CUSTOM', the set of SSL features to enable must be specified in the 'customFeatures' field. See the [official documentation](https://cloud.google.com/compute/docs/load-balancing/ssl-policies#profilefeaturesupport) for information on what cipher suites each profile provides. If 'CUSTOM' is used, the 'custom_features' attribute **must be set**. Default is 'COMPATIBLE'.

func (*SSLPolicy) Project added in v0.15.0

func (r *SSLPolicy) Project() pulumi.StringOutput

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

func (r *SSLPolicy) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*SSLPolicy) URN added in v0.15.0

func (r *SSLPolicy) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type SSLPolicyArgs added in v0.15.0

type SSLPolicyArgs struct {
	// Profile specifies the set of SSL features that can be used by the load balancer when negotiating SSL with clients. This
	// can be one of 'COMPATIBLE', 'MODERN', 'RESTRICTED', or 'CUSTOM'. If using 'CUSTOM', the set of SSL features to enable
	// must be specified in the 'customFeatures' field. See the [official
	// documentation](https://cloud.google.com/compute/docs/load-balancing/ssl-policies#profilefeaturesupport) for which
	// ciphers are available to use. **Note**: this argument *must* be present when using the 'CUSTOM' profile. This argument
	// *must not* be present when using any other profile.
	CustomFeatures interface{}
	// An optional description of this resource.
	Description interface{}
	// The minimum version of SSL protocol that can be used by the clients to establish a connection with the load balancer.
	// This can be one of 'TLS_1_0', 'TLS_1_1', 'TLS_1_2'. Default is 'TLS_1_0'.
	MinTlsVersion interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// Profile specifies the set of SSL features that can be used by the load balancer when negotiating SSL with clients. This
	// can be one of 'COMPATIBLE', 'MODERN', 'RESTRICTED', or 'CUSTOM'. If using 'CUSTOM', the set of SSL features to enable
	// must be specified in the 'customFeatures' field. See the [official
	// documentation](https://cloud.google.com/compute/docs/load-balancing/ssl-policies#profilefeaturesupport) for information
	// on what cipher suites each profile provides. If 'CUSTOM' is used, the 'custom_features' attribute **must be set**.
	// Default is 'COMPATIBLE'.
	Profile interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
}

The set of arguments for constructing a SSLPolicy resource.

type SSLPolicyState added in v0.15.0

type SSLPolicyState struct {
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// Profile specifies the set of SSL features that can be used by the load balancer when negotiating SSL with clients. This
	// can be one of 'COMPATIBLE', 'MODERN', 'RESTRICTED', or 'CUSTOM'. If using 'CUSTOM', the set of SSL features to enable
	// must be specified in the 'customFeatures' field. See the [official
	// documentation](https://cloud.google.com/compute/docs/load-balancing/ssl-policies#profilefeaturesupport) for which
	// ciphers are available to use. **Note**: this argument *must* be present when using the 'CUSTOM' profile. This argument
	// *must not* be present when using any other profile.
	CustomFeatures interface{}
	// An optional description of this resource.
	Description interface{}
	// The list of features enabled in the SSL policy.
	EnabledFeatures interface{}
	// Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking.
	Fingerprint interface{}
	// The minimum version of SSL protocol that can be used by the clients to establish a connection with the load balancer.
	// This can be one of 'TLS_1_0', 'TLS_1_1', 'TLS_1_2'. Default is 'TLS_1_0'.
	MinTlsVersion interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// Profile specifies the set of SSL features that can be used by the load balancer when negotiating SSL with clients. This
	// can be one of 'COMPATIBLE', 'MODERN', 'RESTRICTED', or 'CUSTOM'. If using 'CUSTOM', the set of SSL features to enable
	// must be specified in the 'customFeatures' field. See the [official
	// documentation](https://cloud.google.com/compute/docs/load-balancing/ssl-policies#profilefeaturesupport) for information
	// on what cipher suites each profile provides. If 'CUSTOM' is used, the 'custom_features' attribute **must be set**.
	// Default is 'COMPATIBLE'.
	Profile interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The URI of the created resource.
	SelfLink interface{}
}

Input properties used for looking up and filtering SSLPolicy resources.

type SecurityPolicy added in v0.15.0

type SecurityPolicy struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_security_policy.html.markdown.

func GetSecurityPolicy added in v0.15.0

func GetSecurityPolicy(ctx *pulumi.Context,
	name string, id pulumi.ID, state *SecurityPolicyState, opts ...pulumi.ResourceOpt) (*SecurityPolicy, error)

GetSecurityPolicy gets an existing SecurityPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSecurityPolicy added in v0.15.0

func NewSecurityPolicy(ctx *pulumi.Context,
	name string, args *SecurityPolicyArgs, opts ...pulumi.ResourceOpt) (*SecurityPolicy, error)

NewSecurityPolicy registers a new resource with the given unique name, arguments, and options.

func (*SecurityPolicy) Description added in v0.15.0

func (r *SecurityPolicy) Description() pulumi.StringOutput

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

func (*SecurityPolicy) Fingerprint added in v0.15.0

func (r *SecurityPolicy) Fingerprint() pulumi.StringOutput

Fingerprint of this resource.

func (*SecurityPolicy) ID added in v0.15.0

func (r *SecurityPolicy) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*SecurityPolicy) Name added in v0.15.0

The name of the security policy.

func (*SecurityPolicy) Project added in v0.15.0

func (r *SecurityPolicy) Project() pulumi.StringOutput

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

func (*SecurityPolicy) Rules added in v0.15.0

func (r *SecurityPolicy) Rules() pulumi.ArrayOutput

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.

func (r *SecurityPolicy) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*SecurityPolicy) URN added in v0.15.0

func (r *SecurityPolicy) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type SecurityPolicyArgs added in v0.15.0

type SecurityPolicyArgs struct {
	// An optional description of this security policy. Max size is 2048.
	Description interface{}
	// The name of the security policy.
	Name interface{}
	// The project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// 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.
	Rules interface{}
}

The set of arguments for constructing a SecurityPolicy resource.

type SecurityPolicyState added in v0.15.0

type SecurityPolicyState struct {
	// An optional description of this security policy. Max size is 2048.
	Description interface{}
	// Fingerprint of this resource.
	Fingerprint interface{}
	// The name of the security policy.
	Name interface{}
	// The project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// 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.
	Rules interface{}
	// The URI of the created resource.
	SelfLink interface{}
}

Input properties used for looking up and filtering SecurityPolicy resources.

type SecurityScanConfig added in v0.18.6

type SecurityScanConfig struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/security_scanner_scan_config.html.markdown.

func GetSecurityScanConfig added in v0.18.6

func GetSecurityScanConfig(ctx *pulumi.Context,
	name string, id pulumi.ID, state *SecurityScanConfigState, opts ...pulumi.ResourceOpt) (*SecurityScanConfig, error)

GetSecurityScanConfig gets an existing SecurityScanConfig resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSecurityScanConfig added in v0.18.6

func NewSecurityScanConfig(ctx *pulumi.Context,
	name string, args *SecurityScanConfigArgs, opts ...pulumi.ResourceOpt) (*SecurityScanConfig, error)

NewSecurityScanConfig registers a new resource with the given unique name, arguments, and options.

func (*SecurityScanConfig) Authentication added in v0.18.6

func (r *SecurityScanConfig) Authentication() pulumi.Output

The authentication configuration. If specified, service will use the authentication configuration during scanning.

func (*SecurityScanConfig) BlacklistPatterns added in v0.18.6

func (r *SecurityScanConfig) BlacklistPatterns() pulumi.ArrayOutput

The blacklist URL patterns as described in https://cloud.google.com/security-scanner/docs/excluded-urls

func (*SecurityScanConfig) DisplayName added in v0.18.6

func (r *SecurityScanConfig) DisplayName() pulumi.StringOutput

The user provider display name of the ScanConfig.

func (*SecurityScanConfig) ExportToSecurityCommandCenter added in v0.18.6

func (r *SecurityScanConfig) ExportToSecurityCommandCenter() pulumi.StringOutput

Controls export of scan configurations and results to Cloud Security Command Center.

func (*SecurityScanConfig) ID added in v0.18.6

ID is this resource's unique identifier assigned by its provider.

func (*SecurityScanConfig) MaxQps added in v0.18.6

func (r *SecurityScanConfig) MaxQps() pulumi.IntOutput

The maximum QPS during scanning. A valid value ranges from 5 to 20 inclusively. Defaults to 15.

func (*SecurityScanConfig) Name added in v0.18.6

A server defined name for this index. Format: 'projects/{{project}}/scanConfigs/{{server_generated_id}}'

func (*SecurityScanConfig) Project added in v0.18.6

func (r *SecurityScanConfig) Project() pulumi.StringOutput

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

func (*SecurityScanConfig) Schedule added in v0.18.6

func (r *SecurityScanConfig) Schedule() pulumi.Output

The schedule of the ScanConfig

func (*SecurityScanConfig) StartingUrls added in v0.18.6

func (r *SecurityScanConfig) StartingUrls() pulumi.ArrayOutput

The starting URLs from which the scanner finds site pages.

func (*SecurityScanConfig) TargetPlatforms added in v0.18.6

func (r *SecurityScanConfig) TargetPlatforms() pulumi.ArrayOutput

Set of Cloud Platforms targeted by the scan. If empty, APP_ENGINE will be used as a default.

func (*SecurityScanConfig) URN added in v0.18.6

URN is this resource's unique name assigned by Pulumi.

func (*SecurityScanConfig) UserAgent added in v0.18.6

func (r *SecurityScanConfig) UserAgent() pulumi.StringOutput

Type of the user agents used for scanning

type SecurityScanConfigArgs added in v0.18.6

type SecurityScanConfigArgs struct {
	// The authentication configuration. If specified, service will use the authentication configuration during scanning.
	Authentication interface{}
	// The blacklist URL patterns as described in https://cloud.google.com/security-scanner/docs/excluded-urls
	BlacklistPatterns interface{}
	// The user provider display name of the ScanConfig.
	DisplayName interface{}
	// Controls export of scan configurations and results to Cloud Security Command Center.
	ExportToSecurityCommandCenter interface{}
	// The maximum QPS during scanning. A valid value ranges from 5 to 20 inclusively. Defaults to 15.
	MaxQps interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The schedule of the ScanConfig
	Schedule interface{}
	// The starting URLs from which the scanner finds site pages.
	StartingUrls interface{}
	// Set of Cloud Platforms targeted by the scan. If empty, APP_ENGINE will be used as a default.
	TargetPlatforms interface{}
	// Type of the user agents used for scanning
	UserAgent interface{}
}

The set of arguments for constructing a SecurityScanConfig resource.

type SecurityScanConfigState added in v0.18.6

type SecurityScanConfigState struct {
	// The authentication configuration. If specified, service will use the authentication configuration during scanning.
	Authentication interface{}
	// The blacklist URL patterns as described in https://cloud.google.com/security-scanner/docs/excluded-urls
	BlacklistPatterns interface{}
	// The user provider display name of the ScanConfig.
	DisplayName interface{}
	// Controls export of scan configurations and results to Cloud Security Command Center.
	ExportToSecurityCommandCenter interface{}
	// The maximum QPS during scanning. A valid value ranges from 5 to 20 inclusively. Defaults to 15.
	MaxQps interface{}
	// A server defined name for this index. Format: 'projects/{{project}}/scanConfigs/{{server_generated_id}}'
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The schedule of the ScanConfig
	Schedule interface{}
	// The starting URLs from which the scanner finds site pages.
	StartingUrls interface{}
	// Set of Cloud Platforms targeted by the scan. If empty, APP_ENGINE will be used as a default.
	TargetPlatforms interface{}
	// Type of the user agents used for scanning
	UserAgent interface{}
}

Input properties used for looking up and filtering SecurityScanConfig resources.

type SharedVPCHostProject

type SharedVPCHostProject struct {
	// contains filtered or unexported fields
}

Enables the Google Compute Engine [Shared VPC](https://cloud.google.com/compute/docs/shared-vpc) feature for a project, assigning it as a Shared VPC host project.

For more information, see, [the Project API documentation](https://cloud.google.com/compute/docs/reference/latest/projects), where the Shared VPC feature is referred to by its former name "XPN".

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_shared_vpc_host_project.html.markdown.

func GetSharedVPCHostProject

func GetSharedVPCHostProject(ctx *pulumi.Context,
	name string, id pulumi.ID, state *SharedVPCHostProjectState, opts ...pulumi.ResourceOpt) (*SharedVPCHostProject, error)

GetSharedVPCHostProject gets an existing SharedVPCHostProject resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSharedVPCHostProject

func NewSharedVPCHostProject(ctx *pulumi.Context,
	name string, args *SharedVPCHostProjectArgs, opts ...pulumi.ResourceOpt) (*SharedVPCHostProject, error)

NewSharedVPCHostProject registers a new resource with the given unique name, arguments, and options.

func (*SharedVPCHostProject) ID

ID is this resource's unique identifier assigned by its provider.

func (*SharedVPCHostProject) Project

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

func (*SharedVPCHostProject) URN

URN is this resource's unique name assigned by Pulumi.

type SharedVPCHostProjectArgs

type SharedVPCHostProjectArgs struct {
	// The ID of the project that will serve as a Shared VPC host project
	Project interface{}
}

The set of arguments for constructing a SharedVPCHostProject resource.

type SharedVPCHostProjectState

type SharedVPCHostProjectState struct {
	// The ID of the project that will serve as a Shared VPC host project
	Project interface{}
}

Input properties used for looking up and filtering SharedVPCHostProject resources.

type SharedVPCServiceProject

type SharedVPCServiceProject struct {
	// contains filtered or unexported fields
}

Enables the Google Compute Engine [Shared VPC](https://cloud.google.com/compute/docs/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](https://cloud.google.com/compute/docs/reference/latest/projects), where the Shared VPC feature is referred to by its former name "XPN".

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_shared_vpc_service_project.html.markdown.

func GetSharedVPCServiceProject

func GetSharedVPCServiceProject(ctx *pulumi.Context,
	name string, id pulumi.ID, state *SharedVPCServiceProjectState, opts ...pulumi.ResourceOpt) (*SharedVPCServiceProject, error)

GetSharedVPCServiceProject gets an existing SharedVPCServiceProject resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSharedVPCServiceProject

func NewSharedVPCServiceProject(ctx *pulumi.Context,
	name string, args *SharedVPCServiceProjectArgs, opts ...pulumi.ResourceOpt) (*SharedVPCServiceProject, error)

NewSharedVPCServiceProject registers a new resource with the given unique name, arguments, and options.

func (*SharedVPCServiceProject) HostProject

func (r *SharedVPCServiceProject) HostProject() pulumi.StringOutput

The ID of a host project to associate.

func (*SharedVPCServiceProject) ID

ID is this resource's unique identifier assigned by its provider.

func (*SharedVPCServiceProject) ServiceProject

func (r *SharedVPCServiceProject) ServiceProject() pulumi.StringOutput

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

func (*SharedVPCServiceProject) URN

URN is this resource's unique name assigned by Pulumi.

type SharedVPCServiceProjectArgs

type SharedVPCServiceProjectArgs struct {
	// The ID of a host project to associate.
	HostProject interface{}
	// The ID of the project that will serve as a Shared VPC service project.
	ServiceProject interface{}
}

The set of arguments for constructing a SharedVPCServiceProject resource.

type SharedVPCServiceProjectState

type SharedVPCServiceProjectState struct {
	// The ID of a host project to associate.
	HostProject interface{}
	// The ID of the project that will serve as a Shared VPC service project.
	ServiceProject interface{}
}

Input properties used for looking up and filtering SharedVPCServiceProject resources.

type Snapshot

type Snapshot struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_snapshot.html.markdown.

func GetSnapshot

func GetSnapshot(ctx *pulumi.Context,
	name string, id pulumi.ID, state *SnapshotState, opts ...pulumi.ResourceOpt) (*Snapshot, error)

GetSnapshot gets an existing Snapshot resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSnapshot

func NewSnapshot(ctx *pulumi.Context,
	name string, args *SnapshotArgs, opts ...pulumi.ResourceOpt) (*Snapshot, error)

NewSnapshot registers a new resource with the given unique name, arguments, and options.

func (*Snapshot) CreationTimestamp added in v0.16.4

func (r *Snapshot) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*Snapshot) Description added in v0.16.4

func (r *Snapshot) Description() pulumi.StringOutput

An optional description of this resource.

func (*Snapshot) DiskSizeGb added in v0.16.4

func (r *Snapshot) DiskSizeGb() pulumi.IntOutput

Size of the snapshot, specified in GB.

func (*Snapshot) ID

func (r *Snapshot) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*Snapshot) LabelFingerprint

func (r *Snapshot) LabelFingerprint() pulumi.StringOutput

The fingerprint used for optimistic locking of this resource. Used internally during updates.

func (*Snapshot) Labels

func (r *Snapshot) Labels() pulumi.MapOutput

Labels to apply to this Snapshot.

func (*Snapshot) Licenses added in v0.16.4

func (r *Snapshot) Licenses() pulumi.ArrayOutput

A list of public visible licenses that apply to this snapshot. This can be because the original image had licenses attached (such as a Windows image). snapshotEncryptionKey nested object Encrypts the snapshot using a customer-supplied encryption key.

func (*Snapshot) Name

func (r *Snapshot) Name() pulumi.StringOutput

Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*Snapshot) Project

func (r *Snapshot) Project() pulumi.StringOutput

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

func (r *Snapshot) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*Snapshot) SnapshotEncryptionKey added in v0.16.4

func (r *Snapshot) SnapshotEncryptionKey() pulumi.Output

The customer-supplied encryption key of the snapshot. Required if the source snapshot is protected by a customer-supplied encryption key.

func (*Snapshot) SnapshotId added in v0.16.4

func (r *Snapshot) SnapshotId() pulumi.IntOutput

The unique identifier for the resource.

func (*Snapshot) SourceDisk

func (r *Snapshot) SourceDisk() pulumi.StringOutput

A reference to the disk used to create this snapshot.

func (*Snapshot) SourceDiskEncryptionKey added in v0.16.4

func (r *Snapshot) SourceDiskEncryptionKey() pulumi.Output

The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key.

func (r *Snapshot) SourceDiskLink() pulumi.StringOutput

func (*Snapshot) StorageBytes added in v0.16.4

func (r *Snapshot) StorageBytes() pulumi.IntOutput

A size of the the storage used by the snapshot. As snapshots share storage, this number is expected to change with snapshot creation/deletion.

func (*Snapshot) URN

func (r *Snapshot) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*Snapshot) Zone

func (r *Snapshot) Zone() pulumi.StringOutput

A reference to the zone where the disk is hosted.

type SnapshotArgs

type SnapshotArgs struct {
	// An optional description of this resource.
	Description interface{}
	// Labels to apply to this Snapshot.
	Labels interface{}
	// Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The customer-supplied encryption key of the snapshot. Required if the source snapshot is protected by a
	// customer-supplied encryption key.
	SnapshotEncryptionKey interface{}
	// A reference to the disk used to create this snapshot.
	SourceDisk interface{}
	// The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a
	// customer-supplied encryption key.
	SourceDiskEncryptionKey interface{}
	// A reference to the zone where the disk is hosted.
	Zone interface{}
}

The set of arguments for constructing a Snapshot resource.

type SnapshotState

type SnapshotState struct {
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// An optional description of this resource.
	Description interface{}
	// Size of the snapshot, specified in GB.
	DiskSizeGb interface{}
	// The fingerprint used for optimistic locking of this resource. Used internally during updates.
	LabelFingerprint interface{}
	// Labels to apply to this Snapshot.
	Labels interface{}
	// A list of public visible licenses that apply to this snapshot. This can be because the original image had licenses
	// attached (such as a Windows image). snapshotEncryptionKey nested object Encrypts the snapshot using a customer-supplied
	// encryption key.
	Licenses interface{}
	// Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// The customer-supplied encryption key of the snapshot. Required if the source snapshot is protected by a
	// customer-supplied encryption key.
	SnapshotEncryptionKey interface{}
	// The unique identifier for the resource.
	SnapshotId interface{}
	// A reference to the disk used to create this snapshot.
	SourceDisk interface{}
	// The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a
	// customer-supplied encryption key.
	SourceDiskEncryptionKey interface{}
	SourceDiskLink          interface{}
	// A size of the the storage used by the snapshot. As snapshots share storage, this number is expected to change with
	// snapshot creation/deletion.
	StorageBytes interface{}
	// A reference to the zone where the disk is hosted.
	Zone interface{}
}

Input properties used for looking up and filtering Snapshot resources.

type Subnetwork

type Subnetwork struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_subnetwork.html.markdown.

func GetSubnetwork

func GetSubnetwork(ctx *pulumi.Context,
	name string, id pulumi.ID, state *SubnetworkState, opts ...pulumi.ResourceOpt) (*Subnetwork, error)

GetSubnetwork gets an existing Subnetwork resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSubnetwork

func NewSubnetwork(ctx *pulumi.Context,
	name string, args *SubnetworkArgs, opts ...pulumi.ResourceOpt) (*Subnetwork, error)

NewSubnetwork registers a new resource with the given unique name, arguments, and options.

func (*Subnetwork) CreationTimestamp added in v0.15.0

func (r *Subnetwork) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*Subnetwork) Description

func (r *Subnetwork) Description() pulumi.StringOutput

An optional description of this resource. Provide this property when you create the resource. This field can be set only at resource creation time.

func (*Subnetwork) EnableFlowLogs

func (r *Subnetwork) EnableFlowLogs() pulumi.BoolOutput

Whether to enable flow logging for this subnetwork.

func (*Subnetwork) Fingerprint

func (r *Subnetwork) Fingerprint() pulumi.StringOutput

Fingerprint of this resource. This field is used internally during updates of this resource.

func (*Subnetwork) GatewayAddress

func (r *Subnetwork) GatewayAddress() pulumi.StringOutput

The gateway address for default routes to reach destination addresses outside this subnetwork.

func (*Subnetwork) ID

func (r *Subnetwork) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*Subnetwork) IpCidrRange

func (r *Subnetwork) IpCidrRange() pulumi.StringOutput

The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported.

func (*Subnetwork) LogConfig added in v0.18.6

func (r *Subnetwork) LogConfig() pulumi.Output

Denotes the logging options for the subnetwork flow logs. If logging is enabled logs will be exported to Stackdriver.

func (*Subnetwork) Name

func (r *Subnetwork) Name() pulumi.StringOutput

The name of the resource, provided by the client when initially creating the resource. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*Subnetwork) Network

func (r *Subnetwork) Network() pulumi.StringOutput

The network this subnet belongs to. Only networks that are in the distributed mode can have subnetworks.

func (*Subnetwork) PrivateIpGoogleAccess

func (r *Subnetwork) PrivateIpGoogleAccess() pulumi.BoolOutput

When enabled, VMs in this subnetwork without external IP addresses can access Google APIs and services by using Private Google Access.

func (*Subnetwork) Project

func (r *Subnetwork) Project() pulumi.StringOutput

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

func (*Subnetwork) Purpose added in v1.2.0

func (r *Subnetwork) Purpose() pulumi.StringOutput

The purpose of the resource. This field can be either PRIVATE or INTERNAL_HTTPS_LOAD_BALANCER. A subnetwork with purpose set to INTERNAL_HTTPS_LOAD_BALANCER is a user-created subnetwork that is reserved for Internal HTTP(S) Load Balancing. If unspecified, the purpose defaults to PRIVATE. If set to INTERNAL_HTTPS_LOAD_BALANCER you must also set the role.

func (*Subnetwork) Region

func (r *Subnetwork) Region() pulumi.StringOutput

URL of the GCP region for this subnetwork.

func (*Subnetwork) Role added in v1.2.0

func (r *Subnetwork) Role() pulumi.StringOutput

The role of subnetwork. Currently, this field is only used when purpose = INTERNAL_HTTPS_LOAD_BALANCER. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Internal HTTP(S) Load Balancing. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining.

func (*Subnetwork) SecondaryIpRanges

func (r *Subnetwork) SecondaryIpRanges() pulumi.ArrayOutput

An array of configurations for secondary IP ranges for VM instances contained in this subnetwork. The primary IP of such VM must belong to the primary ipCidrRange of the subnetwork. The alias IPs may belong to either primary or secondary ranges. This field uses attr-as-block mode to avoid breaking users during the 0.12 upgrade. See [the Attr-as-Block page](https://www.terraform.io/docs/configuration/attr-as-blocks.html) for more details.

func (r *Subnetwork) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*Subnetwork) URN

func (r *Subnetwork) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type SubnetworkArgs

type SubnetworkArgs struct {
	// An optional description of this resource. Provide this property when you create the resource. This field can be set
	// only at resource creation time.
	Description interface{}
	// Whether to enable flow logging for this subnetwork.
	EnableFlowLogs interface{}
	// The range of internal addresses that are owned by this subnetwork. Provide this property when you create the
	// subnetwork. For example, 10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and non-overlapping within a network. Only
	// IPv4 is supported.
	IpCidrRange interface{}
	// Denotes the logging options for the subnetwork flow logs. If logging is enabled logs will be exported to Stackdriver.
	LogConfig interface{}
	// The name of the resource, provided by the client when initially creating the resource. The name must be 1-63 characters
	// long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The network this subnet belongs to. Only networks that are in the distributed mode can have subnetworks.
	Network interface{}
	// When enabled, VMs in this subnetwork without external IP addresses can access Google APIs and services by using Private
	// Google Access.
	PrivateIpGoogleAccess interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The purpose of the resource. This field can be either PRIVATE or INTERNAL_HTTPS_LOAD_BALANCER. A subnetwork with
	// purpose set to INTERNAL_HTTPS_LOAD_BALANCER is a user-created subnetwork that is reserved for Internal HTTP(S) Load
	// Balancing. If unspecified, the purpose defaults to PRIVATE. If set to INTERNAL_HTTPS_LOAD_BALANCER you must also set
	// the role.
	Purpose interface{}
	// URL of the GCP region for this subnetwork.
	Region interface{}
	// The role of subnetwork. Currently, this field is only used when purpose = INTERNAL_HTTPS_LOAD_BALANCER. The value can
	// be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Internal HTTP(S) Load
	// Balancing. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining.
	Role interface{}
	// An array of configurations for secondary IP ranges for VM instances contained in this subnetwork. The primary IP of
	// such VM must belong to the primary ipCidrRange of the subnetwork. The alias IPs may belong to either primary or
	// secondary ranges. This field uses attr-as-block mode to avoid breaking users during the 0.12 upgrade. See [the
	// Attr-as-Block page](https://www.terraform.io/docs/configuration/attr-as-blocks.html) for more details.
	SecondaryIpRanges interface{}
}

The set of arguments for constructing a Subnetwork resource.

type SubnetworkIAMBinding added in v0.15.0

type SubnetworkIAMBinding struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_subnetwork_iam_binding.html.markdown.

func GetSubnetworkIAMBinding added in v0.15.0

func GetSubnetworkIAMBinding(ctx *pulumi.Context,
	name string, id pulumi.ID, state *SubnetworkIAMBindingState, opts ...pulumi.ResourceOpt) (*SubnetworkIAMBinding, error)

GetSubnetworkIAMBinding gets an existing SubnetworkIAMBinding resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSubnetworkIAMBinding added in v0.15.0

func NewSubnetworkIAMBinding(ctx *pulumi.Context,
	name string, args *SubnetworkIAMBindingArgs, opts ...pulumi.ResourceOpt) (*SubnetworkIAMBinding, error)

NewSubnetworkIAMBinding registers a new resource with the given unique name, arguments, and options.

func (*SubnetworkIAMBinding) Condition added in v1.6.0

func (r *SubnetworkIAMBinding) Condition() pulumi.Output

func (*SubnetworkIAMBinding) Etag added in v0.15.0

(Computed) The etag of the IAM policy.

func (*SubnetworkIAMBinding) ID added in v0.15.0

ID is this resource's unique identifier assigned by its provider.

func (*SubnetworkIAMBinding) Members added in v0.15.0

func (*SubnetworkIAMBinding) Project added in v0.15.0

The ID of the project in which the resource belongs. If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.

func (*SubnetworkIAMBinding) Region added in v0.15.0

URL of the GCP region for this subnetwork. Used to find the parent resource to bind the IAM policy to. If not specified, the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no region is specified, it is taken from the provider configuration.

func (*SubnetworkIAMBinding) Role added in v0.15.0

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

func (*SubnetworkIAMBinding) Subnetwork added in v0.15.0

func (r *SubnetworkIAMBinding) Subnetwork() pulumi.StringOutput

Used to find the parent resource to bind the IAM policy to

func (*SubnetworkIAMBinding) URN added in v0.15.0

URN is this resource's unique name assigned by Pulumi.

type SubnetworkIAMBindingArgs added in v0.15.0

type SubnetworkIAMBindingArgs struct {
	Condition interface{}
	Members   interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project interface{}
	// URL of the GCP region for this subnetwork.
	// Used to find the parent resource to bind the IAM policy to. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no
	// region is specified, it is taken from the provider configuration.
	Region interface{}
	// The role that should be applied. Only one
	// `compute.SubnetworkIAMBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role interface{}
	// Used to find the parent resource to bind the IAM policy to
	Subnetwork interface{}
}

The set of arguments for constructing a SubnetworkIAMBinding resource.

type SubnetworkIAMBindingState added in v0.15.0

type SubnetworkIAMBindingState struct {
	Condition interface{}
	// (Computed) The etag of the IAM policy.
	Etag    interface{}
	Members interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project interface{}
	// URL of the GCP region for this subnetwork.
	// Used to find the parent resource to bind the IAM policy to. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no
	// region is specified, it is taken from the provider configuration.
	Region interface{}
	// The role that should be applied. Only one
	// `compute.SubnetworkIAMBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role interface{}
	// Used to find the parent resource to bind the IAM policy to
	Subnetwork interface{}
}

Input properties used for looking up and filtering SubnetworkIAMBinding resources.

type SubnetworkIAMMember added in v0.15.0

type SubnetworkIAMMember struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_subnetwork_iam_member.html.markdown.

func GetSubnetworkIAMMember added in v0.15.0

func GetSubnetworkIAMMember(ctx *pulumi.Context,
	name string, id pulumi.ID, state *SubnetworkIAMMemberState, opts ...pulumi.ResourceOpt) (*SubnetworkIAMMember, error)

GetSubnetworkIAMMember gets an existing SubnetworkIAMMember resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSubnetworkIAMMember added in v0.15.0

func NewSubnetworkIAMMember(ctx *pulumi.Context,
	name string, args *SubnetworkIAMMemberArgs, opts ...pulumi.ResourceOpt) (*SubnetworkIAMMember, error)

NewSubnetworkIAMMember registers a new resource with the given unique name, arguments, and options.

func (*SubnetworkIAMMember) Condition added in v1.6.0

func (r *SubnetworkIAMMember) Condition() pulumi.Output

func (*SubnetworkIAMMember) Etag added in v0.15.0

(Computed) The etag of the IAM policy.

func (*SubnetworkIAMMember) ID added in v0.15.0

ID is this resource's unique identifier assigned by its provider.

func (*SubnetworkIAMMember) Member added in v0.15.0

func (*SubnetworkIAMMember) Project added in v0.15.0

The ID of the project in which the resource belongs. If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.

func (*SubnetworkIAMMember) Region added in v0.15.0

URL of the GCP region for this subnetwork. Used to find the parent resource to bind the IAM policy to. If not specified, the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no region is specified, it is taken from the provider configuration.

func (*SubnetworkIAMMember) Role added in v0.15.0

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

func (*SubnetworkIAMMember) Subnetwork added in v0.15.0

func (r *SubnetworkIAMMember) Subnetwork() pulumi.StringOutput

Used to find the parent resource to bind the IAM policy to

func (*SubnetworkIAMMember) URN added in v0.15.0

URN is this resource's unique name assigned by Pulumi.

type SubnetworkIAMMemberArgs added in v0.15.0

type SubnetworkIAMMemberArgs struct {
	Condition interface{}
	Member    interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project interface{}
	// URL of the GCP region for this subnetwork.
	// Used to find the parent resource to bind the IAM policy to. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no
	// region is specified, it is taken from the provider configuration.
	Region interface{}
	// The role that should be applied. Only one
	// `compute.SubnetworkIAMBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role interface{}
	// Used to find the parent resource to bind the IAM policy to
	Subnetwork interface{}
}

The set of arguments for constructing a SubnetworkIAMMember resource.

type SubnetworkIAMMemberState added in v0.15.0

type SubnetworkIAMMemberState struct {
	Condition interface{}
	// (Computed) The etag of the IAM policy.
	Etag   interface{}
	Member interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project interface{}
	// URL of the GCP region for this subnetwork.
	// Used to find the parent resource to bind the IAM policy to. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no
	// region is specified, it is taken from the provider configuration.
	Region interface{}
	// The role that should be applied. Only one
	// `compute.SubnetworkIAMBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role interface{}
	// Used to find the parent resource to bind the IAM policy to
	Subnetwork interface{}
}

Input properties used for looking up and filtering SubnetworkIAMMember resources.

type SubnetworkIAMPolicy added in v0.15.0

type SubnetworkIAMPolicy struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_subnetwork_iam_policy.html.markdown.

func GetSubnetworkIAMPolicy added in v0.15.0

func GetSubnetworkIAMPolicy(ctx *pulumi.Context,
	name string, id pulumi.ID, state *SubnetworkIAMPolicyState, opts ...pulumi.ResourceOpt) (*SubnetworkIAMPolicy, error)

GetSubnetworkIAMPolicy gets an existing SubnetworkIAMPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSubnetworkIAMPolicy added in v0.15.0

func NewSubnetworkIAMPolicy(ctx *pulumi.Context,
	name string, args *SubnetworkIAMPolicyArgs, opts ...pulumi.ResourceOpt) (*SubnetworkIAMPolicy, error)

NewSubnetworkIAMPolicy registers a new resource with the given unique name, arguments, and options.

func (*SubnetworkIAMPolicy) Etag added in v0.15.0

(Computed) The etag of the IAM policy.

func (*SubnetworkIAMPolicy) ID added in v0.15.0

ID is this resource's unique identifier assigned by its provider.

func (*SubnetworkIAMPolicy) PolicyData added in v0.15.0

func (r *SubnetworkIAMPolicy) PolicyData() pulumi.StringOutput

The policy data generated by a `organizations.getIAMPolicy` data source.

func (*SubnetworkIAMPolicy) Project added in v0.15.0

The ID of the project in which the resource belongs. If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.

func (*SubnetworkIAMPolicy) Region added in v0.15.0

URL of the GCP region for this subnetwork. Used to find the parent resource to bind the IAM policy to. If not specified, the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no region is specified, it is taken from the provider configuration.

func (*SubnetworkIAMPolicy) Subnetwork added in v0.15.0

func (r *SubnetworkIAMPolicy) Subnetwork() pulumi.StringOutput

Used to find the parent resource to bind the IAM policy to

func (*SubnetworkIAMPolicy) URN added in v0.15.0

URN is this resource's unique name assigned by Pulumi.

type SubnetworkIAMPolicyArgs added in v0.15.0

type SubnetworkIAMPolicyArgs struct {
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project interface{}
	// URL of the GCP region for this subnetwork.
	// Used to find the parent resource to bind the IAM policy to. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no
	// region is specified, it is taken from the provider configuration.
	Region interface{}
	// Used to find the parent resource to bind the IAM policy to
	Subnetwork interface{}
}

The set of arguments for constructing a SubnetworkIAMPolicy resource.

type SubnetworkIAMPolicyState added in v0.15.0

type SubnetworkIAMPolicyState struct {
	// (Computed) The etag of the IAM policy.
	Etag interface{}
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project interface{}
	// URL of the GCP region for this subnetwork.
	// Used to find the parent resource to bind the IAM policy to. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no
	// region is specified, it is taken from the provider configuration.
	Region interface{}
	// Used to find the parent resource to bind the IAM policy to
	Subnetwork interface{}
}

Input properties used for looking up and filtering SubnetworkIAMPolicy resources.

type SubnetworkState

type SubnetworkState struct {
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// An optional description of this resource. Provide this property when you create the resource. This field can be set
	// only at resource creation time.
	Description interface{}
	// Whether to enable flow logging for this subnetwork.
	EnableFlowLogs interface{}
	// Fingerprint of this resource. This field is used internally during updates of this resource.
	Fingerprint interface{}
	// The gateway address for default routes to reach destination addresses outside this subnetwork.
	GatewayAddress interface{}
	// The range of internal addresses that are owned by this subnetwork. Provide this property when you create the
	// subnetwork. For example, 10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and non-overlapping within a network. Only
	// IPv4 is supported.
	IpCidrRange interface{}
	// Denotes the logging options for the subnetwork flow logs. If logging is enabled logs will be exported to Stackdriver.
	LogConfig interface{}
	// The name of the resource, provided by the client when initially creating the resource. The name must be 1-63 characters
	// long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The network this subnet belongs to. Only networks that are in the distributed mode can have subnetworks.
	Network interface{}
	// When enabled, VMs in this subnetwork without external IP addresses can access Google APIs and services by using Private
	// Google Access.
	PrivateIpGoogleAccess interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The purpose of the resource. This field can be either PRIVATE or INTERNAL_HTTPS_LOAD_BALANCER. A subnetwork with
	// purpose set to INTERNAL_HTTPS_LOAD_BALANCER is a user-created subnetwork that is reserved for Internal HTTP(S) Load
	// Balancing. If unspecified, the purpose defaults to PRIVATE. If set to INTERNAL_HTTPS_LOAD_BALANCER you must also set
	// the role.
	Purpose interface{}
	// URL of the GCP region for this subnetwork.
	Region interface{}
	// The role of subnetwork. Currently, this field is only used when purpose = INTERNAL_HTTPS_LOAD_BALANCER. The value can
	// be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Internal HTTP(S) Load
	// Balancing. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining.
	Role interface{}
	// An array of configurations for secondary IP ranges for VM instances contained in this subnetwork. The primary IP of
	// such VM must belong to the primary ipCidrRange of the subnetwork. The alias IPs may belong to either primary or
	// secondary ranges. This field uses attr-as-block mode to avoid breaking users during the 0.12 upgrade. See [the
	// Attr-as-Block page](https://www.terraform.io/docs/configuration/attr-as-blocks.html) for more details.
	SecondaryIpRanges interface{}
	// The URI of the created resource.
	SelfLink interface{}
}

Input properties used for looking up and filtering Subnetwork resources.

type TargetHttpProxy

type TargetHttpProxy struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_target_http_proxy.html.markdown.

func GetTargetHttpProxy

func GetTargetHttpProxy(ctx *pulumi.Context,
	name string, id pulumi.ID, state *TargetHttpProxyState, opts ...pulumi.ResourceOpt) (*TargetHttpProxy, error)

GetTargetHttpProxy gets an existing TargetHttpProxy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewTargetHttpProxy

func NewTargetHttpProxy(ctx *pulumi.Context,
	name string, args *TargetHttpProxyArgs, opts ...pulumi.ResourceOpt) (*TargetHttpProxy, error)

NewTargetHttpProxy registers a new resource with the given unique name, arguments, and options.

func (*TargetHttpProxy) CreationTimestamp

func (r *TargetHttpProxy) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*TargetHttpProxy) Description

func (r *TargetHttpProxy) Description() pulumi.StringOutput

An optional description of this resource.

func (*TargetHttpProxy) ID

ID is this resource's unique identifier assigned by its provider.

func (*TargetHttpProxy) Name

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*TargetHttpProxy) Project

func (r *TargetHttpProxy) Project() pulumi.StringOutput

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

func (*TargetHttpProxy) ProxyId

func (r *TargetHttpProxy) ProxyId() pulumi.IntOutput

The unique identifier for the resource.

func (r *TargetHttpProxy) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*TargetHttpProxy) URN

func (r *TargetHttpProxy) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*TargetHttpProxy) UrlMap

func (r *TargetHttpProxy) UrlMap() pulumi.StringOutput

A reference to the UrlMap resource that defines the mapping from URL to the BackendService.

type TargetHttpProxyArgs

type TargetHttpProxyArgs struct {
	// An optional description of this resource.
	Description interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// A reference to the UrlMap resource that defines the mapping from URL to the BackendService.
	UrlMap interface{}
}

The set of arguments for constructing a TargetHttpProxy resource.

type TargetHttpProxyState

type TargetHttpProxyState struct {
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// An optional description of this resource.
	Description interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The unique identifier for the resource.
	ProxyId interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// A reference to the UrlMap resource that defines the mapping from URL to the BackendService.
	UrlMap interface{}
}

Input properties used for looking up and filtering TargetHttpProxy resources.

type TargetHttpsProxy

type TargetHttpsProxy struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_target_https_proxy.html.markdown.

func GetTargetHttpsProxy

func GetTargetHttpsProxy(ctx *pulumi.Context,
	name string, id pulumi.ID, state *TargetHttpsProxyState, opts ...pulumi.ResourceOpt) (*TargetHttpsProxy, error)

GetTargetHttpsProxy gets an existing TargetHttpsProxy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewTargetHttpsProxy

func NewTargetHttpsProxy(ctx *pulumi.Context,
	name string, args *TargetHttpsProxyArgs, opts ...pulumi.ResourceOpt) (*TargetHttpsProxy, error)

NewTargetHttpsProxy registers a new resource with the given unique name, arguments, and options.

func (*TargetHttpsProxy) CreationTimestamp

func (r *TargetHttpsProxy) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*TargetHttpsProxy) Description

func (r *TargetHttpsProxy) Description() pulumi.StringOutput

An optional description of this resource.

func (*TargetHttpsProxy) ID

ID is this resource's unique identifier assigned by its provider.

func (*TargetHttpsProxy) Name

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*TargetHttpsProxy) Project

func (r *TargetHttpsProxy) Project() pulumi.StringOutput

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

func (*TargetHttpsProxy) ProxyId

func (r *TargetHttpsProxy) ProxyId() pulumi.IntOutput

The unique identifier for the resource.

func (*TargetHttpsProxy) QuicOverride added in v0.15.0

func (r *TargetHttpsProxy) QuicOverride() pulumi.StringOutput

Specifies the QUIC override policy for this resource. This determines whether the load balancer will attempt to negotiate QUIC with clients or not. Can specify one of NONE, ENABLE, or DISABLE. If NONE is specified, uses the QUIC policy with no user overrides, which is equivalent to DISABLE. Not specifying this field is equivalent to specifying NONE.

func (r *TargetHttpsProxy) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*TargetHttpsProxy) SslCertificates

func (r *TargetHttpsProxy) SslCertificates() pulumi.ArrayOutput

A list of SslCertificate resources that are used to authenticate connections between users and the load balancer. Currently, exactly one SSL certificate must be specified.

func (*TargetHttpsProxy) SslPolicy

func (r *TargetHttpsProxy) SslPolicy() pulumi.StringOutput

A reference to the SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource will not have any SSL policy configured.

func (*TargetHttpsProxy) URN

URN is this resource's unique name assigned by Pulumi.

func (*TargetHttpsProxy) UrlMap

func (r *TargetHttpsProxy) UrlMap() pulumi.StringOutput

A reference to the UrlMap resource that defines the mapping from URL to the BackendService.

type TargetHttpsProxyArgs

type TargetHttpsProxyArgs struct {
	// An optional description of this resource.
	Description interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// Specifies the QUIC override policy for this resource. This determines whether the load balancer will attempt to
	// negotiate QUIC with clients or not. Can specify one of NONE, ENABLE, or DISABLE. If NONE is specified, uses the QUIC
	// policy with no user overrides, which is equivalent to DISABLE. Not specifying this field is equivalent to specifying
	// NONE.
	QuicOverride interface{}
	// A list of SslCertificate resources that are used to authenticate connections between users and the load balancer.
	// Currently, exactly one SSL certificate must be specified.
	SslCertificates interface{}
	// A reference to the SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the
	// TargetHttpsProxy resource will not have any SSL policy configured.
	SslPolicy interface{}
	// A reference to the UrlMap resource that defines the mapping from URL to the BackendService.
	UrlMap interface{}
}

The set of arguments for constructing a TargetHttpsProxy resource.

type TargetHttpsProxyState

type TargetHttpsProxyState struct {
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// An optional description of this resource.
	Description interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The unique identifier for the resource.
	ProxyId interface{}
	// Specifies the QUIC override policy for this resource. This determines whether the load balancer will attempt to
	// negotiate QUIC with clients or not. Can specify one of NONE, ENABLE, or DISABLE. If NONE is specified, uses the QUIC
	// policy with no user overrides, which is equivalent to DISABLE. Not specifying this field is equivalent to specifying
	// NONE.
	QuicOverride interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// A list of SslCertificate resources that are used to authenticate connections between users and the load balancer.
	// Currently, exactly one SSL certificate must be specified.
	SslCertificates interface{}
	// A reference to the SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the
	// TargetHttpsProxy resource will not have any SSL policy configured.
	SslPolicy interface{}
	// A reference to the UrlMap resource that defines the mapping from URL to the BackendService.
	UrlMap interface{}
}

Input properties used for looking up and filtering TargetHttpsProxy resources.

type TargetInstance added in v0.18.6

type TargetInstance struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_target_instance.html.markdown.

func GetTargetInstance added in v0.18.6

func GetTargetInstance(ctx *pulumi.Context,
	name string, id pulumi.ID, state *TargetInstanceState, opts ...pulumi.ResourceOpt) (*TargetInstance, error)

GetTargetInstance gets an existing TargetInstance resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewTargetInstance added in v0.18.6

func NewTargetInstance(ctx *pulumi.Context,
	name string, args *TargetInstanceArgs, opts ...pulumi.ResourceOpt) (*TargetInstance, error)

NewTargetInstance registers a new resource with the given unique name, arguments, and options.

func (*TargetInstance) CreationTimestamp added in v0.18.6

func (r *TargetInstance) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*TargetInstance) Description added in v0.18.6

func (r *TargetInstance) Description() pulumi.StringOutput

An optional description of this resource.

func (*TargetInstance) ID added in v0.18.6

func (r *TargetInstance) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*TargetInstance) Instance added in v0.18.6

func (r *TargetInstance) Instance() pulumi.StringOutput

The Compute instance VM handling traffic for this target instance. Accepts the instance self-link, relative path (e.g. 'projects/project/zones/zone/instances/instance') or name. If name is given, the zone will default to the given zone or the provider-default zone and the project will default to the provider-level project.

func (*TargetInstance) Name added in v0.18.6

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*TargetInstance) NatPolicy added in v0.18.6

func (r *TargetInstance) NatPolicy() pulumi.StringOutput

NAT option controlling how IPs are NAT'ed to the instance. Currently only NO_NAT (default value) is supported.

func (*TargetInstance) Project added in v0.18.6

func (r *TargetInstance) Project() pulumi.StringOutput

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

func (r *TargetInstance) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*TargetInstance) URN added in v0.18.6

func (r *TargetInstance) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*TargetInstance) Zone added in v0.18.6

URL of the zone where the target instance resides.

type TargetInstanceArgs added in v0.18.6

type TargetInstanceArgs struct {
	// An optional description of this resource.
	Description interface{}
	// The Compute instance VM handling traffic for this target instance. Accepts the instance self-link, relative path (e.g.
	// 'projects/project/zones/zone/instances/instance') or name. If name is given, the zone will default to the given zone or
	// the provider-default zone and the project will default to the provider-level project.
	Instance interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// NAT option controlling how IPs are NAT'ed to the instance. Currently only NO_NAT (default value) is supported.
	NatPolicy interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// URL of the zone where the target instance resides.
	Zone interface{}
}

The set of arguments for constructing a TargetInstance resource.

type TargetInstanceState added in v0.18.6

type TargetInstanceState struct {
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// An optional description of this resource.
	Description interface{}
	// The Compute instance VM handling traffic for this target instance. Accepts the instance self-link, relative path (e.g.
	// 'projects/project/zones/zone/instances/instance') or name. If name is given, the zone will default to the given zone or
	// the provider-default zone and the project will default to the provider-level project.
	Instance interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// NAT option controlling how IPs are NAT'ed to the instance. Currently only NO_NAT (default value) is supported.
	NatPolicy interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// URL of the zone where the target instance resides.
	Zone interface{}
}

Input properties used for looking up and filtering TargetInstance resources.

type TargetPool

type TargetPool struct {
	// contains filtered or unexported fields
}

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](https://cloud.google.com/compute/docs/load-balancing/network/target-pools) and [API](https://cloud.google.com/compute/docs/reference/latest/targetPools).

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_target_pool.html.markdown.

func GetTargetPool

func GetTargetPool(ctx *pulumi.Context,
	name string, id pulumi.ID, state *TargetPoolState, opts ...pulumi.ResourceOpt) (*TargetPool, error)

GetTargetPool gets an existing TargetPool resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewTargetPool

func NewTargetPool(ctx *pulumi.Context,
	name string, args *TargetPoolArgs, opts ...pulumi.ResourceOpt) (*TargetPool, error)

NewTargetPool registers a new resource with the given unique name, arguments, and options.

func (*TargetPool) BackupPool

func (r *TargetPool) BackupPool() pulumi.StringOutput

URL to the backup target pool. Must also set failover\_ratio.

func (*TargetPool) Description

func (r *TargetPool) Description() pulumi.StringOutput

Textual description field.

func (*TargetPool) FailoverRatio

func (r *TargetPool) FailoverRatio() pulumi.Float64Output

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

func (*TargetPool) HealthChecks

func (r *TargetPool) HealthChecks() pulumi.StringOutput

List of zero or one health check name or self_link. Only legacy `compute.HttpHealthCheck` is supported.

func (*TargetPool) ID

func (r *TargetPool) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*TargetPool) Instances

func (r *TargetPool) Instances() pulumi.ArrayOutput

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 interpolators to create a dependency on the instances from the target pool.

func (*TargetPool) Name

func (r *TargetPool) Name() pulumi.StringOutput

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

func (*TargetPool) Project

func (r *TargetPool) Project() pulumi.StringOutput

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

func (*TargetPool) Region

func (r *TargetPool) Region() pulumi.StringOutput

Where the target pool resides. Defaults to project region.

func (r *TargetPool) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*TargetPool) SessionAffinity

func (r *TargetPool) SessionAffinity() pulumi.StringOutput

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").

func (*TargetPool) URN

func (r *TargetPool) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type TargetPoolArgs

type TargetPoolArgs struct {
	// URL to the backup target pool. Must also set
	// failover\_ratio.
	BackupPool interface{}
	// Textual description field.
	Description interface{}
	// Ratio (0 to 1) of failed nodes before using the
	// backup pool (which must also be set).
	FailoverRatio interface{}
	// List of zero or one health check name or self_link. Only
	// legacy `compute.HttpHealthCheck` is supported.
	HealthChecks interface{}
	// 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
	// interpolators to create a dependency on the instances from the
	// target pool.
	Instances interface{}
	// A unique name for the resource, required by GCE. Changing
	// this forces a new resource to be created.
	Name interface{}
	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// Where the target pool resides. Defaults to project
	// region.
	Region interface{}
	// 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").
	SessionAffinity interface{}
}

The set of arguments for constructing a TargetPool resource.

type TargetPoolState

type TargetPoolState struct {
	// URL to the backup target pool. Must also set
	// failover\_ratio.
	BackupPool interface{}
	// Textual description field.
	Description interface{}
	// Ratio (0 to 1) of failed nodes before using the
	// backup pool (which must also be set).
	FailoverRatio interface{}
	// List of zero or one health check name or self_link. Only
	// legacy `compute.HttpHealthCheck` is supported.
	HealthChecks interface{}
	// 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
	// interpolators to create a dependency on the instances from the
	// target pool.
	Instances interface{}
	// A unique name for the resource, required by GCE. Changing
	// this forces a new resource to be created.
	Name interface{}
	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// Where the target pool resides. Defaults to project
	// region.
	Region interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// 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").
	SessionAffinity interface{}
}

Input properties used for looking up and filtering TargetPool resources.

type TargetSSLProxy

type TargetSSLProxy struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_target_ssl_proxy.html.markdown.

func GetTargetSSLProxy

func GetTargetSSLProxy(ctx *pulumi.Context,
	name string, id pulumi.ID, state *TargetSSLProxyState, opts ...pulumi.ResourceOpt) (*TargetSSLProxy, error)

GetTargetSSLProxy gets an existing TargetSSLProxy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewTargetSSLProxy

func NewTargetSSLProxy(ctx *pulumi.Context,
	name string, args *TargetSSLProxyArgs, opts ...pulumi.ResourceOpt) (*TargetSSLProxy, error)

NewTargetSSLProxy registers a new resource with the given unique name, arguments, and options.

func (*TargetSSLProxy) BackendService

func (r *TargetSSLProxy) BackendService() pulumi.StringOutput

A reference to the BackendService resource.

func (*TargetSSLProxy) CreationTimestamp

func (r *TargetSSLProxy) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*TargetSSLProxy) Description

func (r *TargetSSLProxy) Description() pulumi.StringOutput

An optional description of this resource.

func (*TargetSSLProxy) ID

func (r *TargetSSLProxy) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*TargetSSLProxy) Name

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*TargetSSLProxy) Project

func (r *TargetSSLProxy) Project() pulumi.StringOutput

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

func (*TargetSSLProxy) ProxyHeader

func (r *TargetSSLProxy) ProxyHeader() pulumi.StringOutput

Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.

func (*TargetSSLProxy) ProxyId

func (r *TargetSSLProxy) ProxyId() pulumi.IntOutput

The unique identifier for the resource.

func (r *TargetSSLProxy) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*TargetSSLProxy) SslCertificates

func (r *TargetSSLProxy) SslCertificates() pulumi.StringOutput

A list of SslCertificate resources that are used to authenticate connections between users and the load balancer. Currently, exactly one SSL certificate must be specified.

func (*TargetSSLProxy) SslPolicy added in v0.15.0

func (r *TargetSSLProxy) SslPolicy() pulumi.StringOutput

A reference to the SslPolicy resource that will be associated with the TargetSslProxy resource. If not set, the TargetSslProxy resource will not have any SSL policy configured.

func (*TargetSSLProxy) URN

func (r *TargetSSLProxy) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type TargetSSLProxyArgs

type TargetSSLProxyArgs struct {
	// A reference to the BackendService resource.
	BackendService interface{}
	// An optional description of this resource.
	Description interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default
	// is NONE.
	ProxyHeader interface{}
	// A list of SslCertificate resources that are used to authenticate connections between users and the load balancer.
	// Currently, exactly one SSL certificate must be specified.
	SslCertificates interface{}
	// A reference to the SslPolicy resource that will be associated with the TargetSslProxy resource. If not set, the
	// TargetSslProxy resource will not have any SSL policy configured.
	SslPolicy interface{}
}

The set of arguments for constructing a TargetSSLProxy resource.

type TargetSSLProxyState

type TargetSSLProxyState struct {
	// A reference to the BackendService resource.
	BackendService interface{}
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// An optional description of this resource.
	Description interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default
	// is NONE.
	ProxyHeader interface{}
	// The unique identifier for the resource.
	ProxyId interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// A list of SslCertificate resources that are used to authenticate connections between users and the load balancer.
	// Currently, exactly one SSL certificate must be specified.
	SslCertificates interface{}
	// A reference to the SslPolicy resource that will be associated with the TargetSslProxy resource. If not set, the
	// TargetSslProxy resource will not have any SSL policy configured.
	SslPolicy interface{}
}

Input properties used for looking up and filtering TargetSSLProxy resources.

type TargetTCPProxy

type TargetTCPProxy struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_target_tcp_proxy.html.markdown.

func GetTargetTCPProxy

func GetTargetTCPProxy(ctx *pulumi.Context,
	name string, id pulumi.ID, state *TargetTCPProxyState, opts ...pulumi.ResourceOpt) (*TargetTCPProxy, error)

GetTargetTCPProxy gets an existing TargetTCPProxy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewTargetTCPProxy

func NewTargetTCPProxy(ctx *pulumi.Context,
	name string, args *TargetTCPProxyArgs, opts ...pulumi.ResourceOpt) (*TargetTCPProxy, error)

NewTargetTCPProxy registers a new resource with the given unique name, arguments, and options.

func (*TargetTCPProxy) BackendService

func (r *TargetTCPProxy) BackendService() pulumi.StringOutput

A reference to the BackendService resource.

func (*TargetTCPProxy) CreationTimestamp

func (r *TargetTCPProxy) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*TargetTCPProxy) Description

func (r *TargetTCPProxy) Description() pulumi.StringOutput

An optional description of this resource.

func (*TargetTCPProxy) ID

func (r *TargetTCPProxy) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*TargetTCPProxy) Name

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*TargetTCPProxy) Project

func (r *TargetTCPProxy) Project() pulumi.StringOutput

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

func (*TargetTCPProxy) ProxyHeader

func (r *TargetTCPProxy) ProxyHeader() pulumi.StringOutput

Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.

func (*TargetTCPProxy) ProxyId

func (r *TargetTCPProxy) ProxyId() pulumi.IntOutput

The unique identifier for the resource.

func (r *TargetTCPProxy) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*TargetTCPProxy) URN

func (r *TargetTCPProxy) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type TargetTCPProxyArgs

type TargetTCPProxyArgs struct {
	// A reference to the BackendService resource.
	BackendService interface{}
	// An optional description of this resource.
	Description interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default
	// is NONE.
	ProxyHeader interface{}
}

The set of arguments for constructing a TargetTCPProxy resource.

type TargetTCPProxyState

type TargetTCPProxyState struct {
	// A reference to the BackendService resource.
	BackendService interface{}
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// An optional description of this resource.
	Description interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default
	// is NONE.
	ProxyHeader interface{}
	// The unique identifier for the resource.
	ProxyId interface{}
	// The URI of the created resource.
	SelfLink interface{}
}

Input properties used for looking up and filtering TargetTCPProxy resources.

type URLMap

type URLMap struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_url_map.html.markdown.

func GetURLMap

func GetURLMap(ctx *pulumi.Context,
	name string, id pulumi.ID, state *URLMapState, opts ...pulumi.ResourceOpt) (*URLMap, error)

GetURLMap gets an existing URLMap resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewURLMap

func NewURLMap(ctx *pulumi.Context,
	name string, args *URLMapArgs, opts ...pulumi.ResourceOpt) (*URLMap, error)

NewURLMap registers a new resource with the given unique name, arguments, and options.

func (*URLMap) CreationTimestamp added in v0.18.0

func (r *URLMap) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*URLMap) DefaultService

func (r *URLMap) DefaultService() pulumi.StringOutput

The backend service or backend bucket to use when none of the given rules match.

func (*URLMap) Description

func (r *URLMap) Description() pulumi.StringOutput

An optional description of this resource. Provide this property when you create the resource.

func (*URLMap) Fingerprint

func (r *URLMap) Fingerprint() pulumi.StringOutput

Fingerprint of this resource. This field is used internally during updates of this resource.

func (*URLMap) HostRules

func (r *URLMap) HostRules() pulumi.ArrayOutput

The list of HostRules to use against the URL.

func (*URLMap) ID

func (r *URLMap) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*URLMap) MapId

func (r *URLMap) MapId() pulumi.IntOutput

The unique identifier for the resource.

func (*URLMap) Name

func (r *URLMap) Name() pulumi.StringOutput

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*URLMap) PathMatchers

func (r *URLMap) PathMatchers() pulumi.ArrayOutput

The list of named PathMatchers to use against the URL.

func (*URLMap) Project

func (r *URLMap) Project() pulumi.StringOutput

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

func (r *URLMap) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*URLMap) Tests

func (r *URLMap) Tests() pulumi.ArrayOutput

The list of expected URL mappings. Requests to update this UrlMap will succeed only if all of the test cases pass.

func (*URLMap) URN

func (r *URLMap) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type URLMapArgs

type URLMapArgs struct {
	// The backend service or backend bucket to use when none of the given rules match.
	DefaultService interface{}
	// An optional description of this resource. Provide this property when you create the resource.
	Description interface{}
	// The list of HostRules to use against the URL.
	HostRules interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The list of named PathMatchers to use against the URL.
	PathMatchers interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The list of expected URL mappings. Requests to update this UrlMap will succeed only if all of the test cases pass.
	Tests interface{}
}

The set of arguments for constructing a URLMap resource.

type URLMapState

type URLMapState struct {
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// The backend service or backend bucket to use when none of the given rules match.
	DefaultService interface{}
	// An optional description of this resource. Provide this property when you create the resource.
	Description interface{}
	// Fingerprint of this resource. This field is used internally during updates of this resource.
	Fingerprint interface{}
	// The list of HostRules to use against the URL.
	HostRules interface{}
	// The unique identifier for the resource.
	MapId interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The list of named PathMatchers to use against the URL.
	PathMatchers interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// The list of expected URL mappings. Requests to update this UrlMap will succeed only if all of the test cases pass.
	Tests interface{}
}

Input properties used for looking up and filtering URLMap resources.

type VPNGateway

type VPNGateway struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_vpn_gateway.html.markdown.

func GetVPNGateway

func GetVPNGateway(ctx *pulumi.Context,
	name string, id pulumi.ID, state *VPNGatewayState, opts ...pulumi.ResourceOpt) (*VPNGateway, error)

GetVPNGateway gets an existing VPNGateway resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVPNGateway

func NewVPNGateway(ctx *pulumi.Context,
	name string, args *VPNGatewayArgs, opts ...pulumi.ResourceOpt) (*VPNGateway, error)

NewVPNGateway registers a new resource with the given unique name, arguments, and options.

func (*VPNGateway) CreationTimestamp

func (r *VPNGateway) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*VPNGateway) Description

func (r *VPNGateway) Description() pulumi.StringOutput

An optional description of this resource.

func (*VPNGateway) GatewayId added in v1.2.0

func (r *VPNGateway) GatewayId() pulumi.IntOutput

The unique identifier for the resource.

func (*VPNGateway) ID

func (r *VPNGateway) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*VPNGateway) Name

func (r *VPNGateway) Name() pulumi.StringOutput

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*VPNGateway) Network

func (r *VPNGateway) Network() pulumi.StringOutput

The network this VPN gateway is accepting traffic for.

func (*VPNGateway) Project

func (r *VPNGateway) Project() pulumi.StringOutput

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

func (*VPNGateway) Region

func (r *VPNGateway) Region() pulumi.StringOutput

The region this gateway should sit in.

func (r *VPNGateway) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*VPNGateway) URN

func (r *VPNGateway) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type VPNGatewayArgs

type VPNGatewayArgs struct {
	// An optional description of this resource.
	Description interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The network this VPN gateway is accepting traffic for.
	Network interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The region this gateway should sit in.
	Region interface{}
}

The set of arguments for constructing a VPNGateway resource.

type VPNGatewayState

type VPNGatewayState struct {
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// An optional description of this resource.
	Description interface{}
	// The unique identifier for the resource.
	GatewayId interface{}
	// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and
	// comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression
	// '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters
	// must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
	Name interface{}
	// The network this VPN gateway is accepting traffic for.
	Network interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The region this gateway should sit in.
	Region interface{}
	// The URI of the created resource.
	SelfLink interface{}
}

Input properties used for looking up and filtering VPNGateway resources.

type VPNTunnel

type VPNTunnel struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/compute_vpn_tunnel.html.markdown.

func GetVPNTunnel

func GetVPNTunnel(ctx *pulumi.Context,
	name string, id pulumi.ID, state *VPNTunnelState, opts ...pulumi.ResourceOpt) (*VPNTunnel, error)

GetVPNTunnel gets an existing VPNTunnel resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVPNTunnel

func NewVPNTunnel(ctx *pulumi.Context,
	name string, args *VPNTunnelArgs, opts ...pulumi.ResourceOpt) (*VPNTunnel, error)

NewVPNTunnel registers a new resource with the given unique name, arguments, and options.

func (*VPNTunnel) CreationTimestamp added in v0.15.0

func (r *VPNTunnel) CreationTimestamp() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (*VPNTunnel) Description

func (r *VPNTunnel) Description() pulumi.StringOutput

An optional description of this resource.

func (*VPNTunnel) DetailedStatus

func (r *VPNTunnel) DetailedStatus() pulumi.StringOutput

Detailed status message for the VPN tunnel.

func (*VPNTunnel) ID

func (r *VPNTunnel) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*VPNTunnel) IkeVersion

func (r *VPNTunnel) IkeVersion() pulumi.IntOutput

IKE protocol version to use when establishing the VPN tunnel with peer VPN gateway. Acceptable IKE versions are 1 or 2. Default version is 2.

func (*VPNTunnel) LabelFingerprint added in v0.15.0

func (r *VPNTunnel) LabelFingerprint() pulumi.StringOutput

The fingerprint used for optimistic locking of this resource. Used internally during updates.

func (*VPNTunnel) Labels added in v0.15.0

func (r *VPNTunnel) Labels() pulumi.MapOutput

Labels to apply to this VpnTunnel.

func (*VPNTunnel) LocalTrafficSelectors

func (r *VPNTunnel) LocalTrafficSelectors() pulumi.ArrayOutput

Local traffic selector to use when establishing the VPN tunnel with peer VPN gateway. The value should be a CIDR formatted string, for example '192.168.0.0/16'. The ranges should be disjoint. Only IPv4 is supported.

func (*VPNTunnel) Name

func (r *VPNTunnel) Name() pulumi.StringOutput

Name of the resource. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (*VPNTunnel) PeerExternalGateway added in v0.18.7

func (r *VPNTunnel) PeerExternalGateway() pulumi.StringOutput

URL of the peer side external VPN gateway to which this VPN tunnel is connected.

func (*VPNTunnel) PeerExternalGatewayInterface added in v0.18.7

func (r *VPNTunnel) PeerExternalGatewayInterface() pulumi.IntOutput

The interface ID of the external VPN gateway to which this VPN tunnel is connected.

func (*VPNTunnel) PeerGcpGateway added in v0.18.7

func (r *VPNTunnel) PeerGcpGateway() pulumi.StringOutput

URL of the peer side HA GCP VPN gateway to which this VPN tunnel is connected. If provided, the VPN tunnel will automatically use the same vpn_gateway_interface ID in the peer GCP VPN gateway. This field must reference a 'google_compute_ha_vpn_gateway' resource.

func (*VPNTunnel) PeerIp

func (r *VPNTunnel) PeerIp() pulumi.StringOutput

IP address of the peer VPN gateway. Only IPv4 is supported.

func (*VPNTunnel) Project

func (r *VPNTunnel) Project() pulumi.StringOutput

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

func (*VPNTunnel) Region

func (r *VPNTunnel) Region() pulumi.StringOutput

The region where the tunnel is located. If unset, is set to the region of 'target_vpn_gateway'.

func (*VPNTunnel) RemoteTrafficSelectors

func (r *VPNTunnel) RemoteTrafficSelectors() pulumi.ArrayOutput

Remote traffic selector to use when establishing the VPN tunnel with peer VPN gateway. The value should be a CIDR formatted string, for example '192.168.0.0/16'. The ranges should be disjoint. Only IPv4 is supported.

func (*VPNTunnel) Router

func (r *VPNTunnel) Router() pulumi.StringOutput

URL of router resource to be used for dynamic routing.

func (r *VPNTunnel) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (*VPNTunnel) SharedSecret

func (r *VPNTunnel) SharedSecret() pulumi.StringOutput

Shared secret used to set the secure session between the Cloud VPN gateway and the peer VPN gateway.

func (*VPNTunnel) SharedSecretHash added in v0.15.0

func (r *VPNTunnel) SharedSecretHash() pulumi.StringOutput

Hash of the shared secret.

func (*VPNTunnel) TargetVpnGateway

func (r *VPNTunnel) TargetVpnGateway() pulumi.StringOutput

URL of the Target VPN gateway with which this VPN tunnel is associated.

func (*VPNTunnel) TunnelId added in v1.2.0

func (r *VPNTunnel) TunnelId() pulumi.StringOutput

The unique identifier for the resource. This identifier is defined by the server.

func (*VPNTunnel) URN

func (r *VPNTunnel) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*VPNTunnel) VpnGateway added in v0.18.7

func (r *VPNTunnel) VpnGateway() pulumi.StringOutput

URL of the VPN gateway with which this VPN tunnel is associated. This must be used if a High Availability VPN gateway resource is created. This field must reference a 'google_compute_ha_vpn_gateway' resource.

func (*VPNTunnel) VpnGatewayInterface added in v0.18.7

func (r *VPNTunnel) VpnGatewayInterface() pulumi.IntOutput

The interface ID of the VPN gateway with which this VPN tunnel is associated.

type VPNTunnelArgs

type VPNTunnelArgs struct {
	// An optional description of this resource.
	Description interface{}
	// IKE protocol version to use when establishing the VPN tunnel with peer VPN gateway. Acceptable IKE versions are 1 or 2.
	// Default version is 2.
	IkeVersion interface{}
	// Labels to apply to this VpnTunnel.
	Labels interface{}
	// Local traffic selector to use when establishing the VPN tunnel with peer VPN gateway. The value should be a CIDR
	// formatted string, for example '192.168.0.0/16'. The ranges should be disjoint. Only IPv4 is supported.
	LocalTrafficSelectors interface{}
	// Name of the resource. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be
	// 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must
	// be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last
	// character, which cannot be a dash.
	Name interface{}
	// URL of the peer side external VPN gateway to which this VPN tunnel is connected.
	PeerExternalGateway interface{}
	// The interface ID of the external VPN gateway to which this VPN tunnel is connected.
	PeerExternalGatewayInterface interface{}
	// URL of the peer side HA GCP VPN gateway to which this VPN tunnel is connected. If provided, the VPN tunnel will
	// automatically use the same vpn_gateway_interface ID in the peer GCP VPN gateway. This field must reference a
	// 'google_compute_ha_vpn_gateway' resource.
	PeerGcpGateway interface{}
	// IP address of the peer VPN gateway. Only IPv4 is supported.
	PeerIp interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The region where the tunnel is located. If unset, is set to the region of 'target_vpn_gateway'.
	Region interface{}
	// Remote traffic selector to use when establishing the VPN tunnel with peer VPN gateway. The value should be a CIDR
	// formatted string, for example '192.168.0.0/16'. The ranges should be disjoint. Only IPv4 is supported.
	RemoteTrafficSelectors interface{}
	// URL of router resource to be used for dynamic routing.
	Router interface{}
	// Shared secret used to set the secure session between the Cloud VPN gateway and the peer VPN gateway.
	SharedSecret interface{}
	// URL of the Target VPN gateway with which this VPN tunnel is associated.
	TargetVpnGateway interface{}
	// URL of the VPN gateway with which this VPN tunnel is associated. This must be used if a High Availability VPN gateway
	// resource is created. This field must reference a 'google_compute_ha_vpn_gateway' resource.
	VpnGateway interface{}
	// The interface ID of the VPN gateway with which this VPN tunnel is associated.
	VpnGatewayInterface interface{}
}

The set of arguments for constructing a VPNTunnel resource.

type VPNTunnelState

type VPNTunnelState struct {
	// Creation timestamp in RFC3339 text format.
	CreationTimestamp interface{}
	// An optional description of this resource.
	Description interface{}
	// Detailed status message for the VPN tunnel.
	DetailedStatus interface{}
	// IKE protocol version to use when establishing the VPN tunnel with peer VPN gateway. Acceptable IKE versions are 1 or 2.
	// Default version is 2.
	IkeVersion interface{}
	// The fingerprint used for optimistic locking of this resource. Used internally during updates.
	LabelFingerprint interface{}
	// Labels to apply to this VpnTunnel.
	Labels interface{}
	// Local traffic selector to use when establishing the VPN tunnel with peer VPN gateway. The value should be a CIDR
	// formatted string, for example '192.168.0.0/16'. The ranges should be disjoint. Only IPv4 is supported.
	LocalTrafficSelectors interface{}
	// Name of the resource. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be
	// 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must
	// be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last
	// character, which cannot be a dash.
	Name interface{}
	// URL of the peer side external VPN gateway to which this VPN tunnel is connected.
	PeerExternalGateway interface{}
	// The interface ID of the external VPN gateway to which this VPN tunnel is connected.
	PeerExternalGatewayInterface interface{}
	// URL of the peer side HA GCP VPN gateway to which this VPN tunnel is connected. If provided, the VPN tunnel will
	// automatically use the same vpn_gateway_interface ID in the peer GCP VPN gateway. This field must reference a
	// 'google_compute_ha_vpn_gateway' resource.
	PeerGcpGateway interface{}
	// IP address of the peer VPN gateway. Only IPv4 is supported.
	PeerIp interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// The region where the tunnel is located. If unset, is set to the region of 'target_vpn_gateway'.
	Region interface{}
	// Remote traffic selector to use when establishing the VPN tunnel with peer VPN gateway. The value should be a CIDR
	// formatted string, for example '192.168.0.0/16'. The ranges should be disjoint. Only IPv4 is supported.
	RemoteTrafficSelectors interface{}
	// URL of router resource to be used for dynamic routing.
	Router interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// Shared secret used to set the secure session between the Cloud VPN gateway and the peer VPN gateway.
	SharedSecret interface{}
	// Hash of the shared secret.
	SharedSecretHash interface{}
	// URL of the Target VPN gateway with which this VPN tunnel is associated.
	TargetVpnGateway interface{}
	// The unique identifier for the resource. This identifier is defined by the server.
	TunnelId interface{}
	// URL of the VPN gateway with which this VPN tunnel is associated. This must be used if a High Availability VPN gateway
	// resource is created. This field must reference a 'google_compute_ha_vpn_gateway' resource.
	VpnGateway interface{}
	// The interface ID of the VPN gateway with which this VPN tunnel is associated.
	VpnGatewayInterface interface{}
}

Input properties used for looking up and filtering VPNTunnel resources.

Source Files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL