virtual_machine

package
v0.1.57 Latest Latest
Warning

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

Go to latest
Published: Aug 18, 2022 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const AwsKeyPairResourceName = "aws_key_pair"
View Source
const AwsResourceName = "aws_instance"
View Source
const AzureResourceName = "azurerm_linux_virtual_machine"

Variables

This section is empty.

Functions

func GetLatestGcpImage added in v0.1.48

func GetLatestGcpImage(ref *resourcespb.ImageReference) (string, error)

func GetNamePattern added in v0.1.30

func GetNamePattern(image *resourcespb.ImageReference) (string, error)

Types

type AwsAmi added in v0.1.30

type AwsAmi struct {
	*output.TerraformDataSource `hcl:",squash"  default:"name=aws_ami"`

	Owners     []string `hcl:"owners"`
	MostRecent bool     `hcl:"most_recent"`
	NameRegex  string   `hcl:"name_regex"  hcle:"omitempty"`

	Filters []AwsAmiFilter `hcl:"filter,blocks"`
}

func LatestAwsAmi added in v0.1.30

func LatestAwsAmi(image *resourcespb.ImageReference, resourceId string) (AwsAmi, error)

type AwsAmiFilter added in v0.1.30

type AwsAmiFilter struct {
	Name   string   `hcl:"name"`
	Values []string `hcl:"values"`
}

type AwsEC2

type AwsEC2 struct {
	*common.AwsResource      `hcl:",squash"  default:"name=aws_instance"`
	Ami                      string                   `hcl:"ami,expr" json:"ami"`
	InstanceType             string                   `hcl:"instance_type" json:"instance_type"`
	AssociatePublicIpAddress bool                     `hcl:"associate_public_ip_address" hcle:"omitempty" json:"associate_public_ip_address"`
	SubnetId                 string                   `hcl:"subnet_id,expr" hcle:"omitempty" json:"subnet_id"`
	UserDataBase64           string                   `hcl:"user_data_base64" hcle:"omitempty" json:"user_data_base64"`
	NetworkInterfaces        []AwsEc2NetworkInterface `hcl:"network_interface,blocks" hcle:"omitempty" json:"network_interfaces"`
	SecurityGroupIds         []string                 `hcl:"vpc_security_group_ids,expr" hcle:"omitempty" json:"security_group_ids"`
	KeyName                  string                   `hcl:"key_name,expr" hcle:"omitempty" json:"key_name"`
	IamInstanceProfile       string                   `hcl:"iam_instance_profile,expr" hcle:"omitempty" json:"iam_instance_profile"`

	// outputs
	PublicIp string `json:"public_ip" hcle:"omitempty"`
}

type AwsEc2NetworkInterface

type AwsEc2NetworkInterface struct {
	NetworkInterfaceId string `hcl:"network_interface_id,expr"`
	DeviceIndex        int    `hcl:"device_index"`
}

type AwsKeyPair

type AwsKeyPair struct {
	*common.AwsResource `hcl:",squash"  default:"name=aws_key_pair"`
	KeyName             string `hcl:"key_name" json:"key_name"`
	PublicKey           string `hcl:"public_key" json:"public_key"`

	Arn string `json:"arn" hcle:"omitempty" `
}

type AzureAdminSshKey

type AzureAdminSshKey struct {
	Username  string `hcl:"username" json:"username"`
	PublicKey string `hcl:"public_key" json:"public_key"`
}

type AzureGeneratedIdentity added in v0.1.46

type AzureGeneratedIdentity struct {
	// outputs
	PrincipalId string `json:"principal_id" hcle:"omitempty"`
}

type AzureIdentity

type AzureIdentity struct {
	Type string `hcl:"type"`

	// outputs
	PrincipalId string `json:"principal_id" hcle:"omitempty"`
}

type AzureOsDisk

type AzureOsDisk struct {
	Caching            string `hcl:"caching"`
	StorageAccountType string `hcl:"storage_account_type"`
}

type AzureSourceImageReference

type AzureSourceImageReference struct {
	Publisher string `hcl:"publisher"`
	Offer     string `hcl:"offer"`
	Sku       string `hcl:"sku"`
	Version   string `hcl:"version"`
}

