google_compute_instance_from_machine_image

package
v0.0.0-...-4deecce Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AdvancedMachineFeatures

type AdvancedMachineFeatures struct {
	// EnableNestedVirtualization: bool, optional
	EnableNestedVirtualization terra.BoolValue `hcl:"enable_nested_virtualization,attr"`
	// ThreadsPerCore: number, optional
	ThreadsPerCore terra.NumberValue `hcl:"threads_per_core,attr"`
	// VisibleCoreCount: number, optional
	VisibleCoreCount terra.NumberValue `hcl:"visible_core_count,attr"`
}

type AdvancedMachineFeaturesAttributes

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

func (AdvancedMachineFeaturesAttributes) EnableNestedVirtualization

func (amf AdvancedMachineFeaturesAttributes) EnableNestedVirtualization() terra.BoolValue

func (AdvancedMachineFeaturesAttributes) InternalRef

func (AdvancedMachineFeaturesAttributes) InternalTokens

func (amf AdvancedMachineFeaturesAttributes) InternalTokens() (hclwrite.Tokens, error)

func (AdvancedMachineFeaturesAttributes) InternalWithRef

func (AdvancedMachineFeaturesAttributes) ThreadsPerCore

func (AdvancedMachineFeaturesAttributes) VisibleCoreCount

func (amf AdvancedMachineFeaturesAttributes) VisibleCoreCount() terra.NumberValue

type AdvancedMachineFeaturesState

type AdvancedMachineFeaturesState struct {
	EnableNestedVirtualization bool    `json:"enable_nested_virtualization"`
	ThreadsPerCore             float64 `json:"threads_per_core"`
	VisibleCoreCount           float64 `json:"visible_core_count"`
}

type Args

type Args struct {
	// AllowStoppingForUpdate: bool, optional
	AllowStoppingForUpdate terra.BoolValue `hcl:"allow_stopping_for_update,attr"`
	// CanIpForward: bool, optional
	CanIpForward terra.BoolValue `hcl:"can_ip_forward,attr"`
	// DeletionProtection: bool, optional
	DeletionProtection terra.BoolValue `hcl:"deletion_protection,attr"`
	// Description: string, optional
	Description terra.StringValue `hcl:"description,attr"`
	// DesiredStatus: string, optional
	DesiredStatus terra.StringValue `hcl:"desired_status,attr"`
	// EnableDisplay: bool, optional
	EnableDisplay terra.BoolValue `hcl:"enable_display,attr"`
	// Hostname: string, optional
	Hostname terra.StringValue `hcl:"hostname,attr"`
	// Id: string, optional
	Id terra.StringValue `hcl:"id,attr"`
	// Labels: map of string, optional
	Labels terra.MapValue[terra.StringValue] `hcl:"labels,attr"`
	// MachineType: string, optional
	MachineType terra.StringValue `hcl:"machine_type,attr"`
	// Metadata: map of string, optional
	Metadata terra.MapValue[terra.StringValue] `hcl:"metadata,attr"`
	// MetadataStartupScript: string, optional
	MetadataStartupScript terra.StringValue `hcl:"metadata_startup_script,attr"`
	// MinCpuPlatform: string, optional
	MinCpuPlatform terra.StringValue `hcl:"min_cpu_platform,attr"`
	// Name: string, required
	Name terra.StringValue `hcl:"name,attr" validate:"required"`
	// Project: string, optional
	Project terra.StringValue `hcl:"project,attr"`
	// ResourcePolicies: list of string, optional
	ResourcePolicies terra.ListValue[terra.StringValue] `hcl:"resource_policies,attr"`
	// SourceMachineImage: string, required
	SourceMachineImage terra.StringValue `hcl:"source_machine_image,attr" validate:"required"`
	// Tags: set of string, optional
	Tags terra.SetValue[terra.StringValue] `hcl:"tags,attr"`
	// Zone: string, optional
	Zone terra.StringValue `hcl:"zone,attr"`
	// GuestAccelerator: min=0
	GuestAccelerator []GuestAccelerator `hcl:"guest_accelerator,block" validate:"min=0"`
	// ServiceAccount: min=0
	ServiceAccount []ServiceAccount `hcl:"service_account,block" validate:"min=0"`
	// AdvancedMachineFeatures: optional
	AdvancedMachineFeatures *AdvancedMachineFeatures `hcl:"advanced_machine_features,block"`
	// ConfidentialInstanceConfig: optional
	ConfidentialInstanceConfig *ConfidentialInstanceConfig `hcl:"confidential_instance_config,block"`
	// NetworkInterface: min=0
	NetworkInterface []NetworkInterface `hcl:"network_interface,block" validate:"min=0"`
	// NetworkPerformanceConfig: optional
	NetworkPerformanceConfig *NetworkPerformanceConfig `hcl:"network_performance_config,block"`
	// Params: optional
	Params *Params `hcl:"params,block"`
	// ReservationAffinity: optional
	ReservationAffinity *ReservationAffinity `hcl:"reservation_affinity,block"`
	// Scheduling: optional
	Scheduling *Scheduling `hcl:"scheduling,block"`
	// ShieldedInstanceConfig: optional
	ShieldedInstanceConfig *ShieldedInstanceConfig `hcl:"shielded_instance_config,block"`
	// Timeouts: optional
	Timeouts *Timeouts `hcl:"timeouts,block"`
}

