ec2

package
v0.84.1 Latest Latest
Warning

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

Go to latest
Published: Oct 1, 2026 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AMD64Arch = "x86_64"
	ARM64Arch = "arm64"
)

Variables

This section is empty.

Functions

func CreateLaunchTemplate

func CreateLaunchTemplate(e aws.Environment, name string, ami, instanceType, iamProfileArn, keyPair, userData pulumi.StringInput) (*ec2.LaunchTemplate, error)

func GetAMIFromSSM

func GetAMIFromSSM(e aws.Environment, paramName string) (string, error)

func LatestUbuntuAMI

func LatestUbuntuAMI(e aws.Environment, arch string) (string, error)

Latest 22.04 (jammy)

func NewAutoscalingGroup

func NewAutoscalingGroup(e aws.Environment, name string,
	launchTemplateID pulumi.StringInput,
	launchTemplateVersion pulumi.IntInput,
	desiredCapacity, minSize, maxSize int,
) (*autoscaling.Group, error)

func NewDedicatedHost

func NewDedicatedHost(e aws.Environment, name string, args DedicatedHostArgs, opts ...pulumi.ResourceOption) (*ec2.DedicatedHost, error)

NewDedicatedHost creates an EC2 Dedicated Host for Mac instances

func NewInstance

func NewInstance(e aws.Environment, name string, args InstanceArgs, opts ...pulumi.ResourceOption) (*ec2.Instance, error)

func RegisterPoolMember added in v0.84.0

func RegisterPoolMember(e aws.Environment, name string, instanceID pulumi.StringOutput, username string, opts ...pulumi.ResourceOption) (pulumi.StringOutput, error)

RegisterPoolMember bakes instanceID's current disk state into a golden AMI and tags it as a pool member owned by username, returning the AMI ID. The lease record is published separately by the test harness, since it is mutated outside Pulumi's control.

Call this exactly once, for a freshly created instance, and pass opts that order it after remote.InitHost so the AMI captures the finished setup rather than a bare OS.

func SearchAMI

func SearchAMI(e aws.Environment, owner, name, arch string) (string, error)

Types

type DedicatedHostArgs

type DedicatedHostArgs struct {
	// Mandatory
	InstanceType string // e.g., "mac1.metal", "mac2.metal"

	// Optional
	AvailabilityZone string // If not specified, will use first available zone
	HostRecovery     string // "on" or "off", defaults to "off"
	Tags             pulumi.StringMap
}

type InstanceArgs

type InstanceArgs struct {
	// Mandatory
	AMI string

	// Defaulted
	InstanceType    string // Note that caller must ensure it matches with AMI Architecture
	KeyPairName     string
	Tenancy         string
	StorageSize     int
	InstanceProfile string

	// Optional
	UserData              string
	HTTPTokensRequired    bool
	HostID                pulumi.StringInput // For dedicated host tenancy
	SubnetID              pulumi.StringInput // Pins the subnet instead of picking one at random
	VolumeThroughput      int                // GP3 volume throughput in MiB/s (125-1000)
	WithoutInternetAccess bool               // Replaces the account's default security groups with groups resolved from e.NoInternetSecurityGroupNames()
}

Directories

Path Synopsis
Package pool discovers idle, tagged macOS EC2 instances and attaches to one via an S3-backed lease.
Package pool discovers idle, tagged macOS EC2 instances and attaches to one via an S3-backed lease.

Jump to

Keyboard shortcuts

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