tpu

package
v6.65.1 Latest Latest
Warning

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

Go to latest
Published: Sep 14, 2023 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type GetTensorflowVersionsArgs

type GetTensorflowVersionsArgs struct {
	// The project to list versions for. If it
	// is not provided, the provider project is used.
	Project *string `pulumi:"project"`
	// The zone to list versions for. If it
	// is not provided, the provider zone is used.
	Zone *string `pulumi:"zone"`
}

A collection of arguments for invoking getTensorflowVersions.

type GetTensorflowVersionsOutputArgs

type GetTensorflowVersionsOutputArgs struct {
	// The project to list versions for. If it
	// is not provided, the provider project is used.
	Project pulumi.StringPtrInput `pulumi:"project"`
	// The zone to list versions for. If it
	// is not provided, the provider zone is used.
	Zone pulumi.StringPtrInput `pulumi:"zone"`
}

A collection of arguments for invoking getTensorflowVersions.

func (GetTensorflowVersionsOutputArgs) ElementType

type GetTensorflowVersionsResult

type GetTensorflowVersionsResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id      string `pulumi:"id"`
	Project string `pulumi:"project"`
	// The list of TensorFlow versions available for the given project and zone.
	Versions []string `pulumi:"versions"`
	Zone     string   `pulumi:"zone"`
}

A collection of values returned by getTensorflowVersions.

func GetTensorflowVersions

func GetTensorflowVersions(ctx *pulumi.Context, args *GetTensorflowVersionsArgs, opts ...pulumi.InvokeOption) (*GetTensorflowVersionsResult, error)