Args contains the configurations for google_compute_instance_from_machine_image.

type AttachedDiskAttributes

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

func (AttachedDiskAttributes) DeviceName

func (ad AttachedDiskAttributes) DeviceName() terra.StringValue

func (AttachedDiskAttributes) DiskEncryptionKeyRaw

func (ad AttachedDiskAttributes) DiskEncryptionKeyRaw() terra.StringValue

func (AttachedDiskAttributes) DiskEncryptionKeySha256

func (ad AttachedDiskAttributes) DiskEncryptionKeySha256() terra.StringValue

func (AttachedDiskAttributes) InternalRef

func (ad AttachedDiskAttributes) InternalRef() (terra.Reference, error)

func (AttachedDiskAttributes) InternalTokens

func (ad AttachedDiskAttributes) InternalTokens() (hclwrite.Tokens, error)

func (AttachedDiskAttributes) InternalWithRef

func (ad AttachedDiskAttributes) KmsKeySelfLink() terra.StringValue

func (AttachedDiskAttributes) Mode

func (AttachedDiskAttributes) Source

type AttachedDiskState

type AttachedDiskState struct {
	DeviceName              string `json:"device_name"`
	DiskEncryptionKeyRaw    string `json:"disk_encryption_key_raw"`
	DiskEncryptionKeySha256 string `json:"disk_encryption_key_sha256"`
	KmsKeySelfLink          string `json:"kms_key_self_link"`
	Mode                    string `json:"mode"`
	Source                  string `json:"source"`
}

type BootDiskAttributes

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

func (BootDiskAttributes) AutoDelete

func (bd BootDiskAttributes) AutoDelete() terra.BoolValue

func (BootDiskAttributes) DeviceName

func (bd BootDiskAttributes) DeviceName() terra.StringValue

func (BootDiskAttributes) DiskEncryptionKeyRaw

func (bd BootDiskAttributes) DiskEncryptionKeyRaw() terra.StringValue

func (BootDiskAttributes) DiskEncryptionKeySha256

func (bd BootDiskAttributes) DiskEncryptionKeySha256() terra.StringValue

func (BootDiskAttributes) InitializeParams

func (BootDiskAttributes) InternalRef

func (bd BootDiskAttributes) InternalRef() (terra.Reference, error)

func (BootDiskAttributes) InternalTokens

func (bd BootDiskAttributes) InternalTokens() (hclwrite.Tokens, error)

func (BootDiskAttributes) InternalWithRef

func (bd BootDiskAttributes) InternalWithRef(ref terra.Reference) BootDiskAttributes
func (bd BootDiskAttributes) KmsKeySelfLink() terra.StringValue

func (BootDiskAttributes) Mode

func (BootDiskAttributes) Source

func (bd BootDiskAttributes) Source() terra.StringValue

type BootDiskInitializeParamsAttributes

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

func (BootDiskInitializeParamsAttributes) EnableConfidentialCompute

func (ip BootDiskInitializeParamsAttributes) EnableConfidentialCompute() terra.BoolValue

func (BootDiskInitializeParamsAttributes) Image

func (BootDiskInitializeParamsAttributes) InternalRef

func (BootDiskInitializeParamsAttributes) InternalTokens

func (BootDiskInitializeParamsAttributes) InternalWithRef

func (BootDiskInitializeParamsAttributes) Labels

func (BootDiskInitializeParamsAttributes) ProvisionedIops

func (BootDiskInitializeParamsAttributes) ProvisionedThroughput

func (ip BootDiskInitializeParamsAttributes) ProvisionedThroughput() terra.NumberValue

func (BootDiskInitializeParamsAttributes) ResourceManagerTags

func (BootDiskInitializeParamsAttributes) Size

func (BootDiskInitializeParamsAttributes) Type

type BootDiskInitializeParamsState

type BootDiskInitializeParamsState struct {
	EnableConfidentialCompute bool              `json:"enable_confidential_compute"`
	Image                     string            `json:"image"`
	Labels                    map[string]string `json:"labels"`
	ProvisionedIops           float64           `json:"provisioned_iops"`
	ProvisionedThroughput     float64           `json:"provisioned_throughput"`
	ResourceManagerTags       map[string]string `json:"resource_manager_tags"`
	Size                      float64           `json:"size"`
	Type                      string            `json:"type"`
}

type BootDiskState

