edgecontainer

package
v7.20.0 Latest Latest
Warning

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

Go to latest
Published: Apr 24, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Cluster

type Cluster struct {
	pulumi.CustomResourceState

	// RBAC policy that will be applied and managed by GEC.
	// Structure is documented below.
	Authorization ClusterAuthorizationOutput `pulumi:"authorization"`
	// The PEM-encoded public certificate of the cluster's CA.
	// **Note**: This property is sensitive and will not be displayed in the plan.
	ClusterCaCertificate pulumi.StringOutput `pulumi:"clusterCaCertificate"`
	// The configuration of the cluster control plane.
	ControlPlane ClusterControlPlanePtrOutput `pulumi:"controlPlane"`
	// Remote control plane disk encryption options. This field is only used when enabling CMEK support.
	ControlPlaneEncryption ClusterControlPlaneEncryptionOutput `pulumi:"controlPlaneEncryption"`
	// The control plane release version.
	ControlPlaneVersion pulumi.StringOutput `pulumi:"controlPlaneVersion"`
	// (Output)
	// The time when the maintenance event request was created.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// The default maximum number of pods per node used if a maximum value is not specified explicitly for a node pool in this
	// cluster. If unspecified, the Kubernetes default value will be used.
	DefaultMaxPodsPerNode pulumi.IntOutput `pulumi:"defaultMaxPodsPerNode"`
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapOutput `pulumi:"effectiveLabels"`
	// The IP address of the Kubernetes API server.
	Endpoint pulumi.StringOutput `pulumi:"endpoint"`
	// Address pools for cluster data plane external load balancing.
	ExternalLoadBalancerIpv4AddressPools pulumi.StringArrayOutput `pulumi:"externalLoadBalancerIpv4AddressPools"`
	// Fleet related configuration.
	// Fleets are a Google Cloud concept for logically organizing clusters,
	// letting you use and manage multi-cluster capabilities and apply
	// consistent policies across your systems.
	// Structure is documented below.
	Fleet ClusterFleetOutput `pulumi:"fleet"`
	// User-defined labels for the edgecloud cluster. **Note**: This field is non-authoritative, and will only manage the
	// labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the
	// resource.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// The location of the resource.
	Location pulumi.StringOutput `pulumi:"location"`
	// All the maintenance events scheduled for the cluster, including the ones
	// ongoing, planned for the future and done in the past (up to 90 days).
	// Structure is documented below.
	MaintenanceEvents ClusterMaintenanceEventArrayOutput `pulumi:"maintenanceEvents"`
	// Cluster-wide maintenance policy configuration.
	MaintenancePolicy ClusterMaintenancePolicyOutput `pulumi:"maintenancePolicy"`
	// The GDCE cluster name.
	Name pulumi.StringOutput `pulumi:"name"`
	// Fleet related configuration.
	// Fleets are a Google Cloud concept for logically organizing clusters,
	// letting you use and manage multi-cluster capabilities and apply
	// consistent policies across your systems.
	// Structure is documented below.
	Networking ClusterNetworkingOutput `pulumi:"networking"`
	// The lowest release version among all worker nodes. This field can be empty
	// if the cluster does not have any worker nodes.
	NodeVersion pulumi.StringOutput `pulumi:"nodeVersion"`
	// The port number of the Kubernetes API server.
	Port    pulumi.IntOutput    `pulumi:"port"`
	Project pulumi.StringOutput `pulumi:"project"`
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapOutput `pulumi:"pulumiLabels"`
	// The release channel a cluster is subscribed to. Possible values: ["RELEASE_CHANNEL_UNSPECIFIED", "NONE", "REGULAR"]
	ReleaseChannel pulumi.StringOutput `pulumi:"releaseChannel"`
	// Indicates the status of the cluster.
	Status pulumi.StringOutput `pulumi:"status"`
	// Config that customers are allowed to define for GDCE system add-ons.
	SystemAddonsConfig ClusterSystemAddonsConfigOutput `pulumi:"systemAddonsConfig"`
	// (Output)
	// The target version of the cluster.
	TargetVersion pulumi.StringOutput `pulumi:"targetVersion"`
	// (Output)
	// The time when the maintenance event message was updated.
	UpdateTime pulumi.StringOutput `pulumi:"updateTime"`
}

Cluster contains information about a Google Distributed Cloud Edge Kubernetes cluster.

To get more information about Cluster, see:

