google

package
v4.2.0 Latest Latest
Warning

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

Go to latest
Published: Sep 10, 2021 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AccessConfig

type AccessConfig struct {
	NatIP               string `json:"nat_ip,omitempty"`
	NetworkTier         string `json:"network_tier,omitempty"`
	PublicPtrDomainName string `json:"public_ptr_domain_name ,omitempty"`
}

AccessConfig provides IPs via which this instance can be accessed via the Internet

type AllowRule

type AllowRule struct {
	Protocol string   `json:"protocol"`
	Ports    []string `json:"ports,omitempty"`
}

AllowRule represents an allowing firewall rule

type BootDisk

type BootDisk struct {
	AutoDelete bool `json:"auto_delete,omitempty"`
	// InitializeParams is an array of at most one element
	InitializeParams InitializeParams `json:"initialize_params,omitempty"`
}

BootDisk represents the required boot disk for compute instance

type ComputeAddress

type ComputeAddress struct {
	Name        string            `json:"name"`
	Region      string            `json:"region"`
	Address     string            `json:"address,omitempty"`
	AddressType string            `json:"address_type,omitempty"`
	Description string            `json:"description,omitempty"`
	NetworkTier string            `json:"network_tier,omitempty"`
	SubNetwork  string            `json:"subnetwork,omitempty"`
	Labels      map[string]string `json:"labels,omitempty"`
	Project     string            `json:"project,omitempty"`
}

ComputeAddress represents a Google compute static IP address See https://www.terraform.io/docs/providers/google/r/compute_address.html for more information

type ComputeAttachedDisk

type ComputeAttachedDisk struct {
	Instance   string `json:"instance"`
	Disk       string `json:"disk"`
	DeviceName string `json:"device_name,omitempty"`
	Mode       string `json:"mode,omitempty"`
	Zone       string `json:"zone,omitempty"`
}

ComputeAttachedDisk represents compute instance's attached disk See https://www.terraform.io/docs/providers/google/r/compute_attached_disk.html

type ComputeInstance

type ComputeInstance struct {
	Name              string             `json:"name"`
	MachineType       string             `json:"machine_type"`
	Zone              string             `json:"zone"`
	BootDisk          BootDisk           `json:"boot_disk,omitempty"`
	NetworkInterfaces []NetworkInterface `json:"network_interface"`
	Description       string             `json:"description,omitempty"`
	Labels            map[string]string  `json:"labels,omitempty"`
	Metadata          map[string]string  `json:"metadata,omitempty"`
	Scheduling        Scheduling         `json:"scheduling,omitempty"`
	// ServiceAccounts is an array of at most one element
	ServiceAccounts []ServiceAccount `json:"service_account,omitempty"`
	Tags            []string         `json:"tags,omitempty"`
	ScratchDisks    []ScratchDisk    `json:"scratch_disk,omitempty"`
}

ComputeInstance represents a Google Compute Engine Virtual Machine See https://www.terraform.io/docs/providers/google/r/compute_instance.html for the latest documentation.

type EncryptionKey

type EncryptionKey struct {
	Raw    string `json:"raw_key,omitempty"`
	SHA256 string `json:"sha256,omitempty"`
}

EncryptionKey represents a Google encryption key

type Firewall

type Firewall struct {
	Name         string      `json:"name"`
	Network      string      `json:"network"`
	Allow        []AllowRule `json:"allow,omitempty"`
	SourceRanges []string    `json:"source_ranges,omitempty"`
}

Firewall represents a firewall resource See https://www.terraform.io/docs/providers/google/r/compute_firewall.html

type IPRange

type IPRange struct {
	Name        string `json:"range_name"`
	IPCIDRRange string `json:"ip_cidr_range"`
}

IPRange Represents an IP Range

type InitializeParams

type InitializeParams struct {
	Image string `json:"image,omitempty"`
}

InitializeParams represents the initialize params

type NetworkInterface

type NetworkInterface struct {
	Network           string         `json:"network,omitempty"`
	Subnetwork        string         `json:"subnetwork,omitempty"`
	SubNetworkProject string         `json:"subnetwork_project,omitempty"`
	Address           string         `json:"address,omitempty"`
	AccessConfigs     []AccessConfig `json:"access_config,omitempty"`
}

NetworkInterface represents a network to attach to the instance

type PersistentDisk

type PersistentDisk struct {
	Name                        string            `json:"name"`
	Size                        int               `json:"size,omitempty"`
	Description                 string            `json:"description,omitempty"`
	Type                        string            `json:"type,omitempty"`
	Labels                      map[string]string `json:"labels,omitempty"`
	Zone                        string            `json:"zone,omitempty"`
	DiskEncryptionKey           *EncryptionKey    `json:"disk_encryption_key,omitempty"`
	SourceSnapshot              string            `json:"snapshot,omitempty"`
	SourceSnapshotEncryptionKey *EncryptionKey    `json:"source_snapshot_encryption_key,omitempty"`
	SourceImage                 string            `json:"image,omitempty"`
	SourceImageEncryptionKey    *EncryptionKey    `json:"source_image_encryption_key,omitempty"`
}

PersistentDisk represents a Google persistent disk See https://www.terraform.io/docs/providers/google/r/compute_disk.html

type PrivateNetwork

type PrivateNetwork struct {
	Name                  string `json:"name"`
	AutoCreateSubNetworks bool   `json:"auto_create_subnetworks"`
	RoutingMode           string `json:"routing_mode,omitempty"`
	Description           string `json:"description,omitempty"`
	Project               string `json:"project,omitempty"`
}

PrivateNetwork represents a Google private network See https://www.terraform.io/docs/providers/google/r/compute_network.html

type Scheduling

type Scheduling struct {
	Preemptible bool `json:"preemptible,omitempty"`
}

Scheduling strategy to use

type ScratchDisk

type ScratchDisk struct {
	Interface string `json:"interface,omitempty"`
}

ScratchDisk represents an additional Compute instance local scratch disk

type ServiceAccount

type ServiceAccount struct {
	Email  string   `json:"email,omitempty"`
	Scopes []string `json:"scopes,omitempty"`
}

ServiceAccount to attach to the instance

type SubNetwork

type SubNetwork struct {
	Name                  string    `json:"name"`
	Network               string    `json:"network"`
	IPCIDRRange           string    `json:"ip_cidr_range"`
	Description           string    `json:"description,omitempty"`
	EnableFlowLogs        bool      `json:"enable_flow_logs"`
	PrivateIPGoogleAccess bool      `json:"private_ip_google_access"`
	Region                string    `json:"region,omitempty"`
	Project               string    `json:"project,omitempty"`
	SecondaryIPRanges     []IPRange `json:"secondary_ip_range,omitempty"`
}

SubNetwork represents a Google sub-network See https://www.terraform.io/docs/providers/google/r/compute_subnetwork.html

Jump to

Keyboard shortcuts

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