type BootDiskState struct {
	AutoDelete              bool                            `json:"auto_delete"`
	DeviceName              string                          `json:"device_name"`
	DiskEncryptionKeyRaw    string                          `json:"disk_encryption_key_raw"`
	DiskEncryptionKeySha256 string                          `json:"disk_encryption_key_sha256"`
	KmsKeySelfLink          string                          `json:"kms_key_self_link"`
	Mode                    string                          `json:"mode"`
	Source                  string                          `json:"source"`
	InitializeParams        []BootDiskInitializeParamsState `json:"initialize_params"`
}

type ConfidentialInstanceConfig

type ConfidentialInstanceConfig struct {
	// ConfidentialInstanceType: string, optional
	ConfidentialInstanceType terra.StringValue `hcl:"confidential_instance_type,attr"`
	// EnableConfidentialCompute: bool, optional
	EnableConfidentialCompute terra.BoolValue `hcl:"enable_confidential_compute,attr"`
}

type ConfidentialInstanceConfigAttributes

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

func (ConfidentialInstanceConfigAttributes) ConfidentialInstanceType

func (cic ConfidentialInstanceConfigAttributes) ConfidentialInstanceType() terra.StringValue

func (ConfidentialInstanceConfigAttributes) EnableConfidentialCompute

func (cic ConfidentialInstanceConfigAttributes) EnableConfidentialCompute() terra.BoolValue

func (ConfidentialInstanceConfigAttributes) InternalRef

func (ConfidentialInstanceConfigAttributes) InternalTokens

func (ConfidentialInstanceConfigAttributes) InternalWithRef

type ConfidentialInstanceConfigState

type ConfidentialInstanceConfigState struct {
	ConfidentialInstanceType  string `json:"confidential_instance_type"`
	EnableConfidentialCompute bool   `json:"enable_confidential_compute"`
}

type GuestAccelerator

type GuestAccelerator struct {
	// Count: number, optional
	Count terra.NumberValue `hcl:"count,attr"`
	// Type: string, optional
	Type terra.StringValue `hcl:"type,attr"`
}

type GuestAcceleratorAttributes

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

func (GuestAcceleratorAttributes) Count

func (GuestAcceleratorAttributes) InternalRef

func (ga GuestAcceleratorAttributes) InternalRef() (terra.Reference, error)

func (GuestAcceleratorAttributes) InternalTokens

func (ga GuestAcceleratorAttributes) InternalTokens() (hclwrite.Tokens, error)

func (GuestAcceleratorAttributes) InternalWithRef

func (GuestAcceleratorAttributes) Type

type GuestAcceleratorState

type GuestAcceleratorState struct {
	Count float64 `json:"count"`
	Type  string  `json:"type"`
}

type NetworkInterface

type NetworkInterface struct {
	// InternalIpv6PrefixLength: number, optional
	InternalIpv6PrefixLength terra.NumberValue `hcl:"internal_ipv6_prefix_length,attr"`
	// Ipv6Address: string, optional
	Ipv6Address terra.StringValue `hcl:"ipv6_address,attr"`
	// Network: string, optional
	Network terra.StringValue `hcl:"network,attr"`
	// NetworkAttachment: string, optional
	NetworkAttachment terra.StringValue `hcl:"network_attachment,attr"`
	// NetworkIp: string, optional
	NetworkIp terra.StringValue `hcl:"network_ip,attr"`
	// NicType: string, optional
	NicType terra.StringValue `hcl:"nic_type,attr"`
	// QueueCount: number, optional
	QueueCount terra.NumberValue `hcl:"queue_count,attr"`
	// SecurityPolicy: string, optional
	SecurityPolicy terra.StringValue `hcl:"security_policy,attr"`
	// StackType: string, optional
	StackType terra.StringValue `hcl:"stack_type,attr"`
	// Subnetwork: string, optional
	Subnetwork terra.StringValue `hcl:"subnetwork,attr"`
	// SubnetworkProject: string, optional
	SubnetworkProject terra.StringValue `hcl:"subnetwork_project,attr"`
	// NetworkInterfaceAccessConfig: min=0
	AccessConfig []NetworkInterfaceAccessConfig `hcl:"access_config,block" validate:"min=0"`
	// NetworkInterfaceAliasIpRange: min=0
	AliasIpRange []NetworkInterfaceAliasIpRange `hcl:"alias_ip_range,block" validate:"min=0"`
	// NetworkInterfaceIpv6AccessConfig: min=0
	Ipv6AccessConfig []NetworkInterfaceIpv6AccessConfig `hcl:"ipv6_access_config,block" validate:"min=0"`
}

type NetworkInterfaceAccessConfig

type NetworkInterfaceAccessConfig struct {
	// NatIp: string, optional
	NatIp terra.StringValue `hcl:"nat_ip,attr"`
	// NetworkTier: string, optional
	NetworkTier terra.StringValue `hcl:"network_tier,attr"`
	// PublicPtrDomainName: string, optional
	PublicPtrDomainName terra.StringValue `hcl:"public_ptr_domain_name,attr"`
	// SecurityPolicy: string, optional
	SecurityPolicy terra.StringValue `hcl:"security_policy,attr"`
}