* [API documentation](https://cloud.google.com/distributed-cloud/edge/latest/docs/reference/container/rest/v1/projects.locations.clusters) * How-to Guides

## Example Usage

### Edgecontainer Cluster

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/edgecontainer"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		project, err := organizations.LookupProject(ctx, nil, nil)
		if err != nil {
			return err
		}
		_, err = edgecontainer.NewCluster(ctx, "default", &edgecontainer.ClusterArgs{
			Name:     pulumi.String("basic-cluster"),
			Location: pulumi.String("us-central1"),
			Authorization: &edgecontainer.ClusterAuthorizationArgs{
				AdminUsers: &edgecontainer.ClusterAuthorizationAdminUsersArgs{
					Username: pulumi.String("admin@hashicorptest.com"),
				},
			},
			Networking: &edgecontainer.ClusterNetworkingArgs{
				ClusterIpv4CidrBlocks: pulumi.StringArray{
					pulumi.String("10.0.0.0/16"),
				},
				ServicesIpv4CidrBlocks: pulumi.StringArray{
					pulumi.String("10.1.0.0/16"),
				},
			},
			Fleet: &edgecontainer.ClusterFleetArgs{
				Project: pulumi.String(fmt.Sprintf("projects/%v", project.Number)),
			},
			Labels: pulumi.StringMap{
				"my_key":    pulumi.String("my_val"),
				"other_key": pulumi.String("other_val"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Edgecontainer Cluster With Maintenance Window

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/edgecontainer"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		project, err := organizations.LookupProject(ctx, nil, nil)
		if err != nil {
			return err
		}
		_, err = edgecontainer.NewCluster(ctx, "default", &edgecontainer.ClusterArgs{
			Name:     pulumi.String("cluster-with-maintenance"),
			Location: pulumi.String("us-central1"),
			Authorization: &edgecontainer.ClusterAuthorizationArgs{
				AdminUsers: &edgecontainer.ClusterAuthorizationAdminUsersArgs{
					Username: pulumi.String("admin@hashicorptest.com"),
				},
			},
			Networking: &edgecontainer.ClusterNetworkingArgs{
				ClusterIpv4CidrBlocks: pulumi.StringArray{
					pulumi.String("10.0.0.0/16"),
				},
				ServicesIpv4CidrBlocks: pulumi.StringArray{
					pulumi.String("10.1.0.0/16"),
				},
			},
			Fleet: &edgecontainer.ClusterFleetArgs{
				Project: pulumi.String(fmt.Sprintf("projects/%v", project.Number)),
			},
			MaintenancePolicy: &edgecontainer.ClusterMaintenancePolicyArgs{
				Window: &edgecontainer.ClusterMaintenancePolicyWindowArgs{
					RecurringWindow: &edgecontainer.ClusterMaintenancePolicyWindowRecurringWindowArgs{
						Window: &edgecontainer.ClusterMaintenancePolicyWindowRecurringWindowWindowArgs{
							StartTime: pulumi.String("2023-01-01T08:00:00Z"),
							EndTime:   pulumi.String("2023-01-01T17:00:00Z"),
						},
						Recurrence: pulumi.String("FREQ=WEEKLY;BYDAY=SA"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Edgecontainer Local Control Plane Cluster

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/edgecontainer"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		project, err := organizations.LookupProject(ctx, nil, nil)
		if err != nil {
			return err
		}
		_, err = edgecontainer.NewCluster(ctx, "default", &edgecontainer.ClusterArgs{
			Name:     pulumi.String("local-control-plane-cluster"),
			Location: pulumi.String("us-central1"),
			Authorization: &edgecontainer.ClusterAuthorizationArgs{
				AdminUsers: &edgecontainer.ClusterAuthorizationAdminUsersArgs{
					Username: pulumi.String("admin@hashicorptest.com"),
				},
			},
			Networking: &edgecontainer.ClusterNetworkingArgs{
				ClusterIpv4CidrBlocks: pulumi.StringArray{
					pulumi.String("10.0.0.0/16"),
				},
				ServicesIpv4CidrBlocks: pulumi.StringArray{
					pulumi.String("10.1.0.0/16"),
				},
			},
			Fleet: &edgecontainer.ClusterFleetArgs{
				Project: pulumi.String(fmt.Sprintf("projects/%v", project.Number)),
			},
			ExternalLoadBalancerIpv4AddressPools: pulumi.StringArray{
				pulumi.String("10.100.0.0-10.100.0.10"),
			},
			ControlPlane: &edgecontainer.ClusterControlPlaneArgs{
				Local: &edgecontainer.ClusterControlPlaneLocalArgs{
					NodeLocation:           pulumi.String("us-central1-edge-example-edgesite"),
					NodeCount:              pulumi.Int(1),
					MachineFilter:          pulumi.String("machine-name"),
					SharedDeploymentPolicy: pulumi.String("ALLOWED"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Cluster can be imported using any of these accepted formats:

* `projects/{{project}}/locations/{{location}}/clusters/{{name}}`

* `{{project}}/{{location}}/{{name}}`

* `{{location}}/{{name}}`

When using the `pulumi import` command, Cluster can be imported using one of the formats above. For example:

```sh $ pulumi import gcp:edgecontainer/cluster:Cluster default projects/{{project}}/locations/{{location}}/clusters/{{name}} ```

```sh $ pulumi import gcp:edgecontainer/cluster:Cluster default {{project}}/{{location}}/{{name}} ```

```sh $ pulumi import gcp:edgecontainer/cluster:Cluster default {{location}}/{{name}} ```

func GetCluster

func GetCluster(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClusterState, opts ...pulumi.ResourceOption) (*Cluster, error)

GetCluster gets an existing Cluster 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 NewCluster

func NewCluster(ctx *pulumi.Context,
	name string, args *ClusterArgs, opts ...pulumi.ResourceOption) (*Cluster, error)

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

func (*Cluster) ElementType

func (*Cluster) ElementType() reflect.Type

func (*Cluster) ToClusterOutput

func (i *Cluster) ToClusterOutput() ClusterOutput

func (*Cluster) ToClusterOutputWithContext

func (i *Cluster) ToClusterOutputWithContext(ctx context.Context) ClusterOutput

type ClusterArgs

type ClusterArgs struct {
	// RBAC policy that will be applied and managed by GEC.
	// Structure is documented below.
	Authorization ClusterAuthorizationInput
	// The configuration of the cluster control plane.
	ControlPlane ClusterControlPlanePtrInput
	// Remote control plane disk encryption options. This field is only used when enabling CMEK support.
	ControlPlaneEncryption ClusterControlPlaneEncryptionPtrInput
	// The default maximum number of pods per node used if a maximum value is not specified explicitly for a node pool in this
	// cluster. If unspecified, the Kubernetes default value will be used.
	DefaultMaxPodsPerNode pulumi.IntPtrInput
	// Address pools for cluster data plane external load balancing.
	ExternalLoadBalancerIpv4AddressPools pulumi.StringArrayInput
	// Fleet related configuration.
	// Fleets are a Google Cloud concept for logically organizing clusters,
	// letting you use and manage multi-cluster capabilities and apply
	// consistent policies across your systems.
	// Structure is documented below.
	Fleet ClusterFleetInput
	// User-defined labels for the edgecloud cluster. **Note**: This field is non-authoritative, and will only manage the
	// labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the
	// resource.
	Labels pulumi.StringMapInput
	// The location of the resource.
	Location pulumi.StringInput
	// Cluster-wide maintenance policy configuration.
	MaintenancePolicy ClusterMaintenancePolicyPtrInput
	// The GDCE cluster name.
	Name pulumi.StringPtrInput
	// Fleet related configuration.
	// Fleets are a Google Cloud concept for logically organizing clusters,
	// letting you use and manage multi-cluster capabilities and apply
	// consistent policies across your systems.
	// Structure is documented below.
	Networking ClusterNetworkingInput
	Project    pulumi.StringPtrInput
	// The release channel a cluster is subscribed to. Possible values: ["RELEASE_CHANNEL_UNSPECIFIED", "NONE", "REGULAR"]
	ReleaseChannel pulumi.StringPtrInput
	// Config that customers are allowed to define for GDCE system add-ons.
	SystemAddonsConfig ClusterSystemAddonsConfigPtrInput
	// (Output)
	// The target version of the cluster.
	TargetVersion pulumi.StringPtrInput
}

The set of arguments for constructing a Cluster resource.

func (ClusterArgs) ElementType

func (ClusterArgs) ElementType() reflect.Type

type ClusterArray

type ClusterArray []ClusterInput

func (ClusterArray) ElementType

func (ClusterArray) ElementType() reflect.Type

func (ClusterArray) ToClusterArrayOutput

func (i ClusterArray) ToClusterArrayOutput() ClusterArrayOutput

func (ClusterArray) ToClusterArrayOutputWithContext

func (i ClusterArray) ToClusterArrayOutputWithContext(ctx context.Context) ClusterArrayOutput

type ClusterArrayInput

type ClusterArrayInput interface {
	pulumi.Input

	ToClusterArrayOutput() ClusterArrayOutput
	ToClusterArrayOutputWithContext(context.Context) ClusterArrayOutput
}

ClusterArrayInput is an input type that accepts ClusterArray and ClusterArrayOutput values. You can construct a concrete instance of `ClusterArrayInput` via:

ClusterArray{ ClusterArgs{...} }

type ClusterArrayOutput

type ClusterArrayOutput struct{ *pulumi.OutputState }

func (ClusterArrayOutput) ElementType

func (ClusterArrayOutput) ElementType() reflect.Type

func (ClusterArrayOutput) Index

func (ClusterArrayOutput) ToClusterArrayOutput

func (o ClusterArrayOutput) ToClusterArrayOutput() ClusterArrayOutput

func (ClusterArrayOutput) ToClusterArrayOutputWithContext

func (o ClusterArrayOutput) ToClusterArrayOutputWithContext(ctx context.Context) ClusterArrayOutput

type ClusterAuthorization

type ClusterAuthorization struct {
	// User that will be granted the cluster-admin role on the cluster, providing
	// full access to the cluster. Currently, this is a singular field, but will
	// be expanded to allow multiple admins in the future.
	// Structure is documented below.
	AdminUsers ClusterAuthorizationAdminUsers `pulumi:"adminUsers"`
}

type ClusterAuthorizationAdminUsers

type ClusterAuthorizationAdminUsers struct {
	// An active Google username.
	//
	// ***
	Username string `pulumi:"username"`
}

type ClusterAuthorizationAdminUsersArgs

type ClusterAuthorizationAdminUsersArgs struct {
	// An active Google username.
	//
	// ***
	Username pulumi.StringInput `pulumi:"username"`
}

func (ClusterAuthorizationAdminUsersArgs) ElementType

func (ClusterAuthorizationAdminUsersArgs) ToClusterAuthorizationAdminUsersOutput

func (i ClusterAuthorizationAdminUsersArgs) ToClusterAuthorizationAdminUsersOutput() ClusterAuthorizationAdminUsersOutput

func (ClusterAuthorizationAdminUsersArgs) ToClusterAuthorizationAdminUsersOutputWithContext

func (i ClusterAuthorizationAdminUsersArgs) ToClusterAuthorizationAdminUsersOutputWithContext(ctx context.Context) ClusterAuthorizationAdminUsersOutput

func (ClusterAuthorizationAdminUsersArgs) ToClusterAuthorizationAdminUsersPtrOutput

func (i ClusterAuthorizationAdminUsersArgs) ToClusterAuthorizationAdminUsersPtrOutput() ClusterAuthorizationAdminUsersPtrOutput

func (ClusterAuthorizationAdminUsersArgs) ToClusterAuthorizationAdminUsersPtrOutputWithContext

func (i ClusterAuthorizationAdminUsersArgs) ToClusterAuthorizationAdminUsersPtrOutputWithContext(ctx context.Context) ClusterAuthorizationAdminUsersPtrOutput

type ClusterAuthorizationAdminUsersInput

type ClusterAuthorizationAdminUsersInput interface {
	pulumi.Input

	ToClusterAuthorizationAdminUsersOutput() ClusterAuthorizationAdminUsersOutput
	ToClusterAuthorizationAdminUsersOutputWithContext(context.Context) ClusterAuthorizationAdminUsersOutput
}

ClusterAuthorizationAdminUsersInput is an input type that accepts ClusterAuthorizationAdminUsersArgs and ClusterAuthorizationAdminUsersOutput values. You can construct a concrete instance of `ClusterAuthorizationAdminUsersInput` via:

ClusterAuthorizationAdminUsersArgs{...}

type ClusterAuthorizationAdminUsersOutput

type ClusterAuthorizationAdminUsersOutput struct{ *pulumi.OutputState }

func (ClusterAuthorizationAdminUsersOutput) ElementType

func (ClusterAuthorizationAdminUsersOutput) ToClusterAuthorizationAdminUsersOutput

func (o ClusterAuthorizationAdminUsersOutput) ToClusterAuthorizationAdminUsersOutput() ClusterAuthorizationAdminUsersOutput

func (ClusterAuthorizationAdminUsersOutput) ToClusterAuthorizationAdminUsersOutputWithContext

func (o ClusterAuthorizationAdminUsersOutput) ToClusterAuthorizationAdminUsersOutputWithContext(ctx context.Context) ClusterAuthorizationAdminUsersOutput

func (ClusterAuthorizationAdminUsersOutput) ToClusterAuthorizationAdminUsersPtrOutput

func (o ClusterAuthorizationAdminUsersOutput) ToClusterAuthorizationAdminUsersPtrOutput() ClusterAuthorizationAdminUsersPtrOutput

func (ClusterAuthorizationAdminUsersOutput) ToClusterAuthorizationAdminUsersPtrOutputWithContext

func (o ClusterAuthorizationAdminUsersOutput) ToClusterAuthorizationAdminUsersPtrOutputWithContext(ctx context.Context) ClusterAuthorizationAdminUsersPtrOutput

func (ClusterAuthorizationAdminUsersOutput) Username

An active Google username.

***

type ClusterAuthorizationAdminUsersPtrInput

type ClusterAuthorizationAdminUsersPtrInput interface {
	pulumi.Input

	ToClusterAuthorizationAdminUsersPtrOutput() ClusterAuthorizationAdminUsersPtrOutput
	ToClusterAuthorizationAdminUsersPtrOutputWithContext(context.Context) ClusterAuthorizationAdminUsersPtrOutput
}

ClusterAuthorizationAdminUsersPtrInput is an input type that accepts ClusterAuthorizationAdminUsersArgs, ClusterAuthorizationAdminUsersPtr and ClusterAuthorizationAdminUsersPtrOutput values. You can construct a concrete instance of `ClusterAuthorizationAdminUsersPtrInput` via:

        ClusterAuthorizationAdminUsersArgs{...}

or:

        nil

type ClusterAuthorizationAdminUsersPtrOutput

type ClusterAuthorizationAdminUsersPtrOutput struct{ *pulumi.OutputState }

func (ClusterAuthorizationAdminUsersPtrOutput) Elem

func (ClusterAuthorizationAdminUsersPtrOutput) ElementType

func (ClusterAuthorizationAdminUsersPtrOutput) ToClusterAuthorizationAdminUsersPtrOutput

func (o ClusterAuthorizationAdminUsersPtrOutput) ToClusterAuthorizationAdminUsersPtrOutput() ClusterAuthorizationAdminUsersPtrOutput

func (ClusterAuthorizationAdminUsersPtrOutput) ToClusterAuthorizationAdminUsersPtrOutputWithContext

func (o ClusterAuthorizationAdminUsersPtrOutput) ToClusterAuthorizationAdminUsersPtrOutputWithContext(ctx context.Context) ClusterAuthorizationAdminUsersPtrOutput

func (ClusterAuthorizationAdminUsersPtrOutput) Username

An active Google username.

***

type ClusterAuthorizationArgs

type ClusterAuthorizationArgs struct {
	// User that will be granted the cluster-admin role on the cluster, providing
	// full access to the cluster. Currently, this is a singular field, but will
	// be expanded to allow multiple admins in the future.
	// Structure is documented below.
	AdminUsers ClusterAuthorizationAdminUsersInput `pulumi:"adminUsers"`
}

func (ClusterAuthorizationArgs) ElementType

func (ClusterAuthorizationArgs) ElementType() reflect.Type

func (ClusterAuthorizationArgs) ToClusterAuthorizationOutput

func (i ClusterAuthorizationArgs) ToClusterAuthorizationOutput() ClusterAuthorizationOutput

func (ClusterAuthorizationArgs) ToClusterAuthorizationOutputWithContext

func (i ClusterAuthorizationArgs) ToClusterAuthorizationOutputWithContext(ctx context.Context) ClusterAuthorizationOutput

func (ClusterAuthorizationArgs) ToClusterAuthorizationPtrOutput

func (i ClusterAuthorizationArgs) ToClusterAuthorizationPtrOutput() ClusterAuthorizationPtrOutput

func (ClusterAuthorizationArgs) ToClusterAuthorizationPtrOutputWithContext

func (i ClusterAuthorizationArgs) ToClusterAuthorizationPtrOutputWithContext(ctx context.Context) ClusterAuthorizationPtrOutput

type ClusterAuthorizationInput

type ClusterAuthorizationInput interface {
	pulumi.Input

	ToClusterAuthorizationOutput() ClusterAuthorizationOutput
	ToClusterAuthorizationOutputWithContext(context.Context) ClusterAuthorizationOutput
}

ClusterAuthorizationInput is an input type that accepts ClusterAuthorizationArgs and ClusterAuthorizationOutput values. You can construct a concrete instance of `ClusterAuthorizationInput` via:

ClusterAuthorizationArgs{...}

type ClusterAuthorizationOutput

type ClusterAuthorizationOutput struct{ *pulumi.OutputState }

func (ClusterAuthorizationOutput) AdminUsers

User that will be granted the cluster-admin role on the cluster, providing full access to the cluster. Currently, this is a singular field, but will be expanded to allow multiple admins in the future. Structure is documented below.

func (ClusterAuthorizationOutput) ElementType

func (ClusterAuthorizationOutput) ElementType() reflect.Type

func (ClusterAuthorizationOutput) ToClusterAuthorizationOutput

func (o ClusterAuthorizationOutput) ToClusterAuthorizationOutput() ClusterAuthorizationOutput

func (ClusterAuthorizationOutput) ToClusterAuthorizationOutputWithContext

func (o ClusterAuthorizationOutput) ToClusterAuthorizationOutputWithContext(ctx context.Context) ClusterAuthorizationOutput

func (ClusterAuthorizationOutput) ToClusterAuthorizationPtrOutput

func (o ClusterAuthorizationOutput) ToClusterAuthorizationPtrOutput() ClusterAuthorizationPtrOutput

func (ClusterAuthorizationOutput) ToClusterAuthorizationPtrOutputWithContext

func (o ClusterAuthorizationOutput) ToClusterAuthorizationPtrOutputWithContext(ctx context.Context) ClusterAuthorizationPtrOutput

type ClusterAuthorizationPtrInput

type ClusterAuthorizationPtrInput interface {
	pulumi.Input

	ToClusterAuthorizationPtrOutput() ClusterAuthorizationPtrOutput
	ToClusterAuthorizationPtrOutputWithContext(context.Context) ClusterAuthorizationPtrOutput
}

ClusterAuthorizationPtrInput is an input type that accepts ClusterAuthorizationArgs, ClusterAuthorizationPtr and ClusterAuthorizationPtrOutput values. You can construct a concrete instance of `ClusterAuthorizationPtrInput` via:

        ClusterAuthorizationArgs{...}

or:

        nil

type ClusterAuthorizationPtrOutput

type ClusterAuthorizationPtrOutput struct{ *pulumi.OutputState }

func (ClusterAuthorizationPtrOutput) AdminUsers

User that will be granted the cluster-admin role on the cluster, providing full access to the cluster. Currently, this is a singular field, but will be expanded to allow multiple admins in the future. Structure is documented below.

func (ClusterAuthorizationPtrOutput) Elem

func (ClusterAuthorizationPtrOutput) ElementType

func (ClusterAuthorizationPtrOutput) ToClusterAuthorizationPtrOutput

func (o ClusterAuthorizationPtrOutput) ToClusterAuthorizationPtrOutput() ClusterAuthorizationPtrOutput

func (ClusterAuthorizationPtrOutput) ToClusterAuthorizationPtrOutputWithContext

func (o ClusterAuthorizationPtrOutput) ToClusterAuthorizationPtrOutputWithContext(ctx context.Context) ClusterAuthorizationPtrOutput

type ClusterControlPlane

type ClusterControlPlane struct {
	// Local control plane configuration.
	// Structure is documented below.
	Local *ClusterControlPlaneLocal `pulumi:"local"`
	// Remote control plane configuration.
	// Structure is documented below.
	Remote *ClusterControlPlaneRemote `pulumi:"remote"`
}

type ClusterControlPlaneArgs

type ClusterControlPlaneArgs struct {
	// Local control plane configuration.
	// Structure is documented below.
	Local ClusterControlPlaneLocalPtrInput `pulumi:"local"`
	// Remote control plane configuration.
	// Structure is documented below.
	Remote ClusterControlPlaneRemotePtrInput `pulumi:"remote"`
}

func (ClusterControlPlaneArgs) ElementType

func (ClusterControlPlaneArgs) ElementType() reflect.Type

func (ClusterControlPlaneArgs) ToClusterControlPlaneOutput

func (i ClusterControlPlaneArgs) ToClusterControlPlaneOutput() ClusterControlPlaneOutput

func (ClusterControlPlaneArgs) ToClusterControlPlaneOutputWithContext

func (i ClusterControlPlaneArgs) ToClusterControlPlaneOutputWithContext(ctx context.Context) ClusterControlPlaneOutput

func (ClusterControlPlaneArgs) ToClusterControlPlanePtrOutput

func (i ClusterControlPlaneArgs) ToClusterControlPlanePtrOutput() ClusterControlPlanePtrOutput

func (ClusterControlPlaneArgs) ToClusterControlPlanePtrOutputWithContext

func (i ClusterControlPlaneArgs) ToClusterControlPlanePtrOutputWithContext(ctx context.Context) ClusterControlPlanePtrOutput

type ClusterControlPlaneEncryption

type ClusterControlPlaneEncryption struct {
	// The Cloud KMS CryptoKey e.g.
	// projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey}
	// to use for protecting control plane disks. If not specified, a
	// Google-managed key will be used instead.
	KmsKey *string `pulumi:"kmsKey"`
	// (Output)
	// The Cloud KMS CryptoKeyVersion currently in use for protecting control
	// plane disks. Only applicable if kmsKey is set.
	KmsKeyActiveVersion *string `pulumi:"kmsKeyActiveVersion"`
	// (Output)
	// Availability of the Cloud KMS CryptoKey. If not `KEY_AVAILABLE`, then
	// nodes may go offline as they cannot access their local data. This can be
	// caused by a lack of permissions to use the key, or if the key is disabled
	// or deleted.
	KmsKeyState *string `pulumi:"kmsKeyState"`
	// (Output)
	// Error status returned by Cloud KMS when using this key. This field may be
	// populated only if `kmsKeyState` is not `KMS_KEY_STATE_KEY_AVAILABLE`.
	// If populated, this field contains the error status reported by Cloud KMS.
	// Structure is documented below.
	//
	// <a name="nestedKmsStatus"></a>The `kmsStatus` block contains:
	KmsStatuses []ClusterControlPlaneEncryptionKmsStatus `pulumi:"kmsStatuses"`
}

type ClusterControlPlaneEncryptionArgs

type ClusterControlPlaneEncryptionArgs struct {
	// The Cloud KMS CryptoKey e.g.
	// projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey}
	// to use for protecting control plane disks. If not specified, a
	// Google-managed key will be used instead.
	KmsKey pulumi.StringPtrInput `pulumi:"kmsKey"`
	// (Output)
	// The Cloud KMS CryptoKeyVersion currently in use for protecting control
	// plane disks. Only applicable if kmsKey is set.
	KmsKeyActiveVersion pulumi.StringPtrInput `pulumi:"kmsKeyActiveVersion"`
	// (Output)
	// Availability of the Cloud KMS CryptoKey. If not `KEY_AVAILABLE`, then
	// nodes may go offline as they cannot access their local data. This can be
	// caused by a lack of permissions to use the key, or if the key is disabled
	// or deleted.
	KmsKeyState pulumi.StringPtrInput `pulumi:"kmsKeyState"`
	// (Output)
	// Error status returned by Cloud KMS when using this key. This field may be
	// populated only if `kmsKeyState` is not `KMS_KEY_STATE_KEY_AVAILABLE`.
	// If populated, this field contains the error status reported by Cloud KMS.
	// Structure is documented below.
	//
	// <a name="nestedKmsStatus"></a>The `kmsStatus` block contains:
	KmsStatuses ClusterControlPlaneEncryptionKmsStatusArrayInput `pulumi:"kmsStatuses"`
}

func (ClusterControlPlaneEncryptionArgs) ElementType

func (ClusterControlPlaneEncryptionArgs) ToClusterControlPlaneEncryptionOutput

func (i ClusterControlPlaneEncryptionArgs) ToClusterControlPlaneEncryptionOutput() ClusterControlPlaneEncryptionOutput

func (ClusterControlPlaneEncryptionArgs) ToClusterControlPlaneEncryptionOutputWithContext

func (i ClusterControlPlaneEncryptionArgs) ToClusterControlPlaneEncryptionOutputWithContext(ctx context.Context) ClusterControlPlaneEncryptionOutput

func (ClusterControlPlaneEncryptionArgs) ToClusterControlPlaneEncryptionPtrOutput

func (i ClusterControlPlaneEncryptionArgs) ToClusterControlPlaneEncryptionPtrOutput() ClusterControlPlaneEncryptionPtrOutput

func (ClusterControlPlaneEncryptionArgs) ToClusterControlPlaneEncryptionPtrOutputWithContext

func (i ClusterControlPlaneEncryptionArgs) ToClusterControlPlaneEncryptionPtrOutputWithContext(ctx context.Context) ClusterControlPlaneEncryptionPtrOutput

type ClusterControlPlaneEncryptionInput

type ClusterControlPlaneEncryptionInput interface {
	pulumi.Input

	ToClusterControlPlaneEncryptionOutput() ClusterControlPlaneEncryptionOutput
	ToClusterControlPlaneEncryptionOutputWithContext(context.Context) ClusterControlPlaneEncryptionOutput
}

ClusterControlPlaneEncryptionInput is an input type that accepts ClusterControlPlaneEncryptionArgs and ClusterControlPlaneEncryptionOutput values. You can construct a concrete instance of `ClusterControlPlaneEncryptionInput` via:

ClusterControlPlaneEncryptionArgs{...}

type ClusterControlPlaneEncryptionKmsStatus

type ClusterControlPlaneEncryptionKmsStatus struct {
	// The status code, which should be an enum value of google.rpc.Code.
	Code *int `pulumi:"code"`
	// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
	Message *string `pulumi:"message"`
}

type ClusterControlPlaneEncryptionKmsStatusArgs

type ClusterControlPlaneEncryptionKmsStatusArgs struct {
	// The status code, which should be an enum value of google.rpc.Code.
	Code pulumi.IntPtrInput `pulumi:"code"`
	// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
	Message pulumi.StringPtrInput `pulumi:"message"`
}

func (ClusterControlPlaneEncryptionKmsStatusArgs) ElementType

func (ClusterControlPlaneEncryptionKmsStatusArgs) ToClusterControlPlaneEncryptionKmsStatusOutput

func (i ClusterControlPlaneEncryptionKmsStatusArgs) ToClusterControlPlaneEncryptionKmsStatusOutput() ClusterControlPlaneEncryptionKmsStatusOutput

func (ClusterControlPlaneEncryptionKmsStatusArgs) ToClusterControlPlaneEncryptionKmsStatusOutputWithContext

func (i ClusterControlPlaneEncryptionKmsStatusArgs) ToClusterControlPlaneEncryptionKmsStatusOutputWithContext(ctx context.Context) ClusterControlPlaneEncryptionKmsStatusOutput

type ClusterControlPlaneEncryptionKmsStatusArray

type ClusterControlPlaneEncryptionKmsStatusArray []ClusterControlPlaneEncryptionKmsStatusInput

func (ClusterControlPlaneEncryptionKmsStatusArray) ElementType

func (ClusterControlPlaneEncryptionKmsStatusArray) ToClusterControlPlaneEncryptionKmsStatusArrayOutput

func (i ClusterControlPlaneEncryptionKmsStatusArray) ToClusterControlPlaneEncryptionKmsStatusArrayOutput() ClusterControlPlaneEncryptionKmsStatusArrayOutput

func (ClusterControlPlaneEncryptionKmsStatusArray) ToClusterControlPlaneEncryptionKmsStatusArrayOutputWithContext

func (i ClusterControlPlaneEncryptionKmsStatusArray) ToClusterControlPlaneEncryptionKmsStatusArrayOutputWithContext(ctx context.Context) ClusterControlPlaneEncryptionKmsStatusArrayOutput

type ClusterControlPlaneEncryptionKmsStatusArrayInput

type ClusterControlPlaneEncryptionKmsStatusArrayInput interface {
	pulumi.Input

	ToClusterControlPlaneEncryptionKmsStatusArrayOutput() ClusterControlPlaneEncryptionKmsStatusArrayOutput
	ToClusterControlPlaneEncryptionKmsStatusArrayOutputWithContext(context.Context) ClusterControlPlaneEncryptionKmsStatusArrayOutput
}

ClusterControlPlaneEncryptionKmsStatusArrayInput is an input type that accepts ClusterControlPlaneEncryptionKmsStatusArray and ClusterControlPlaneEncryptionKmsStatusArrayOutput values. You can construct a concrete instance of `ClusterControlPlaneEncryptionKmsStatusArrayInput` via:

ClusterControlPlaneEncryptionKmsStatusArray{ ClusterControlPlaneEncryptionKmsStatusArgs{...} }

type ClusterControlPlaneEncryptionKmsStatusArrayOutput

type ClusterControlPlaneEncryptionKmsStatusArrayOutput struct{ *pulumi.OutputState }

func (ClusterControlPlaneEncryptionKmsStatusArrayOutput) ElementType

func (ClusterControlPlaneEncryptionKmsStatusArrayOutput) Index

func (ClusterControlPlaneEncryptionKmsStatusArrayOutput) ToClusterControlPlaneEncryptionKmsStatusArrayOutput

func (o ClusterControlPlaneEncryptionKmsStatusArrayOutput) ToClusterControlPlaneEncryptionKmsStatusArrayOutput() ClusterControlPlaneEncryptionKmsStatusArrayOutput

func (ClusterControlPlaneEncryptionKmsStatusArrayOutput) ToClusterControlPlaneEncryptionKmsStatusArrayOutputWithContext

func (o ClusterControlPlaneEncryptionKmsStatusArrayOutput) ToClusterControlPlaneEncryptionKmsStatusArrayOutputWithContext(ctx context.Context) ClusterControlPlaneEncryptionKmsStatusArrayOutput

type ClusterControlPlaneEncryptionKmsStatusInput

type ClusterControlPlaneEncryptionKmsStatusInput interface {
	pulumi.Input

	ToClusterControlPlaneEncryptionKmsStatusOutput() ClusterControlPlaneEncryptionKmsStatusOutput
	ToClusterControlPlaneEncryptionKmsStatusOutputWithContext(context.Context) ClusterControlPlaneEncryptionKmsStatusOutput
}

ClusterControlPlaneEncryptionKmsStatusInput is an input type that accepts ClusterControlPlaneEncryptionKmsStatusArgs and ClusterControlPlaneEncryptionKmsStatusOutput values. You can construct a concrete instance of `ClusterControlPlaneEncryptionKmsStatusInput` via:

ClusterControlPlaneEncryptionKmsStatusArgs{...}

type ClusterControlPlaneEncryptionKmsStatusOutput

type ClusterControlPlaneEncryptionKmsStatusOutput struct{ *pulumi.OutputState }

func (ClusterControlPlaneEncryptionKmsStatusOutput) Code

The status code, which should be an enum value of google.rpc.Code.

func (ClusterControlPlaneEncryptionKmsStatusOutput) ElementType

func (ClusterControlPlaneEncryptionKmsStatusOutput) Message

A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.

func (ClusterControlPlaneEncryptionKmsStatusOutput) ToClusterControlPlaneEncryptionKmsStatusOutput

func (o ClusterControlPlaneEncryptionKmsStatusOutput) ToClusterControlPlaneEncryptionKmsStatusOutput() ClusterControlPlaneEncryptionKmsStatusOutput

func (ClusterControlPlaneEncryptionKmsStatusOutput) ToClusterControlPlaneEncryptionKmsStatusOutputWithContext

func (o ClusterControlPlaneEncryptionKmsStatusOutput) ToClusterControlPlaneEncryptionKmsStatusOutputWithContext(ctx context.Context) ClusterControlPlaneEncryptionKmsStatusOutput

type ClusterControlPlaneEncryptionOutput

type ClusterControlPlaneEncryptionOutput struct{ *pulumi.OutputState }

func (ClusterControlPlaneEncryptionOutput) ElementType

func (ClusterControlPlaneEncryptionOutput) KmsKey

The Cloud KMS CryptoKey e.g. projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey} to use for protecting control plane disks. If not specified, a Google-managed key will be used instead.

func (ClusterControlPlaneEncryptionOutput) KmsKeyActiveVersion

(Output) The Cloud KMS CryptoKeyVersion currently in use for protecting control plane disks. Only applicable if kmsKey is set.

func (ClusterControlPlaneEncryptionOutput) KmsKeyState

(Output) Availability of the Cloud KMS CryptoKey. If not `KEY_AVAILABLE`, then nodes may go offline as they cannot access their local data. This can be caused by a lack of permissions to use the key, or if the key is disabled or deleted.

func (ClusterControlPlaneEncryptionOutput) KmsStatuses

(Output) Error status returned by Cloud KMS when using this key. This field may be populated only if `kmsKeyState` is not `KMS_KEY_STATE_KEY_AVAILABLE`. If populated, this field contains the error status reported by Cloud KMS. Structure is documented below.

<a name="nestedKmsStatus"></a>The `kmsStatus` block contains:

func (ClusterControlPlaneEncryptionOutput) ToClusterControlPlaneEncryptionOutput

func (o ClusterControlPlaneEncryptionOutput) ToClusterControlPlaneEncryptionOutput() ClusterControlPlaneEncryptionOutput

func (ClusterControlPlaneEncryptionOutput) ToClusterControlPlaneEncryptionOutputWithContext

func (o ClusterControlPlaneEncryptionOutput) ToClusterControlPlaneEncryptionOutputWithContext(ctx context.Context) ClusterControlPlaneEncryptionOutput

func (ClusterControlPlaneEncryptionOutput) ToClusterControlPlaneEncryptionPtrOutput

func (o ClusterControlPlaneEncryptionOutput) ToClusterControlPlaneEncryptionPtrOutput() ClusterControlPlaneEncryptionPtrOutput

func (ClusterControlPlaneEncryptionOutput) ToClusterControlPlaneEncryptionPtrOutputWithContext

func (o ClusterControlPlaneEncryptionOutput) ToClusterControlPlaneEncryptionPtrOutputWithContext(ctx context.Context) ClusterControlPlaneEncryptionPtrOutput

type ClusterControlPlaneEncryptionPtrInput

type ClusterControlPlaneEncryptionPtrInput interface {
	pulumi.Input

	ToClusterControlPlaneEncryptionPtrOutput() ClusterControlPlaneEncryptionPtrOutput
	ToClusterControlPlaneEncryptionPtrOutputWithContext(context.Context) ClusterControlPlaneEncryptionPtrOutput
}

ClusterControlPlaneEncryptionPtrInput is an input type that accepts ClusterControlPlaneEncryptionArgs, ClusterControlPlaneEncryptionPtr and ClusterControlPlaneEncryptionPtrOutput values. You can construct a concrete instance of `ClusterControlPlaneEncryptionPtrInput` via:

        ClusterControlPlaneEncryptionArgs{...}

or:

        nil

type ClusterControlPlaneEncryptionPtrOutput

type ClusterControlPlaneEncryptionPtrOutput struct{ *pulumi.OutputState }

func (ClusterControlPlaneEncryptionPtrOutput) Elem

func (ClusterControlPlaneEncryptionPtrOutput) ElementType

func (ClusterControlPlaneEncryptionPtrOutput) KmsKey

The Cloud KMS CryptoKey e.g. projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey} to use for protecting control plane disks. If not specified, a Google-managed key will be used instead.

func (ClusterControlPlaneEncryptionPtrOutput) KmsKeyActiveVersion

(Output) The Cloud KMS CryptoKeyVersion currently in use for protecting control plane disks. Only applicable if kmsKey is set.

func (ClusterControlPlaneEncryptionPtrOutput) KmsKeyState

(Output) Availability of the Cloud KMS CryptoKey. If not `KEY_AVAILABLE`, then nodes may go offline as they cannot access their local data. This can be caused by a lack of permissions to use the key, or if the key is disabled or deleted.

func (ClusterControlPlaneEncryptionPtrOutput) KmsStatuses

(Output) Error status returned by Cloud KMS when using this key. This field may be populated only if `kmsKeyState` is not `KMS_KEY_STATE_KEY_AVAILABLE`. If populated, this field contains the error status reported by Cloud KMS. Structure is documented below.

<a name="nestedKmsStatus"></a>The `kmsStatus` block contains:

func (ClusterControlPlaneEncryptionPtrOutput) ToClusterControlPlaneEncryptionPtrOutput

func (o ClusterControlPlaneEncryptionPtrOutput) ToClusterControlPlaneEncryptionPtrOutput() ClusterControlPlaneEncryptionPtrOutput

func (ClusterControlPlaneEncryptionPtrOutput) ToClusterControlPlaneEncryptionPtrOutputWithContext

func (o ClusterControlPlaneEncryptionPtrOutput) ToClusterControlPlaneEncryptionPtrOutputWithContext(ctx context.Context) ClusterControlPlaneEncryptionPtrOutput

type ClusterControlPlaneInput

type ClusterControlPlaneInput interface {
	pulumi.Input

	ToClusterControlPlaneOutput() ClusterControlPlaneOutput
	ToClusterControlPlaneOutputWithContext(context.Context) ClusterControlPlaneOutput
}

ClusterControlPlaneInput is an input type that accepts ClusterControlPlaneArgs and ClusterControlPlaneOutput values. You can construct a concrete instance of `ClusterControlPlaneInput` via:

ClusterControlPlaneArgs{...}

type ClusterControlPlaneLocal

type ClusterControlPlaneLocal struct {
	// Only machines matching this filter will be allowed to host control
	// plane nodes. The filtering language accepts strings like "name=<name>",
	// and is documented here: [AIP-160](https://google.aip.dev/160).
	MachineFilter *string `pulumi:"machineFilter"`
	// The number of nodes to serve as replicas of the Control Plane.
	// Only 1 and 3 are supported.
	NodeCount *int `pulumi:"nodeCount"`
	// Name of the Google Distributed Cloud Edge zones where this node pool
	// will be created. For example: `us-central1-edge-customer-a`.
	NodeLocation *string `pulumi:"nodeLocation"`
	// Policy configuration about how user applications are deployed.
	// Possible values are: `SHARED_DEPLOYMENT_POLICY_UNSPECIFIED`, `ALLOWED`, `DISALLOWED`.
	SharedDeploymentPolicy *string `pulumi:"sharedDeploymentPolicy"`
}

type ClusterControlPlaneLocalArgs

type ClusterControlPlaneLocalArgs struct {
	// Only machines matching this filter will be allowed to host control
	// plane nodes. The filtering language accepts strings like "name=<name>",
	// and is documented here: [AIP-160](https://google.aip.dev/160).
	MachineFilter pulumi.StringPtrInput `pulumi:"machineFilter"`
	// The number of nodes to serve as replicas of the Control Plane.
	// Only 1 and 3 are supported.
	NodeCount pulumi.IntPtrInput `pulumi:"nodeCount"`
	// Name of the Google Distributed Cloud Edge zones where this node pool
	// will be created. For example: `us-central1-edge-customer-a`.
	NodeLocation pulumi.StringPtrInput `pulumi:"nodeLocation"`
	// Policy configuration about how user applications are deployed.
	// Possible values are: `SHARED_DEPLOYMENT_POLICY_UNSPECIFIED`, `ALLOWED`, `DISALLOWED`.
	SharedDeploymentPolicy pulumi.StringPtrInput `pulumi:"sharedDeploymentPolicy"`
}

func (ClusterControlPlaneLocalArgs) ElementType

func (ClusterControlPlaneLocalArgs) ToClusterControlPlaneLocalOutput

func (i ClusterControlPlaneLocalArgs) ToClusterControlPlaneLocalOutput() ClusterControlPlaneLocalOutput

func (ClusterControlPlaneLocalArgs) ToClusterControlPlaneLocalOutputWithContext

func (i ClusterControlPlaneLocalArgs) ToClusterControlPlaneLocalOutputWithContext(ctx context.Context) ClusterControlPlaneLocalOutput

func (ClusterControlPlaneLocalArgs) ToClusterControlPlaneLocalPtrOutput

func (i ClusterControlPlaneLocalArgs) ToClusterControlPlaneLocalPtrOutput() ClusterControlPlaneLocalPtrOutput

func (ClusterControlPlaneLocalArgs) ToClusterControlPlaneLocalPtrOutputWithContext

func (i ClusterControlPlaneLocalArgs) ToClusterControlPlaneLocalPtrOutputWithContext(ctx context.Context) ClusterControlPlaneLocalPtrOutput

type ClusterControlPlaneLocalInput

type ClusterControlPlaneLocalInput interface {
	pulumi.Input

	ToClusterControlPlaneLocalOutput() ClusterControlPlaneLocalOutput
	ToClusterControlPlaneLocalOutputWithContext(context.Context) ClusterControlPlaneLocalOutput
}

ClusterControlPlaneLocalInput is an input type that accepts ClusterControlPlaneLocalArgs and ClusterControlPlaneLocalOutput values. You can construct a concrete instance of `ClusterControlPlaneLocalInput` via:

ClusterControlPlaneLocalArgs{...}

type ClusterControlPlaneLocalOutput

type ClusterControlPlaneLocalOutput struct{ *pulumi.OutputState }

func (ClusterControlPlaneLocalOutput) ElementType

func (ClusterControlPlaneLocalOutput) MachineFilter

Only machines matching this filter will be allowed to host control plane nodes. The filtering language accepts strings like "name=<name>", and is documented here: [AIP-160](https://google.aip.dev/160).

func (ClusterControlPlaneLocalOutput) NodeCount

The number of nodes to serve as replicas of the Control Plane. Only 1 and 3 are supported.

func (ClusterControlPlaneLocalOutput) NodeLocation

Name of the Google Distributed Cloud Edge zones where this node pool will be created. For example: `us-central1-edge-customer-a`.

func (ClusterControlPlaneLocalOutput) SharedDeploymentPolicy

func (o ClusterControlPlaneLocalOutput) SharedDeploymentPolicy() pulumi.StringPtrOutput

Policy configuration about how user applications are deployed. Possible values are: `SHARED_DEPLOYMENT_POLICY_UNSPECIFIED`, `ALLOWED`, `DISALLOWED`.

func (ClusterControlPlaneLocalOutput) ToClusterControlPlaneLocalOutput

func (o ClusterControlPlaneLocalOutput) ToClusterControlPlaneLocalOutput() ClusterControlPlaneLocalOutput

func (ClusterControlPlaneLocalOutput) ToClusterControlPlaneLocalOutputWithContext

func (o ClusterControlPlaneLocalOutput) ToClusterControlPlaneLocalOutputWithContext(ctx context.Context) ClusterControlPlaneLocalOutput

func (ClusterControlPlaneLocalOutput) ToClusterControlPlaneLocalPtrOutput

func (o ClusterControlPlaneLocalOutput) ToClusterControlPlaneLocalPtrOutput() ClusterControlPlaneLocalPtrOutput

func (ClusterControlPlaneLocalOutput) ToClusterControlPlaneLocalPtrOutputWithContext

func (o ClusterControlPlaneLocalOutput) ToClusterControlPlaneLocalPtrOutputWithContext(ctx context.Context) ClusterControlPlaneLocalPtrOutput

type ClusterControlPlaneLocalPtrInput

type ClusterControlPlaneLocalPtrInput interface {
	pulumi.Input

	ToClusterControlPlaneLocalPtrOutput() ClusterControlPlaneLocalPtrOutput
	ToClusterControlPlaneLocalPtrOutputWithContext(context.Context) ClusterControlPlaneLocalPtrOutput
}

ClusterControlPlaneLocalPtrInput is an input type that accepts ClusterControlPlaneLocalArgs, ClusterControlPlaneLocalPtr and ClusterControlPlaneLocalPtrOutput values. You can construct a concrete instance of `ClusterControlPlaneLocalPtrInput` via:

        ClusterControlPlaneLocalArgs{...}

or:

        nil

type ClusterControlPlaneLocalPtrOutput

type ClusterControlPlaneLocalPtrOutput struct{ *pulumi.OutputState }

func (ClusterControlPlaneLocalPtrOutput) Elem

func (ClusterControlPlaneLocalPtrOutput) ElementType

func (ClusterControlPlaneLocalPtrOutput) MachineFilter

Only machines matching this filter will be allowed to host control plane nodes. The filtering language accepts strings like "name=<name>", and is documented here: [AIP-160](https://google.aip.dev/160).

func (ClusterControlPlaneLocalPtrOutput) NodeCount

The number of nodes to serve as replicas of the Control Plane. Only 1 and 3 are supported.

func (ClusterControlPlaneLocalPtrOutput) NodeLocation

Name of the Google Distributed Cloud Edge zones where this node pool will be created. For example: `us-central1-edge-customer-a`.

func (ClusterControlPlaneLocalPtrOutput) SharedDeploymentPolicy

func (o ClusterControlPlaneLocalPtrOutput) SharedDeploymentPolicy() pulumi.StringPtrOutput

Policy configuration about how user applications are deployed. Possible values are: `SHARED_DEPLOYMENT_POLICY_UNSPECIFIED`, `ALLOWED`, `DISALLOWED`.

func (ClusterControlPlaneLocalPtrOutput) ToClusterControlPlaneLocalPtrOutput

func (o ClusterControlPlaneLocalPtrOutput) ToClusterControlPlaneLocalPtrOutput() ClusterControlPlaneLocalPtrOutput

func (ClusterControlPlaneLocalPtrOutput) ToClusterControlPlaneLocalPtrOutputWithContext

func (o ClusterControlPlaneLocalPtrOutput) ToClusterControlPlaneLocalPtrOutputWithContext(ctx context.Context) ClusterControlPlaneLocalPtrOutput

type ClusterControlPlaneOutput

type ClusterControlPlaneOutput struct{ *pulumi.OutputState }

func (ClusterControlPlaneOutput) ElementType

func (ClusterControlPlaneOutput) ElementType() reflect.Type

func (ClusterControlPlaneOutput) Local

Local control plane configuration. Structure is documented below.

func (ClusterControlPlaneOutput) Remote

Remote control plane configuration. Structure is documented below.

func (ClusterControlPlaneOutput) ToClusterControlPlaneOutput

func (o ClusterControlPlaneOutput) ToClusterControlPlaneOutput() ClusterControlPlaneOutput

func (ClusterControlPlaneOutput) ToClusterControlPlaneOutputWithContext

func (o ClusterControlPlaneOutput) ToClusterControlPlaneOutputWithContext(ctx context.Context) ClusterControlPlaneOutput

func (ClusterControlPlaneOutput) ToClusterControlPlanePtrOutput

func (o ClusterControlPlaneOutput) ToClusterControlPlanePtrOutput() ClusterControlPlanePtrOutput

func (ClusterControlPlaneOutput) ToClusterControlPlanePtrOutputWithContext

func (o ClusterControlPlaneOutput) ToClusterControlPlanePtrOutputWithContext(ctx context.Context) ClusterControlPlanePtrOutput

type ClusterControlPlanePtrInput

type ClusterControlPlanePtrInput interface {
	pulumi.Input

	ToClusterControlPlanePtrOutput() ClusterControlPlanePtrOutput
	ToClusterControlPlanePtrOutputWithContext(context.Context) ClusterControlPlanePtrOutput
}

ClusterControlPlanePtrInput is an input type that accepts ClusterControlPlaneArgs, ClusterControlPlanePtr and ClusterControlPlanePtrOutput values. You can construct a concrete instance of `ClusterControlPlanePtrInput` via:

        ClusterControlPlaneArgs{...}

or:

        nil

type ClusterControlPlanePtrOutput

type ClusterControlPlanePtrOutput struct{ *pulumi.OutputState }

func (ClusterControlPlanePtrOutput) Elem

func (ClusterControlPlanePtrOutput) ElementType

func (ClusterControlPlanePtrOutput) Local

Local control plane configuration. Structure is documented below.

func (ClusterControlPlanePtrOutput) Remote

Remote control plane configuration. Structure is documented below.

func (ClusterControlPlanePtrOutput) ToClusterControlPlanePtrOutput

func (o ClusterControlPlanePtrOutput) ToClusterControlPlanePtrOutput() ClusterControlPlanePtrOutput

func (ClusterControlPlanePtrOutput) ToClusterControlPlanePtrOutputWithContext

func (o ClusterControlPlanePtrOutput) ToClusterControlPlanePtrOutputWithContext(ctx context.Context) ClusterControlPlanePtrOutput

type ClusterControlPlaneRemote

type ClusterControlPlaneRemote struct {
	// Name of the Google Distributed Cloud Edge zones where this node pool
	// will be created. For example: `us-central1-edge-customer-a`.
	NodeLocation *string `pulumi:"nodeLocation"`
}

type ClusterControlPlaneRemoteArgs

type ClusterControlPlaneRemoteArgs struct {
	// Name of the Google Distributed Cloud Edge zones where this node pool
	// will be created. For example: `us-central1-edge-customer-a`.
	NodeLocation pulumi.StringPtrInput `pulumi:"nodeLocation"`
}

func (ClusterControlPlaneRemoteArgs) ElementType

func (ClusterControlPlaneRemoteArgs) ToClusterControlPlaneRemoteOutput

func (i ClusterControlPlaneRemoteArgs) ToClusterControlPlaneRemoteOutput() ClusterControlPlaneRemoteOutput

func (ClusterControlPlaneRemoteArgs) ToClusterControlPlaneRemoteOutputWithContext

func (i ClusterControlPlaneRemoteArgs) ToClusterControlPlaneRemoteOutputWithContext(ctx context.Context) ClusterControlPlaneRemoteOutput

func (ClusterControlPlaneRemoteArgs) ToClusterControlPlaneRemotePtrOutput

func (i ClusterControlPlaneRemoteArgs) ToClusterControlPlaneRemotePtrOutput() ClusterControlPlaneRemotePtrOutput

func (ClusterControlPlaneRemoteArgs) ToClusterControlPlaneRemotePtrOutputWithContext

func (i ClusterControlPlaneRemoteArgs) ToClusterControlPlaneRemotePtrOutputWithContext(ctx context.Context) ClusterControlPlaneRemotePtrOutput

type ClusterControlPlaneRemoteInput

type ClusterControlPlaneRemoteInput interface {
	pulumi.Input

	ToClusterControlPlaneRemoteOutput() ClusterControlPlaneRemoteOutput
	ToClusterControlPlaneRemoteOutputWithContext(context.Context) ClusterControlPlaneRemoteOutput
}

ClusterControlPlaneRemoteInput is an input type that accepts ClusterControlPlaneRemoteArgs and ClusterControlPlaneRemoteOutput values. You can construct a concrete instance of `ClusterControlPlaneRemoteInput` via:

ClusterControlPlaneRemoteArgs{...}

type ClusterControlPlaneRemoteOutput

type ClusterControlPlaneRemoteOutput struct{ *pulumi.OutputState }

func (ClusterControlPlaneRemoteOutput) ElementType

func (ClusterControlPlaneRemoteOutput) NodeLocation

Name of the Google Distributed Cloud Edge zones where this node pool will be created. For example: `us-central1-edge-customer-a`.

func (ClusterControlPlaneRemoteOutput) ToClusterControlPlaneRemoteOutput

func (o ClusterControlPlaneRemoteOutput) ToClusterControlPlaneRemoteOutput() ClusterControlPlaneRemoteOutput

func (ClusterControlPlaneRemoteOutput) ToClusterControlPlaneRemoteOutputWithContext

func (o ClusterControlPlaneRemoteOutput) ToClusterControlPlaneRemoteOutputWithContext(ctx context.Context) ClusterControlPlaneRemoteOutput

func (ClusterControlPlaneRemoteOutput) ToClusterControlPlaneRemotePtrOutput

func (o ClusterControlPlaneRemoteOutput) ToClusterControlPlaneRemotePtrOutput() ClusterControlPlaneRemotePtrOutput

func (ClusterControlPlaneRemoteOutput) ToClusterControlPlaneRemotePtrOutputWithContext

func (o ClusterControlPlaneRemoteOutput) ToClusterControlPlaneRemotePtrOutputWithContext(ctx context.Context) ClusterControlPlaneRemotePtrOutput

type ClusterControlPlaneRemotePtrInput

type ClusterControlPlaneRemotePtrInput interface {
	pulumi.Input

	ToClusterControlPlaneRemotePtrOutput() ClusterControlPlaneRemotePtrOutput
	ToClusterControlPlaneRemotePtrOutputWithContext(context.Context) ClusterControlPlaneRemotePtrOutput
}

ClusterControlPlaneRemotePtrInput is an input type that accepts ClusterControlPlaneRemoteArgs, ClusterControlPlaneRemotePtr and ClusterControlPlaneRemotePtrOutput values. You can construct a concrete instance of `ClusterControlPlaneRemotePtrInput` via:

        ClusterControlPlaneRemoteArgs{...}

or:

        nil

type ClusterControlPlaneRemotePtrOutput

type ClusterControlPlaneRemotePtrOutput struct{ *pulumi.OutputState }

func (ClusterControlPlaneRemotePtrOutput) Elem

func (ClusterControlPlaneRemotePtrOutput) ElementType

func (ClusterControlPlaneRemotePtrOutput) NodeLocation

Name of the Google Distributed Cloud Edge zones where this node pool will be created. For example: `us-central1-edge-customer-a`.

func (ClusterControlPlaneRemotePtrOutput) ToClusterControlPlaneRemotePtrOutput

func (o ClusterControlPlaneRemotePtrOutput) ToClusterControlPlaneRemotePtrOutput() ClusterControlPlaneRemotePtrOutput

func (ClusterControlPlaneRemotePtrOutput) ToClusterControlPlaneRemotePtrOutputWithContext

func (o ClusterControlPlaneRemotePtrOutput) ToClusterControlPlaneRemotePtrOutputWithContext(ctx context.Context) ClusterControlPlaneRemotePtrOutput

type ClusterFleet

type ClusterFleet struct {
	// (Output)
	// The name of the managed Hub Membership resource associated to this cluster.
	// Membership names are formatted as
	// `projects/<project-number>/locations/global/membership/<cluster-id>`.
	Membership *string `pulumi:"membership"`
	// The name of the Fleet host project where this cluster will be registered.
	// Project names are formatted as
	// `projects/<project-number>`.
	Project string `pulumi:"project"`
}

type ClusterFleetArgs

type ClusterFleetArgs struct {
	// (Output)
	// The name of the managed Hub Membership resource associated to this cluster.
	// Membership names are formatted as
	// `projects/<project-number>/locations/global/membership/<cluster-id>`.
	Membership pulumi.StringPtrInput `pulumi:"membership"`
	// The name of the Fleet host project where this cluster will be registered.
	// Project names are formatted as
	// `projects/<project-number>`.
	Project pulumi.StringInput `pulumi:"project"`
}

func (ClusterFleetArgs) ElementType

func (ClusterFleetArgs) ElementType() reflect.Type

func (ClusterFleetArgs) ToClusterFleetOutput

func (i ClusterFleetArgs) ToClusterFleetOutput() ClusterFleetOutput

func (ClusterFleetArgs) ToClusterFleetOutputWithContext

func (i ClusterFleetArgs) ToClusterFleetOutputWithContext(ctx context.Context) ClusterFleetOutput

func (ClusterFleetArgs) ToClusterFleetPtrOutput

func (i ClusterFleetArgs) ToClusterFleetPtrOutput() ClusterFleetPtrOutput

func (ClusterFleetArgs) ToClusterFleetPtrOutputWithContext

func (i ClusterFleetArgs) ToClusterFleetPtrOutputWithContext(ctx context.Context) ClusterFleetPtrOutput

type ClusterFleetInput

type ClusterFleetInput interface {
	pulumi.Input

	ToClusterFleetOutput() ClusterFleetOutput
	ToClusterFleetOutputWithContext(context.Context) ClusterFleetOutput
}

ClusterFleetInput is an input type that accepts ClusterFleetArgs and ClusterFleetOutput values. You can construct a concrete instance of `ClusterFleetInput` via:

ClusterFleetArgs{...}

type ClusterFleetOutput

type ClusterFleetOutput struct{ *pulumi.OutputState }

func (ClusterFleetOutput) ElementType

func (ClusterFleetOutput) ElementType() reflect.Type

func (ClusterFleetOutput) Membership

func (o ClusterFleetOutput) Membership() pulumi.StringPtrOutput

(Output) The name of the managed Hub Membership resource associated to this cluster. Membership names are formatted as `projects/<project-number>/locations/global/membership/<cluster-id>`.

func (ClusterFleetOutput) Project

The name of the Fleet host project where this cluster will be registered. Project names are formatted as `projects/<project-number>`.

func (ClusterFleetOutput) ToClusterFleetOutput

func (o ClusterFleetOutput) ToClusterFleetOutput() ClusterFleetOutput

func (ClusterFleetOutput) ToClusterFleetOutputWithContext

func (o ClusterFleetOutput) ToClusterFleetOutputWithContext(ctx context.Context) ClusterFleetOutput

func (ClusterFleetOutput) ToClusterFleetPtrOutput

func (o ClusterFleetOutput) ToClusterFleetPtrOutput() ClusterFleetPtrOutput

func (ClusterFleetOutput) ToClusterFleetPtrOutputWithContext

func (o ClusterFleetOutput) ToClusterFleetPtrOutputWithContext(ctx context.Context) ClusterFleetPtrOutput

type ClusterFleetPtrInput

type ClusterFleetPtrInput interface {
	pulumi.Input

	ToClusterFleetPtrOutput() ClusterFleetPtrOutput
	ToClusterFleetPtrOutputWithContext(context.Context) ClusterFleetPtrOutput
}

ClusterFleetPtrInput is an input type that accepts ClusterFleetArgs, ClusterFleetPtr and ClusterFleetPtrOutput values. You can construct a concrete instance of `ClusterFleetPtrInput` via:

        ClusterFleetArgs{...}

or:

        nil

type ClusterFleetPtrOutput

type ClusterFleetPtrOutput struct{ *pulumi.OutputState }

func (ClusterFleetPtrOutput) Elem

func (ClusterFleetPtrOutput) ElementType

func (ClusterFleetPtrOutput) ElementType() reflect.Type

func (ClusterFleetPtrOutput) Membership

(Output) The name of the managed Hub Membership resource associated to this cluster. Membership names are formatted as `projects/<project-number>/locations/global/membership/<cluster-id>`.

func (ClusterFleetPtrOutput) Project

The name of the Fleet host project where this cluster will be registered. Project names are formatted as `projects/<project-number>`.

func (ClusterFleetPtrOutput) ToClusterFleetPtrOutput

func (o ClusterFleetPtrOutput) ToClusterFleetPtrOutput() ClusterFleetPtrOutput

func (ClusterFleetPtrOutput) ToClusterFleetPtrOutputWithContext

func (o ClusterFleetPtrOutput) ToClusterFleetPtrOutputWithContext(ctx context.Context) ClusterFleetPtrOutput

type ClusterInput

type ClusterInput interface {
	pulumi.Input

	ToClusterOutput() ClusterOutput
	ToClusterOutputWithContext(ctx context.Context) ClusterOutput
}

type ClusterMaintenanceEvent

type ClusterMaintenanceEvent struct {
	// (Output)
	// The time when the maintenance event request was created.
	CreateTime *string `pulumi:"createTime"`
	// (Output)
	// The time when the maintenance event ended, either successfully or not. If
	// the maintenance event is split into multiple maintenance windows,
	// endTime is only updated when the whole flow ends.
	EndTime *string `pulumi:"endTime"`
	// (Output)
	// The operation for running the maintenance event. Specified in the format
	// projects/*/locations/*/operations/*. If the maintenance event is split
	// into multiple operations (e.g. due to maintenance windows), the latest
	// one is recorded.
	Operation *string `pulumi:"operation"`
	// (Output)
	// The schedule of the maintenance event.
	Schedule *string `pulumi:"schedule"`
	// (Output)
	// The time when the maintenance event started.
	StartTime *string `pulumi:"startTime"`
	// (Output)
	// Indicates the maintenance event state.
	State *string `pulumi:"state"`
	// (Output)
	// The target version of the cluster.
	TargetVersion *string `pulumi:"targetVersion"`
	// (Output)
	// Indicates the maintenance event type.
	Type *string `pulumi:"type"`
	// (Output)
	// The time when the maintenance event message was updated.
	UpdateTime *string `pulumi:"updateTime"`
	// (Output)
	// UUID of the maintenance event.
	Uuid *string `pulumi:"uuid"`
}

type ClusterMaintenanceEventArgs

type ClusterMaintenanceEventArgs struct {
	// (Output)
	// The time when the maintenance event request was created.
	CreateTime pulumi.StringPtrInput `pulumi:"createTime"`
	// (Output)
	// The time when the maintenance event ended, either successfully or not. If
	// the maintenance event is split into multiple maintenance windows,
	// endTime is only updated when the whole flow ends.
	EndTime pulumi.StringPtrInput `pulumi:"endTime"`
	// (Output)
	// The operation for running the maintenance event. Specified in the format
	// projects/*/locations/*/operations/*. If the maintenance event is split
	// into multiple operations (e.g. due to maintenance windows), the latest
	// one is recorded.
	Operation pulumi.StringPtrInput `pulumi:"operation"`
	// (Output)
	// The schedule of the maintenance event.
	Schedule pulumi.StringPtrInput `pulumi:"schedule"`
	// (Output)
	// The time when the maintenance event started.
	StartTime pulumi.StringPtrInput `pulumi:"startTime"`
	// (Output)
	// Indicates the maintenance event state.
	State pulumi.StringPtrInput `pulumi:"state"`
	// (Output)
	// The target version of the cluster.
	TargetVersion pulumi.StringPtrInput `pulumi:"targetVersion"`
	// (Output)
	// Indicates the maintenance event type.
	Type pulumi.StringPtrInput `pulumi:"type"`
	// (Output)
	// The time when the maintenance event message was updated.
	UpdateTime pulumi.StringPtrInput `pulumi:"updateTime"`
	// (Output)
	// UUID of the maintenance event.
	Uuid pulumi.StringPtrInput `pulumi:"uuid"`
}

func (ClusterMaintenanceEventArgs) ElementType

func (ClusterMaintenanceEventArgs) ToClusterMaintenanceEventOutput

func (i ClusterMaintenanceEventArgs) ToClusterMaintenanceEventOutput() ClusterMaintenanceEventOutput

func (ClusterMaintenanceEventArgs) ToClusterMaintenanceEventOutputWithContext

func (i ClusterMaintenanceEventArgs) ToClusterMaintenanceEventOutputWithContext(ctx context.Context) ClusterMaintenanceEventOutput

type ClusterMaintenanceEventArray

type ClusterMaintenanceEventArray []ClusterMaintenanceEventInput

func (ClusterMaintenanceEventArray) ElementType

func (ClusterMaintenanceEventArray) ToClusterMaintenanceEventArrayOutput

func (i ClusterMaintenanceEventArray) ToClusterMaintenanceEventArrayOutput() ClusterMaintenanceEventArrayOutput

func (ClusterMaintenanceEventArray) ToClusterMaintenanceEventArrayOutputWithContext

func (i ClusterMaintenanceEventArray) ToClusterMaintenanceEventArrayOutputWithContext(ctx context.Context) ClusterMaintenanceEventArrayOutput

type ClusterMaintenanceEventArrayInput

type ClusterMaintenanceEventArrayInput interface {
	pulumi.Input

	ToClusterMaintenanceEventArrayOutput() ClusterMaintenanceEventArrayOutput
	ToClusterMaintenanceEventArrayOutputWithContext(context.Context) ClusterMaintenanceEventArrayOutput
}

ClusterMaintenanceEventArrayInput is an input type that accepts ClusterMaintenanceEventArray and ClusterMaintenanceEventArrayOutput values. You can construct a concrete instance of `ClusterMaintenanceEventArrayInput` via:

ClusterMaintenanceEventArray{ ClusterMaintenanceEventArgs{...} }

type ClusterMaintenanceEventArrayOutput

type ClusterMaintenanceEventArrayOutput struct{ *pulumi.OutputState }

func (ClusterMaintenanceEventArrayOutput) ElementType

func (ClusterMaintenanceEventArrayOutput) Index

func (ClusterMaintenanceEventArrayOutput) ToClusterMaintenanceEventArrayOutput

func (o ClusterMaintenanceEventArrayOutput) ToClusterMaintenanceEventArrayOutput() ClusterMaintenanceEventArrayOutput

func (ClusterMaintenanceEventArrayOutput) ToClusterMaintenanceEventArrayOutputWithContext

func (o ClusterMaintenanceEventArrayOutput) ToClusterMaintenanceEventArrayOutputWithContext(ctx context.Context) ClusterMaintenanceEventArrayOutput

type ClusterMaintenanceEventInput

type ClusterMaintenanceEventInput interface {
	pulumi.Input

	ToClusterMaintenanceEventOutput() ClusterMaintenanceEventOutput
	ToClusterMaintenanceEventOutputWithContext(context.Context) ClusterMaintenanceEventOutput
}

ClusterMaintenanceEventInput is an input type that accepts ClusterMaintenanceEventArgs and ClusterMaintenanceEventOutput values. You can construct a concrete instance of `ClusterMaintenanceEventInput` via:

ClusterMaintenanceEventArgs{...}

type ClusterMaintenanceEventOutput

type ClusterMaintenanceEventOutput struct{ *pulumi.OutputState }

func (ClusterMaintenanceEventOutput) CreateTime

(Output) The time when the maintenance event request was created.

func (ClusterMaintenanceEventOutput) ElementType

func (ClusterMaintenanceEventOutput) EndTime

(Output) The time when the maintenance event ended, either successfully or not. If the maintenance event is split into multiple maintenance windows, endTime is only updated when the whole flow ends.

func (ClusterMaintenanceEventOutput) Operation

(Output) The operation for running the maintenance event. Specified in the format projects/*/locations/*/operations/*. If the maintenance event is split into multiple operations (e.g. due to maintenance windows), the latest one is recorded.

func (ClusterMaintenanceEventOutput) Schedule

(Output) The schedule of the maintenance event.

func (ClusterMaintenanceEventOutput) StartTime

(Output) The time when the maintenance event started.

func (ClusterMaintenanceEventOutput) State

(Output) Indicates the maintenance event state.

func (ClusterMaintenanceEventOutput) TargetVersion

(Output) The target version of the cluster.

func (ClusterMaintenanceEventOutput) ToClusterMaintenanceEventOutput

func (o ClusterMaintenanceEventOutput) ToClusterMaintenanceEventOutput() ClusterMaintenanceEventOutput

func (ClusterMaintenanceEventOutput) ToClusterMaintenanceEventOutputWithContext

func (o ClusterMaintenanceEventOutput) ToClusterMaintenanceEventOutputWithContext(ctx context.Context) ClusterMaintenanceEventOutput

func (ClusterMaintenanceEventOutput) Type

(Output) Indicates the maintenance event type.

func (ClusterMaintenanceEventOutput) UpdateTime

(Output) The time when the maintenance event message was updated.

func (ClusterMaintenanceEventOutput) Uuid

(Output) UUID of the maintenance event.

type ClusterMaintenancePolicy

type ClusterMaintenancePolicy struct {
	// Specifies the maintenance window in which maintenance may be performed.
	// Structure is documented below.
	Window ClusterMaintenancePolicyWindow `pulumi:"window"`
}

type ClusterMaintenancePolicyArgs

type ClusterMaintenancePolicyArgs struct {
	// Specifies the maintenance window in which maintenance may be performed.
	// Structure is documented below.
	Window ClusterMaintenancePolicyWindowInput `pulumi:"window"`
}

func (ClusterMaintenancePolicyArgs) ElementType

func (ClusterMaintenancePolicyArgs) ToClusterMaintenancePolicyOutput

func (i ClusterMaintenancePolicyArgs) ToClusterMaintenancePolicyOutput() ClusterMaintenancePolicyOutput

func (ClusterMaintenancePolicyArgs) ToClusterMaintenancePolicyOutputWithContext

func (i ClusterMaintenancePolicyArgs) ToClusterMaintenancePolicyOutputWithContext(ctx context.Context) ClusterMaintenancePolicyOutput

func (ClusterMaintenancePolicyArgs) ToClusterMaintenancePolicyPtrOutput

func (i ClusterMaintenancePolicyArgs) ToClusterMaintenancePolicyPtrOutput() ClusterMaintenancePolicyPtrOutput

func (ClusterMaintenancePolicyArgs) ToClusterMaintenancePolicyPtrOutputWithContext

func (i ClusterMaintenancePolicyArgs) ToClusterMaintenancePolicyPtrOutputWithContext(ctx context.Context) ClusterMaintenancePolicyPtrOutput

type ClusterMaintenancePolicyInput

type ClusterMaintenancePolicyInput interface {
	pulumi.Input

	ToClusterMaintenancePolicyOutput() ClusterMaintenancePolicyOutput
	ToClusterMaintenancePolicyOutputWithContext(context.Context) ClusterMaintenancePolicyOutput
}

ClusterMaintenancePolicyInput is an input type that accepts ClusterMaintenancePolicyArgs and ClusterMaintenancePolicyOutput values. You can construct a concrete instance of `ClusterMaintenancePolicyInput` via:

ClusterMaintenancePolicyArgs{...}

type ClusterMaintenancePolicyOutput

type ClusterMaintenancePolicyOutput struct{ *pulumi.OutputState }

func (ClusterMaintenancePolicyOutput) ElementType

func (ClusterMaintenancePolicyOutput) ToClusterMaintenancePolicyOutput

func (o ClusterMaintenancePolicyOutput) ToClusterMaintenancePolicyOutput() ClusterMaintenancePolicyOutput

func (ClusterMaintenancePolicyOutput) ToClusterMaintenancePolicyOutputWithContext

func (o ClusterMaintenancePolicyOutput) ToClusterMaintenancePolicyOutputWithContext(ctx context.Context) ClusterMaintenancePolicyOutput

func (ClusterMaintenancePolicyOutput) ToClusterMaintenancePolicyPtrOutput

func (o ClusterMaintenancePolicyOutput) ToClusterMaintenancePolicyPtrOutput() ClusterMaintenancePolicyPtrOutput

func (ClusterMaintenancePolicyOutput) ToClusterMaintenancePolicyPtrOutputWithContext

func (o ClusterMaintenancePolicyOutput) ToClusterMaintenancePolicyPtrOutputWithContext(ctx context.Context) ClusterMaintenancePolicyPtrOutput

func (ClusterMaintenancePolicyOutput) Window

Specifies the maintenance window in which maintenance may be performed. Structure is documented below.

type ClusterMaintenancePolicyPtrInput

type ClusterMaintenancePolicyPtrInput interface {
	pulumi.Input

	ToClusterMaintenancePolicyPtrOutput() ClusterMaintenancePolicyPtrOutput
	ToClusterMaintenancePolicyPtrOutputWithContext(context.Context) ClusterMaintenancePolicyPtrOutput
}

ClusterMaintenancePolicyPtrInput is an input type that accepts ClusterMaintenancePolicyArgs, ClusterMaintenancePolicyPtr and ClusterMaintenancePolicyPtrOutput values. You can construct a concrete instance of `ClusterMaintenancePolicyPtrInput` via:

        ClusterMaintenancePolicyArgs{...}

or:

        nil

type ClusterMaintenancePolicyPtrOutput

type ClusterMaintenancePolicyPtrOutput struct{ *pulumi.OutputState }

func (ClusterMaintenancePolicyPtrOutput) Elem

func (ClusterMaintenancePolicyPtrOutput) ElementType

func (ClusterMaintenancePolicyPtrOutput) ToClusterMaintenancePolicyPtrOutput

func (o ClusterMaintenancePolicyPtrOutput) ToClusterMaintenancePolicyPtrOutput() ClusterMaintenancePolicyPtrOutput

func (ClusterMaintenancePolicyPtrOutput) ToClusterMaintenancePolicyPtrOutputWithContext

func (o ClusterMaintenancePolicyPtrOutput) ToClusterMaintenancePolicyPtrOutputWithContext(ctx context.Context) ClusterMaintenancePolicyPtrOutput

func (ClusterMaintenancePolicyPtrOutput) Window

Specifies the maintenance window in which maintenance may be performed. Structure is documented below.

type ClusterMaintenancePolicyWindow

type ClusterMaintenancePolicyWindow struct {
	// Represents an arbitrary window of time that recurs.
	// Structure is documented below.
	RecurringWindow ClusterMaintenancePolicyWindowRecurringWindow `pulumi:"recurringWindow"`
}

type ClusterMaintenancePolicyWindowArgs

type ClusterMaintenancePolicyWindowArgs struct {
	// Represents an arbitrary window of time that recurs.
	// Structure is documented below.
	RecurringWindow ClusterMaintenancePolicyWindowRecurringWindowInput `pulumi:"recurringWindow"`
}

func (ClusterMaintenancePolicyWindowArgs) ElementType

func (ClusterMaintenancePolicyWindowArgs) ToClusterMaintenancePolicyWindowOutput

func (i ClusterMaintenancePolicyWindowArgs) ToClusterMaintenancePolicyWindowOutput() ClusterMaintenancePolicyWindowOutput

func (ClusterMaintenancePolicyWindowArgs) ToClusterMaintenancePolicyWindowOutputWithContext

func (i ClusterMaintenancePolicyWindowArgs) ToClusterMaintenancePolicyWindowOutputWithContext(ctx context.Context) ClusterMaintenancePolicyWindowOutput

func (ClusterMaintenancePolicyWindowArgs) ToClusterMaintenancePolicyWindowPtrOutput

func (i ClusterMaintenancePolicyWindowArgs) ToClusterMaintenancePolicyWindowPtrOutput() ClusterMaintenancePolicyWindowPtrOutput

func (ClusterMaintenancePolicyWindowArgs) ToClusterMaintenancePolicyWindowPtrOutputWithContext

func (i ClusterMaintenancePolicyWindowArgs) ToClusterMaintenancePolicyWindowPtrOutputWithContext(ctx context.Context) ClusterMaintenancePolicyWindowPtrOutput

type ClusterMaintenancePolicyWindowInput

type ClusterMaintenancePolicyWindowInput interface {
	pulumi.Input

	ToClusterMaintenancePolicyWindowOutput() ClusterMaintenancePolicyWindowOutput
	ToClusterMaintenancePolicyWindowOutputWithContext(context.Context) ClusterMaintenancePolicyWindowOutput
}

ClusterMaintenancePolicyWindowInput is an input type that accepts ClusterMaintenancePolicyWindowArgs and ClusterMaintenancePolicyWindowOutput values. You can construct a concrete instance of `ClusterMaintenancePolicyWindowInput` via:

ClusterMaintenancePolicyWindowArgs{...}

type ClusterMaintenancePolicyWindowOutput

type ClusterMaintenancePolicyWindowOutput struct{ *pulumi.OutputState }

func (ClusterMaintenancePolicyWindowOutput) ElementType

func (ClusterMaintenancePolicyWindowOutput) RecurringWindow

Represents an arbitrary window of time that recurs. Structure is documented below.

func (ClusterMaintenancePolicyWindowOutput) ToClusterMaintenancePolicyWindowOutput

func (o ClusterMaintenancePolicyWindowOutput) ToClusterMaintenancePolicyWindowOutput() ClusterMaintenancePolicyWindowOutput

func (ClusterMaintenancePolicyWindowOutput) ToClusterMaintenancePolicyWindowOutputWithContext

func (o ClusterMaintenancePolicyWindowOutput) ToClusterMaintenancePolicyWindowOutputWithContext(ctx context.Context) ClusterMaintenancePolicyWindowOutput

func (ClusterMaintenancePolicyWindowOutput) ToClusterMaintenancePolicyWindowPtrOutput

func (o ClusterMaintenancePolicyWindowOutput) ToClusterMaintenancePolicyWindowPtrOutput() ClusterMaintenancePolicyWindowPtrOutput

func (ClusterMaintenancePolicyWindowOutput) ToClusterMaintenancePolicyWindowPtrOutputWithContext

func (o ClusterMaintenancePolicyWindowOutput) ToClusterMaintenancePolicyWindowPtrOutputWithContext(ctx context.Context) ClusterMaintenancePolicyWindowPtrOutput

type ClusterMaintenancePolicyWindowPtrInput

type ClusterMaintenancePolicyWindowPtrInput interface {
	pulumi.Input

	ToClusterMaintenancePolicyWindowPtrOutput() ClusterMaintenancePolicyWindowPtrOutput
	ToClusterMaintenancePolicyWindowPtrOutputWithContext(context.Context) ClusterMaintenancePolicyWindowPtrOutput
}

ClusterMaintenancePolicyWindowPtrInput is an input type that accepts ClusterMaintenancePolicyWindowArgs, ClusterMaintenancePolicyWindowPtr and ClusterMaintenancePolicyWindowPtrOutput values. You can construct a concrete instance of `ClusterMaintenancePolicyWindowPtrInput` via:

        ClusterMaintenancePolicyWindowArgs{...}

or:

        nil

type ClusterMaintenancePolicyWindowPtrOutput

type ClusterMaintenancePolicyWindowPtrOutput struct{ *pulumi.OutputState }

func (ClusterMaintenancePolicyWindowPtrOutput) Elem

func (ClusterMaintenancePolicyWindowPtrOutput) ElementType

func (ClusterMaintenancePolicyWindowPtrOutput) RecurringWindow

Represents an arbitrary window of time that recurs. Structure is documented below.

func (ClusterMaintenancePolicyWindowPtrOutput) ToClusterMaintenancePolicyWindowPtrOutput

func (o ClusterMaintenancePolicyWindowPtrOutput) ToClusterMaintenancePolicyWindowPtrOutput() ClusterMaintenancePolicyWindowPtrOutput

func (ClusterMaintenancePolicyWindowPtrOutput) ToClusterMaintenancePolicyWindowPtrOutputWithContext

func (o ClusterMaintenancePolicyWindowPtrOutput) ToClusterMaintenancePolicyWindowPtrOutputWithContext(ctx context.Context) ClusterMaintenancePolicyWindowPtrOutput

type ClusterMaintenancePolicyWindowRecurringWindow

type ClusterMaintenancePolicyWindowRecurringWindow struct {
	// An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how
	// this window recurs. They go on for the span of time between the start and
	// end time.
	Recurrence *string `pulumi:"recurrence"`
	// Represents an arbitrary window of time.
	// Structure is documented below.
	Window *ClusterMaintenancePolicyWindowRecurringWindowWindow `pulumi:"window"`
}

type ClusterMaintenancePolicyWindowRecurringWindowArgs

type ClusterMaintenancePolicyWindowRecurringWindowArgs struct {
	// An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how
	// this window recurs. They go on for the span of time between the start and
	// end time.
	Recurrence pulumi.StringPtrInput `pulumi:"recurrence"`
	// Represents an arbitrary window of time.
	// Structure is documented below.
	Window ClusterMaintenancePolicyWindowRecurringWindowWindowPtrInput `pulumi:"window"`
}

func (ClusterMaintenancePolicyWindowRecurringWindowArgs) ElementType

func (ClusterMaintenancePolicyWindowRecurringWindowArgs) ToClusterMaintenancePolicyWindowRecurringWindowOutput

func (i ClusterMaintenancePolicyWindowRecurringWindowArgs) ToClusterMaintenancePolicyWindowRecurringWindowOutput() ClusterMaintenancePolicyWindowRecurringWindowOutput

func (ClusterMaintenancePolicyWindowRecurringWindowArgs) ToClusterMaintenancePolicyWindowRecurringWindowOutputWithContext

func (i ClusterMaintenancePolicyWindowRecurringWindowArgs) ToClusterMaintenancePolicyWindowRecurringWindowOutputWithContext(ctx context.Context) ClusterMaintenancePolicyWindowRecurringWindowOutput

func (ClusterMaintenancePolicyWindowRecurringWindowArgs) ToClusterMaintenancePolicyWindowRecurringWindowPtrOutput

func (i ClusterMaintenancePolicyWindowRecurringWindowArgs) ToClusterMaintenancePolicyWindowRecurringWindowPtrOutput() ClusterMaintenancePolicyWindowRecurringWindowPtrOutput

func (ClusterMaintenancePolicyWindowRecurringWindowArgs) ToClusterMaintenancePolicyWindowRecurringWindowPtrOutputWithContext

func (i ClusterMaintenancePolicyWindowRecurringWindowArgs) ToClusterMaintenancePolicyWindowRecurringWindowPtrOutputWithContext(ctx context.Context) ClusterMaintenancePolicyWindowRecurringWindowPtrOutput

type ClusterMaintenancePolicyWindowRecurringWindowInput

type ClusterMaintenancePolicyWindowRecurringWindowInput interface {
	pulumi.Input

	ToClusterMaintenancePolicyWindowRecurringWindowOutput() ClusterMaintenancePolicyWindowRecurringWindowOutput
	ToClusterMaintenancePolicyWindowRecurringWindowOutputWithContext(context.Context) ClusterMaintenancePolicyWindowRecurringWindowOutput
}

ClusterMaintenancePolicyWindowRecurringWindowInput is an input type that accepts ClusterMaintenancePolicyWindowRecurringWindowArgs and ClusterMaintenancePolicyWindowRecurringWindowOutput values. You can construct a concrete instance of `ClusterMaintenancePolicyWindowRecurringWindowInput` via:

ClusterMaintenancePolicyWindowRecurringWindowArgs{...}

type ClusterMaintenancePolicyWindowRecurringWindowOutput

type ClusterMaintenancePolicyWindowRecurringWindowOutput struct{ *pulumi.OutputState }

func (ClusterMaintenancePolicyWindowRecurringWindowOutput) ElementType

func (ClusterMaintenancePolicyWindowRecurringWindowOutput) Recurrence

An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how this window recurs. They go on for the span of time between the start and end time.

func (ClusterMaintenancePolicyWindowRecurringWindowOutput) ToClusterMaintenancePolicyWindowRecurringWindowOutput

func (o ClusterMaintenancePolicyWindowRecurringWindowOutput) ToClusterMaintenancePolicyWindowRecurringWindowOutput() ClusterMaintenancePolicyWindowRecurringWindowOutput

func (ClusterMaintenancePolicyWindowRecurringWindowOutput) ToClusterMaintenancePolicyWindowRecurringWindowOutputWithContext

func (o ClusterMaintenancePolicyWindowRecurringWindowOutput) ToClusterMaintenancePolicyWindowRecurringWindowOutputWithContext(ctx context.Context) ClusterMaintenancePolicyWindowRecurringWindowOutput

func (ClusterMaintenancePolicyWindowRecurringWindowOutput) ToClusterMaintenancePolicyWindowRecurringWindowPtrOutput

func (o ClusterMaintenancePolicyWindowRecurringWindowOutput) ToClusterMaintenancePolicyWindowRecurringWindowPtrOutput() ClusterMaintenancePolicyWindowRecurringWindowPtrOutput

func (ClusterMaintenancePolicyWindowRecurringWindowOutput) ToClusterMaintenancePolicyWindowRecurringWindowPtrOutputWithContext

func (o ClusterMaintenancePolicyWindowRecurringWindowOutput) ToClusterMaintenancePolicyWindowRecurringWindowPtrOutputWithContext(ctx context.Context) ClusterMaintenancePolicyWindowRecurringWindowPtrOutput

func (ClusterMaintenancePolicyWindowRecurringWindowOutput) Window

Represents an arbitrary window of time. Structure is documented below.

type ClusterMaintenancePolicyWindowRecurringWindowPtrInput

type ClusterMaintenancePolicyWindowRecurringWindowPtrInput interface {
	pulumi.Input

	ToClusterMaintenancePolicyWindowRecurringWindowPtrOutput() ClusterMaintenancePolicyWindowRecurringWindowPtrOutput
	ToClusterMaintenancePolicyWindowRecurringWindowPtrOutputWithContext(context.Context) ClusterMaintenancePolicyWindowRecurringWindowPtrOutput
}

ClusterMaintenancePolicyWindowRecurringWindowPtrInput is an input type that accepts ClusterMaintenancePolicyWindowRecurringWindowArgs, ClusterMaintenancePolicyWindowRecurringWindowPtr and ClusterMaintenancePolicyWindowRecurringWindowPtrOutput values. You can construct a concrete instance of `ClusterMaintenancePolicyWindowRecurringWindowPtrInput` via:

        ClusterMaintenancePolicyWindowRecurringWindowArgs{...}

or:

        nil

type ClusterMaintenancePolicyWindowRecurringWindowPtrOutput

type ClusterMaintenancePolicyWindowRecurringWindowPtrOutput struct{ *pulumi.OutputState }

func (ClusterMaintenancePolicyWindowRecurringWindowPtrOutput) Elem

func (ClusterMaintenancePolicyWindowRecurringWindowPtrOutput) ElementType

func (ClusterMaintenancePolicyWindowRecurringWindowPtrOutput) Recurrence

An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how this window recurs. They go on for the span of time between the start and end time.

func (ClusterMaintenancePolicyWindowRecurringWindowPtrOutput) ToClusterMaintenancePolicyWindowRecurringWindowPtrOutput

func (ClusterMaintenancePolicyWindowRecurringWindowPtrOutput) ToClusterMaintenancePolicyWindowRecurringWindowPtrOutputWithContext

func (o ClusterMaintenancePolicyWindowRecurringWindowPtrOutput) ToClusterMaintenancePolicyWindowRecurringWindowPtrOutputWithContext(ctx context.Context) ClusterMaintenancePolicyWindowRecurringWindowPtrOutput

func (ClusterMaintenancePolicyWindowRecurringWindowPtrOutput) Window

Represents an arbitrary window of time. Structure is documented below.

type ClusterMaintenancePolicyWindowRecurringWindowWindow

type ClusterMaintenancePolicyWindowRecurringWindowWindow struct {
	// The time that the window ends. The end time must take place after the
	// start time.
	EndTime *string `pulumi:"endTime"`
	// The time that the window first starts.
	StartTime *string `pulumi:"startTime"`
}

type ClusterMaintenancePolicyWindowRecurringWindowWindowArgs

type ClusterMaintenancePolicyWindowRecurringWindowWindowArgs struct {
	// The time that the window ends. The end time must take place after the
	// start time.
	EndTime pulumi.StringPtrInput `pulumi:"endTime"`
	// The time that the window first starts.
	StartTime pulumi.StringPtrInput `pulumi:"startTime"`
}

func (ClusterMaintenancePolicyWindowRecurringWindowWindowArgs) ElementType

func (ClusterMaintenancePolicyWindowRecurringWindowWindowArgs) ToClusterMaintenancePolicyWindowRecurringWindowWindowOutput

func (ClusterMaintenancePolicyWindowRecurringWindowWindowArgs) ToClusterMaintenancePolicyWindowRecurringWindowWindowOutputWithContext

func (i ClusterMaintenancePolicyWindowRecurringWindowWindowArgs) ToClusterMaintenancePolicyWindowRecurringWindowWindowOutputWithContext(ctx context.Context) ClusterMaintenancePolicyWindowRecurringWindowWindowOutput

func (ClusterMaintenancePolicyWindowRecurringWindowWindowArgs) ToClusterMaintenancePolicyWindowRecurringWindowWindowPtrOutput

func (i ClusterMaintenancePolicyWindowRecurringWindowWindowArgs) ToClusterMaintenancePolicyWindowRecurringWindowWindowPtrOutput() ClusterMaintenancePolicyWindowRecurringWindowWindowPtrOutput

func (ClusterMaintenancePolicyWindowRecurringWindowWindowArgs) ToClusterMaintenancePolicyWindowRecurringWindowWindowPtrOutputWithContext

func (i ClusterMaintenancePolicyWindowRecurringWindowWindowArgs) ToClusterMaintenancePolicyWindowRecurringWindowWindowPtrOutputWithContext(ctx context.Context) ClusterMaintenancePolicyWindowRecurringWindowWindowPtrOutput

type ClusterMaintenancePolicyWindowRecurringWindowWindowInput

type ClusterMaintenancePolicyWindowRecurringWindowWindowInput interface {
	pulumi.Input

	ToClusterMaintenancePolicyWindowRecurringWindowWindowOutput() ClusterMaintenancePolicyWindowRecurringWindowWindowOutput
	ToClusterMaintenancePolicyWindowRecurringWindowWindowOutputWithContext(context.Context) ClusterMaintenancePolicyWindowRecurringWindowWindowOutput
}

ClusterMaintenancePolicyWindowRecurringWindowWindowInput is an input type that accepts ClusterMaintenancePolicyWindowRecurringWindowWindowArgs and ClusterMaintenancePolicyWindowRecurringWindowWindowOutput values. You can construct a concrete instance of `ClusterMaintenancePolicyWindowRecurringWindowWindowInput` via:

ClusterMaintenancePolicyWindowRecurringWindowWindowArgs{...}

type ClusterMaintenancePolicyWindowRecurringWindowWindowOutput

type ClusterMaintenancePolicyWindowRecurringWindowWindowOutput struct{ *pulumi.OutputState }

func (ClusterMaintenancePolicyWindowRecurringWindowWindowOutput) ElementType

func (ClusterMaintenancePolicyWindowRecurringWindowWindowOutput) EndTime

The time that the window ends. The end time must take place after the start time.

func (ClusterMaintenancePolicyWindowRecurringWindowWindowOutput) StartTime

The time that the window first starts.

func (ClusterMaintenancePolicyWindowRecurringWindowWindowOutput) ToClusterMaintenancePolicyWindowRecurringWindowWindowOutput

func (ClusterMaintenancePolicyWindowRecurringWindowWindowOutput) ToClusterMaintenancePolicyWindowRecurringWindowWindowOutputWithContext

func (o ClusterMaintenancePolicyWindowRecurringWindowWindowOutput) ToClusterMaintenancePolicyWindowRecurringWindowWindowOutputWithContext(ctx context.Context) ClusterMaintenancePolicyWindowRecurringWindowWindowOutput

func (ClusterMaintenancePolicyWindowRecurringWindowWindowOutput) ToClusterMaintenancePolicyWindowRecurringWindowWindowPtrOutput

func (ClusterMaintenancePolicyWindowRecurringWindowWindowOutput) ToClusterMaintenancePolicyWindowRecurringWindowWindowPtrOutputWithContext

func (o ClusterMaintenancePolicyWindowRecurringWindowWindowOutput) ToClusterMaintenancePolicyWindowRecurringWindowWindowPtrOutputWithContext(ctx context.Context) ClusterMaintenancePolicyWindowRecurringWindowWindowPtrOutput

type ClusterMaintenancePolicyWindowRecurringWindowWindowPtrInput

type ClusterMaintenancePolicyWindowRecurringWindowWindowPtrInput interface {
	pulumi.Input

	ToClusterMaintenancePolicyWindowRecurringWindowWindowPtrOutput() ClusterMaintenancePolicyWindowRecurringWindowWindowPtrOutput
	ToClusterMaintenancePolicyWindowRecurringWindowWindowPtrOutputWithContext(context.Context) ClusterMaintenancePolicyWindowRecurringWindowWindowPtrOutput
}

ClusterMaintenancePolicyWindowRecurringWindowWindowPtrInput is an input type that accepts ClusterMaintenancePolicyWindowRecurringWindowWindowArgs, ClusterMaintenancePolicyWindowRecurringWindowWindowPtr and ClusterMaintenancePolicyWindowRecurringWindowWindowPtrOutput values. You can construct a concrete instance of `ClusterMaintenancePolicyWindowRecurringWindowWindowPtrInput` via:

        ClusterMaintenancePolicyWindowRecurringWindowWindowArgs{...}

or:

        nil

type ClusterMaintenancePolicyWindowRecurringWindowWindowPtrOutput

type ClusterMaintenancePolicyWindowRecurringWindowWindowPtrOutput struct{ *pulumi.OutputState }

func (ClusterMaintenancePolicyWindowRecurringWindowWindowPtrOutput) Elem

func (ClusterMaintenancePolicyWindowRecurringWindowWindowPtrOutput) ElementType

func (ClusterMaintenancePolicyWindowRecurringWindowWindowPtrOutput) EndTime

The time that the window ends. The end time must take place after the start time.

func (ClusterMaintenancePolicyWindowRecurringWindowWindowPtrOutput) StartTime

The time that the window first starts.

func (ClusterMaintenancePolicyWindowRecurringWindowWindowPtrOutput) ToClusterMaintenancePolicyWindowRecurringWindowWindowPtrOutput

func (ClusterMaintenancePolicyWindowRecurringWindowWindowPtrOutput) ToClusterMaintenancePolicyWindowRecurringWindowWindowPtrOutputWithContext

func (o ClusterMaintenancePolicyWindowRecurringWindowWindowPtrOutput) ToClusterMaintenancePolicyWindowRecurringWindowWindowPtrOutputWithContext(ctx context.Context) ClusterMaintenancePolicyWindowRecurringWindowWindowPtrOutput

type ClusterMap

type ClusterMap map[string]ClusterInput

func (ClusterMap) ElementType

func (ClusterMap) ElementType() reflect.Type

func (ClusterMap) ToClusterMapOutput

func (i ClusterMap) ToClusterMapOutput() ClusterMapOutput

func (ClusterMap) ToClusterMapOutputWithContext

func (i ClusterMap) ToClusterMapOutputWithContext(ctx context.Context) ClusterMapOutput

type ClusterMapInput

type ClusterMapInput interface {
	pulumi.Input

	ToClusterMapOutput() ClusterMapOutput
	ToClusterMapOutputWithContext(context.Context) ClusterMapOutput
}

ClusterMapInput is an input type that accepts ClusterMap and ClusterMapOutput values. You can construct a concrete instance of `ClusterMapInput` via:

ClusterMap{ "key": ClusterArgs{...} }

type ClusterMapOutput

type ClusterMapOutput struct{ *pulumi.OutputState }

func (ClusterMapOutput) ElementType

func (ClusterMapOutput) ElementType() reflect.Type

func (ClusterMapOutput) MapIndex

func (ClusterMapOutput) ToClusterMapOutput

func (o ClusterMapOutput) ToClusterMapOutput() ClusterMapOutput

func (ClusterMapOutput) ToClusterMapOutputWithContext

func (o ClusterMapOutput) ToClusterMapOutputWithContext(ctx context.Context) ClusterMapOutput

type ClusterNetworking

type ClusterNetworking struct {
	// All pods in the cluster are assigned an RFC1918 IPv4 address from these
	// blocks. Only a single block is supported. This field cannot be changed
	// after creation.
	ClusterIpv4CidrBlocks []string `pulumi:"clusterIpv4CidrBlocks"`
	// If specified, dual stack mode is enabled and all pods in the cluster are
	// assigned an IPv6 address from these blocks alongside from an IPv4
	// address. Only a single block is supported. This field cannot be changed
	// after creation.
	ClusterIpv6CidrBlocks []string `pulumi:"clusterIpv6CidrBlocks"`
	// (Output)
	// IP addressing type of this cluster i.e. SINGLESTACK_V4 vs DUALSTACK_V4_V6.
	NetworkType *string `pulumi:"networkType"`
	// All services in the cluster are assigned an RFC1918 IPv4 address from these
	// blocks. Only a single block is supported. This field cannot be changed
	// after creation.
	ServicesIpv4CidrBlocks []string `pulumi:"servicesIpv4CidrBlocks"`
	// If specified, dual stack mode is enabled and all services in the cluster are
	// assigned an IPv6 address from these blocks alongside from an IPv4
	// address. Only a single block is supported. This field cannot be changed
	// after creation.
	ServicesIpv6CidrBlocks []string `pulumi:"servicesIpv6CidrBlocks"`
}

type ClusterNetworkingArgs

type ClusterNetworkingArgs struct {
	// All pods in the cluster are assigned an RFC1918 IPv4 address from these
	// blocks. Only a single block is supported. This field cannot be changed
	// after creation.
	ClusterIpv4CidrBlocks pulumi.StringArrayInput `pulumi:"clusterIpv4CidrBlocks"`
	// If specified, dual stack mode is enabled and all pods in the cluster are
	// assigned an IPv6 address from these blocks alongside from an IPv4
	// address. Only a single block is supported. This field cannot be changed
	// after creation.
	ClusterIpv6CidrBlocks pulumi.StringArrayInput `pulumi:"clusterIpv6CidrBlocks"`
	// (Output)
	// IP addressing type of this cluster i.e. SINGLESTACK_V4 vs DUALSTACK_V4_V6.
	NetworkType pulumi.StringPtrInput `pulumi:"networkType"`
	// All services in the cluster are assigned an RFC1918 IPv4 address from these
	// blocks. Only a single block is supported. This field cannot be changed
	// after creation.
	ServicesIpv4CidrBlocks pulumi.StringArrayInput `pulumi:"servicesIpv4CidrBlocks"`
	// If specified, dual stack mode is enabled and all services in the cluster are
	// assigned an IPv6 address from these blocks alongside from an IPv4
	// address. Only a single block is supported. This field cannot be changed
	// after creation.
	ServicesIpv6CidrBlocks pulumi.StringArrayInput `pulumi:"servicesIpv6CidrBlocks"`
}

func (ClusterNetworkingArgs) ElementType

func (ClusterNetworkingArgs) ElementType() reflect.Type

func (ClusterNetworkingArgs) ToClusterNetworkingOutput

func (i ClusterNetworkingArgs) ToClusterNetworkingOutput() ClusterNetworkingOutput

func (ClusterNetworkingArgs) ToClusterNetworkingOutputWithContext

func (i ClusterNetworkingArgs) ToClusterNetworkingOutputWithContext(ctx context.Context) ClusterNetworkingOutput

func (ClusterNetworkingArgs) ToClusterNetworkingPtrOutput

func (i ClusterNetworkingArgs) ToClusterNetworkingPtrOutput() ClusterNetworkingPtrOutput

func (ClusterNetworkingArgs) ToClusterNetworkingPtrOutputWithContext

func (i ClusterNetworkingArgs) ToClusterNetworkingPtrOutputWithContext(ctx context.Context) ClusterNetworkingPtrOutput

type ClusterNetworkingInput

type ClusterNetworkingInput interface {
	pulumi.Input

	ToClusterNetworkingOutput() ClusterNetworkingOutput
	ToClusterNetworkingOutputWithContext(context.Context) ClusterNetworkingOutput
}

ClusterNetworkingInput is an input type that accepts ClusterNetworkingArgs and ClusterNetworkingOutput values. You can construct a concrete instance of `ClusterNetworkingInput` via:

ClusterNetworkingArgs{...}

type ClusterNetworkingOutput

type ClusterNetworkingOutput struct{ *pulumi.OutputState }

func (ClusterNetworkingOutput) ClusterIpv4CidrBlocks

func (o ClusterNetworkingOutput) ClusterIpv4CidrBlocks() pulumi.StringArrayOutput

All pods in the cluster are assigned an RFC1918 IPv4 address from these blocks. Only a single block is supported. This field cannot be changed after creation.

func (ClusterNetworkingOutput) ClusterIpv6CidrBlocks

func (o ClusterNetworkingOutput) ClusterIpv6CidrBlocks() pulumi.StringArrayOutput

If specified, dual stack mode is enabled and all pods in the cluster are assigned an IPv6 address from these blocks alongside from an IPv4 address. Only a single block is supported. This field cannot be changed after creation.

func (ClusterNetworkingOutput) ElementType

func (ClusterNetworkingOutput) ElementType() reflect.Type

func (ClusterNetworkingOutput) NetworkType

(Output) IP addressing type of this cluster i.e. SINGLESTACK_V4 vs DUALSTACK_V4_V6.

func (ClusterNetworkingOutput) ServicesIpv4CidrBlocks

func (o ClusterNetworkingOutput) ServicesIpv4CidrBlocks() pulumi.StringArrayOutput

All services in the cluster are assigned an RFC1918 IPv4 address from these blocks. Only a single block is supported. This field cannot be changed after creation.

func (ClusterNetworkingOutput) ServicesIpv6CidrBlocks

func (o ClusterNetworkingOutput) ServicesIpv6CidrBlocks() pulumi.StringArrayOutput

If specified, dual stack mode is enabled and all services in the cluster are assigned an IPv6 address from these blocks alongside from an IPv4 address. Only a single block is supported. This field cannot be changed after creation.

func (ClusterNetworkingOutput) ToClusterNetworkingOutput

func (o ClusterNetworkingOutput) ToClusterNetworkingOutput() ClusterNetworkingOutput

func (ClusterNetworkingOutput) ToClusterNetworkingOutputWithContext

func (o ClusterNetworkingOutput) ToClusterNetworkingOutputWithContext(ctx context.Context) ClusterNetworkingOutput

func (ClusterNetworkingOutput) ToClusterNetworkingPtrOutput

func (o ClusterNetworkingOutput) ToClusterNetworkingPtrOutput() ClusterNetworkingPtrOutput

func (ClusterNetworkingOutput) ToClusterNetworkingPtrOutputWithContext

func (o ClusterNetworkingOutput) ToClusterNetworkingPtrOutputWithContext(ctx context.Context) ClusterNetworkingPtrOutput

type ClusterNetworkingPtrInput

type ClusterNetworkingPtrInput interface {
	pulumi.Input

	ToClusterNetworkingPtrOutput() ClusterNetworkingPtrOutput
	ToClusterNetworkingPtrOutputWithContext(context.Context) ClusterNetworkingPtrOutput
}

ClusterNetworkingPtrInput is an input type that accepts ClusterNetworkingArgs, ClusterNetworkingPtr and ClusterNetworkingPtrOutput values. You can construct a concrete instance of `ClusterNetworkingPtrInput` via:

        ClusterNetworkingArgs{...}

or:

        nil

type ClusterNetworkingPtrOutput

type ClusterNetworkingPtrOutput struct{ *pulumi.OutputState }

func (ClusterNetworkingPtrOutput) ClusterIpv4CidrBlocks

func (o ClusterNetworkingPtrOutput) ClusterIpv4CidrBlocks() pulumi.StringArrayOutput

All pods in the cluster are assigned an RFC1918 IPv4 address from these blocks. Only a single block is supported. This field cannot be changed after creation.

func (ClusterNetworkingPtrOutput) ClusterIpv6CidrBlocks

func (o ClusterNetworkingPtrOutput) ClusterIpv6CidrBlocks() pulumi.StringArrayOutput

If specified, dual stack mode is enabled and all pods in the cluster are assigned an IPv6 address from these blocks alongside from an IPv4 address. Only a single block is supported. This field cannot be changed after creation.

func (ClusterNetworkingPtrOutput) Elem

func (ClusterNetworkingPtrOutput) ElementType

func (ClusterNetworkingPtrOutput) ElementType() reflect.Type

func (ClusterNetworkingPtrOutput) NetworkType

(Output) IP addressing type of this cluster i.e. SINGLESTACK_V4 vs DUALSTACK_V4_V6.

func (ClusterNetworkingPtrOutput) ServicesIpv4CidrBlocks

func (o ClusterNetworkingPtrOutput) ServicesIpv4CidrBlocks() pulumi.StringArrayOutput

All services in the cluster are assigned an RFC1918 IPv4 address from these blocks. Only a single block is supported. This field cannot be changed after creation.

func (ClusterNetworkingPtrOutput) ServicesIpv6CidrBlocks

func (o ClusterNetworkingPtrOutput) ServicesIpv6CidrBlocks() pulumi.StringArrayOutput

If specified, dual stack mode is enabled and all services in the cluster are assigned an IPv6 address from these blocks alongside from an IPv4 address. Only a single block is supported. This field cannot be changed after creation.

func (ClusterNetworkingPtrOutput) ToClusterNetworkingPtrOutput

func (o ClusterNetworkingPtrOutput) ToClusterNetworkingPtrOutput() ClusterNetworkingPtrOutput

func (ClusterNetworkingPtrOutput) ToClusterNetworkingPtrOutputWithContext

func (o ClusterNetworkingPtrOutput) ToClusterNetworkingPtrOutputWithContext(ctx context.Context) ClusterNetworkingPtrOutput

type ClusterOutput

type ClusterOutput struct{ *pulumi.OutputState }

func (ClusterOutput) Authorization

func (o ClusterOutput) Authorization() ClusterAuthorizationOutput

RBAC policy that will be applied and managed by GEC. Structure is documented below.

func (ClusterOutput) ClusterCaCertificate

func (o ClusterOutput) ClusterCaCertificate() pulumi.StringOutput

The PEM-encoded public certificate of the cluster's CA. **Note**: This property is sensitive and will not be displayed in the plan.

func (ClusterOutput) ControlPlane

The configuration of the cluster control plane.

func (ClusterOutput) ControlPlaneEncryption

func (o ClusterOutput) ControlPlaneEncryption() ClusterControlPlaneEncryptionOutput

Remote control plane disk encryption options. This field is only used when enabling CMEK support.

func (ClusterOutput) ControlPlaneVersion

func (o ClusterOutput) ControlPlaneVersion() pulumi.StringOutput

The control plane release version.

func (ClusterOutput) CreateTime

func (o ClusterOutput) CreateTime() pulumi.StringOutput

(Output) The time when the maintenance event request was created.

func (ClusterOutput) DefaultMaxPodsPerNode

func (o ClusterOutput) DefaultMaxPodsPerNode() pulumi.IntOutput

The default maximum number of pods per node used if a maximum value is not specified explicitly for a node pool in this cluster. If unspecified, the Kubernetes default value will be used.

func (ClusterOutput) EffectiveLabels

func (o ClusterOutput) EffectiveLabels() pulumi.StringMapOutput

All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.

func (ClusterOutput) ElementType

func (ClusterOutput) ElementType() reflect.Type

func (ClusterOutput) Endpoint

func (o ClusterOutput) Endpoint() pulumi.StringOutput

The IP address of the Kubernetes API server.

func (ClusterOutput) ExternalLoadBalancerIpv4AddressPools

func (o ClusterOutput) ExternalLoadBalancerIpv4AddressPools() pulumi.StringArrayOutput

Address pools for cluster data plane external load balancing.

func (ClusterOutput) Fleet

Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. Structure is documented below.

func (ClusterOutput) Labels

User-defined labels for the edgecloud cluster. **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.

func (ClusterOutput) Location

func (o ClusterOutput) Location() pulumi.StringOutput

The location of the resource.

func (ClusterOutput) MaintenanceEvents

func (o ClusterOutput) MaintenanceEvents() ClusterMaintenanceEventArrayOutput

All the maintenance events scheduled for the cluster, including the ones ongoing, planned for the future and done in the past (up to 90 days). Structure is documented below.

func (ClusterOutput) MaintenancePolicy

func (o ClusterOutput) MaintenancePolicy() ClusterMaintenancePolicyOutput

Cluster-wide maintenance policy configuration.

func (ClusterOutput) Name

The GDCE cluster name.

func (ClusterOutput) Networking

func (o ClusterOutput) Networking() ClusterNetworkingOutput

Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. Structure is documented below.

func (ClusterOutput) NodeVersion

func (o ClusterOutput) NodeVersion() pulumi.StringOutput

The lowest release version among all worker nodes. This field can be empty if the cluster does not have any worker nodes.

func (ClusterOutput) Port

func (o ClusterOutput) Port() pulumi.IntOutput

The port number of the Kubernetes API server.

func (ClusterOutput) Project

func (o ClusterOutput) Project() pulumi.StringOutput

func (ClusterOutput) PulumiLabels

func (o ClusterOutput) PulumiLabels() pulumi.StringMapOutput

The combination of labels configured directly on the resource and default labels configured on the provider.

func (ClusterOutput) ReleaseChannel

func (o ClusterOutput) ReleaseChannel() pulumi.StringOutput

The release channel a cluster is subscribed to. Possible values: ["RELEASE_CHANNEL_UNSPECIFIED", "NONE", "REGULAR"]

func (ClusterOutput) Status

func (o ClusterOutput) Status() pulumi.StringOutput

Indicates the status of the cluster.

func (ClusterOutput) SystemAddonsConfig

func (o ClusterOutput) SystemAddonsConfig() ClusterSystemAddonsConfigOutput

Config that customers are allowed to define for GDCE system add-ons.

func (ClusterOutput) TargetVersion

func (o ClusterOutput) TargetVersion() pulumi.StringOutput

(Output) The target version of the cluster.

func (ClusterOutput) ToClusterOutput

func (o ClusterOutput) ToClusterOutput() ClusterOutput

func (ClusterOutput) ToClusterOutputWithContext

func (o ClusterOutput) ToClusterOutputWithContext(ctx context.Context) ClusterOutput

func (ClusterOutput) UpdateTime

func (o ClusterOutput) UpdateTime() pulumi.StringOutput

(Output) The time when the maintenance event message was updated.

type ClusterState

type ClusterState struct {
	// RBAC policy that will be applied and managed by GEC.
	// Structure is documented below.
	Authorization ClusterAuthorizationPtrInput
	// The PEM-encoded public certificate of the cluster's CA.
	// **Note**: This property is sensitive and will not be displayed in the plan.
	ClusterCaCertificate pulumi.StringPtrInput
	// The configuration of the cluster control plane.
	ControlPlane ClusterControlPlanePtrInput
	// Remote control plane disk encryption options. This field is only used when enabling CMEK support.
	ControlPlaneEncryption ClusterControlPlaneEncryptionPtrInput
	// The control plane release version.
	ControlPlaneVersion pulumi.StringPtrInput
	// (Output)
	// The time when the maintenance event request was created.
	CreateTime pulumi.StringPtrInput
	// The default maximum number of pods per node used if a maximum value is not specified explicitly for a node pool in this
	// cluster. If unspecified, the Kubernetes default value will be used.
	DefaultMaxPodsPerNode pulumi.IntPtrInput
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapInput
	// The IP address of the Kubernetes API server.
	Endpoint pulumi.StringPtrInput
	// Address pools for cluster data plane external load balancing.
	ExternalLoadBalancerIpv4AddressPools pulumi.StringArrayInput
	// Fleet related configuration.
	// Fleets are a Google Cloud concept for logically organizing clusters,
	// letting you use and manage multi-cluster capabilities and apply
	// consistent policies across your systems.
	// Structure is documented below.
	Fleet ClusterFleetPtrInput
	// User-defined labels for the edgecloud cluster. **Note**: This field is non-authoritative, and will only manage the
	// labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the
	// resource.
	Labels pulumi.StringMapInput
	// The location of the resource.
	Location pulumi.StringPtrInput
	// All the maintenance events scheduled for the cluster, including the ones
	// ongoing, planned for the future and done in the past (up to 90 days).
	// Structure is documented below.
	MaintenanceEvents ClusterMaintenanceEventArrayInput
	// Cluster-wide maintenance policy configuration.
	MaintenancePolicy ClusterMaintenancePolicyPtrInput
	// The GDCE cluster name.
	Name pulumi.StringPtrInput
	// Fleet related configuration.
	// Fleets are a Google Cloud concept for logically organizing clusters,
	// letting you use and manage multi-cluster capabilities and apply
	// consistent policies across your systems.
	// Structure is documented below.
	Networking ClusterNetworkingPtrInput
	// The lowest release version among all worker nodes. This field can be empty
	// if the cluster does not have any worker nodes.
	NodeVersion pulumi.StringPtrInput
	// The port number of the Kubernetes API server.
	Port    pulumi.IntPtrInput
	Project pulumi.StringPtrInput
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapInput
	// The release channel a cluster is subscribed to. Possible values: ["RELEASE_CHANNEL_UNSPECIFIED", "NONE", "REGULAR"]
	ReleaseChannel pulumi.StringPtrInput
	// Indicates the status of the cluster.
	Status pulumi.StringPtrInput
	// Config that customers are allowed to define for GDCE system add-ons.
	SystemAddonsConfig ClusterSystemAddonsConfigPtrInput
	// (Output)
	// The target version of the cluster.
	TargetVersion pulumi.StringPtrInput
	// (Output)
	// The time when the maintenance event message was updated.
	UpdateTime pulumi.StringPtrInput
}

func (ClusterState) ElementType

func (ClusterState) ElementType() reflect.Type

type ClusterSystemAddonsConfig

type ClusterSystemAddonsConfig struct {
	// Config for the Ingress add-on which allows customers to create an Ingress
	// object to manage external access to the servers in a cluster. The add-on
	// consists of istiod and istio-ingress.
	// Structure is documented below.
	Ingress *ClusterSystemAddonsConfigIngress `pulumi:"ingress"`
}

type ClusterSystemAddonsConfigArgs

type ClusterSystemAddonsConfigArgs struct {
	// Config for the Ingress add-on which allows customers to create an Ingress
	// object to manage external access to the servers in a cluster. The add-on
	// consists of istiod and istio-ingress.
	// Structure is documented below.
	Ingress ClusterSystemAddonsConfigIngressPtrInput `pulumi:"ingress"`
}

func (ClusterSystemAddonsConfigArgs) ElementType

func (ClusterSystemAddonsConfigArgs) ToClusterSystemAddonsConfigOutput

func (i ClusterSystemAddonsConfigArgs) ToClusterSystemAddonsConfigOutput() ClusterSystemAddonsConfigOutput

func (ClusterSystemAddonsConfigArgs) ToClusterSystemAddonsConfigOutputWithContext

func (i ClusterSystemAddonsConfigArgs) ToClusterSystemAddonsConfigOutputWithContext(ctx context.Context) ClusterSystemAddonsConfigOutput

func (ClusterSystemAddonsConfigArgs) ToClusterSystemAddonsConfigPtrOutput

func (i ClusterSystemAddonsConfigArgs) ToClusterSystemAddonsConfigPtrOutput() ClusterSystemAddonsConfigPtrOutput

func (ClusterSystemAddonsConfigArgs) ToClusterSystemAddonsConfigPtrOutputWithContext

func (i ClusterSystemAddonsConfigArgs) ToClusterSystemAddonsConfigPtrOutputWithContext(ctx context.Context) ClusterSystemAddonsConfigPtrOutput

type ClusterSystemAddonsConfigIngress

type ClusterSystemAddonsConfigIngress struct {
	// Whether Ingress is disabled.
	Disabled *bool `pulumi:"disabled"`
	// Ingress VIP.
	Ipv4Vip *string `pulumi:"ipv4Vip"`
}

type ClusterSystemAddonsConfigIngressArgs

type ClusterSystemAddonsConfigIngressArgs struct {
	// Whether Ingress is disabled.
	Disabled pulumi.BoolPtrInput `pulumi:"disabled"`
	// Ingress VIP.
	Ipv4Vip pulumi.StringPtrInput `pulumi:"ipv4Vip"`
}

func (ClusterSystemAddonsConfigIngressArgs) ElementType

func (ClusterSystemAddonsConfigIngressArgs) ToClusterSystemAddonsConfigIngressOutput

func (i ClusterSystemAddonsConfigIngressArgs) ToClusterSystemAddonsConfigIngressOutput() ClusterSystemAddonsConfigIngressOutput

func (ClusterSystemAddonsConfigIngressArgs) ToClusterSystemAddonsConfigIngressOutputWithContext

func (i ClusterSystemAddonsConfigIngressArgs) ToClusterSystemAddonsConfigIngressOutputWithContext(ctx context.Context) ClusterSystemAddonsConfigIngressOutput

func (ClusterSystemAddonsConfigIngressArgs) ToClusterSystemAddonsConfigIngressPtrOutput

func (i ClusterSystemAddonsConfigIngressArgs) ToClusterSystemAddonsConfigIngressPtrOutput() ClusterSystemAddonsConfigIngressPtrOutput

func (ClusterSystemAddonsConfigIngressArgs) ToClusterSystemAddonsConfigIngressPtrOutputWithContext

func (i ClusterSystemAddonsConfigIngressArgs) ToClusterSystemAddonsConfigIngressPtrOutputWithContext(ctx context.Context) ClusterSystemAddonsConfigIngressPtrOutput

type ClusterSystemAddonsConfigIngressInput

type ClusterSystemAddonsConfigIngressInput interface {
	pulumi.Input

	ToClusterSystemAddonsConfigIngressOutput() ClusterSystemAddonsConfigIngressOutput
	ToClusterSystemAddonsConfigIngressOutputWithContext(context.Context) ClusterSystemAddonsConfigIngressOutput
}

ClusterSystemAddonsConfigIngressInput is an input type that accepts ClusterSystemAddonsConfigIngressArgs and ClusterSystemAddonsConfigIngressOutput values. You can construct a concrete instance of `ClusterSystemAddonsConfigIngressInput` via:

ClusterSystemAddonsConfigIngressArgs{...}

type ClusterSystemAddonsConfigIngressOutput

type ClusterSystemAddonsConfigIngressOutput struct{ *pulumi.OutputState }

func (ClusterSystemAddonsConfigIngressOutput) Disabled

Whether Ingress is disabled.

func (ClusterSystemAddonsConfigIngressOutput) ElementType

func (ClusterSystemAddonsConfigIngressOutput) Ipv4Vip

Ingress VIP.

func (ClusterSystemAddonsConfigIngressOutput) ToClusterSystemAddonsConfigIngressOutput

func (o ClusterSystemAddonsConfigIngressOutput) ToClusterSystemAddonsConfigIngressOutput() ClusterSystemAddonsConfigIngressOutput

func (ClusterSystemAddonsConfigIngressOutput) ToClusterSystemAddonsConfigIngressOutputWithContext

func (o ClusterSystemAddonsConfigIngressOutput) ToClusterSystemAddonsConfigIngressOutputWithContext(ctx context.Context) ClusterSystemAddonsConfigIngressOutput

func (ClusterSystemAddonsConfigIngressOutput) ToClusterSystemAddonsConfigIngressPtrOutput

func (o ClusterSystemAddonsConfigIngressOutput) ToClusterSystemAddonsConfigIngressPtrOutput() ClusterSystemAddonsConfigIngressPtrOutput

func (ClusterSystemAddonsConfigIngressOutput) ToClusterSystemAddonsConfigIngressPtrOutputWithContext

func (o ClusterSystemAddonsConfigIngressOutput) ToClusterSystemAddonsConfigIngressPtrOutputWithContext(ctx context.Context) ClusterSystemAddonsConfigIngressPtrOutput

type ClusterSystemAddonsConfigIngressPtrInput

type ClusterSystemAddonsConfigIngressPtrInput interface {
	pulumi.Input

	ToClusterSystemAddonsConfigIngressPtrOutput() ClusterSystemAddonsConfigIngressPtrOutput
	ToClusterSystemAddonsConfigIngressPtrOutputWithContext(context.Context) ClusterSystemAddonsConfigIngressPtrOutput
}

ClusterSystemAddonsConfigIngressPtrInput is an input type that accepts ClusterSystemAddonsConfigIngressArgs, ClusterSystemAddonsConfigIngressPtr and ClusterSystemAddonsConfigIngressPtrOutput values. You can construct a concrete instance of `ClusterSystemAddonsConfigIngressPtrInput` via:

        ClusterSystemAddonsConfigIngressArgs{...}

or:

        nil

type ClusterSystemAddonsConfigIngressPtrOutput

type ClusterSystemAddonsConfigIngressPtrOutput struct{ *pulumi.OutputState }

func (ClusterSystemAddonsConfigIngressPtrOutput) Disabled

Whether Ingress is disabled.

func (ClusterSystemAddonsConfigIngressPtrOutput) Elem

func (ClusterSystemAddonsConfigIngressPtrOutput) ElementType

func (ClusterSystemAddonsConfigIngressPtrOutput) Ipv4Vip

Ingress VIP.

func (ClusterSystemAddonsConfigIngressPtrOutput) ToClusterSystemAddonsConfigIngressPtrOutput

func (o ClusterSystemAddonsConfigIngressPtrOutput) ToClusterSystemAddonsConfigIngressPtrOutput() ClusterSystemAddonsConfigIngressPtrOutput

func (ClusterSystemAddonsConfigIngressPtrOutput) ToClusterSystemAddonsConfigIngressPtrOutputWithContext

func (o ClusterSystemAddonsConfigIngressPtrOutput) ToClusterSystemAddonsConfigIngressPtrOutputWithContext(ctx context.Context) ClusterSystemAddonsConfigIngressPtrOutput

type ClusterSystemAddonsConfigInput

type ClusterSystemAddonsConfigInput interface {
	pulumi.Input

	ToClusterSystemAddonsConfigOutput() ClusterSystemAddonsConfigOutput
	ToClusterSystemAddonsConfigOutputWithContext(context.Context) ClusterSystemAddonsConfigOutput
}

ClusterSystemAddonsConfigInput is an input type that accepts ClusterSystemAddonsConfigArgs and ClusterSystemAddonsConfigOutput values. You can construct a concrete instance of `ClusterSystemAddonsConfigInput` via:

ClusterSystemAddonsConfigArgs{...}

type ClusterSystemAddonsConfigOutput

type ClusterSystemAddonsConfigOutput struct{ *pulumi.OutputState }

func (ClusterSystemAddonsConfigOutput) ElementType

func (ClusterSystemAddonsConfigOutput) Ingress

Config for the Ingress add-on which allows customers to create an Ingress object to manage external access to the servers in a cluster. The add-on consists of istiod and istio-ingress. Structure is documented below.

func (ClusterSystemAddonsConfigOutput) ToClusterSystemAddonsConfigOutput

func (o ClusterSystemAddonsConfigOutput) ToClusterSystemAddonsConfigOutput() ClusterSystemAddonsConfigOutput

func (ClusterSystemAddonsConfigOutput) ToClusterSystemAddonsConfigOutputWithContext

func (o ClusterSystemAddonsConfigOutput) ToClusterSystemAddonsConfigOutputWithContext(ctx context.Context) ClusterSystemAddonsConfigOutput

func (ClusterSystemAddonsConfigOutput) ToClusterSystemAddonsConfigPtrOutput

func (o ClusterSystemAddonsConfigOutput) ToClusterSystemAddonsConfigPtrOutput() ClusterSystemAddonsConfigPtrOutput

func (ClusterSystemAddonsConfigOutput) ToClusterSystemAddonsConfigPtrOutputWithContext

func (o ClusterSystemAddonsConfigOutput) ToClusterSystemAddonsConfigPtrOutputWithContext(ctx context.Context) ClusterSystemAddonsConfigPtrOutput

type ClusterSystemAddonsConfigPtrInput

type ClusterSystemAddonsConfigPtrInput interface {
	pulumi.Input

	ToClusterSystemAddonsConfigPtrOutput() ClusterSystemAddonsConfigPtrOutput
	ToClusterSystemAddonsConfigPtrOutputWithContext(context.Context) ClusterSystemAddonsConfigPtrOutput
}

ClusterSystemAddonsConfigPtrInput is an input type that accepts ClusterSystemAddonsConfigArgs, ClusterSystemAddonsConfigPtr and ClusterSystemAddonsConfigPtrOutput values. You can construct a concrete instance of `ClusterSystemAddonsConfigPtrInput` via:

        ClusterSystemAddonsConfigArgs{...}

or:

        nil

type ClusterSystemAddonsConfigPtrOutput

type ClusterSystemAddonsConfigPtrOutput struct{ *pulumi.OutputState }

func (ClusterSystemAddonsConfigPtrOutput) Elem

func (ClusterSystemAddonsConfigPtrOutput) ElementType

func (ClusterSystemAddonsConfigPtrOutput) Ingress

Config for the Ingress add-on which allows customers to create an Ingress object to manage external access to the servers in a cluster. The add-on consists of istiod and istio-ingress. Structure is documented below.

func (ClusterSystemAddonsConfigPtrOutput) ToClusterSystemAddonsConfigPtrOutput

func (o ClusterSystemAddonsConfigPtrOutput) ToClusterSystemAddonsConfigPtrOutput() ClusterSystemAddonsConfigPtrOutput

func (ClusterSystemAddonsConfigPtrOutput) ToClusterSystemAddonsConfigPtrOutputWithContext

func (o ClusterSystemAddonsConfigPtrOutput) ToClusterSystemAddonsConfigPtrOutputWithContext(ctx context.Context) ClusterSystemAddonsConfigPtrOutput

type NodePool

type NodePool struct {
	pulumi.CustomResourceState

	// The name of the target Distributed Cloud Edge Cluster.
	//
	// ***
	Cluster pulumi.StringOutput `pulumi:"cluster"`
	// The time when the node pool was created.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapOutput `pulumi:"effectiveLabels"`
	// Labels associated with this resource.
	// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// Local disk encryption options. This field is only used when enabling CMEK support.
	// Structure is documented below.
	LocalDiskEncryption NodePoolLocalDiskEncryptionPtrOutput `pulumi:"localDiskEncryption"`
	// The location of the resource.
	Location pulumi.StringOutput `pulumi:"location"`
	// Only machines matching this filter will be allowed to join the node pool.
	// The filtering language accepts strings like "name=<name>", and is
	// documented in more detail in [AIP-160](https://google.aip.dev/160).
	MachineFilter pulumi.StringOutput `pulumi:"machineFilter"`
	// The resource name of the node pool.
	Name pulumi.StringOutput `pulumi:"name"`
	// Configuration for each node in the NodePool
	// Structure is documented below.
	NodeConfig NodePoolNodeConfigOutput `pulumi:"nodeConfig"`
	// The number of nodes in the pool.
	NodeCount pulumi.IntOutput `pulumi:"nodeCount"`
	// Name of the Google Distributed Cloud Edge zone where this node pool will be created. For example: `us-central1-edge-customer-a`.
	NodeLocation pulumi.StringOutput `pulumi:"nodeLocation"`
	// The lowest release version among all worker nodes.
	NodeVersion pulumi.StringOutput `pulumi:"nodeVersion"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapOutput `pulumi:"pulumiLabels"`
	// The time when the node pool was last updated.
	UpdateTime pulumi.StringOutput `pulumi:"updateTime"`
}

"A set of Kubernetes nodes in a cluster with common configuration and specification."

To get more information about NodePool, see:

* [API documentation](https://cloud.google.com/distributed-cloud/edge/latest/docs/reference/container/rest/v1/projects.locations.clusters.nodePools) * How-to Guides

## Example Usage

### Edgecontainer Node Pool

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/edgecontainer"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		project, err := organizations.LookupProject(ctx, nil, nil)
		if err != nil {
			return err
		}
		cluster, err := edgecontainer.NewCluster(ctx, "cluster", &edgecontainer.ClusterArgs{
			Name:     pulumi.String("default"),
			Location: pulumi.String("us-central1"),
			Authorization: &edgecontainer.ClusterAuthorizationArgs{
				AdminUsers: &edgecontainer.ClusterAuthorizationAdminUsersArgs{
					Username: pulumi.String("admin@hashicorptest.com"),
				},
			},
			Networking: &edgecontainer.ClusterNetworkingArgs{
				ClusterIpv4CidrBlocks: pulumi.StringArray{
					pulumi.String("10.0.0.0/16"),
				},
				ServicesIpv4CidrBlocks: pulumi.StringArray{
					pulumi.String("10.1.0.0/16"),
				},
			},
			Fleet: &edgecontainer.ClusterFleetArgs{
				Project: pulumi.String(fmt.Sprintf("projects/%v", project.Number)),
			},
		})
		if err != nil {
			return err
		}
		_, err = edgecontainer.NewNodePool(ctx, "default", &edgecontainer.NodePoolArgs{
			Name:         pulumi.String("nodepool-1"),
			Cluster:      cluster.Name,
			Location:     pulumi.String("us-central1"),
			NodeLocation: pulumi.String("us-central1-edge-example-edgesite"),
			NodeCount:    pulumi.Int(3),
			Labels: pulumi.StringMap{
				"my_key":    pulumi.String("my_val"),
				"other_key": pulumi.String("other_val"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Edgecontainer Node Pool With Cmek

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/edgecontainer"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/kms"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		project, err := organizations.LookupProject(ctx, nil, nil)
		if err != nil {
			return err
		}
		cluster, err := edgecontainer.NewCluster(ctx, "cluster", &edgecontainer.ClusterArgs{
			Name:     pulumi.String("default"),
			Location: pulumi.String("us-central1"),
			Authorization: &edgecontainer.ClusterAuthorizationArgs{
				AdminUsers: &edgecontainer.ClusterAuthorizationAdminUsersArgs{
					Username: pulumi.String("admin@hashicorptest.com"),
				},
			},
			Networking: &edgecontainer.ClusterNetworkingArgs{
				ClusterIpv4CidrBlocks: pulumi.StringArray{
					pulumi.String("10.0.0.0/16"),
				},
				ServicesIpv4CidrBlocks: pulumi.StringArray{
					pulumi.String("10.1.0.0/16"),
				},
			},
			Fleet: &edgecontainer.ClusterFleetArgs{
				Project: pulumi.String(fmt.Sprintf("projects/%v", project.Number)),
			},
		})
		if err != nil {
			return err
		}
		keyRing, err := kms.NewKeyRing(ctx, "key_ring", &kms.KeyRingArgs{
			Name:     pulumi.String("keyring"),
			Location: pulumi.String("us-central1"),
		})
		if err != nil {
			return err
		}
		cryptoKeyCryptoKey, err := kms.NewCryptoKey(ctx, "crypto_key", &kms.CryptoKeyArgs{
			Name:    pulumi.String("key"),
			KeyRing: keyRing.ID(),
		})
		if err != nil {
			return err
		}
		_, err = kms.NewCryptoKeyIAMMember(ctx, "crypto_key", &kms.CryptoKeyIAMMemberArgs{
			CryptoKeyId: cryptoKeyCryptoKey.ID(),
			Role:        pulumi.String("roles/cloudkms.cryptoKeyEncrypterDecrypter"),
			Member:      pulumi.String(fmt.Sprintf("serviceAccount:service-%v@gcp-sa-edgecontainer.iam.gserviceaccount.com", project.Number)),
		})
		if err != nil {
			return err
		}
		_, err = edgecontainer.NewNodePool(ctx, "default", &edgecontainer.NodePoolArgs{
			Name:         pulumi.String("nodepool-1"),
			Cluster:      cluster.Name,
			Location:     pulumi.String("us-central1"),
			NodeLocation: pulumi.String("us-central1-edge-example-edgesite"),
			NodeCount:    pulumi.Int(3),
			LocalDiskEncryption: &edgecontainer.NodePoolLocalDiskEncryptionArgs{
				KmsKey: cryptoKeyCryptoKey.ID(),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Edgecontainer Local Control Plane Node Pool

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/edgecontainer"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		project, err := organizations.LookupProject(ctx, nil, nil)
		if err != nil {
			return err
		}
		_, err = edgecontainer.NewCluster(ctx, "default", &edgecontainer.ClusterArgs{
			Name:     pulumi.String(""),
			Location: pulumi.String("us-central1"),
			Authorization: &edgecontainer.ClusterAuthorizationArgs{
				AdminUsers: &edgecontainer.ClusterAuthorizationAdminUsersArgs{
					Username: pulumi.String("admin@hashicorptest.com"),
				},
			},
			Networking: &edgecontainer.ClusterNetworkingArgs{
				ClusterIpv4CidrBlocks: pulumi.StringArray{
					pulumi.String("10.0.0.0/16"),
				},
				ServicesIpv4CidrBlocks: pulumi.StringArray{
					pulumi.String("10.1.0.0/16"),
				},
			},
			Fleet: &edgecontainer.ClusterFleetArgs{
				Project: pulumi.String(fmt.Sprintf("projects/%v", project.Number)),
			},
			ExternalLoadBalancerIpv4AddressPools: pulumi.StringArray{
				pulumi.String("10.100.0.0-10.100.0.10"),
			},
			ControlPlane: &edgecontainer.ClusterControlPlaneArgs{
				Local: &edgecontainer.ClusterControlPlaneLocalArgs{
					NodeLocation:           pulumi.String("us-central1-edge-example-edgesite"),
					NodeCount:              pulumi.Int(1),
					MachineFilter:          pulumi.String("machine-name"),
					SharedDeploymentPolicy: pulumi.String("ALLOWED"),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = edgecontainer.NewNodePool(ctx, "default", &edgecontainer.NodePoolArgs{
			Name:         pulumi.String("nodepool-1"),
			Cluster:      pulumi.Any(cluster.Name),
			Location:     pulumi.String("us-central1"),
			NodeLocation: pulumi.String("us-central1-edge-example-edgesite"),
			NodeCount:    pulumi.Int(3),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

NodePool can be imported using any of these accepted formats:

* `projects/{{project}}/locations/{{location}}/clusters/{{cluster}}/nodePools/{{name}}`

* `{{project}}/{{location}}/{{cluster}}/{{name}}`

* `{{location}}/{{cluster}}/{{name}}`

When using the `pulumi import` command, NodePool can be imported using one of the formats above. For example:

```sh $ pulumi import gcp:edgecontainer/nodePool:NodePool default projects/{{project}}/locations/{{location}}/clusters/{{cluster}}/nodePools/{{name}} ```

```sh $ pulumi import gcp:edgecontainer/nodePool:NodePool default {{project}}/{{location}}/{{cluster}}/{{name}} ```

```sh $ pulumi import gcp:edgecontainer/nodePool:NodePool default {{location}}/{{cluster}}/{{name}} ```

func GetNodePool

func GetNodePool(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *NodePoolState, opts ...pulumi.ResourceOption) (*NodePool, error)

GetNodePool gets an existing NodePool 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 NewNodePool

func NewNodePool(ctx *pulumi.Context,
	name string, args *NodePoolArgs, opts ...pulumi.ResourceOption) (*NodePool, error)

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

func (*NodePool) ElementType

func (*NodePool) ElementType() reflect.Type

func (*NodePool) ToNodePoolOutput

func (i *NodePool) ToNodePoolOutput() NodePoolOutput

func (*NodePool) ToNodePoolOutputWithContext

func (i *NodePool) ToNodePoolOutputWithContext(ctx context.Context) NodePoolOutput

type NodePoolArgs

type NodePoolArgs struct {
	// The name of the target Distributed Cloud Edge Cluster.
	//
	// ***
	Cluster pulumi.StringInput
	// Labels associated with this resource.
	// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapInput
	// Local disk encryption options. This field is only used when enabling CMEK support.
	// Structure is documented below.
	LocalDiskEncryption NodePoolLocalDiskEncryptionPtrInput
	// The location of the resource.
	Location pulumi.StringInput
	// Only machines matching this filter will be allowed to join the node pool.
	// The filtering language accepts strings like "name=<name>", and is
	// documented in more detail in [AIP-160](https://google.aip.dev/160).
	MachineFilter pulumi.StringPtrInput
	// The resource name of the node pool.
	Name pulumi.StringPtrInput
	// Configuration for each node in the NodePool
	// Structure is documented below.
	NodeConfig NodePoolNodeConfigPtrInput
	// The number of nodes in the pool.
	NodeCount pulumi.IntInput
	// Name of the Google Distributed Cloud Edge zone where this node pool will be created. For example: `us-central1-edge-customer-a`.
	NodeLocation pulumi.StringInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
}

The set of arguments for constructing a NodePool resource.

func (NodePoolArgs) ElementType

func (NodePoolArgs) ElementType() reflect.Type

type NodePoolArray

type NodePoolArray []NodePoolInput

func (NodePoolArray) ElementType

func (NodePoolArray) ElementType() reflect.Type

func (NodePoolArray) ToNodePoolArrayOutput

func (i NodePoolArray) ToNodePoolArrayOutput() NodePoolArrayOutput

func (NodePoolArray) ToNodePoolArrayOutputWithContext

func (i NodePoolArray) ToNodePoolArrayOutputWithContext(ctx context.Context) NodePoolArrayOutput

type NodePoolArrayInput

type NodePoolArrayInput interface {
	pulumi.Input

	ToNodePoolArrayOutput() NodePoolArrayOutput
	ToNodePoolArrayOutputWithContext(context.Context) NodePoolArrayOutput
}

NodePoolArrayInput is an input type that accepts NodePoolArray and NodePoolArrayOutput values. You can construct a concrete instance of `NodePoolArrayInput` via:

NodePoolArray{ NodePoolArgs{...} }

type NodePoolArrayOutput

type NodePoolArrayOutput struct{ *pulumi.OutputState }

func (NodePoolArrayOutput) ElementType

func (NodePoolArrayOutput) ElementType() reflect.Type

func (NodePoolArrayOutput) Index

func (NodePoolArrayOutput) ToNodePoolArrayOutput

func (o NodePoolArrayOutput) ToNodePoolArrayOutput() NodePoolArrayOutput

func (NodePoolArrayOutput) ToNodePoolArrayOutputWithContext

func (o NodePoolArrayOutput) ToNodePoolArrayOutputWithContext(ctx context.Context) NodePoolArrayOutput

type NodePoolInput

type NodePoolInput interface {
	pulumi.Input

	ToNodePoolOutput() NodePoolOutput
	ToNodePoolOutputWithContext(ctx context.Context) NodePoolOutput
}

type NodePoolLocalDiskEncryption

type NodePoolLocalDiskEncryption struct {
	// The Cloud KMS CryptoKey e.g. projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey} to use for protecting node local disks.
	// If not specified, a Google-managed key will be used instead.
	KmsKey *string `pulumi:"kmsKey"`
	// (Output)
	// The Cloud KMS CryptoKeyVersion currently in use for protecting node local disks. Only applicable if kmsKey is set.
	KmsKeyActiveVersion *string `pulumi:"kmsKeyActiveVersion"`
	// (Output)
	// Availability of the Cloud KMS CryptoKey. If not KEY_AVAILABLE, then nodes may go offline as they cannot access their local data.
	// This can be caused by a lack of permissions to use the key, or if the key is disabled or deleted.
	KmsKeyState *string `pulumi:"kmsKeyState"`
}

type NodePoolLocalDiskEncryptionArgs

type NodePoolLocalDiskEncryptionArgs struct {
	// The Cloud KMS CryptoKey e.g. projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey} to use for protecting node local disks.
	// If not specified, a Google-managed key will be used instead.
	KmsKey pulumi.StringPtrInput `pulumi:"kmsKey"`
	// (Output)
	// The Cloud KMS CryptoKeyVersion currently in use for protecting node local disks. Only applicable if kmsKey is set.
	KmsKeyActiveVersion pulumi.StringPtrInput `pulumi:"kmsKeyActiveVersion"`
	// (Output)
	// Availability of the Cloud KMS CryptoKey. If not KEY_AVAILABLE, then nodes may go offline as they cannot access their local data.
	// This can be caused by a lack of permissions to use the key, or if the key is disabled or deleted.
	KmsKeyState pulumi.StringPtrInput `pulumi:"kmsKeyState"`
}

func (NodePoolLocalDiskEncryptionArgs) ElementType

func (NodePoolLocalDiskEncryptionArgs) ToNodePoolLocalDiskEncryptionOutput

func (i NodePoolLocalDiskEncryptionArgs) ToNodePoolLocalDiskEncryptionOutput() NodePoolLocalDiskEncryptionOutput

func (NodePoolLocalDiskEncryptionArgs) ToNodePoolLocalDiskEncryptionOutputWithContext

func (i NodePoolLocalDiskEncryptionArgs) ToNodePoolLocalDiskEncryptionOutputWithContext(ctx context.Context) NodePoolLocalDiskEncryptionOutput

func (NodePoolLocalDiskEncryptionArgs) ToNodePoolLocalDiskEncryptionPtrOutput

func (i NodePoolLocalDiskEncryptionArgs) ToNodePoolLocalDiskEncryptionPtrOutput() NodePoolLocalDiskEncryptionPtrOutput

func (NodePoolLocalDiskEncryptionArgs) ToNodePoolLocalDiskEncryptionPtrOutputWithContext

func (i NodePoolLocalDiskEncryptionArgs) ToNodePoolLocalDiskEncryptionPtrOutputWithContext(ctx context.Context) NodePoolLocalDiskEncryptionPtrOutput

type NodePoolLocalDiskEncryptionInput

type NodePoolLocalDiskEncryptionInput interface {
	pulumi.Input

	ToNodePoolLocalDiskEncryptionOutput() NodePoolLocalDiskEncryptionOutput
	ToNodePoolLocalDiskEncryptionOutputWithContext(context.Context) NodePoolLocalDiskEncryptionOutput
}

NodePoolLocalDiskEncryptionInput is an input type that accepts NodePoolLocalDiskEncryptionArgs and NodePoolLocalDiskEncryptionOutput values. You can construct a concrete instance of `NodePoolLocalDiskEncryptionInput` via:

NodePoolLocalDiskEncryptionArgs{...}

type NodePoolLocalDiskEncryptionOutput

type NodePoolLocalDiskEncryptionOutput struct{ *pulumi.OutputState }

func (NodePoolLocalDiskEncryptionOutput) ElementType

func (NodePoolLocalDiskEncryptionOutput) KmsKey

The Cloud KMS CryptoKey e.g. projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey} to use for protecting node local disks. If not specified, a Google-managed key will be used instead.

func (NodePoolLocalDiskEncryptionOutput) KmsKeyActiveVersion

(Output) The Cloud KMS CryptoKeyVersion currently in use for protecting node local disks. Only applicable if kmsKey is set.

func (NodePoolLocalDiskEncryptionOutput) KmsKeyState

(Output) Availability of the Cloud KMS CryptoKey. If not KEY_AVAILABLE, then nodes may go offline as they cannot access their local data. This can be caused by a lack of permissions to use the key, or if the key is disabled or deleted.

func (NodePoolLocalDiskEncryptionOutput) ToNodePoolLocalDiskEncryptionOutput

func (o NodePoolLocalDiskEncryptionOutput) ToNodePoolLocalDiskEncryptionOutput() NodePoolLocalDiskEncryptionOutput

func (NodePoolLocalDiskEncryptionOutput) ToNodePoolLocalDiskEncryptionOutputWithContext

func (o NodePoolLocalDiskEncryptionOutput) ToNodePoolLocalDiskEncryptionOutputWithContext(ctx context.Context) NodePoolLocalDiskEncryptionOutput

func (NodePoolLocalDiskEncryptionOutput) ToNodePoolLocalDiskEncryptionPtrOutput

func (o NodePoolLocalDiskEncryptionOutput) ToNodePoolLocalDiskEncryptionPtrOutput() NodePoolLocalDiskEncryptionPtrOutput

func (NodePoolLocalDiskEncryptionOutput) ToNodePoolLocalDiskEncryptionPtrOutputWithContext

func (o NodePoolLocalDiskEncryptionOutput) ToNodePoolLocalDiskEncryptionPtrOutputWithContext(ctx context.Context) NodePoolLocalDiskEncryptionPtrOutput

type NodePoolLocalDiskEncryptionPtrInput

type NodePoolLocalDiskEncryptionPtrInput interface {
	pulumi.Input

	ToNodePoolLocalDiskEncryptionPtrOutput() NodePoolLocalDiskEncryptionPtrOutput
	ToNodePoolLocalDiskEncryptionPtrOutputWithContext(context.Context) NodePoolLocalDiskEncryptionPtrOutput
}

NodePoolLocalDiskEncryptionPtrInput is an input type that accepts NodePoolLocalDiskEncryptionArgs, NodePoolLocalDiskEncryptionPtr and NodePoolLocalDiskEncryptionPtrOutput values. You can construct a concrete instance of `NodePoolLocalDiskEncryptionPtrInput` via:

        NodePoolLocalDiskEncryptionArgs{...}

or:

        nil

type NodePoolLocalDiskEncryptionPtrOutput

type NodePoolLocalDiskEncryptionPtrOutput struct{ *pulumi.OutputState }

func (NodePoolLocalDiskEncryptionPtrOutput) Elem

func (NodePoolLocalDiskEncryptionPtrOutput) ElementType

func (NodePoolLocalDiskEncryptionPtrOutput) KmsKey

The Cloud KMS CryptoKey e.g. projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey} to use for protecting node local disks. If not specified, a Google-managed key will be used instead.

func (NodePoolLocalDiskEncryptionPtrOutput) KmsKeyActiveVersion

(Output) The Cloud KMS CryptoKeyVersion currently in use for protecting node local disks. Only applicable if kmsKey is set.

func (NodePoolLocalDiskEncryptionPtrOutput) KmsKeyState

(Output) Availability of the Cloud KMS CryptoKey. If not KEY_AVAILABLE, then nodes may go offline as they cannot access their local data. This can be caused by a lack of permissions to use the key, or if the key is disabled or deleted.

func (NodePoolLocalDiskEncryptionPtrOutput) ToNodePoolLocalDiskEncryptionPtrOutput

func (o NodePoolLocalDiskEncryptionPtrOutput) ToNodePoolLocalDiskEncryptionPtrOutput() NodePoolLocalDiskEncryptionPtrOutput

func (NodePoolLocalDiskEncryptionPtrOutput) ToNodePoolLocalDiskEncryptionPtrOutputWithContext

func (o NodePoolLocalDiskEncryptionPtrOutput) ToNodePoolLocalDiskEncryptionPtrOutputWithContext(ctx context.Context) NodePoolLocalDiskEncryptionPtrOutput

type NodePoolMap

type NodePoolMap map[string]NodePoolInput

func (NodePoolMap) ElementType

func (NodePoolMap) ElementType() reflect.Type

func (NodePoolMap) ToNodePoolMapOutput

func (i NodePoolMap) ToNodePoolMapOutput() NodePoolMapOutput

func (NodePoolMap) ToNodePoolMapOutputWithContext

func (i NodePoolMap) ToNodePoolMapOutputWithContext(ctx context.Context) NodePoolMapOutput

type NodePoolMapInput

type NodePoolMapInput interface {
	pulumi.Input

	ToNodePoolMapOutput() NodePoolMapOutput
	ToNodePoolMapOutputWithContext(context.Context) NodePoolMapOutput
}

NodePoolMapInput is an input type that accepts NodePoolMap and NodePoolMapOutput values. You can construct a concrete instance of `NodePoolMapInput` via:

NodePoolMap{ "key": NodePoolArgs{...} }

type NodePoolMapOutput

type NodePoolMapOutput struct{ *pulumi.OutputState }

func (NodePoolMapOutput) ElementType

func (NodePoolMapOutput) ElementType() reflect.Type

func (NodePoolMapOutput) MapIndex

func (NodePoolMapOutput) ToNodePoolMapOutput

func (o NodePoolMapOutput) ToNodePoolMapOutput() NodePoolMapOutput

func (NodePoolMapOutput) ToNodePoolMapOutputWithContext

func (o NodePoolMapOutput) ToNodePoolMapOutputWithContext(ctx context.Context) NodePoolMapOutput

type NodePoolNodeConfig

type NodePoolNodeConfig struct {
	// "The Kubernetes node labels"
	Labels map[string]string `pulumi:"labels"`
}

type NodePoolNodeConfigArgs

type NodePoolNodeConfigArgs struct {
	// "The Kubernetes node labels"
	Labels pulumi.StringMapInput `pulumi:"labels"`
}

func (NodePoolNodeConfigArgs) ElementType

func (NodePoolNodeConfigArgs) ElementType() reflect.Type

func (NodePoolNodeConfigArgs) ToNodePoolNodeConfigOutput

func (i NodePoolNodeConfigArgs) ToNodePoolNodeConfigOutput() NodePoolNodeConfigOutput

func (NodePoolNodeConfigArgs) ToNodePoolNodeConfigOutputWithContext

func (i NodePoolNodeConfigArgs) ToNodePoolNodeConfigOutputWithContext(ctx context.Context) NodePoolNodeConfigOutput

func (NodePoolNodeConfigArgs) ToNodePoolNodeConfigPtrOutput

func (i NodePoolNodeConfigArgs) ToNodePoolNodeConfigPtrOutput() NodePoolNodeConfigPtrOutput

func (NodePoolNodeConfigArgs) ToNodePoolNodeConfigPtrOutputWithContext

func (i NodePoolNodeConfigArgs) ToNodePoolNodeConfigPtrOutputWithContext(ctx context.Context) NodePoolNodeConfigPtrOutput

type NodePoolNodeConfigInput

type NodePoolNodeConfigInput interface {
	pulumi.Input

	ToNodePoolNodeConfigOutput() NodePoolNodeConfigOutput
	ToNodePoolNodeConfigOutputWithContext(context.Context) NodePoolNodeConfigOutput
}

NodePoolNodeConfigInput is an input type that accepts NodePoolNodeConfigArgs and NodePoolNodeConfigOutput values. You can construct a concrete instance of `NodePoolNodeConfigInput` via:

NodePoolNodeConfigArgs{...}

type NodePoolNodeConfigOutput

type NodePoolNodeConfigOutput struct{ *pulumi.OutputState }

func (NodePoolNodeConfigOutput) ElementType

func (NodePoolNodeConfigOutput) ElementType() reflect.Type

func (NodePoolNodeConfigOutput) Labels

"The Kubernetes node labels"

func (NodePoolNodeConfigOutput) ToNodePoolNodeConfigOutput

func (o NodePoolNodeConfigOutput) ToNodePoolNodeConfigOutput() NodePoolNodeConfigOutput

func (NodePoolNodeConfigOutput) ToNodePoolNodeConfigOutputWithContext

func (o NodePoolNodeConfigOutput) ToNodePoolNodeConfigOutputWithContext(ctx context.Context) NodePoolNodeConfigOutput

func (NodePoolNodeConfigOutput) ToNodePoolNodeConfigPtrOutput

func (o NodePoolNodeConfigOutput) ToNodePoolNodeConfigPtrOutput() NodePoolNodeConfigPtrOutput

func (NodePoolNodeConfigOutput) ToNodePoolNodeConfigPtrOutputWithContext

func (o NodePoolNodeConfigOutput) ToNodePoolNodeConfigPtrOutputWithContext(ctx context.Context) NodePoolNodeConfigPtrOutput

type NodePoolNodeConfigPtrInput

type NodePoolNodeConfigPtrInput interface {
	pulumi.Input

	ToNodePoolNodeConfigPtrOutput() NodePoolNodeConfigPtrOutput
	ToNodePoolNodeConfigPtrOutputWithContext(context.Context) NodePoolNodeConfigPtrOutput
}

NodePoolNodeConfigPtrInput is an input type that accepts NodePoolNodeConfigArgs, NodePoolNodeConfigPtr and NodePoolNodeConfigPtrOutput values. You can construct a concrete instance of `NodePoolNodeConfigPtrInput` via:

        NodePoolNodeConfigArgs{...}

or:

        nil

type NodePoolNodeConfigPtrOutput

type NodePoolNodeConfigPtrOutput struct{ *pulumi.OutputState }

func (NodePoolNodeConfigPtrOutput) Elem

func (NodePoolNodeConfigPtrOutput) ElementType

func (NodePoolNodeConfigPtrOutput) Labels

"The Kubernetes node labels"

func (NodePoolNodeConfigPtrOutput) ToNodePoolNodeConfigPtrOutput

func (o NodePoolNodeConfigPtrOutput) ToNodePoolNodeConfigPtrOutput() NodePoolNodeConfigPtrOutput

func (NodePoolNodeConfigPtrOutput) ToNodePoolNodeConfigPtrOutputWithContext

func (o NodePoolNodeConfigPtrOutput) ToNodePoolNodeConfigPtrOutputWithContext(ctx context.Context) NodePoolNodeConfigPtrOutput

type NodePoolOutput

type NodePoolOutput struct{ *pulumi.OutputState }

func (NodePoolOutput) Cluster

func (o NodePoolOutput) Cluster() pulumi.StringOutput

The name of the target Distributed Cloud Edge Cluster.

***

func (NodePoolOutput) CreateTime

func (o NodePoolOutput) CreateTime() pulumi.StringOutput

The time when the node pool was created.

func (NodePoolOutput) EffectiveLabels

func (o NodePoolOutput) EffectiveLabels() pulumi.StringMapOutput

All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.

func (NodePoolOutput) ElementType

func (NodePoolOutput) ElementType() reflect.Type

func (NodePoolOutput) Labels

Labels associated with this resource. **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field `effectiveLabels` for all of the labels present on the resource.

func (NodePoolOutput) LocalDiskEncryption

func (o NodePoolOutput) LocalDiskEncryption() NodePoolLocalDiskEncryptionPtrOutput

Local disk encryption options. This field is only used when enabling CMEK support. Structure is documented below.

func (NodePoolOutput) Location

func (o NodePoolOutput) Location() pulumi.StringOutput

The location of the resource.

func (NodePoolOutput) MachineFilter

func (o NodePoolOutput) MachineFilter() pulumi.StringOutput

Only machines matching this filter will be allowed to join the node pool. The filtering language accepts strings like "name=<name>", and is documented in more detail in [AIP-160](https://google.aip.dev/160).

func (NodePoolOutput) Name

The resource name of the node pool.

func (NodePoolOutput) NodeConfig

Configuration for each node in the NodePool Structure is documented below.

func (NodePoolOutput) NodeCount

func (o NodePoolOutput) NodeCount() pulumi.IntOutput

The number of nodes in the pool.

func (NodePoolOutput) NodeLocation

func (o NodePoolOutput) NodeLocation() pulumi.StringOutput

Name of the Google Distributed Cloud Edge zone where this node pool will be created. For example: `us-central1-edge-customer-a`.

func (NodePoolOutput) NodeVersion

func (o NodePoolOutput) NodeVersion() pulumi.StringOutput

The lowest release version among all worker nodes.

func (NodePoolOutput) Project

func (o NodePoolOutput) Project() pulumi.StringOutput

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

func (NodePoolOutput) PulumiLabels

func (o NodePoolOutput) PulumiLabels() pulumi.StringMapOutput

The combination of labels configured directly on the resource and default labels configured on the provider.

func (NodePoolOutput) ToNodePoolOutput

func (o NodePoolOutput) ToNodePoolOutput() NodePoolOutput

func (NodePoolOutput) ToNodePoolOutputWithContext

func (o NodePoolOutput) ToNodePoolOutputWithContext(ctx context.Context) NodePoolOutput

func (NodePoolOutput) UpdateTime

func (o NodePoolOutput) UpdateTime() pulumi.StringOutput

The time when the node pool was last updated.

type NodePoolState

type NodePoolState struct {
	// The name of the target Distributed Cloud Edge Cluster.
	//
	// ***
	Cluster pulumi.StringPtrInput
	// The time when the node pool was created.
	CreateTime pulumi.StringPtrInput
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapInput
	// Labels associated with this resource.
	// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapInput
	// Local disk encryption options. This field is only used when enabling CMEK support.
	// Structure is documented below.
	LocalDiskEncryption NodePoolLocalDiskEncryptionPtrInput
	// The location of the resource.
	Location pulumi.StringPtrInput
	// Only machines matching this filter will be allowed to join the node pool.
	// The filtering language accepts strings like "name=<name>", and is
	// documented in more detail in [AIP-160](https://google.aip.dev/160).
	MachineFilter pulumi.StringPtrInput
	// The resource name of the node pool.
	Name pulumi.StringPtrInput
	// Configuration for each node in the NodePool
	// Structure is documented below.
	NodeConfig NodePoolNodeConfigPtrInput
	// The number of nodes in the pool.
	NodeCount pulumi.IntPtrInput
	// Name of the Google Distributed Cloud Edge zone where this node pool will be created. For example: `us-central1-edge-customer-a`.
	NodeLocation pulumi.StringPtrInput
	// The lowest release version among all worker nodes.
	NodeVersion pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapInput
	// The time when the node pool was last updated.
	UpdateTime pulumi.StringPtrInput
}

func (NodePoolState) ElementType

func (NodePoolState) ElementType() reflect.Type

type VpnConnection

type VpnConnection struct {
	pulumi.CustomResourceState

	// The canonical Cluster name to connect to. It is in the form of projects/{project}/locations/{location}/clusters/{cluster}.
	Cluster pulumi.StringOutput `pulumi:"cluster"`
	// The time when the VPN connection was created.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// A nested object resource
	// Structure is documented below.
	Details VpnConnectionDetailArrayOutput `pulumi:"details"`
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapOutput `pulumi:"effectiveLabels"`
	// Whether this VPN connection has HA enabled on cluster side. If enabled, when creating VPN connection we will attempt to use 2 ANG floating IPs.
	EnableHighAvailability pulumi.BoolOutput `pulumi:"enableHighAvailability"`
	// Labels associated with this resource.
	// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// Google Cloud Platform location.
	//
	// ***
	Location pulumi.StringOutput `pulumi:"location"`
	// The resource name of VPN connection
	Name pulumi.StringOutput `pulumi:"name"`
	// NAT gateway IP, or WAN IP address. If a customer has multiple NAT IPs, the customer needs to configure NAT such that only one external IP maps to the GMEC Anthos cluster.
	// This is empty if NAT is not used.
	NatGatewayIp pulumi.StringPtrOutput `pulumi:"natGatewayIp"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapOutput `pulumi:"pulumiLabels"`
	// The VPN connection Cloud Router name.
	Router pulumi.StringPtrOutput `pulumi:"router"`
	// The time when the VPN connection was last updated.
	UpdateTime pulumi.StringOutput `pulumi:"updateTime"`
	// The network ID of VPC to connect to.
	Vpc pulumi.StringPtrOutput `pulumi:"vpc"`
	// Project detail of the VPC network. Required if VPC is in a different project than the cluster project.
	// Structure is documented below.
	VpcProject VpnConnectionVpcProjectPtrOutput `pulumi:"vpcProject"`
}

A VPN connection

To get more information about VpnConnection, see:

* [API documentation](https://cloud.google.com/distributed-cloud/edge/latest/docs/reference/container/rest/v1/projects.locations.vpnConnections) * How-to Guides

## Example Usage

### Edgecontainer Vpn Connection

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/edgecontainer"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		project, err := organizations.LookupProject(ctx, nil, nil)
		if err != nil {
			return err
		}
		cluster, err := edgecontainer.NewCluster(ctx, "cluster", &edgecontainer.ClusterArgs{
			Name:     pulumi.String("default"),
			Location: pulumi.String("us-central1"),
			Authorization: &edgecontainer.ClusterAuthorizationArgs{
				AdminUsers: &edgecontainer.ClusterAuthorizationAdminUsersArgs{
					Username: pulumi.String("admin@hashicorptest.com"),
				},
			},
			Networking: &edgecontainer.ClusterNetworkingArgs{
				ClusterIpv4CidrBlocks: pulumi.StringArray{
					pulumi.String("10.0.0.0/16"),
				},
				ServicesIpv4CidrBlocks: pulumi.StringArray{
					pulumi.String("10.1.0.0/16"),
				},
			},
			Fleet: &edgecontainer.ClusterFleetArgs{
				Project: pulumi.String(fmt.Sprintf("projects/%v", project.Number)),
			},
		})
		if err != nil {
			return err
		}
		_, err = edgecontainer.NewNodePool(ctx, "node_pool", &edgecontainer.NodePoolArgs{
			Name:         pulumi.String("nodepool-1"),
			Cluster:      cluster.Name,
			Location:     pulumi.String("us-central1"),
			NodeLocation: pulumi.String("us-central1-edge-example-edgesite"),
			NodeCount:    pulumi.Int(3),
		})
		if err != nil {
			return err
		}
		vpc, err := compute.NewNetwork(ctx, "vpc", &compute.NetworkArgs{
			Name: pulumi.String("example-vpc"),
		})
		if err != nil {
			return err
		}
		_, err = edgecontainer.NewVpnConnection(ctx, "default", &edgecontainer.VpnConnectionArgs{
			Name:     pulumi.String("vpn-connection-1"),
			Location: pulumi.String("us-central1"),
			Cluster: cluster.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("projects/%v/locations/us-east1/clusters/%v", project.Number, name), nil
			}).(pulumi.StringOutput),
			Vpc:                    vpc.Name,
			EnableHighAvailability: pulumi.Bool(true),
			Labels: pulumi.StringMap{
				"my_key":    pulumi.String("my_val"),
				"other_key": pulumi.String("other_val"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VpnConnection can be imported using any of these accepted formats:

* `projects/{{project}}/locations/{{location}}/vpnConnections/{{name}}`

* `{{project}}/{{location}}/{{name}}`

* `{{location}}/{{name}}`

When using the `pulumi import` command, VpnConnection can be imported using one of the formats above. For example:

```sh $ pulumi import gcp:edgecontainer/vpnConnection:VpnConnection default projects/{{project}}/locations/{{location}}/vpnConnections/{{name}} ```

```sh $ pulumi import gcp:edgecontainer/vpnConnection:VpnConnection default {{project}}/{{location}}/{{name}} ```

```sh $ pulumi import gcp:edgecontainer/vpnConnection:VpnConnection default {{location}}/{{name}} ```

func GetVpnConnection

func GetVpnConnection(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VpnConnectionState, opts ...pulumi.ResourceOption) (*VpnConnection, error)

GetVpnConnection gets an existing VpnConnection 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 NewVpnConnection

func NewVpnConnection(ctx *pulumi.Context,
	name string, args *VpnConnectionArgs, opts ...pulumi.ResourceOption) (*VpnConnection, error)

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

func (*VpnConnection) ElementType

func (*VpnConnection) ElementType() reflect.Type

func (*VpnConnection) ToVpnConnectionOutput

func (i *VpnConnection) ToVpnConnectionOutput() VpnConnectionOutput

func (*VpnConnection) ToVpnConnectionOutputWithContext

func (i *VpnConnection) ToVpnConnectionOutputWithContext(ctx context.Context) VpnConnectionOutput

type VpnConnectionArgs

type VpnConnectionArgs struct {
	// The canonical Cluster name to connect to. It is in the form of projects/{project}/locations/{location}/clusters/{cluster}.
	Cluster pulumi.StringInput
	// Whether this VPN connection has HA enabled on cluster side. If enabled, when creating VPN connection we will attempt to use 2 ANG floating IPs.
	EnableHighAvailability pulumi.BoolPtrInput
	// Labels associated with this resource.
	// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapInput
	// Google Cloud Platform location.
	//
	// ***
	Location pulumi.StringInput
	// The resource name of VPN connection
	Name pulumi.StringPtrInput
	// NAT gateway IP, or WAN IP address. If a customer has multiple NAT IPs, the customer needs to configure NAT such that only one external IP maps to the GMEC Anthos cluster.
	// This is empty if NAT is not used.
	NatGatewayIp pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// The VPN connection Cloud Router name.
	Router pulumi.StringPtrInput
	// The network ID of VPC to connect to.
	Vpc pulumi.StringPtrInput
	// Project detail of the VPC network. Required if VPC is in a different project than the cluster project.
	// Structure is documented below.
	VpcProject VpnConnectionVpcProjectPtrInput
}

The set of arguments for constructing a VpnConnection resource.

func (VpnConnectionArgs) ElementType

func (VpnConnectionArgs) ElementType() reflect.Type

type VpnConnectionArray

type VpnConnectionArray []VpnConnectionInput

func (VpnConnectionArray) ElementType

func (VpnConnectionArray) ElementType() reflect.Type

func (VpnConnectionArray) ToVpnConnectionArrayOutput

func (i VpnConnectionArray) ToVpnConnectionArrayOutput() VpnConnectionArrayOutput

func (VpnConnectionArray) ToVpnConnectionArrayOutputWithContext

func (i VpnConnectionArray) ToVpnConnectionArrayOutputWithContext(ctx context.Context) VpnConnectionArrayOutput

type VpnConnectionArrayInput

type VpnConnectionArrayInput interface {
	pulumi.Input

	ToVpnConnectionArrayOutput() VpnConnectionArrayOutput
	ToVpnConnectionArrayOutputWithContext(context.Context) VpnConnectionArrayOutput
}

VpnConnectionArrayInput is an input type that accepts VpnConnectionArray and VpnConnectionArrayOutput values. You can construct a concrete instance of `VpnConnectionArrayInput` via:

VpnConnectionArray{ VpnConnectionArgs{...} }

type VpnConnectionArrayOutput

type VpnConnectionArrayOutput struct{ *pulumi.OutputState }

func (VpnConnectionArrayOutput) ElementType

func (VpnConnectionArrayOutput) ElementType() reflect.Type

func (VpnConnectionArrayOutput) Index

func (VpnConnectionArrayOutput) ToVpnConnectionArrayOutput

func (o VpnConnectionArrayOutput) ToVpnConnectionArrayOutput() VpnConnectionArrayOutput

func (VpnConnectionArrayOutput) ToVpnConnectionArrayOutputWithContext

func (o VpnConnectionArrayOutput) ToVpnConnectionArrayOutputWithContext(ctx context.Context) VpnConnectionArrayOutput

type VpnConnectionDetail

type VpnConnectionDetail struct {
	// (Output)
	// The Cloud Router info.
	// Structure is documented below.
	CloudRouters []VpnConnectionDetailCloudRouter `pulumi:"cloudRouters"`
	// (Output)
	// Each connection has multiple Cloud VPN gateways.
	// Structure is documented below.
	CloudVpns []VpnConnectionDetailCloudVpn `pulumi:"cloudVpns"`
	// (Output)
	// The error message. This is only populated when state=ERROR.
	Error *string `pulumi:"error"`
	// (Output)
	// The current connection state.
	State *string `pulumi:"state"`
}

type VpnConnectionDetailArgs

type VpnConnectionDetailArgs struct {
	// (Output)
	// The Cloud Router info.
	// Structure is documented below.
	CloudRouters VpnConnectionDetailCloudRouterArrayInput `pulumi:"cloudRouters"`
	// (Output)
	// Each connection has multiple Cloud VPN gateways.
	// Structure is documented below.
	CloudVpns VpnConnectionDetailCloudVpnArrayInput `pulumi:"cloudVpns"`
	// (Output)
	// The error message. This is only populated when state=ERROR.
	Error pulumi.StringPtrInput `pulumi:"error"`
	// (Output)
	// The current connection state.
	State pulumi.StringPtrInput `pulumi:"state"`
}

func (VpnConnectionDetailArgs) ElementType

func (VpnConnectionDetailArgs) ElementType() reflect.Type

func (VpnConnectionDetailArgs) ToVpnConnectionDetailOutput

func (i VpnConnectionDetailArgs) ToVpnConnectionDetailOutput() VpnConnectionDetailOutput

func (VpnConnectionDetailArgs) ToVpnConnectionDetailOutputWithContext

func (i VpnConnectionDetailArgs) ToVpnConnectionDetailOutputWithContext(ctx context.Context) VpnConnectionDetailOutput

type VpnConnectionDetailArray

type VpnConnectionDetailArray []VpnConnectionDetailInput

func (VpnConnectionDetailArray) ElementType

func (VpnConnectionDetailArray) ElementType() reflect.Type

func (VpnConnectionDetailArray) ToVpnConnectionDetailArrayOutput

func (i VpnConnectionDetailArray) ToVpnConnectionDetailArrayOutput() VpnConnectionDetailArrayOutput

func (VpnConnectionDetailArray) ToVpnConnectionDetailArrayOutputWithContext

func (i VpnConnectionDetailArray) ToVpnConnectionDetailArrayOutputWithContext(ctx context.Context) VpnConnectionDetailArrayOutput

type VpnConnectionDetailArrayInput

type VpnConnectionDetailArrayInput interface {
	pulumi.Input

	ToVpnConnectionDetailArrayOutput() VpnConnectionDetailArrayOutput
	ToVpnConnectionDetailArrayOutputWithContext(context.Context) VpnConnectionDetailArrayOutput
}

VpnConnectionDetailArrayInput is an input type that accepts VpnConnectionDetailArray and VpnConnectionDetailArrayOutput values. You can construct a concrete instance of `VpnConnectionDetailArrayInput` via:

VpnConnectionDetailArray{ VpnConnectionDetailArgs{...} }

type VpnConnectionDetailArrayOutput

type VpnConnectionDetailArrayOutput struct{ *pulumi.OutputState }

func (VpnConnectionDetailArrayOutput) ElementType

func (VpnConnectionDetailArrayOutput) Index

func (VpnConnectionDetailArrayOutput) ToVpnConnectionDetailArrayOutput

func (o VpnConnectionDetailArrayOutput) ToVpnConnectionDetailArrayOutput() VpnConnectionDetailArrayOutput

func (VpnConnectionDetailArrayOutput) ToVpnConnectionDetailArrayOutputWithContext

func (o VpnConnectionDetailArrayOutput) ToVpnConnectionDetailArrayOutputWithContext(ctx context.Context) VpnConnectionDetailArrayOutput

type VpnConnectionDetailCloudRouter

type VpnConnectionDetailCloudRouter struct {
	// The resource name of VPN connection
	Name *string `pulumi:"name"`
}

type VpnConnectionDetailCloudRouterArgs

type VpnConnectionDetailCloudRouterArgs struct {
	// The resource name of VPN connection
	Name pulumi.StringPtrInput `pulumi:"name"`
}

func (VpnConnectionDetailCloudRouterArgs) ElementType

func (VpnConnectionDetailCloudRouterArgs) ToVpnConnectionDetailCloudRouterOutput

func (i VpnConnectionDetailCloudRouterArgs) ToVpnConnectionDetailCloudRouterOutput() VpnConnectionDetailCloudRouterOutput

func (VpnConnectionDetailCloudRouterArgs) ToVpnConnectionDetailCloudRouterOutputWithContext

func (i VpnConnectionDetailCloudRouterArgs) ToVpnConnectionDetailCloudRouterOutputWithContext(ctx context.Context) VpnConnectionDetailCloudRouterOutput

type VpnConnectionDetailCloudRouterArray

type VpnConnectionDetailCloudRouterArray []VpnConnectionDetailCloudRouterInput

func (VpnConnectionDetailCloudRouterArray) ElementType

func (VpnConnectionDetailCloudRouterArray) ToVpnConnectionDetailCloudRouterArrayOutput

func (i VpnConnectionDetailCloudRouterArray) ToVpnConnectionDetailCloudRouterArrayOutput() VpnConnectionDetailCloudRouterArrayOutput

func (VpnConnectionDetailCloudRouterArray) ToVpnConnectionDetailCloudRouterArrayOutputWithContext

func (i VpnConnectionDetailCloudRouterArray) ToVpnConnectionDetailCloudRouterArrayOutputWithContext(ctx context.Context) VpnConnectionDetailCloudRouterArrayOutput

type VpnConnectionDetailCloudRouterArrayInput

type VpnConnectionDetailCloudRouterArrayInput interface {
	pulumi.Input

	ToVpnConnectionDetailCloudRouterArrayOutput() VpnConnectionDetailCloudRouterArrayOutput
	ToVpnConnectionDetailCloudRouterArrayOutputWithContext(context.Context) VpnConnectionDetailCloudRouterArrayOutput
}

VpnConnectionDetailCloudRouterArrayInput is an input type that accepts VpnConnectionDetailCloudRouterArray and VpnConnectionDetailCloudRouterArrayOutput values. You can construct a concrete instance of `VpnConnectionDetailCloudRouterArrayInput` via:

VpnConnectionDetailCloudRouterArray{ VpnConnectionDetailCloudRouterArgs{...} }

type VpnConnectionDetailCloudRouterArrayOutput

type VpnConnectionDetailCloudRouterArrayOutput struct{ *pulumi.OutputState }

func (VpnConnectionDetailCloudRouterArrayOutput) ElementType

func (VpnConnectionDetailCloudRouterArrayOutput) Index

func (VpnConnectionDetailCloudRouterArrayOutput) ToVpnConnectionDetailCloudRouterArrayOutput

func (o VpnConnectionDetailCloudRouterArrayOutput) ToVpnConnectionDetailCloudRouterArrayOutput() VpnConnectionDetailCloudRouterArrayOutput

func (VpnConnectionDetailCloudRouterArrayOutput) ToVpnConnectionDetailCloudRouterArrayOutputWithContext

func (o VpnConnectionDetailCloudRouterArrayOutput) ToVpnConnectionDetailCloudRouterArrayOutputWithContext(ctx context.Context) VpnConnectionDetailCloudRouterArrayOutput

type VpnConnectionDetailCloudRouterInput

type VpnConnectionDetailCloudRouterInput interface {
	pulumi.Input

	ToVpnConnectionDetailCloudRouterOutput() VpnConnectionDetailCloudRouterOutput
	ToVpnConnectionDetailCloudRouterOutputWithContext(context.Context) VpnConnectionDetailCloudRouterOutput
}

VpnConnectionDetailCloudRouterInput is an input type that accepts VpnConnectionDetailCloudRouterArgs and VpnConnectionDetailCloudRouterOutput values. You can construct a concrete instance of `VpnConnectionDetailCloudRouterInput` via:

VpnConnectionDetailCloudRouterArgs{...}

type VpnConnectionDetailCloudRouterOutput

type VpnConnectionDetailCloudRouterOutput struct{ *pulumi.OutputState }

func (VpnConnectionDetailCloudRouterOutput) ElementType

func (VpnConnectionDetailCloudRouterOutput) Name

The resource name of VPN connection

func (VpnConnectionDetailCloudRouterOutput) ToVpnConnectionDetailCloudRouterOutput

func (o VpnConnectionDetailCloudRouterOutput) ToVpnConnectionDetailCloudRouterOutput() VpnConnectionDetailCloudRouterOutput

func (VpnConnectionDetailCloudRouterOutput) ToVpnConnectionDetailCloudRouterOutputWithContext

func (o VpnConnectionDetailCloudRouterOutput) ToVpnConnectionDetailCloudRouterOutputWithContext(ctx context.Context) VpnConnectionDetailCloudRouterOutput

type VpnConnectionDetailCloudVpn

type VpnConnectionDetailCloudVpn struct {
	// (Output)
	// The created Cloud VPN gateway name.
	Gateway *string `pulumi:"gateway"`
}

type VpnConnectionDetailCloudVpnArgs

type VpnConnectionDetailCloudVpnArgs struct {
	// (Output)
	// The created Cloud VPN gateway name.
	Gateway pulumi.StringPtrInput `pulumi:"gateway"`
}

func (VpnConnectionDetailCloudVpnArgs) ElementType

func (VpnConnectionDetailCloudVpnArgs) ToVpnConnectionDetailCloudVpnOutput

func (i VpnConnectionDetailCloudVpnArgs) ToVpnConnectionDetailCloudVpnOutput() VpnConnectionDetailCloudVpnOutput

func (VpnConnectionDetailCloudVpnArgs) ToVpnConnectionDetailCloudVpnOutputWithContext

func (i VpnConnectionDetailCloudVpnArgs) ToVpnConnectionDetailCloudVpnOutputWithContext(ctx context.Context) VpnConnectionDetailCloudVpnOutput

type VpnConnectionDetailCloudVpnArray

type VpnConnectionDetailCloudVpnArray []VpnConnectionDetailCloudVpnInput

func (VpnConnectionDetailCloudVpnArray) ElementType

func (VpnConnectionDetailCloudVpnArray) ToVpnConnectionDetailCloudVpnArrayOutput

func (i VpnConnectionDetailCloudVpnArray) ToVpnConnectionDetailCloudVpnArrayOutput() VpnConnectionDetailCloudVpnArrayOutput

func (VpnConnectionDetailCloudVpnArray) ToVpnConnectionDetailCloudVpnArrayOutputWithContext

func (i VpnConnectionDetailCloudVpnArray) ToVpnConnectionDetailCloudVpnArrayOutputWithContext(ctx context.Context) VpnConnectionDetailCloudVpnArrayOutput

type VpnConnectionDetailCloudVpnArrayInput

type VpnConnectionDetailCloudVpnArrayInput interface {
	pulumi.Input

	ToVpnConnectionDetailCloudVpnArrayOutput() VpnConnectionDetailCloudVpnArrayOutput
	ToVpnConnectionDetailCloudVpnArrayOutputWithContext(context.Context) VpnConnectionDetailCloudVpnArrayOutput
}

VpnConnectionDetailCloudVpnArrayInput is an input type that accepts VpnConnectionDetailCloudVpnArray and VpnConnectionDetailCloudVpnArrayOutput values. You can construct a concrete instance of `VpnConnectionDetailCloudVpnArrayInput` via:

VpnConnectionDetailCloudVpnArray{ VpnConnectionDetailCloudVpnArgs{...} }

type VpnConnectionDetailCloudVpnArrayOutput

type VpnConnectionDetailCloudVpnArrayOutput struct{ *pulumi.OutputState }

func (VpnConnectionDetailCloudVpnArrayOutput) ElementType

func (VpnConnectionDetailCloudVpnArrayOutput) Index

func (VpnConnectionDetailCloudVpnArrayOutput) ToVpnConnectionDetailCloudVpnArrayOutput

func (o VpnConnectionDetailCloudVpnArrayOutput) ToVpnConnectionDetailCloudVpnArrayOutput() VpnConnectionDetailCloudVpnArrayOutput

func (VpnConnectionDetailCloudVpnArrayOutput) ToVpnConnectionDetailCloudVpnArrayOutputWithContext

func (o VpnConnectionDetailCloudVpnArrayOutput) ToVpnConnectionDetailCloudVpnArrayOutputWithContext(ctx context.Context) VpnConnectionDetailCloudVpnArrayOutput

type VpnConnectionDetailCloudVpnInput

type VpnConnectionDetailCloudVpnInput interface {
	pulumi.Input

	ToVpnConnectionDetailCloudVpnOutput() VpnConnectionDetailCloudVpnOutput
	ToVpnConnectionDetailCloudVpnOutputWithContext(context.Context) VpnConnectionDetailCloudVpnOutput
}

VpnConnectionDetailCloudVpnInput is an input type that accepts VpnConnectionDetailCloudVpnArgs and VpnConnectionDetailCloudVpnOutput values. You can construct a concrete instance of `VpnConnectionDetailCloudVpnInput` via:

VpnConnectionDetailCloudVpnArgs{...}

type VpnConnectionDetailCloudVpnOutput

type VpnConnectionDetailCloudVpnOutput struct{ *pulumi.OutputState }

func (VpnConnectionDetailCloudVpnOutput) ElementType

func (VpnConnectionDetailCloudVpnOutput) Gateway

(Output) The created Cloud VPN gateway name.

func (VpnConnectionDetailCloudVpnOutput) ToVpnConnectionDetailCloudVpnOutput

func (o VpnConnectionDetailCloudVpnOutput) ToVpnConnectionDetailCloudVpnOutput() VpnConnectionDetailCloudVpnOutput

func (VpnConnectionDetailCloudVpnOutput) ToVpnConnectionDetailCloudVpnOutputWithContext

func (o VpnConnectionDetailCloudVpnOutput) ToVpnConnectionDetailCloudVpnOutputWithContext(ctx context.Context) VpnConnectionDetailCloudVpnOutput

type VpnConnectionDetailInput

type VpnConnectionDetailInput interface {
	pulumi.Input

	ToVpnConnectionDetailOutput() VpnConnectionDetailOutput
	ToVpnConnectionDetailOutputWithContext(context.Context) VpnConnectionDetailOutput
}

VpnConnectionDetailInput is an input type that accepts VpnConnectionDetailArgs and VpnConnectionDetailOutput values. You can construct a concrete instance of `VpnConnectionDetailInput` via:

VpnConnectionDetailArgs{...}

type VpnConnectionDetailOutput

type VpnConnectionDetailOutput struct{ *pulumi.OutputState }

func (VpnConnectionDetailOutput) CloudRouters

(Output) The Cloud Router info. Structure is documented below.

func (VpnConnectionDetailOutput) CloudVpns

(Output) Each connection has multiple Cloud VPN gateways. Structure is documented below.

func (VpnConnectionDetailOutput) ElementType

func (VpnConnectionDetailOutput) ElementType() reflect.Type

func (VpnConnectionDetailOutput) Error

(Output) The error message. This is only populated when state=ERROR.

func (VpnConnectionDetailOutput) State

(Output) The current connection state.

func (VpnConnectionDetailOutput) ToVpnConnectionDetailOutput

func (o VpnConnectionDetailOutput) ToVpnConnectionDetailOutput() VpnConnectionDetailOutput

func (VpnConnectionDetailOutput) ToVpnConnectionDetailOutputWithContext

func (o VpnConnectionDetailOutput) ToVpnConnectionDetailOutputWithContext(ctx context.Context) VpnConnectionDetailOutput

type VpnConnectionInput

type VpnConnectionInput interface {
	pulumi.Input

	ToVpnConnectionOutput() VpnConnectionOutput
	ToVpnConnectionOutputWithContext(ctx context.Context) VpnConnectionOutput
}

type VpnConnectionMap

type VpnConnectionMap map[string]VpnConnectionInput

func (VpnConnectionMap) ElementType

func (VpnConnectionMap) ElementType() reflect.Type

func (VpnConnectionMap) ToVpnConnectionMapOutput

func (i VpnConnectionMap) ToVpnConnectionMapOutput() VpnConnectionMapOutput

func (VpnConnectionMap) ToVpnConnectionMapOutputWithContext

func (i VpnConnectionMap) ToVpnConnectionMapOutputWithContext(ctx context.Context) VpnConnectionMapOutput

type VpnConnectionMapInput

type VpnConnectionMapInput interface {
	pulumi.Input

	ToVpnConnectionMapOutput() VpnConnectionMapOutput
	ToVpnConnectionMapOutputWithContext(context.Context) VpnConnectionMapOutput
}

VpnConnectionMapInput is an input type that accepts VpnConnectionMap and VpnConnectionMapOutput values. You can construct a concrete instance of `VpnConnectionMapInput` via:

VpnConnectionMap{ "key": VpnConnectionArgs{...} }

type VpnConnectionMapOutput

type VpnConnectionMapOutput struct{ *pulumi.OutputState }

func (VpnConnectionMapOutput) ElementType

func (VpnConnectionMapOutput) ElementType() reflect.Type

func (VpnConnectionMapOutput) MapIndex

func (VpnConnectionMapOutput) ToVpnConnectionMapOutput

func (o VpnConnectionMapOutput) ToVpnConnectionMapOutput() VpnConnectionMapOutput

func (VpnConnectionMapOutput) ToVpnConnectionMapOutputWithContext

func (o VpnConnectionMapOutput) ToVpnConnectionMapOutputWithContext(ctx context.Context) VpnConnectionMapOutput

type VpnConnectionOutput

type VpnConnectionOutput struct{ *pulumi.OutputState }

func (VpnConnectionOutput) Cluster

The canonical Cluster name to connect to. It is in the form of projects/{project}/locations/{location}/clusters/{cluster}.

func (VpnConnectionOutput) CreateTime

func (o VpnConnectionOutput) CreateTime() pulumi.StringOutput

The time when the VPN connection was created.

func (VpnConnectionOutput) Details

A nested object resource Structure is documented below.

func (VpnConnectionOutput) EffectiveLabels

func (o VpnConnectionOutput) EffectiveLabels() pulumi.StringMapOutput

All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.

func (VpnConnectionOutput) ElementType

func (VpnConnectionOutput) ElementType() reflect.Type

func (VpnConnectionOutput) EnableHighAvailability

func (o VpnConnectionOutput) EnableHighAvailability() pulumi.BoolOutput

Whether this VPN connection has HA enabled on cluster side. If enabled, when creating VPN connection we will attempt to use 2 ANG floating IPs.

func (VpnConnectionOutput) Labels

Labels associated with this resource. **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field `effectiveLabels` for all of the labels present on the resource.

func (VpnConnectionOutput) Location

Google Cloud Platform location.

***

func (VpnConnectionOutput) Name

The resource name of VPN connection

func (VpnConnectionOutput) NatGatewayIp

func (o VpnConnectionOutput) NatGatewayIp() pulumi.StringPtrOutput

NAT gateway IP, or WAN IP address. If a customer has multiple NAT IPs, the customer needs to configure NAT such that only one external IP maps to the GMEC Anthos cluster. This is empty if NAT is not used.

func (VpnConnectionOutput) Project

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

func (VpnConnectionOutput) PulumiLabels

func (o VpnConnectionOutput) PulumiLabels() pulumi.StringMapOutput

The combination of labels configured directly on the resource and default labels configured on the provider.

func (VpnConnectionOutput) Router

The VPN connection Cloud Router name.

func (VpnConnectionOutput) ToVpnConnectionOutput

func (o VpnConnectionOutput) ToVpnConnectionOutput() VpnConnectionOutput

func (VpnConnectionOutput) ToVpnConnectionOutputWithContext

func (o VpnConnectionOutput) ToVpnConnectionOutputWithContext(ctx context.Context) VpnConnectionOutput

func (VpnConnectionOutput) UpdateTime

func (o VpnConnectionOutput) UpdateTime() pulumi.StringOutput

The time when the VPN connection was last updated.

func (VpnConnectionOutput) Vpc

The network ID of VPC to connect to.

func (VpnConnectionOutput) VpcProject

Project detail of the VPC network. Required if VPC is in a different project than the cluster project. Structure is documented below.

type VpnConnectionState

type VpnConnectionState struct {
	// The canonical Cluster name to connect to. It is in the form of projects/{project}/locations/{location}/clusters/{cluster}.
	Cluster pulumi.StringPtrInput
	// The time when the VPN connection was created.
	CreateTime pulumi.StringPtrInput
	// A nested object resource
	// Structure is documented below.
	Details VpnConnectionDetailArrayInput
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapInput
	// Whether this VPN connection has HA enabled on cluster side. If enabled, when creating VPN connection we will attempt to use 2 ANG floating IPs.
	EnableHighAvailability pulumi.BoolPtrInput
	// Labels associated with this resource.
	// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapInput
	// Google Cloud Platform location.
	//
	// ***
	Location pulumi.StringPtrInput
	// The resource name of VPN connection
	Name pulumi.StringPtrInput
	// NAT gateway IP, or WAN IP address. If a customer has multiple NAT IPs, the customer needs to configure NAT such that only one external IP maps to the GMEC Anthos cluster.
	// This is empty if NAT is not used.
	NatGatewayIp pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapInput
	// The VPN connection Cloud Router name.
	Router pulumi.StringPtrInput
	// The time when the VPN connection was last updated.
	UpdateTime pulumi.StringPtrInput
	// The network ID of VPC to connect to.
	Vpc pulumi.StringPtrInput
	// Project detail of the VPC network. Required if VPC is in a different project than the cluster project.
	// Structure is documented below.
	VpcProject VpnConnectionVpcProjectPtrInput
}

func (VpnConnectionState) ElementType

func (VpnConnectionState) ElementType() reflect.Type

type VpnConnectionVpcProject

type VpnConnectionVpcProject struct {
	// The project of the VPC to connect to. If not specified, it is the same as the cluster project.
	ProjectId *string `pulumi:"projectId"`
}

type VpnConnectionVpcProjectArgs

type VpnConnectionVpcProjectArgs struct {
	// The project of the VPC to connect to. If not specified, it is the same as the cluster project.
	ProjectId pulumi.StringPtrInput `pulumi:"projectId"`
}

func (VpnConnectionVpcProjectArgs) ElementType

func (VpnConnectionVpcProjectArgs) ToVpnConnectionVpcProjectOutput

func (i VpnConnectionVpcProjectArgs) ToVpnConnectionVpcProjectOutput() VpnConnectionVpcProjectOutput

func (VpnConnectionVpcProjectArgs) ToVpnConnectionVpcProjectOutputWithContext

func (i VpnConnectionVpcProjectArgs) ToVpnConnectionVpcProjectOutputWithContext(ctx context.Context) VpnConnectionVpcProjectOutput

func (VpnConnectionVpcProjectArgs) ToVpnConnectionVpcProjectPtrOutput

func (i VpnConnectionVpcProjectArgs) ToVpnConnectionVpcProjectPtrOutput() VpnConnectionVpcProjectPtrOutput

func (VpnConnectionVpcProjectArgs) ToVpnConnectionVpcProjectPtrOutputWithContext

func (i VpnConnectionVpcProjectArgs) ToVpnConnectionVpcProjectPtrOutputWithContext(ctx context.Context) VpnConnectionVpcProjectPtrOutput

type VpnConnectionVpcProjectInput

type VpnConnectionVpcProjectInput interface {
	pulumi.Input

	ToVpnConnectionVpcProjectOutput() VpnConnectionVpcProjectOutput
	ToVpnConnectionVpcProjectOutputWithContext(context.Context) VpnConnectionVpcProjectOutput
}

VpnConnectionVpcProjectInput is an input type that accepts VpnConnectionVpcProjectArgs and VpnConnectionVpcProjectOutput values. You can construct a concrete instance of `VpnConnectionVpcProjectInput` via:

VpnConnectionVpcProjectArgs{...}

type VpnConnectionVpcProjectOutput

type VpnConnectionVpcProjectOutput struct{ *pulumi.OutputState }

func (VpnConnectionVpcProjectOutput) ElementType

func (VpnConnectionVpcProjectOutput) ProjectId

The project of the VPC to connect to. If not specified, it is the same as the cluster project.

func (VpnConnectionVpcProjectOutput) ToVpnConnectionVpcProjectOutput

func (o VpnConnectionVpcProjectOutput) ToVpnConnectionVpcProjectOutput() VpnConnectionVpcProjectOutput

func (VpnConnectionVpcProjectOutput) ToVpnConnectionVpcProjectOutputWithContext

func (o VpnConnectionVpcProjectOutput) ToVpnConnectionVpcProjectOutputWithContext(ctx context.Context) VpnConnectionVpcProjectOutput

func (VpnConnectionVpcProjectOutput) ToVpnConnectionVpcProjectPtrOutput

func (o VpnConnectionVpcProjectOutput) ToVpnConnectionVpcProjectPtrOutput() VpnConnectionVpcProjectPtrOutput

func (VpnConnectionVpcProjectOutput) ToVpnConnectionVpcProjectPtrOutputWithContext

func (o VpnConnectionVpcProjectOutput) ToVpnConnectionVpcProjectPtrOutputWithContext(ctx context.Context) VpnConnectionVpcProjectPtrOutput

type VpnConnectionVpcProjectPtrInput

type VpnConnectionVpcProjectPtrInput interface {
	pulumi.Input

	ToVpnConnectionVpcProjectPtrOutput() VpnConnectionVpcProjectPtrOutput
	ToVpnConnectionVpcProjectPtrOutputWithContext(context.Context) VpnConnectionVpcProjectPtrOutput
}

VpnConnectionVpcProjectPtrInput is an input type that accepts VpnConnectionVpcProjectArgs, VpnConnectionVpcProjectPtr and VpnConnectionVpcProjectPtrOutput values. You can construct a concrete instance of `VpnConnectionVpcProjectPtrInput` via:

        VpnConnectionVpcProjectArgs{...}

or:

        nil

type VpnConnectionVpcProjectPtrOutput

type VpnConnectionVpcProjectPtrOutput struct{ *pulumi.OutputState }

func (VpnConnectionVpcProjectPtrOutput) Elem

func (VpnConnectionVpcProjectPtrOutput) ElementType

func (VpnConnectionVpcProjectPtrOutput) ProjectId

The project of the VPC to connect to. If not specified, it is the same as the cluster project.

func (VpnConnectionVpcProjectPtrOutput) ToVpnConnectionVpcProjectPtrOutput

func (o VpnConnectionVpcProjectPtrOutput) ToVpnConnectionVpcProjectPtrOutput() VpnConnectionVpcProjectPtrOutput

func (VpnConnectionVpcProjectPtrOutput) ToVpnConnectionVpcProjectPtrOutputWithContext

func (o VpnConnectionVpcProjectPtrOutput) ToVpnConnectionVpcProjectPtrOutputWithContext(ctx context.Context) VpnConnectionVpcProjectPtrOutput

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL