Documentation ¶
Index ¶
- type AccessConfig
- type AllowRule
- type BootDisk
- type ComputeAddress
- type ComputeAttachedDisk
- type ComputeInstance
- type EncryptionKey
- type Firewall
- type IPRange
- type InitializeParams
- type NetworkInterface
- type PersistentDisk
- type PrivateNetwork
- type Scheduling
- type ScratchDisk
- type ServiceAccount
- type SubNetwork
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 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 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