type NetworkInterfaceAccessConfigAttributes

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

func (NetworkInterfaceAccessConfigAttributes) InternalRef

func (NetworkInterfaceAccessConfigAttributes) InternalTokens

func (NetworkInterfaceAccessConfigAttributes) InternalWithRef

func (NetworkInterfaceAccessConfigAttributes) NatIp

func (NetworkInterfaceAccessConfigAttributes) NetworkTier

func (NetworkInterfaceAccessConfigAttributes) PublicPtrDomainName

func (ac NetworkInterfaceAccessConfigAttributes) PublicPtrDomainName() terra.StringValue

func (NetworkInterfaceAccessConfigAttributes) SecurityPolicy

type NetworkInterfaceAccessConfigState

type NetworkInterfaceAccessConfigState struct {
	NatIp               string `json:"nat_ip"`
	NetworkTier         string `json:"network_tier"`
	PublicPtrDomainName string `json:"public_ptr_domain_name"`
	SecurityPolicy      string `json:"security_policy"`
}

type NetworkInterfaceAliasIpRange

type NetworkInterfaceAliasIpRange struct {
	// IpCidrRange: string, optional
	IpCidrRange terra.StringValue `hcl:"ip_cidr_range,attr"`
	// SubnetworkRangeName: string, optional
	SubnetworkRangeName terra.StringValue `hcl:"subnetwork_range_name,attr"`
}

type NetworkInterfaceAliasIpRangeAttributes

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

func (NetworkInterfaceAliasIpRangeAttributes) InternalRef

func (NetworkInterfaceAliasIpRangeAttributes) InternalTokens

func (NetworkInterfaceAliasIpRangeAttributes) InternalWithRef

func (NetworkInterfaceAliasIpRangeAttributes) IpCidrRange

func (NetworkInterfaceAliasIpRangeAttributes) SubnetworkRangeName

func (air NetworkInterfaceAliasIpRangeAttributes) SubnetworkRangeName() terra.StringValue

type NetworkInterfaceAliasIpRangeState

type NetworkInterfaceAliasIpRangeState struct {
	IpCidrRange         string `json:"ip_cidr_range"`
	SubnetworkRangeName string `json:"subnetwork_range_name"`
}

type NetworkInterfaceAttributes

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

func (NetworkInterfaceAttributes) AccessConfig

func (NetworkInterfaceAttributes) AliasIpRange

func (NetworkInterfaceAttributes) InternalIpv6PrefixLength

func (ni NetworkInterfaceAttributes) InternalIpv6PrefixLength() terra.NumberValue

func (NetworkInterfaceAttributes) InternalRef

func (ni NetworkInterfaceAttributes) InternalRef() (terra.Reference, error)

func (NetworkInterfaceAttributes) InternalTokens

func (ni NetworkInterfaceAttributes) InternalTokens() (hclwrite.Tokens, error)

func (NetworkInterfaceAttributes) InternalWithRef

func (NetworkInterfaceAttributes) Ipv6AccessConfig

func (NetworkInterfaceAttributes) Ipv6AccessType

func (ni NetworkInterfaceAttributes) Ipv6AccessType() terra.StringValue

func (NetworkInterfaceAttributes) Ipv6Address

func (ni NetworkInterfaceAttributes) Ipv6Address() terra.StringValue

func (NetworkInterfaceAttributes) Name

func (NetworkInterfaceAttributes) Network

func (NetworkInterfaceAttributes) NetworkAttachment

func (ni NetworkInterfaceAttributes) NetworkAttachment() terra.StringValue

func (NetworkInterfaceAttributes) NetworkIp

func (NetworkInterfaceAttributes) NicType

func (NetworkInterfaceAttributes) QueueCount

func (NetworkInterfaceAttributes) SecurityPolicy

func (ni NetworkInterfaceAttributes) SecurityPolicy() terra.StringValue

func (NetworkInterfaceAttributes) StackType

func (NetworkInterfaceAttributes) Subnetwork

func (NetworkInterfaceAttributes) SubnetworkProject

func (ni NetworkInterfaceAttributes) SubnetworkProject() terra.StringValue

type NetworkInterfaceIpv6AccessConfig

type NetworkInterfaceIpv6AccessConfig struct {
	// ExternalIpv6: string, optional
	ExternalIpv6 terra.StringValue `hcl:"external_ipv6,attr"`
	// ExternalIpv6PrefixLength: string, optional
	ExternalIpv6PrefixLength terra.StringValue `hcl:"external_ipv6_prefix_length,attr"`
	// Name: string, optional
	Name terra.StringValue `hcl:"name,attr"`
	// NetworkTier: string, required
	NetworkTier terra.StringValue `hcl:"network_tier,attr" validate:"required"`
	// PublicPtrDomainName: string, optional
	PublicPtrDomainName terra.StringValue `hcl:"public_ptr_domain_name,attr"`
}

