Documentation
¶
Index ¶
- Constants
- func CreateLaunchTemplate(e aws.Environment, name string, ...) (*ec2.LaunchTemplate, error)
- func GetAMIFromSSM(e aws.Environment, paramName string) (string, error)
- func LatestUbuntuAMI(e aws.Environment, arch string) (string, error)
- func NewAutoscalingGroup(e aws.Environment, name string, launchTemplateID pulumi.StringInput, ...) (*autoscaling.Group, error)
- func NewDedicatedHost(e aws.Environment, name string, args DedicatedHostArgs, ...) (*ec2.DedicatedHost, error)
- func NewInstance(e aws.Environment, name string, args InstanceArgs, ...) (*ec2.Instance, error)
- func RegisterPoolMember(e aws.Environment, name string, instanceID pulumi.StringOutput, ...) (pulumi.StringOutput, error)
- func SearchAMI(e aws.Environment, owner, name, arch string) (string, error)
- func TagPoolMember(e aws.Environment, name string, instanceID pulumi.StringOutput, ...) error
- type DedicatedHostArgs
- type InstanceArgs
Constants ¶
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 TagPoolMember ¶ added in v0.85.0
func TagPoolMember(e aws.Environment, name string, instanceID pulumi.StringOutput, username string, opts ...pulumi.ResourceOption) error
TagPoolMember declares the pool identity tags (dd:macos-e2e-pool-instance, dd:macos-e2e-pool-owner, Name) as their own aws:ec2/tag:Tag resources, keyed by the same name/slug pair RegisterPoolMember uses. Call this on every run that keeps an existing pool member (imported or freshly registered) with the same name argument: these tags live outside the Instance resource's own tags attribute, so a run that omits this call has Pulumi see them as no longer declared and delete them, even though the imported Instance's own IgnoreChanges(["tags", ...]) leaves its attribute alone.
Types ¶
type DedicatedHostArgs ¶
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()
}