func GetLatestAzureSourceImageReference added in v0.1.30

func GetLatestAzureSourceImageReference(ref *resourcespb.ImageReference) (AzureSourceImageReference, error)

type AzureVirtualMachine

type AzureVirtualMachine struct {
	*common.AzResource            `hcl:",squash" default:"name=azurerm_linux_virtual_machine" `
	Location                      string                      `hcl:"location" json:"location"`
	Size                          string                      `hcl:"size" json:"size"`
	NetworkInterfaceIds           []string                    `hcl:"network_interface_ids,expr" json:"network_interface_ids"`
	CustomData                    string                      `hcl:"custom_data" hcle:"omitempty" json:"custom_data"`
	OsDisk                        []AzureOsDisk               `hcl:"os_disk,blocks" json:"os_disk"`
	AdminUsername                 string                      `hcl:"admin_username" json:"admin_username"`
	AdminPassword                 string                      `hcl:"admin_password,expr" hcle:"omitempty" json:"admin_password"`
	AdminSshKey                   []AzureAdminSshKey          `hcl:"admin_ssh_key,blocks" hcle:"omitempty" json:"admin_ssh_key"`
	SourceImageReference          []AzureSourceImageReference `hcl:"source_image_reference,blocks" json:"source_image_reference"`
	DisablePasswordAuthentication bool                        `hcl:"disable_password_authentication" json:"disable_password_authentication"`
	Identity                      AzureIdentity               `hcl:"identity"`
	Identities                    []AzureGeneratedIdentity    `json:"identity" hcle:"omitempty"`
	ComputerName                  string                      `hcl:"computer_name" json:"computer_name"`
	Zone                          string                      `hcl:"zone" hcle:"omitempty" json:"zone"`
}

type GoogleBootDisk added in v0.1.48

type GoogleBootDisk struct {
	InitializeParams GoogleBootDiskInitializeParams `hcl:"initialize_params"`
}

type GoogleBootDiskInitializeParams added in v0.1.48

type GoogleBootDiskInitializeParams struct {
	Image string `hcl:"image"`
	Size  int    `hcl:"size" hcle:"omitempty"`
}

type GoogleComputeInstance added in v0.1.48

type GoogleComputeInstance struct {
	*common.GcpResource `hcl:",squash"  default:"name=google_compute_instance"`

	MachineType           string                                `hcl:"machine_type" json:"machine_type"`
	BootDisk              []GoogleBootDisk                      `hcl:"boot_disk,blocks" json:"boot_disk"`
	Zone                  string                                `hcl:"zone" hcle:"omitempty" json:"zone"`
	Tags                  []string                              `hcl:"tags" hcle:"omitempty" json:"tags"`
	MetadataStartupScript string                                `hcl:"metadata_startup_script" hcle:"omitempty" json:"metadata_startup_script"`
	NetworkInterface      []GoogleNetworkInterface              `hcl:"network_interface,blocks" json:"network_interface" json:"network_interface"`
	Metadata              map[string]string                     `hcl:"metadata" hcle:"omitempty" json:"metadata"`
	ServiceAccount        []GoogleComputeInstanceServiceAccount `hcl:"service_account,blocks" json:"service_account"`
}

type GoogleComputeInstanceServiceAccount added in v0.1.53

type GoogleComputeInstanceServiceAccount struct {
	Email  string   `hcl:"email,expr" json:"email"`
	Scopes []string `hcl:"scopes" json:"scopes"`
}

type GoogleNetworkInterface added in v0.1.48

type GoogleNetworkInterface struct {
	Subnetwork   string                               `hcl:"subnetwork,expr"`
	AccessConfig []GoogleNetworkInterfaceAccessConfig `hcl:"access_config,blocks" json:"access_config"`
}

type GoogleNetworkInterfaceAccessConfig added in v0.1.48

type GoogleNetworkInterfaceAccessConfig struct {
	NetworkTier string `hcl:"network_tier"  hcle:"omitempty"` //STANDARD

	// outputs
	NatIp string `hcl:"nat_ip,expr" hcle:"omitempty" json:"nat_ip"`
}

Jump to

Keyboard shortcuts

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