type NetworkInterfaceIpv6AccessConfigAttributes

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

func (NetworkInterfaceIpv6AccessConfigAttributes) ExternalIpv6

func (NetworkInterfaceIpv6AccessConfigAttributes) ExternalIpv6PrefixLength

func (iac NetworkInterfaceIpv6AccessConfigAttributes) ExternalIpv6PrefixLength() terra.StringValue

func (NetworkInterfaceIpv6AccessConfigAttributes) InternalRef

func (NetworkInterfaceIpv6AccessConfigAttributes) InternalTokens

func (NetworkInterfaceIpv6AccessConfigAttributes) InternalWithRef

func (NetworkInterfaceIpv6AccessConfigAttributes) Name

func (NetworkInterfaceIpv6AccessConfigAttributes) NetworkTier

func (NetworkInterfaceIpv6AccessConfigAttributes) PublicPtrDomainName

func (NetworkInterfaceIpv6AccessConfigAttributes) SecurityPolicy

type NetworkInterfaceIpv6AccessConfigState

type NetworkInterfaceIpv6AccessConfigState struct {
	ExternalIpv6             string `json:"external_ipv6"`
	ExternalIpv6PrefixLength string `json:"external_ipv6_prefix_length"`
	Name                     string `json:"name"`
	NetworkTier              string `json:"network_tier"`
	PublicPtrDomainName      string `json:"public_ptr_domain_name"`
	SecurityPolicy           string `json:"security_policy"`
}

type NetworkInterfaceState

type NetworkInterfaceState struct {
	InternalIpv6PrefixLength float64                                 `json:"internal_ipv6_prefix_length"`
	Ipv6AccessType           string                                  `json:"ipv6_access_type"`
	Ipv6Address              string                                  `json:"ipv6_address"`
	Name                     string                                  `json:"name"`
	Network                  string                                  `json:"network"`
	NetworkAttachment        string                                  `json:"network_attachment"`
	NetworkIp                string                                  `json:"network_ip"`
	NicType                  string                                  `json:"nic_type"`
	QueueCount               float64                                 `json:"queue_count"`
	SecurityPolicy           string                                  `json:"security_policy"`
	StackType                string                                  `json:"stack_type"`
	Subnetwork               string                                  `json:"subnetwork"`
	SubnetworkProject        string                                  `json:"subnetwork_project"`
	AccessConfig             []NetworkInterfaceAccessConfigState     `json:"access_config"`
	AliasIpRange             []NetworkInterfaceAliasIpRangeState     `json:"alias_ip_range"`
	Ipv6AccessConfig         []NetworkInterfaceIpv6AccessConfigState `json:"ipv6_access_config"`
}

type NetworkPerformanceConfig

type NetworkPerformanceConfig struct {
	// TotalEgressBandwidthTier: string, required
	TotalEgressBandwidthTier terra.StringValue `hcl:"total_egress_bandwidth_tier,attr" validate:"required"`
}

type NetworkPerformanceConfigAttributes

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

func (NetworkPerformanceConfigAttributes) InternalRef

func (NetworkPerformanceConfigAttributes) InternalTokens

func (npc NetworkPerformanceConfigAttributes) InternalTokens() (hclwrite.Tokens, error)

func (NetworkPerformanceConfigAttributes) InternalWithRef

func (NetworkPerformanceConfigAttributes) TotalEgressBandwidthTier

func (npc NetworkPerformanceConfigAttributes) TotalEgressBandwidthTier() terra.StringValue

type NetworkPerformanceConfigState

type NetworkPerformanceConfigState struct {
	TotalEgressBandwidthTier string `json:"total_egress_bandwidth_tier"`
}

type Params

type Params struct {
	// ResourceManagerTags: map of string, optional
	ResourceManagerTags terra.MapValue[terra.StringValue] `hcl:"resource_manager_tags,attr"`
}

type ParamsAttributes

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

func (ParamsAttributes) InternalRef

func (p ParamsAttributes) InternalRef() (terra.Reference, error)

func (ParamsAttributes) InternalTokens

func (p ParamsAttributes) InternalTokens() (hclwrite.Tokens, error)

func (ParamsAttributes) InternalWithRef

func (p ParamsAttributes) InternalWithRef(ref terra.Reference) ParamsAttributes

func (ParamsAttributes) ResourceManagerTags

func (p ParamsAttributes) ResourceManagerTags() terra.MapValue[terra.StringValue]

type ParamsState

type ParamsState struct {
	ResourceManagerTags map[string]string `json:"resource_manager_tags"`
}

type ReservationAffinity

type ReservationAffinity struct {
	// Type: string, required
	Type terra.StringValue `hcl:"type,attr" validate:"required"`
	// ReservationAffinitySpecificReservation: optional
	SpecificReservation *ReservationAffinitySpecificReservation `hcl:"specific_reservation,block"`
}