Get TensorFlow versions available for a project. For more information see the [official documentation](https://cloud.google.com/tpu/docs/) and [API](https://cloud.google.com/tpu/docs/reference/rest/v1/projects.locations.tensorflowVersions).

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/tpu"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := tpu.GetTensorflowVersions(ctx, nil, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Configure Basic TPU Node With Available Version

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/tpu"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		available, err := tpu.GetTensorflowVersions(ctx, nil, nil)
		if err != nil {
			return err
		}
		_, err = tpu.NewNode(ctx, "tpu", &tpu.NodeArgs{
			Zone:              pulumi.String("us-central1-b"),
			AcceleratorType:   pulumi.String("v3-8"),
			TensorflowVersion: *pulumi.String(available.Versions[0]),
			CidrBlock:         pulumi.String("10.2.0.0/29"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetTensorflowVersionsResultOutput

type GetTensorflowVersionsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getTensorflowVersions.

func (GetTensorflowVersionsResultOutput) ElementType

func (GetTensorflowVersionsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetTensorflowVersionsResultOutput) Project

func (GetTensorflowVersionsResultOutput) ToGetTensorflowVersionsResultOutput

func (o GetTensorflowVersionsResultOutput) ToGetTensorflowVersionsResultOutput() GetTensorflowVersionsResultOutput

func (GetTensorflowVersionsResultOutput) ToGetTensorflowVersionsResultOutputWithContext

func (o GetTensorflowVersionsResultOutput) ToGetTensorflowVersionsResultOutputWithContext(ctx context.Context) GetTensorflowVersionsResultOutput

func (GetTensorflowVersionsResultOutput) ToOutput added in v6.65.1

func (GetTensorflowVersionsResultOutput) Versions

The list of TensorFlow versions available for the given project and zone.

func (GetTensorflowVersionsResultOutput) Zone

type Node

type Node struct {
	pulumi.CustomResourceState

	// The type of hardware accelerators associated with this node.
	AcceleratorType pulumi.StringOutput `pulumi:"acceleratorType"`
	// The CIDR block that the TPU node will use when selecting an IP
	// address. This CIDR block must be a /29 block; the Compute Engine
	// networks API forbids a smaller block, and using a larger block would
	// be wasteful (a node can only consume one IP address).
	// Errors will occur if the CIDR block has already been used for a
	// currently existing TPU node, the CIDR block conflicts with any
	// subnetworks in the user's provided network, or the provided network
	// is peered with another network that is using that CIDR block.
	CidrBlock pulumi.StringOutput `pulumi:"cidrBlock"`
	// The user-supplied description of the TPU. Maximum of 512 characters.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Resource labels to represent user provided metadata.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// The immutable name of the TPU.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of a network to peer the TPU node to. It must be a
	// preexisting Compute Engine network inside of the project on which
	// this API has been activated. If none is provided, "default" will be
	// used.
	Network pulumi.StringOutput `pulumi:"network"`
	// The network endpoints where TPU workers can be accessed and sent work.
	// It is recommended that Tensorflow clients of the node first reach out
	// to the first (index 0) entry.
	// Structure is documented below.
	NetworkEndpoints NodeNetworkEndpointArrayOutput `pulumi:"networkEndpoints"`
	// 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"`
	// Sets the scheduling options for this TPU instance.
	// Structure is documented below.
	SchedulingConfig NodeSchedulingConfigPtrOutput `pulumi:"schedulingConfig"`
	// The service account used to run the tensor flow services within the
	// node. To share resources, including Google Cloud Storage data, with
	// the Tensorflow job running in the Node, this account must have
	// permissions to that data.
	ServiceAccount pulumi.StringOutput `pulumi:"serviceAccount"`
	// The version of Tensorflow running in the Node.
	//
	// ***
	TensorflowVersion pulumi.StringOutput `pulumi:"tensorflowVersion"`
	// Whether the VPC peering for the node is set up through Service Networking API.
	// The VPC Peering should be set up before provisioning the node. If this field is set,
	// cidrBlock field should not be specified. If the network that you want to peer the
	// TPU Node to is a Shared VPC network, the node must be created with this this field enabled.
	UseServiceNetworking pulumi.BoolPtrOutput `pulumi:"useServiceNetworking"`
	// The GCP location for the TPU. If it is not provided, the provider zone is used.
	Zone pulumi.StringOutput `pulumi:"zone"`
}

A Cloud TPU instance.

To get more information about Node, see:

* [API documentation](https://cloud.google.com/tpu/docs/reference/rest/v1/projects.locations.nodes) * How-to Guides

## Example Usage ### Tpu Node Basic

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/tpu"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		available, err := tpu.GetTensorflowVersions(ctx, nil, nil)
		if err != nil {
			return err
		}
		_, err = tpu.NewNode(ctx, "tpu", &tpu.NodeArgs{
			Zone:              pulumi.String("us-central1-b"),
			AcceleratorType:   pulumi.String("v3-8"),
			TensorflowVersion: *pulumi.String(available.Versions[0]),
			CidrBlock:         pulumi.String("10.2.0.0/29"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Tpu Node Full

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/servicenetworking"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/tpu"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		available, err := tpu.GetTensorflowVersions(ctx, nil, nil)
		if err != nil {
			return err
		}
		network, err := compute.LookupNetwork(ctx, &compute.LookupNetworkArgs{
			Name: "default",
		}, nil)
		if err != nil {
			return err
		}
		serviceRange, err := compute.NewGlobalAddress(ctx, "serviceRange", &compute.GlobalAddressArgs{
			Purpose:      pulumi.String("VPC_PEERING"),
			AddressType:  pulumi.String("INTERNAL"),
			PrefixLength: pulumi.Int(16),
			Network:      *pulumi.String(network.Id),
		})
		if err != nil {
			return err
		}
		privateServiceConnection, err := servicenetworking.NewConnection(ctx, "privateServiceConnection", &servicenetworking.ConnectionArgs{
			Network: *pulumi.String(network.Id),
			Service: pulumi.String("servicenetworking.googleapis.com"),
			ReservedPeeringRanges: pulumi.StringArray{
				serviceRange.Name,
			},
		})
		if err != nil {
			return err
		}
		_, err = tpu.NewNode(ctx, "tpu", &tpu.NodeArgs{
			Zone:                 pulumi.String("us-central1-b"),
			AcceleratorType:      pulumi.String("v3-8"),
			TensorflowVersion:    *pulumi.String(available.Versions[0]),
			Description:          pulumi.String("Google Provider test TPU"),
			UseServiceNetworking: pulumi.Bool(true),
			Network:              privateServiceConnection.Network,
			Labels: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
			SchedulingConfig: &tpu.NodeSchedulingConfigArgs{
				Preemptible: pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Node can be imported using any of these accepted formats

```sh

$ pulumi import gcp:tpu/node:Node default projects/{{project}}/locations/{{zone}}/nodes/{{name}}

```

```sh

$ pulumi import gcp:tpu/node:Node default {{project}}/{{zone}}/{{name}}

```

```sh

$ pulumi import gcp:tpu/node:Node default {{zone}}/{{name}}

```

```sh

$ pulumi import gcp:tpu/node:Node default {{name}}

```

func GetNode

func GetNode(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *NodeState, opts ...pulumi.ResourceOption) (*Node, error)

GetNode gets an existing Node 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 NewNode

func NewNode(ctx *pulumi.Context,
	name string, args *NodeArgs, opts ...pulumi.ResourceOption) (*Node, error)

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

func (*Node) ElementType

func (*Node) ElementType() reflect.Type

func (*Node) ToNodeOutput

func (i *Node) ToNodeOutput() NodeOutput

func (*Node) ToNodeOutputWithContext

func (i *Node) ToNodeOutputWithContext(ctx context.Context) NodeOutput

func (*Node) ToOutput added in v6.65.1

func (i *Node) ToOutput(ctx context.Context) pulumix.Output[*Node]

type NodeArgs

type NodeArgs struct {
	// The type of hardware accelerators associated with this node.
	AcceleratorType pulumi.StringInput
	// The CIDR block that the TPU node will use when selecting an IP
	// address. This CIDR block must be a /29 block; the Compute Engine
	// networks API forbids a smaller block, and using a larger block would
	// be wasteful (a node can only consume one IP address).
	// Errors will occur if the CIDR block has already been used for a
	// currently existing TPU node, the CIDR block conflicts with any
	// subnetworks in the user's provided network, or the provided network
	// is peered with another network that is using that CIDR block.
	CidrBlock pulumi.StringPtrInput
	// The user-supplied description of the TPU. Maximum of 512 characters.
	Description pulumi.StringPtrInput
	// Resource labels to represent user provided metadata.
	Labels pulumi.StringMapInput
	// The immutable name of the TPU.
	Name pulumi.StringPtrInput
	// The name of a network to peer the TPU node to. It must be a
	// preexisting Compute Engine network inside of the project on which
	// this API has been activated. If none is provided, "default" will be
	// used.
	Network 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
	// Sets the scheduling options for this TPU instance.
	// Structure is documented below.
	SchedulingConfig NodeSchedulingConfigPtrInput
	// The version of Tensorflow running in the Node.
	//
	// ***
	TensorflowVersion pulumi.StringInput
	// Whether the VPC peering for the node is set up through Service Networking API.
	// The VPC Peering should be set up before provisioning the node. If this field is set,
	// cidrBlock field should not be specified. If the network that you want to peer the
	// TPU Node to is a Shared VPC network, the node must be created with this this field enabled.
	UseServiceNetworking pulumi.BoolPtrInput
	// The GCP location for the TPU. If it is not provided, the provider zone is used.
	Zone pulumi.StringPtrInput
}

The set of arguments for constructing a Node resource.

func (NodeArgs) ElementType

func (NodeArgs) ElementType() reflect.Type

type NodeArray

type NodeArray []NodeInput

func (NodeArray) ElementType

func (NodeArray) ElementType() reflect.Type

func (NodeArray) ToNodeArrayOutput

func (i NodeArray) ToNodeArrayOutput() NodeArrayOutput

func (NodeArray) ToNodeArrayOutputWithContext

func (i NodeArray) ToNodeArrayOutputWithContext(ctx context.Context) NodeArrayOutput

func (NodeArray) ToOutput added in v6.65.1

func (i NodeArray) ToOutput(ctx context.Context) pulumix.Output[[]*Node]

type NodeArrayInput

type NodeArrayInput interface {
	pulumi.Input

	ToNodeArrayOutput() NodeArrayOutput
	ToNodeArrayOutputWithContext(context.Context) NodeArrayOutput
}

NodeArrayInput is an input type that accepts NodeArray and NodeArrayOutput values. You can construct a concrete instance of `NodeArrayInput` via:

NodeArray{ NodeArgs{...} }

type NodeArrayOutput

type NodeArrayOutput struct{ *pulumi.OutputState }

func (NodeArrayOutput) ElementType

func (NodeArrayOutput) ElementType() reflect.Type

func (NodeArrayOutput) Index

func (NodeArrayOutput) ToNodeArrayOutput

func (o NodeArrayOutput) ToNodeArrayOutput() NodeArrayOutput

func (NodeArrayOutput) ToNodeArrayOutputWithContext

func (o NodeArrayOutput) ToNodeArrayOutputWithContext(ctx context.Context) NodeArrayOutput

func (NodeArrayOutput) ToOutput added in v6.65.1

func (o NodeArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*Node]

type NodeInput

type NodeInput interface {
	pulumi.Input

	ToNodeOutput() NodeOutput
	ToNodeOutputWithContext(ctx context.Context) NodeOutput
}

type NodeMap

type NodeMap map[string]NodeInput

func (NodeMap) ElementType

func (NodeMap) ElementType() reflect.Type

func (NodeMap) ToNodeMapOutput

func (i NodeMap) ToNodeMapOutput() NodeMapOutput

func (NodeMap) ToNodeMapOutputWithContext

func (i NodeMap) ToNodeMapOutputWithContext(ctx context.Context) NodeMapOutput

func (NodeMap) ToOutput added in v6.65.1

func (i NodeMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*Node]

type NodeMapInput

type NodeMapInput interface {
	pulumi.Input

	ToNodeMapOutput() NodeMapOutput
	ToNodeMapOutputWithContext(context.Context) NodeMapOutput
}

NodeMapInput is an input type that accepts NodeMap and NodeMapOutput values. You can construct a concrete instance of `NodeMapInput` via:

NodeMap{ "key": NodeArgs{...} }

type NodeMapOutput

type NodeMapOutput struct{ *pulumi.OutputState }

func (NodeMapOutput) ElementType

func (NodeMapOutput) ElementType() reflect.Type

func (NodeMapOutput) MapIndex

func (NodeMapOutput) ToNodeMapOutput

func (o NodeMapOutput) ToNodeMapOutput() NodeMapOutput

func (NodeMapOutput) ToNodeMapOutputWithContext

func (o NodeMapOutput) ToNodeMapOutputWithContext(ctx context.Context) NodeMapOutput

func (NodeMapOutput) ToOutput added in v6.65.1

func (o NodeMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*Node]

type NodeNetworkEndpoint

type NodeNetworkEndpoint struct {
	// (Output)
	// The IP address of this network endpoint.
	IpAddress *string `pulumi:"ipAddress"`
	// (Output)
	// The port of this network endpoint.
	Port *int `pulumi:"port"`
}

type NodeNetworkEndpointArgs

type NodeNetworkEndpointArgs struct {
	// (Output)
	// The IP address of this network endpoint.
	IpAddress pulumi.StringPtrInput `pulumi:"ipAddress"`
	// (Output)
	// The port of this network endpoint.
	Port pulumi.IntPtrInput `pulumi:"port"`
}

func (NodeNetworkEndpointArgs) ElementType

func (NodeNetworkEndpointArgs) ElementType() reflect.Type

func (NodeNetworkEndpointArgs) ToNodeNetworkEndpointOutput

func (i NodeNetworkEndpointArgs) ToNodeNetworkEndpointOutput() NodeNetworkEndpointOutput

func (NodeNetworkEndpointArgs) ToNodeNetworkEndpointOutputWithContext

func (i NodeNetworkEndpointArgs) ToNodeNetworkEndpointOutputWithContext(ctx context.Context) NodeNetworkEndpointOutput

func (NodeNetworkEndpointArgs) ToOutput added in v6.65.1

type NodeNetworkEndpointArray

type NodeNetworkEndpointArray []NodeNetworkEndpointInput

func (NodeNetworkEndpointArray) ElementType

func (NodeNetworkEndpointArray) ElementType() reflect.Type

func (NodeNetworkEndpointArray) ToNodeNetworkEndpointArrayOutput

func (i NodeNetworkEndpointArray) ToNodeNetworkEndpointArrayOutput() NodeNetworkEndpointArrayOutput

func (NodeNetworkEndpointArray) ToNodeNetworkEndpointArrayOutputWithContext

func (i NodeNetworkEndpointArray) ToNodeNetworkEndpointArrayOutputWithContext(ctx context.Context) NodeNetworkEndpointArrayOutput

func (NodeNetworkEndpointArray) ToOutput added in v6.65.1

type NodeNetworkEndpointArrayInput

type NodeNetworkEndpointArrayInput interface {
	pulumi.Input

	ToNodeNetworkEndpointArrayOutput() NodeNetworkEndpointArrayOutput
	ToNodeNetworkEndpointArrayOutputWithContext(context.Context) NodeNetworkEndpointArrayOutput
}

NodeNetworkEndpointArrayInput is an input type that accepts NodeNetworkEndpointArray and NodeNetworkEndpointArrayOutput values. You can construct a concrete instance of `NodeNetworkEndpointArrayInput` via:

NodeNetworkEndpointArray{ NodeNetworkEndpointArgs{...} }

type NodeNetworkEndpointArrayOutput

type NodeNetworkEndpointArrayOutput struct{ *pulumi.OutputState }

func (NodeNetworkEndpointArrayOutput) ElementType

func (NodeNetworkEndpointArrayOutput) Index

func (NodeNetworkEndpointArrayOutput) ToNodeNetworkEndpointArrayOutput

func (o NodeNetworkEndpointArrayOutput) ToNodeNetworkEndpointArrayOutput() NodeNetworkEndpointArrayOutput

func (NodeNetworkEndpointArrayOutput) ToNodeNetworkEndpointArrayOutputWithContext

func (o NodeNetworkEndpointArrayOutput) ToNodeNetworkEndpointArrayOutputWithContext(ctx context.Context) NodeNetworkEndpointArrayOutput

func (NodeNetworkEndpointArrayOutput) ToOutput added in v6.65.1

type NodeNetworkEndpointInput

type NodeNetworkEndpointInput interface {
	pulumi.Input

	ToNodeNetworkEndpointOutput() NodeNetworkEndpointOutput
	ToNodeNetworkEndpointOutputWithContext(context.Context) NodeNetworkEndpointOutput
}

NodeNetworkEndpointInput is an input type that accepts NodeNetworkEndpointArgs and NodeNetworkEndpointOutput values. You can construct a concrete instance of `NodeNetworkEndpointInput` via:

NodeNetworkEndpointArgs{...}

type NodeNetworkEndpointOutput

type NodeNetworkEndpointOutput struct{ *pulumi.OutputState }

func (NodeNetworkEndpointOutput) ElementType

func (NodeNetworkEndpointOutput) ElementType() reflect.Type

func (NodeNetworkEndpointOutput) IpAddress

(Output) The IP address of this network endpoint.

func (NodeNetworkEndpointOutput) Port

(Output) The port of this network endpoint.

func (NodeNetworkEndpointOutput) ToNodeNetworkEndpointOutput

func (o NodeNetworkEndpointOutput) ToNodeNetworkEndpointOutput() NodeNetworkEndpointOutput

func (NodeNetworkEndpointOutput) ToNodeNetworkEndpointOutputWithContext

func (o NodeNetworkEndpointOutput) ToNodeNetworkEndpointOutputWithContext(ctx context.Context) NodeNetworkEndpointOutput

func (NodeNetworkEndpointOutput) ToOutput added in v6.65.1

type NodeOutput

type NodeOutput struct{ *pulumi.OutputState }

func (NodeOutput) AcceleratorType added in v6.23.0

func (o NodeOutput) AcceleratorType() pulumi.StringOutput

The type of hardware accelerators associated with this node.

func (NodeOutput) CidrBlock added in v6.23.0

func (o NodeOutput) CidrBlock() pulumi.StringOutput

The CIDR block that the TPU node will use when selecting an IP address. This CIDR block must be a /29 block; the Compute Engine networks API forbids a smaller block, and using a larger block would be wasteful (a node can only consume one IP address). Errors will occur if the CIDR block has already been used for a currently existing TPU node, the CIDR block conflicts with any subnetworks in the user's provided network, or the provided network is peered with another network that is using that CIDR block.

func (NodeOutput) Description added in v6.23.0

func (o NodeOutput) Description() pulumi.StringPtrOutput

The user-supplied description of the TPU. Maximum of 512 characters.

func (NodeOutput) ElementType

func (NodeOutput) ElementType() reflect.Type

func (NodeOutput) Labels added in v6.23.0

func (o NodeOutput) Labels() pulumi.StringMapOutput

Resource labels to represent user provided metadata.

func (NodeOutput) Name added in v6.23.0

func (o NodeOutput) Name() pulumi.StringOutput

The immutable name of the TPU.

func (NodeOutput) Network added in v6.23.0

func (o NodeOutput) Network() pulumi.StringOutput

The name of a network to peer the TPU node to. It must be a preexisting Compute Engine network inside of the project on which this API has been activated. If none is provided, "default" will be used.

func (NodeOutput) NetworkEndpoints added in v6.23.0

func (o NodeOutput) NetworkEndpoints() NodeNetworkEndpointArrayOutput

The network endpoints where TPU workers can be accessed and sent work. It is recommended that Tensorflow clients of the node first reach out to the first (index 0) entry. Structure is documented below.

func (NodeOutput) Project added in v6.23.0

func (o NodeOutput) Project() pulumi.StringOutput

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

func (NodeOutput) SchedulingConfig added in v6.23.0

func (o NodeOutput) SchedulingConfig() NodeSchedulingConfigPtrOutput

Sets the scheduling options for this TPU instance. Structure is documented below.

func (NodeOutput) ServiceAccount added in v6.23.0

func (o NodeOutput) ServiceAccount() pulumi.StringOutput

The service account used to run the tensor flow services within the node. To share resources, including Google Cloud Storage data, with the Tensorflow job running in the Node, this account must have permissions to that data.

func (NodeOutput) TensorflowVersion added in v6.23.0

func (o NodeOutput) TensorflowVersion() pulumi.StringOutput

The version of Tensorflow running in the Node.

***

func (NodeOutput) ToNodeOutput

func (o NodeOutput) ToNodeOutput() NodeOutput

func (NodeOutput) ToNodeOutputWithContext

func (o NodeOutput) ToNodeOutputWithContext(ctx context.Context) NodeOutput

func (NodeOutput) ToOutput added in v6.65.1

func (o NodeOutput) ToOutput(ctx context.Context) pulumix.Output[*Node]

func (NodeOutput) UseServiceNetworking added in v6.23.0

func (o NodeOutput) UseServiceNetworking() pulumi.BoolPtrOutput

Whether the VPC peering for the node is set up through Service Networking API. The VPC Peering should be set up before provisioning the node. If this field is set, cidrBlock field should not be specified. If the network that you want to peer the TPU Node to is a Shared VPC network, the node must be created with this this field enabled.

func (NodeOutput) Zone added in v6.23.0

func (o NodeOutput) Zone() pulumi.StringOutput

The GCP location for the TPU. If it is not provided, the provider zone is used.

type NodeSchedulingConfig

type NodeSchedulingConfig struct {
	// Defines whether the TPU instance is preemptible.
	Preemptible bool `pulumi:"preemptible"`
}

type NodeSchedulingConfigArgs

type NodeSchedulingConfigArgs struct {
	// Defines whether the TPU instance is preemptible.
	Preemptible pulumi.BoolInput `pulumi:"preemptible"`
}

func (NodeSchedulingConfigArgs) ElementType

func (NodeSchedulingConfigArgs) ElementType() reflect.Type

func (NodeSchedulingConfigArgs) ToNodeSchedulingConfigOutput

func (i NodeSchedulingConfigArgs) ToNodeSchedulingConfigOutput() NodeSchedulingConfigOutput

func (NodeSchedulingConfigArgs) ToNodeSchedulingConfigOutputWithContext

func (i NodeSchedulingConfigArgs) ToNodeSchedulingConfigOutputWithContext(ctx context.Context) NodeSchedulingConfigOutput

func (NodeSchedulingConfigArgs) ToNodeSchedulingConfigPtrOutput

func (i NodeSchedulingConfigArgs) ToNodeSchedulingConfigPtrOutput() NodeSchedulingConfigPtrOutput

func (NodeSchedulingConfigArgs) ToNodeSchedulingConfigPtrOutputWithContext

func (i NodeSchedulingConfigArgs) ToNodeSchedulingConfigPtrOutputWithContext(ctx context.Context) NodeSchedulingConfigPtrOutput

func (NodeSchedulingConfigArgs) ToOutput added in v6.65.1

type NodeSchedulingConfigInput

type NodeSchedulingConfigInput interface {
	pulumi.Input

	ToNodeSchedulingConfigOutput() NodeSchedulingConfigOutput
	ToNodeSchedulingConfigOutputWithContext(context.Context) NodeSchedulingConfigOutput
}

NodeSchedulingConfigInput is an input type that accepts NodeSchedulingConfigArgs and NodeSchedulingConfigOutput values. You can construct a concrete instance of `NodeSchedulingConfigInput` via:

NodeSchedulingConfigArgs{...}

type NodeSchedulingConfigOutput

type NodeSchedulingConfigOutput struct{ *pulumi.OutputState }

func (NodeSchedulingConfigOutput) ElementType

func (NodeSchedulingConfigOutput) ElementType() reflect.Type

func (NodeSchedulingConfigOutput) Preemptible

Defines whether the TPU instance is preemptible.

func (NodeSchedulingConfigOutput) ToNodeSchedulingConfigOutput

func (o NodeSchedulingConfigOutput) ToNodeSchedulingConfigOutput() NodeSchedulingConfigOutput

func (NodeSchedulingConfigOutput) ToNodeSchedulingConfigOutputWithContext

func (o NodeSchedulingConfigOutput) ToNodeSchedulingConfigOutputWithContext(ctx context.Context) NodeSchedulingConfigOutput

func (NodeSchedulingConfigOutput) ToNodeSchedulingConfigPtrOutput

func (o NodeSchedulingConfigOutput) ToNodeSchedulingConfigPtrOutput() NodeSchedulingConfigPtrOutput

func (NodeSchedulingConfigOutput) ToNodeSchedulingConfigPtrOutputWithContext

func (o NodeSchedulingConfigOutput) ToNodeSchedulingConfigPtrOutputWithContext(ctx context.Context) NodeSchedulingConfigPtrOutput

func (NodeSchedulingConfigOutput) ToOutput added in v6.65.1

type NodeSchedulingConfigPtrInput

type NodeSchedulingConfigPtrInput interface {
	pulumi.Input

	ToNodeSchedulingConfigPtrOutput() NodeSchedulingConfigPtrOutput
	ToNodeSchedulingConfigPtrOutputWithContext(context.Context) NodeSchedulingConfigPtrOutput
}

NodeSchedulingConfigPtrInput is an input type that accepts NodeSchedulingConfigArgs, NodeSchedulingConfigPtr and NodeSchedulingConfigPtrOutput values. You can construct a concrete instance of `NodeSchedulingConfigPtrInput` via:

        NodeSchedulingConfigArgs{...}

or:

        nil

type NodeSchedulingConfigPtrOutput

type NodeSchedulingConfigPtrOutput struct{ *pulumi.OutputState }

func (NodeSchedulingConfigPtrOutput) Elem

func (NodeSchedulingConfigPtrOutput) ElementType

func (NodeSchedulingConfigPtrOutput) Preemptible

Defines whether the TPU instance is preemptible.

func (NodeSchedulingConfigPtrOutput) ToNodeSchedulingConfigPtrOutput

func (o NodeSchedulingConfigPtrOutput) ToNodeSchedulingConfigPtrOutput() NodeSchedulingConfigPtrOutput

func (NodeSchedulingConfigPtrOutput) ToNodeSchedulingConfigPtrOutputWithContext

func (o NodeSchedulingConfigPtrOutput) ToNodeSchedulingConfigPtrOutputWithContext(ctx context.Context) NodeSchedulingConfigPtrOutput

func (NodeSchedulingConfigPtrOutput) ToOutput added in v6.65.1

type NodeState

type NodeState struct {
	// The type of hardware accelerators associated with this node.
	AcceleratorType pulumi.StringPtrInput
	// The CIDR block that the TPU node will use when selecting an IP
	// address. This CIDR block must be a /29 block; the Compute Engine
	// networks API forbids a smaller block, and using a larger block would
	// be wasteful (a node can only consume one IP address).
	// Errors will occur if the CIDR block has already been used for a
	// currently existing TPU node, the CIDR block conflicts with any
	// subnetworks in the user's provided network, or the provided network
	// is peered with another network that is using that CIDR block.
	CidrBlock pulumi.StringPtrInput
	// The user-supplied description of the TPU. Maximum of 512 characters.
	Description pulumi.StringPtrInput
	// Resource labels to represent user provided metadata.
	Labels pulumi.StringMapInput
	// The immutable name of the TPU.
	Name pulumi.StringPtrInput
	// The name of a network to peer the TPU node to. It must be a
	// preexisting Compute Engine network inside of the project on which
	// this API has been activated. If none is provided, "default" will be
	// used.
	Network pulumi.StringPtrInput
	// The network endpoints where TPU workers can be accessed and sent work.
	// It is recommended that Tensorflow clients of the node first reach out
	// to the first (index 0) entry.
	// Structure is documented below.
	NetworkEndpoints NodeNetworkEndpointArrayInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// Sets the scheduling options for this TPU instance.
	// Structure is documented below.
	SchedulingConfig NodeSchedulingConfigPtrInput
	// The service account used to run the tensor flow services within the
	// node. To share resources, including Google Cloud Storage data, with
	// the Tensorflow job running in the Node, this account must have
	// permissions to that data.
	ServiceAccount pulumi.StringPtrInput
	// The version of Tensorflow running in the Node.
	//
	// ***
	TensorflowVersion pulumi.StringPtrInput
	// Whether the VPC peering for the node is set up through Service Networking API.
	// The VPC Peering should be set up before provisioning the node. If this field is set,
	// cidrBlock field should not be specified. If the network that you want to peer the
	// TPU Node to is a Shared VPC network, the node must be created with this this field enabled.
	UseServiceNetworking pulumi.BoolPtrInput
	// The GCP location for the TPU. If it is not provided, the provider zone is used.
	Zone pulumi.StringPtrInput
}

func (NodeState) ElementType

func (NodeState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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