environment

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Aug 30, 2023 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Environment

type Environment[T any] struct {
	Base  T
	Cloud any
}

func NewEnvironment

func NewEnvironment(
	tool iota.Tool,
	cloud iota.Cloud,
	pathToPackerManifest string,
) (*Environment[any], error)

Returns a new environment for the given tool and cloud. pathToPackerManifest is only used for terraform, use "" for packer.

func NewPackerEnvironment

func NewPackerEnvironment(
	cloud iota.Cloud,
) (*Environment[*PackerBaseEnvironment], error)

Creates a new Packer environment for the given cloud.

func NewTerraformEnvironment

func NewTerraformEnvironment(
	pathToPackerManifest string,
	cloud iota.Cloud,
) (*Environment[*TerraformBaseEnvironment], error)

Creates a new Terraform environment for the given cloud.

type PackerAwsEnvironment

type PackerAwsEnvironment struct {
	Required *PackerAwsRequired
}

func NewPackerAwsEnvironment

func NewPackerAwsEnvironment() *PackerAwsEnvironment

Returns a new PackerAwsEnvironment.

type PackerAwsRequired

type PackerAwsRequired struct {
	AWS_ACCESS_KEY                     string
	AWS_SECRET_KEY                     string
	AWS_IAM_PROFILE                    string
	AWS_USER_IDS                       []string
	AWS_AMI_NAME                       string
	AWS_INSTANCE_TYPE                  string
	AWS_REGION                         string
	AWS_EC2_AMI_NAME_FILTER            string
	AWS_EC2_AMI_ROOT_DEVICE_TYPE       string
	AWS_EC2_AMI_VIRTUALIZATION_TYPE    string
	AWS_EC2_AMI_OWNERS                 []string
	AWS_EC2_SSH_USERNAME               string
	AWS_EC2_INSTANCE_USERNAME          string
	AWS_EC2_INSTANCE_USERNAME_HOME     string
	AWS_EC2_INSTANCE_USERNAME_PASSWORD string
}

type PackerBaseEnvironment

type PackerBaseEnvironment struct {
	Required *PackerBaseRequired
	Optional *PackerBaseOptional
}

func NewPackerBaseEnvironment

func NewPackerBaseEnvironment() *PackerBaseEnvironment

Returns a new PackerBaseEnvironment.

type PackerBaseOptional

type PackerBaseOptional struct {
	GIT_HUB_PERSONAL_ACCESS_TOKEN_CLASSIC string
}

type PackerBaseRequired

type PackerBaseRequired struct {
	GIT_USERNAME string
	GIT_EMAIL    string
	ANSIBLE_TAGS []string
}

type TerraformAwsEnvironment

type TerraformAwsEnvironment struct {
	Required *TerraformAwsRequired
	Optional *TerraformAwsOptional
}

func NewTerraformAwsEnvironment

func NewTerraformAwsEnvironment(
	pathToPackerManifest string,
) (*TerraformAwsEnvironment, error)

Returns a TerraformAwsEnvironment instance. The pathToPackerManifest is used to get the last built ami id from the packer manifest.

type TerraformAwsOptional

type TerraformAwsOptional struct {
	AWS_EC2_INSTANCE_VOLUME_TYPE string
	AWS_EC2_INSTANCE_VOLUME_SIZE int
}

type TerraformAwsRequired

type TerraformAwsRequired struct {
	AWS_ACCESS_KEY_ID     string
	AWS_SECRET_ACCESS_KEY string
	AWS_REGION            string
	AWS_INSTANCE_TYPE     string
	AMI_ID                string
	KEY_NAME              string
	SSH_PORT              int
	IP_FILE_NAME          string
	USERNAME              string
}

type TerraformBaseEnvironment

type TerraformBaseEnvironment struct {
	Required *TerraformBaseRequired
}

func NewTerraformBaseEnvironment

func NewTerraformBaseEnvironment() *TerraformBaseEnvironment

Returns a new TerraformBaseEnvironment.

type TerraformBaseRequired

type TerraformBaseRequired struct {
	ALLOWED_IP string
}

Jump to

Keyboard shortcuts

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