type ReservationAffinityAttributes

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

func (ReservationAffinityAttributes) InternalRef

func (ra ReservationAffinityAttributes) InternalRef() (terra.Reference, error)

func (ReservationAffinityAttributes) InternalTokens

func (ra ReservationAffinityAttributes) InternalTokens() (hclwrite.Tokens, error)

func (ReservationAffinityAttributes) InternalWithRef

func (ReservationAffinityAttributes) SpecificReservation

func (ReservationAffinityAttributes) Type

type ReservationAffinitySpecificReservation

type ReservationAffinitySpecificReservation struct {
	// Key: string, required
	Key terra.StringValue `hcl:"key,attr" validate:"required"`
	// Values: list of string, required
	Values terra.ListValue[terra.StringValue] `hcl:"values,attr" validate:"required"`
}

type ReservationAffinitySpecificReservationAttributes

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

func (ReservationAffinitySpecificReservationAttributes) InternalRef

func (ReservationAffinitySpecificReservationAttributes) InternalTokens

func (ReservationAffinitySpecificReservationAttributes) InternalWithRef

func (ReservationAffinitySpecificReservationAttributes) Key

func (ReservationAffinitySpecificReservationAttributes) Values

type ReservationAffinitySpecificReservationState

type ReservationAffinitySpecificReservationState struct {
	Key    string   `json:"key"`
	Values []string `json:"values"`
}

type ReservationAffinityState

type ReservationAffinityState struct {
	Type                string                                        `json:"type"`
	SpecificReservation []ReservationAffinitySpecificReservationState `json:"specific_reservation"`
}

type Resource

type Resource struct {
	Name string
	Args Args

	DependsOn terra.Dependencies
	Lifecycle *terra.Lifecycle
	// contains filtered or unexported fields
}

Resource represents the Terraform resource google_compute_instance_from_machine_image.

func New

func New(name string, args Args) *Resource

New creates a new instance of Resource.

func (*Resource) Attributes

func (gcifmi *Resource) Attributes() googleComputeInstanceFromMachineImageAttributes

Attributes returns the attributes for Resource.

func (*Resource) Configuration

func (gcifmi *Resource) Configuration() interface{}

Configuration returns the configuration (args) for Resource.

func (*Resource) DependOn

func (gcifmi *Resource) DependOn() terra.Reference

DependOn is used for other resources to depend on Resource.

func (*Resource) Dependencies

func (gcifmi *Resource) Dependencies() terra.Dependencies

Dependencies returns the list of resources Resource depends_on.

func (*Resource) ImportState

func (gcifmi *Resource) ImportState(state io.Reader) error

ImportState imports the given attribute values into Resource's state.

func (*Resource) LifecycleManagement

func (gcifmi *Resource) LifecycleManagement() *terra.Lifecycle

LifecycleManagement returns the lifecycle block for Resource.

func (*Resource) LocalName

func (gcifmi *Resource) LocalName() string

LocalName returns the local name for Resource.

func (*Resource) State

func (gcifmi *Resource) State() (*googleComputeInstanceFromMachineImageState, bool)

State returns the state and a bool indicating if Resource has state.

func (*Resource) StateMust

func (gcifmi *Resource) StateMust() *googleComputeInstanceFromMachineImageState

StateMust returns the state for Resource. Panics if the state is nil.

func (*Resource) Type

func (gcifmi *Resource) Type() string

Type returns the Terraform object type for Resource.

type Scheduling

type Scheduling struct {
	// AutomaticRestart: bool, optional
	AutomaticRestart terra.BoolValue `hcl:"automatic_restart,attr"`
	// InstanceTerminationAction: string, optional
	InstanceTerminationAction terra.StringValue `hcl:"instance_termination_action,attr"`
	// MaintenanceInterval: string, optional
	MaintenanceInterval terra.StringValue `hcl:"maintenance_interval,attr"`
	// MinNodeCpus: number, optional
	MinNodeCpus terra.NumberValue `hcl:"min_node_cpus,attr"`
	// OnHostMaintenance: string, optional
	OnHostMaintenance terra.StringValue `hcl:"on_host_maintenance,attr"`
	// Preemptible: bool, optional
	Preemptible terra.BoolValue `hcl:"preemptible,attr"`
	// ProvisioningModel: string, optional
	ProvisioningModel terra.StringValue `hcl:"provisioning_model,attr"`
	// SchedulingLocalSsdRecoveryTimeout: optional
	LocalSsdRecoveryTimeout *SchedulingLocalSsdRecoveryTimeout `hcl:"local_ssd_recovery_timeout,block"`
	// SchedulingMaxRunDuration: optional
	MaxRunDuration *SchedulingMaxRunDuration `hcl:"max_run_duration,block"`
	// SchedulingNodeAffinities: min=0
	NodeAffinities []SchedulingNodeAffinities `hcl:"node_affinities,block" validate:"min=0"`
}

type SchedulingAttributes

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

func (SchedulingAttributes) AutomaticRestart

func (s SchedulingAttributes) AutomaticRestart() terra.BoolValue

func (SchedulingAttributes) InstanceTerminationAction

func (s SchedulingAttributes) InstanceTerminationAction() terra.StringValue

func (SchedulingAttributes) InternalRef

func (s SchedulingAttributes) InternalRef() (terra.Reference, error)

func (SchedulingAttributes) InternalTokens

func (s SchedulingAttributes) InternalTokens() (hclwrite.Tokens, error)

func (SchedulingAttributes) InternalWithRef

func (SchedulingAttributes) LocalSsdRecoveryTimeout

func (SchedulingAttributes) MaintenanceInterval

func (s SchedulingAttributes) MaintenanceInterval() terra.StringValue

func (SchedulingAttributes) MaxRunDuration

func (SchedulingAttributes) MinNodeCpus

func (s SchedulingAttributes) MinNodeCpus() terra.NumberValue

func (SchedulingAttributes) NodeAffinities

func (SchedulingAttributes) OnHostMaintenance

func (s SchedulingAttributes) OnHostMaintenance() terra.StringValue

func (SchedulingAttributes) Preemptible

func (s SchedulingAttributes) Preemptible() terra.BoolValue

func (SchedulingAttributes) ProvisioningModel

func (s SchedulingAttributes) ProvisioningModel() terra.StringValue

type SchedulingLocalSsdRecoveryTimeout

type SchedulingLocalSsdRecoveryTimeout struct {
	// Nanos: number, optional
	Nanos terra.NumberValue `hcl:"nanos,attr"`
	// Seconds: number, required
	Seconds terra.NumberValue `hcl:"seconds,attr" validate:"required"`
}

type SchedulingLocalSsdRecoveryTimeoutAttributes

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

func (SchedulingLocalSsdRecoveryTimeoutAttributes) InternalRef

func (SchedulingLocalSsdRecoveryTimeoutAttributes) InternalTokens

func (SchedulingLocalSsdRecoveryTimeoutAttributes) InternalWithRef

func (SchedulingLocalSsdRecoveryTimeoutAttributes) Nanos

func (SchedulingLocalSsdRecoveryTimeoutAttributes) Seconds

type SchedulingLocalSsdRecoveryTimeoutState

type SchedulingLocalSsdRecoveryTimeoutState struct {
	Nanos   float64 `json:"nanos"`
	Seconds float64 `json:"seconds"`
}

type SchedulingMaxRunDuration

type SchedulingMaxRunDuration struct {
	// Nanos: number, optional
	Nanos terra.NumberValue `hcl:"nanos,attr"`
	// Seconds: number, required
	Seconds terra.NumberValue `hcl:"seconds,attr" validate:"required"`
}

type SchedulingMaxRunDurationAttributes

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

func (SchedulingMaxRunDurationAttributes) InternalRef

func (SchedulingMaxRunDurationAttributes) InternalTokens

func (mrd SchedulingMaxRunDurationAttributes) InternalTokens() (hclwrite.Tokens, error)

func (SchedulingMaxRunDurationAttributes) InternalWithRef

func (SchedulingMaxRunDurationAttributes) Nanos

func (SchedulingMaxRunDurationAttributes) Seconds

type SchedulingMaxRunDurationState

type SchedulingMaxRunDurationState struct {
	Nanos   float64 `json:"nanos"`
	Seconds float64 `json:"seconds"`
}

type SchedulingNodeAffinities

type SchedulingNodeAffinities struct {
	// Key: string, required
	Key terra.StringValue `hcl:"key,attr" validate:"required"`
	// Operator: string, required
	Operator terra.StringValue `hcl:"operator,attr" validate:"required"`
	// Values: set of string, required
	Values terra.SetValue[terra.StringValue] `hcl:"values,attr" validate:"required"`
}

type SchedulingNodeAffinitiesAttributes

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

func (SchedulingNodeAffinitiesAttributes) InternalRef

func (SchedulingNodeAffinitiesAttributes) InternalTokens

func (SchedulingNodeAffinitiesAttributes) InternalWithRef

func (SchedulingNodeAffinitiesAttributes) Key

func (SchedulingNodeAffinitiesAttributes) Operator

func (SchedulingNodeAffinitiesAttributes) Values

type SchedulingNodeAffinitiesState

type SchedulingNodeAffinitiesState struct {
	Key      string   `json:"key"`
	Operator string   `json:"operator"`
	Values   []string `json:"values"`
}

type SchedulingState

type SchedulingState struct {
	AutomaticRestart          bool                                     `json:"automatic_restart"`
	InstanceTerminationAction string                                   `json:"instance_termination_action"`
	MaintenanceInterval       string                                   `json:"maintenance_interval"`
	MinNodeCpus               float64                                  `json:"min_node_cpus"`
	OnHostMaintenance         string                                   `json:"on_host_maintenance"`
	Preemptible               bool                                     `json:"preemptible"`
	ProvisioningModel         string                                   `json:"provisioning_model"`
	LocalSsdRecoveryTimeout   []SchedulingLocalSsdRecoveryTimeoutState `json:"local_ssd_recovery_timeout"`
	MaxRunDuration            []SchedulingMaxRunDurationState          `json:"max_run_duration"`
	NodeAffinities            []SchedulingNodeAffinitiesState          `json:"node_affinities"`
}

type ScratchDiskAttributes

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

func (ScratchDiskAttributes) DeviceName

func (sd ScratchDiskAttributes) DeviceName() terra.StringValue

func (ScratchDiskAttributes) Interface

func (sd ScratchDiskAttributes) Interface() terra.StringValue

func (ScratchDiskAttributes) InternalRef

func (sd ScratchDiskAttributes) InternalRef() (terra.Reference, error)

func (ScratchDiskAttributes) InternalTokens

func (sd ScratchDiskAttributes) InternalTokens() (hclwrite.Tokens, error)

func (ScratchDiskAttributes) InternalWithRef

func (ScratchDiskAttributes) Size

type ScratchDiskState

type ScratchDiskState struct {
	DeviceName string  `json:"device_name"`
	Interface  string  `json:"interface"`
	Size       float64 `json:"size"`
}

type ServiceAccount

type ServiceAccount struct {
	// Email: string, optional
	Email terra.StringValue `hcl:"email,attr"`
	// Scopes: set of string, optional
	Scopes terra.SetValue[terra.StringValue] `hcl:"scopes,attr"`
}

type ServiceAccountAttributes

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

func (ServiceAccountAttributes) Email

func (ServiceAccountAttributes) InternalRef

func (sa ServiceAccountAttributes) InternalRef() (terra.Reference, error)

func (ServiceAccountAttributes) InternalTokens

func (sa ServiceAccountAttributes) InternalTokens() (hclwrite.Tokens, error)

func (ServiceAccountAttributes) InternalWithRef

func (ServiceAccountAttributes) Scopes

type ServiceAccountState

type ServiceAccountState struct {
	Email  string   `json:"email"`
	Scopes []string `json:"scopes"`
}

type ShieldedInstanceConfig

type ShieldedInstanceConfig struct {
	// EnableIntegrityMonitoring: bool, optional
	EnableIntegrityMonitoring terra.BoolValue `hcl:"enable_integrity_monitoring,attr"`
	// EnableSecureBoot: bool, optional
	EnableSecureBoot terra.BoolValue `hcl:"enable_secure_boot,attr"`
	// EnableVtpm: bool, optional
	EnableVtpm terra.BoolValue `hcl:"enable_vtpm,attr"`
}

type ShieldedInstanceConfigAttributes

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

func (ShieldedInstanceConfigAttributes) EnableIntegrityMonitoring

func (sic ShieldedInstanceConfigAttributes) EnableIntegrityMonitoring() terra.BoolValue

func (ShieldedInstanceConfigAttributes) EnableSecureBoot

func (sic ShieldedInstanceConfigAttributes) EnableSecureBoot() terra.BoolValue

func (ShieldedInstanceConfigAttributes) EnableVtpm

func (ShieldedInstanceConfigAttributes) InternalRef

func (ShieldedInstanceConfigAttributes) InternalTokens

func (sic ShieldedInstanceConfigAttributes) InternalTokens() (hclwrite.Tokens, error)

func (ShieldedInstanceConfigAttributes) InternalWithRef

type ShieldedInstanceConfigState

type ShieldedInstanceConfigState struct {
	EnableIntegrityMonitoring bool `json:"enable_integrity_monitoring"`
	EnableSecureBoot          bool `json:"enable_secure_boot"`
	EnableVtpm                bool `json:"enable_vtpm"`
}

type Timeouts

type Timeouts struct {
	// Create: string, optional
	Create terra.StringValue `hcl:"create,attr"`
	// Delete: string, optional
	Delete terra.StringValue `hcl:"delete,attr"`
	// Update: string, optional
	Update terra.StringValue `hcl:"update,attr"`
}

type TimeoutsAttributes

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

func (TimeoutsAttributes) Create

func (TimeoutsAttributes) Delete

func (TimeoutsAttributes) InternalRef

func (t TimeoutsAttributes) InternalRef() (terra.Reference, error)

func (TimeoutsAttributes) InternalTokens

func (t TimeoutsAttributes) InternalTokens() (hclwrite.Tokens, error)

func (TimeoutsAttributes) InternalWithRef

func (t TimeoutsAttributes) InternalWithRef(ref terra.Reference) TimeoutsAttributes

func (TimeoutsAttributes) Update

type TimeoutsState

type TimeoutsState struct {
	Create string `json:"create"`
	Delete string `json:"delete"`
	Update string `json:"update"`
}

Jump to

Keyboard shortcuts

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