awstasks

package
v1.28.0-alpha.1 Latest Latest
Warning

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

Go to latest
Published: Jun 25, 2023 License: Apache-2.0 Imports: 36 Imported by: 234

Documentation

Index

Constants

View Source
const (
	// TargetGroupAttributeDeregistrationDelayConnectionTerminationEnabled indicates whether
	//the load balancer terminates connections at the end of the deregistration timeout.
	// https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#deregistration-delay
	TargetGroupAttributeDeregistrationDelayConnectionTerminationEnabled = "deregistration_delay.connection_termination.enabled"
	// TargetGroupAttributeDeregistrationDelayTimeoutSeconds is the amount of time for Elastic Load Balancing
	// to wait before changing the state of a deregistering target from draining to unused.
	// https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#deregistration-delay
	TargetGroupAttributeDeregistrationDelayTimeoutSeconds = "deregistration_delay.timeout_seconds"
)
View Source
const (
	// CloudTagInstanceGroupRolePrefix is a cloud tag that defines the instance role
	CloudTagInstanceGroupRolePrefix = "k8s.io/role/"
)
View Source
const CloudTagServiceAccountName = "service-account.kops.k8s.io/name"

CloudTagServiceAccountName is a tag that defines the service account's name

View Source
const CloudTagServiceAccountNamespace = "service-account.kops.k8s.io/namespace"

CloudTagServiceAccountNamespace is a tag that defines the service account's namespace

View Source
const MaxUserDataSize = 16384

MaxUserDataSize is the max size of the userdata

Variables

This section is empty.

Functions

func ModifyTargetGroupAttributes added in v1.26.0

func ModifyTargetGroupAttributes(cloud awsup.AWSCloud, arn *string, attributes map[string]string) error

Types

type AutoscalingGroup

type AutoscalingGroup struct {
	// Name is the name of the ASG
	Name *string
	// Lifecycle is the resource lifecycle
	Lifecycle fi.Lifecycle

	// Granularity specifys the granularity of the metrics
	Granularity *string
	// InstanceProtection makes new instances in an autoscaling group protected from scale in
	InstanceProtection *bool
	// LaunchTemplate is the launch template for the asg
	LaunchTemplate *LaunchTemplate
	// LoadBalancers is a list of elastic load balancer names to add to the autoscaling group
	LoadBalancers []*ClassicLoadBalancer
	// MaxInstanceLifetime is the maximum amount of time, in seconds, that an instance can be in service.
	MaxInstanceLifetime *int64
	// MaxSize is the max number of nodes in asg
	MaxSize *int64
	// Metrics is a collection of metrics to monitor
	Metrics []string
	// MinSize is the smallest number of nodes in the asg
	MinSize *int64
	// MixedInstanceOverrides is a collection of instance types to use with fleet policy
	MixedInstanceOverrides []string
	// InstanceRequirements is a list of requirements for any instance type we are willing to run in the EC2 fleet.
	InstanceRequirements *InstanceRequirements
	// MixedOnDemandAllocationStrategy is allocation strategy to use for on-demand instances
	MixedOnDemandAllocationStrategy *string
	// MixedOnDemandBase is percentage split of On-Demand Instances and Spot Instances for your
	// additional capacity beyond the base portion
	MixedOnDemandBase *int64
	// MixedOnDemandAboveBase is the percentage split of On-Demand Instances and Spot Instances
	// for your additional capacity beyond the base portion.
	MixedOnDemandAboveBase *int64
	// MixedSpotAllocationStrategy diversifies your Spot capacity across multiple instance types to
	// find the best pricing. Higher Spot availability may result from a larger number of
	// instance types to choose from.
	MixedSpotAllocationStrategy *string
	// MixedSpotInstancePools is the number of Spot pools to use to allocate your Spot capacity (defaults to 2)
	// pools are determined from the different instance types in the Overrides array of LaunchTemplate
	MixedSpotInstancePools *int64
	// MixedSpotMaxPrice is the maximum price per unit hour you are willing to pay for a Spot Instance
	MixedSpotMaxPrice *string
	// Subnets is a collection of subnets to attach the nodes to
	Subnets []*Subnet
	// SuspendProcesses
	SuspendProcesses *[]string
	// Tags is a collection of keypairs to apply to the node on launch
	Tags map[string]string
	// TargetGroups is a list of ALB/NLB target group ARNs to add to the autoscaling group
	TargetGroups []*TargetGroup
	// CapacityRebalance makes ASG proactively replace spot instances when ASG receives a rebalance recommendation
	CapacityRebalance *bool
	// WarmPool is the WarmPool config for the ASG
	WarmPool *WarmPool
}

AutoscalingGroup provides the definition for a autoscaling group in aws +kops:fitask

func (*AutoscalingGroup) AutoscalingGroupSubnets added in v1.15.1

func (e *AutoscalingGroup) AutoscalingGroupSubnets() []string

AutoscalingGroupSubnets returns the subnets list

func (*AutoscalingGroup) AutoscalingGroupTags added in v1.15.1

func (e *AutoscalingGroup) AutoscalingGroupTags() []*autoscaling.Tag

AutoscalingGroupTags is responsible for generating the tagging for the asg

func (*AutoscalingGroup) AutoscalingLoadBalancers added in v1.18.3

func (e *AutoscalingGroup) AutoscalingLoadBalancers() []*string

AutoscalingLoadBalancers returns a list of LBs attatched to the ASG

func (*AutoscalingGroup) AutoscalingTargetGroups added in v1.18.3

func (e *AutoscalingGroup) AutoscalingTargetGroups() []*string

AutoscalingTargetGroups returns a list of TGs attatched to the ASG

func (*AutoscalingGroup) CheckChanges

func (e *AutoscalingGroup) CheckChanges(a, ex, changes *AutoscalingGroup) error

CheckChanges is responsible for checking for changes??

func (*AutoscalingGroup) CompareWithID

func (e *AutoscalingGroup) CompareWithID() *string

CompareWithID returns the ID of the ASG

func (*AutoscalingGroup) Find

Find is used to discover the ASG in the cloud provider

func (*AutoscalingGroup) GetLifecycle added in v1.10.0

func (o *AutoscalingGroup) GetLifecycle() fi.Lifecycle

GetLifecycle returns the Lifecycle of the object, implementing fi.HasLifecycle

func (*AutoscalingGroup) GetName

func (o *AutoscalingGroup) GetName() *string

GetName returns the Name of the object, implementing fi.HasName

func (*AutoscalingGroup) Normalize added in v1.26.0

func (e *AutoscalingGroup) Normalize(c *fi.CloudupContext) error

func (*AutoscalingGroup) RenderAWS

func (v *AutoscalingGroup) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *AutoscalingGroup) error

RenderAWS is responsible for building the autoscaling group via AWS API

func (*AutoscalingGroup) RenderTerraform

func (_ *AutoscalingGroup) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *AutoscalingGroup) error

RenderTerraform is responsible for rendering the terraform codebase

func (*AutoscalingGroup) Run

Run is responsible for running the task

func (*AutoscalingGroup) SetLifecycle added in v1.10.0

func (o *AutoscalingGroup) SetLifecycle(lifecycle fi.Lifecycle)

SetLifecycle sets the Lifecycle of the object, implementing fi.SetLifecycle

func (*AutoscalingGroup) String

func (o *AutoscalingGroup) String() string

String is the stringer function for the task, producing readable output using fi.TaskAsString

func (e *AutoscalingGroup) TerraformLink() *terraformWriter.Literal

TerraformLink fills in the property

func (*AutoscalingGroup) UseMixedInstancesPolicy added in v1.15.1

func (e *AutoscalingGroup) UseMixedInstancesPolicy() bool

UseMixedInstancesPolicy checks if we should add a mixed instances policy to the asg

type AutoscalingLifecycleHook added in v1.21.0

type AutoscalingLifecycleHook struct {
	ID        *string
	Name      *string
	Lifecycle fi.Lifecycle

	// HookName is the name of the lifecycle hook.
	// It needs to be unique within the autoscaling group.
	// If not set, Name will be used.
	HookName *string

	AutoscalingGroup    *AutoscalingGroup
	DefaultResult       *string
	HeartbeatTimeout    *int64
	LifecycleTransition *string

	Enabled *bool
}

+kops:fitask

func (*AutoscalingLifecycleHook) CheckChanges added in v1.21.0

func (_ *AutoscalingLifecycleHook) CheckChanges(a, e, changes *AutoscalingLifecycleHook) error

func (*AutoscalingLifecycleHook) CompareWithID added in v1.21.0

func (h *AutoscalingLifecycleHook) CompareWithID() *string

func (*AutoscalingLifecycleHook) Find added in v1.21.0

func (*AutoscalingLifecycleHook) GetHookName added in v1.21.0

func (h *AutoscalingLifecycleHook) GetHookName() *string

func (*AutoscalingLifecycleHook) GetLifecycle added in v1.21.0

func (o *AutoscalingLifecycleHook) GetLifecycle() fi.Lifecycle

GetLifecycle returns the Lifecycle of the object, implementing fi.HasLifecycle

func (*AutoscalingLifecycleHook) GetName added in v1.21.0

func (o *AutoscalingLifecycleHook) GetName() *string

GetName returns the Name of the object, implementing fi.HasName

func (*AutoscalingLifecycleHook) RenderAWS added in v1.21.0

func (*AutoscalingLifecycleHook) RenderTerraform added in v1.21.0

func (_ *AutoscalingLifecycleHook) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *AutoscalingLifecycleHook) error

func (*AutoscalingLifecycleHook) Run added in v1.21.0

func (*AutoscalingLifecycleHook) SetLifecycle added in v1.21.0

func (o *AutoscalingLifecycleHook) SetLifecycle(lifecycle fi.Lifecycle)

SetLifecycle sets the Lifecycle of the object, implementing fi.SetLifecycle

func (*AutoscalingLifecycleHook) String added in v1.21.0

func (o *AutoscalingLifecycleHook) String() string

String is the stringer function for the task, producing readable output using fi.TaskAsString

type BlockDeviceMapping

type BlockDeviceMapping struct {
	// DeviceName is the device name of the EBS
	DeviceName *string
	// EbsDeleteOnTermination indicates the volume should be delete on instance termination
	EbsDeleteOnTermination *bool
	// EbsEncrypted indicates the volume should be encrypted
	EbsEncrypted *bool
	// EbsKmsKey is the encryption key identifier for the volume
	EbsKmsKey *string
	// EbsVolumeIops is the provisioned iops for the volume
	EbsVolumeIops *int64
	// EbsVolumeThroughput is the throughput for the volume
	EbsVolumeThroughput *int64
	// EbsVolumeSize is the size of the volume
	EbsVolumeSize *int64
	// EbsVolumeType is the aws volume type
	EbsVolumeType *string
	// VirtualName is the device name
	VirtualName *string
}

BlockDeviceMapping defines the specification for a device mapping

func BlockDeviceMappingFromAutoscaling

func BlockDeviceMappingFromAutoscaling(i *autoscaling.BlockDeviceMapping) (string, *BlockDeviceMapping)

BlockDeviceMappingFromAutoscaling converts an autoscaling block mapping to internal spec

func BlockDeviceMappingFromEC2

func BlockDeviceMappingFromEC2(i *ec2.BlockDeviceMapping) (string, *BlockDeviceMapping)

BlockDeviceMappingFromEC2 converts a e2c block mapping to internal block device mapping

func BlockDeviceMappingFromLaunchTemplateBootDeviceRequest added in v1.15.1

func BlockDeviceMappingFromLaunchTemplateBootDeviceRequest(i *ec2.LaunchTemplateBlockDeviceMapping) (string, *BlockDeviceMapping)

BlockDeviceMappingFromLaunchTemplateBootDeviceRequest coverts the launch template device mappings to an interval block device mapping

func (*BlockDeviceMapping) GetDependencies

func (i *BlockDeviceMapping) GetDependencies(tasks map[string]fi.CloudupTask) []fi.CloudupTask

GetDependencies is for future use

func (*BlockDeviceMapping) ToAutoscaling

func (i *BlockDeviceMapping) ToAutoscaling(deviceName string) *autoscaling.BlockDeviceMapping

ToAutoscaling converts the internal block mapping to autoscaling

func (*BlockDeviceMapping) ToEC2

func (i *BlockDeviceMapping) ToEC2(deviceName string) *ec2.BlockDeviceMapping

ToEC2 creates and returns an ec2 block mapping

func (*BlockDeviceMapping) ToLaunchTemplateBootDeviceRequest added in v1.15.1

func (i *BlockDeviceMapping) ToLaunchTemplateBootDeviceRequest(deviceName string) *ec2.LaunchTemplateBlockDeviceMappingRequest

ToLaunchTemplateBootDeviceRequest coverts in the internal block device mapping to a launch template request

type ClassicLoadBalancer added in v1.19.0

type ClassicLoadBalancer struct {
	// We use the Name tag to find the existing ELB, because we are (more or less) unrestricted when
	// it comes to tag values, but the LoadBalancerName is length limited
	Name      *string
	Lifecycle fi.Lifecycle

	// LoadBalancerName is the name in ELB, possibly different from our name
	// (ELB is restricted as to names, so we have limited choices!)
	// We use the Name tag to find the existing ELB.
	LoadBalancerName *string

	DNSName      *string
	HostedZoneId *string

	Subnets        []*Subnet
	SecurityGroups []*SecurityGroup

	Listeners map[string]*ClassicLoadBalancerListener

	Scheme *string

	HealthCheck            *ClassicLoadBalancerHealthCheck
	AccessLog              *ClassicLoadBalancerAccessLog
	ConnectionDraining     *ClassicLoadBalancerConnectionDraining
	ConnectionSettings     *ClassicLoadBalancerConnectionSettings
	CrossZoneLoadBalancing *ClassicLoadBalancerCrossZoneLoadBalancing
	SSLCertificateID       string

	Tags         map[string]string
	ForAPIServer bool

	// Shared is set if this is an external LB (one we don't create or own)
	Shared *bool
}

+kops:fitask

func (*ClassicLoadBalancer) CheckChanges added in v1.19.0

func (s *ClassicLoadBalancer) CheckChanges(a, e, changes *ClassicLoadBalancer) error

func (*ClassicLoadBalancer) CompareWithID added in v1.19.0

func (e *ClassicLoadBalancer) CompareWithID() *string

func (*ClassicLoadBalancer) Find added in v1.19.0

func (*ClassicLoadBalancer) FindAddresses added in v1.24.0

func (e *ClassicLoadBalancer) FindAddresses(context *fi.CloudupContext) ([]string, error)

func (*ClassicLoadBalancer) GetLifecycle added in v1.19.0

func (o *ClassicLoadBalancer) GetLifecycle() fi.Lifecycle

GetLifecycle returns the Lifecycle of the object, implementing fi.HasLifecycle

func (*ClassicLoadBalancer) GetName added in v1.19.0

func (o *ClassicLoadBalancer) GetName() *string

GetName returns the Name of the object, implementing fi.HasName

func (*ClassicLoadBalancer) IsForAPIServer added in v1.19.0

func (e *ClassicLoadBalancer) IsForAPIServer() bool

func (*ClassicLoadBalancer) Normalize added in v1.19.0

func (e *ClassicLoadBalancer) Normalize(c *fi.CloudupContext) error

func (*ClassicLoadBalancer) RenderAWS added in v1.19.0

func (_ *ClassicLoadBalancer) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *ClassicLoadBalancer) error

func (*ClassicLoadBalancer) RenderTerraform added in v1.19.0

func (_ *ClassicLoadBalancer) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *ClassicLoadBalancer) error

func (*ClassicLoadBalancer) Run added in v1.19.0

func (*ClassicLoadBalancer) SetLifecycle added in v1.19.0

func (o *ClassicLoadBalancer) SetLifecycle(lifecycle fi.Lifecycle)

SetLifecycle sets the Lifecycle of the object, implementing fi.SetLifecycle

func (*ClassicLoadBalancer) ShouldCreate added in v1.19.0

func (_ *ClassicLoadBalancer) ShouldCreate(a, e, changes *ClassicLoadBalancer) (bool, error)

func (*ClassicLoadBalancer) String added in v1.19.0

func (o *ClassicLoadBalancer) String() string

String is the stringer function for the task, producing readable output using fi.TaskAsString

func (e *ClassicLoadBalancer) TerraformLink(params ...string) *terraformWriter.Literal

type ClassicLoadBalancerAccessLog added in v1.19.0

type ClassicLoadBalancerAccessLog struct {
	EmitInterval   *int64
	Enabled        *bool
	S3BucketName   *string
	S3BucketPrefix *string
}

func (*ClassicLoadBalancerAccessLog) GetDependencies added in v1.19.0

func (_ *ClassicLoadBalancerAccessLog) GetDependencies(tasks map[string]fi.CloudupTask) []fi.CloudupTask

type ClassicLoadBalancerConnectionDraining added in v1.19.0

type ClassicLoadBalancerConnectionDraining struct {
	Enabled *bool
	Timeout *int64
}

func (*ClassicLoadBalancerConnectionDraining) GetDependencies added in v1.19.0

func (_ *ClassicLoadBalancerConnectionDraining) GetDependencies(tasks map[string]fi.CloudupTask) []fi.CloudupTask

type ClassicLoadBalancerConnectionSettings added in v1.19.0

type ClassicLoadBalancerConnectionSettings struct {
	IdleTimeout *int64
}

func (*ClassicLoadBalancerConnectionSettings) GetDependencies added in v1.19.0

func (_ *ClassicLoadBalancerConnectionSettings) GetDependencies(tasks map[string]fi.CloudupTask) []fi.CloudupTask

type ClassicLoadBalancerCrossZoneLoadBalancing added in v1.19.0

type ClassicLoadBalancerCrossZoneLoadBalancing struct {
	Enabled *bool
}

func (*ClassicLoadBalancerCrossZoneLoadBalancing) GetDependencies added in v1.19.0

type ClassicLoadBalancerHealthCheck added in v1.19.0

type ClassicLoadBalancerHealthCheck struct {
	Target *string

	HealthyThreshold   *int64
	UnhealthyThreshold *int64

	Interval *int64
	Timeout  *int64
}

func (*ClassicLoadBalancerHealthCheck) GetDependencies added in v1.19.0

func (e *ClassicLoadBalancerHealthCheck) GetDependencies(tasks map[string]fi.CloudupTask) []fi.CloudupTask

type ClassicLoadBalancerListener added in v1.19.0

type ClassicLoadBalancerListener struct {
	InstancePort     int
	SSLCertificateID string
}

func (*ClassicLoadBalancerListener) GetDependencies added in v1.19.0

func (e *ClassicLoadBalancerListener) GetDependencies(tasks map[string]fi.CloudupTask) []fi.CloudupTask

type DHCPOptions

type DHCPOptions struct {
	Name      *string
	Lifecycle fi.Lifecycle

	ID                *string
	DomainName        *string
	DomainNameServers *string

	// Shared is set if this is a shared DHCPOptions
	Shared *bool

	// Tags is a map of aws tags that are added to the InternetGateway
	Tags map[string]string
}

+kops:fitask

func (*DHCPOptions) CheckChanges

func (s *DHCPOptions) CheckChanges(a, e, changes *DHCPOptions) error

func (*DHCPOptions) CompareWithID

func (e *DHCPOptions) CompareWithID() *string

func (*DHCPOptions) Find

func (e *DHCPOptions) Find(c *fi.CloudupContext) (*DHCPOptions, error)

func (*DHCPOptions) GetLifecycle added in v1.10.0

func (o *DHCPOptions) GetLifecycle() fi.Lifecycle

GetLifecycle returns the Lifecycle of the object, implementing fi.HasLifecycle

func (*DHCPOptions) GetName

func (o *DHCPOptions) GetName() *string

GetName returns the Name of the object, implementing fi.HasName

func (*DHCPOptions) RenderAWS

func (_ *DHCPOptions) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *DHCPOptions) error

func (*DHCPOptions) RenderTerraform

func (_ *DHCPOptions) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *DHCPOptions) error

func (*DHCPOptions) Run

func (e *DHCPOptions) Run(c *fi.CloudupContext) error

func (*DHCPOptions) SetLifecycle added in v1.10.0

func (o *DHCPOptions) SetLifecycle(lifecycle fi.Lifecycle)

SetLifecycle sets the Lifecycle of the object, implementing fi.SetLifecycle

func (*DHCPOptions) String

func (o *DHCPOptions) String() string

String is the stringer function for the task, producing readable output using fi.TaskAsString

func (e *DHCPOptions) TerraformLink() *terraformWriter.Literal

type DNSName

type DNSName struct {
	Name      *string
	Lifecycle fi.Lifecycle

	ID           *string
	Zone         *DNSZone
	ResourceName *string
	ResourceType *string

	TargetLoadBalancer DNSTarget
}

+kops:fitask

func (*DNSName) CheckChanges

func (s *DNSName) CheckChanges(a, e, changes *DNSName) error

func (*DNSName) Find

func (e *DNSName) Find(c *fi.CloudupContext) (*DNSName, error)

func (*DNSName) GetLifecycle added in v1.10.0

func (o *DNSName) GetLifecycle() fi.Lifecycle

GetLifecycle returns the Lifecycle of the object, implementing fi.HasLifecycle

func (*DNSName) GetName

func (o *DNSName) GetName() *string

GetName returns the Name of the object, implementing fi.HasName

func (*DNSName) RenderAWS

func (_ *DNSName) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *DNSName) error

func (*DNSName) RenderTerraform

func (_ *DNSName) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *DNSName) error

func (*DNSName) Run

func (e *DNSName) Run(c *fi.CloudupContext) error

func (*DNSName) SetLifecycle added in v1.10.0

func (o *DNSName) SetLifecycle(lifecycle fi.Lifecycle)

SetLifecycle sets the Lifecycle of the object, implementing fi.SetLifecycle

func (*DNSName) String

func (o *DNSName) String() string

String is the stringer function for the task, producing readable output using fi.TaskAsString

func (e *DNSName) TerraformLink() *terraformWriter.Literal

type DNSTarget added in v1.19.0

type DNSTarget interface {
	fi.CloudupTask

	TerraformLink(...string) *terraformWriter.Literal
	// contains filtered or unexported methods
}

type DNSZone

type DNSZone struct {
	Name      *string
	Lifecycle fi.Lifecycle

	DNSName *string
	ZoneID  *string

	Private    *bool
	PrivateVPC *VPC
}

DNSZone is a zone object in a dns provider +kops:fitask

func (*DNSZone) CheckChanges

func (s *DNSZone) CheckChanges(a, e, changes *DNSZone) error

func (*DNSZone) CompareWithID

func (e *DNSZone) CompareWithID() *string

func (*DNSZone) Find

func (e *DNSZone) Find(c *fi.CloudupContext) (*DNSZone, error)

func (*DNSZone) GetLifecycle added in v1.10.0

func (o *DNSZone) GetLifecycle() fi.Lifecycle

GetLifecycle returns the Lifecycle of the object, implementing fi.HasLifecycle

func (*DNSZone) GetName

func (o *DNSZone) GetName() *string

GetName returns the Name of the object, implementing fi.HasName

func (*DNSZone) RenderAWS

func (_ *DNSZone) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *DNSZone) error

func (*DNSZone) RenderTerraform

func (_ *DNSZone) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *DNSZone) error

func (*DNSZone) Run

func (e *DNSZone) Run(c *fi.CloudupContext) error

func (*DNSZone) SetLifecycle added in v1.10.0

func (o *DNSZone) SetLifecycle(lifecycle fi.Lifecycle)

SetLifecycle sets the Lifecycle of the object, implementing fi.SetLifecycle

func (*DNSZone) String

func (o *DNSZone) String() string

String is the stringer function for the task, producing readable output using fi.TaskAsString

func (e *DNSZone) TerraformLink() *terraformWriter.Literal

type EBSVolume

type EBSVolume struct {
	Name      *string
	Lifecycle fi.Lifecycle

	AvailabilityZone *string
	Encrypted        *bool
	ID               *string
	KmsKeyId         *string
	SizeGB           *int64
	Tags             map[string]string
	VolumeIops       *int64
	VolumeThroughput *int64
	VolumeType       *string
}

+kops:fitask

func (*EBSVolume) CheckChanges

func (_ *EBSVolume) CheckChanges(a, e, changes *EBSVolume) error

func (*EBSVolume) CompareWithID

func (e *EBSVolume) CompareWithID() *string

func (*EBSVolume) Find

func (e *EBSVolume) Find(context *fi.CloudupContext) (*EBSVolume, error)

func (*EBSVolume) GetLifecycle added in v1.10.0

func (o *EBSVolume) GetLifecycle() fi.Lifecycle

GetLifecycle returns the Lifecycle of the object, implementing fi.HasLifecycle

func (*EBSVolume) GetName

func (o *EBSVolume) GetName() *string

GetName returns the Name of the object, implementing fi.HasName

func (*EBSVolume) Normalize added in v1.26.0

func (e *EBSVolume) Normalize(c *fi.CloudupContext) error

func (*EBSVolume) PreRun added in v1.18.3

func (e *EBSVolume) PreRun(c *fi.CloudupContext) error

PreRun is run before general task execution, and checks for terraform breaking changes.

func (*EBSVolume) RenderAWS

func (_ *EBSVolume) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *EBSVolume) error

func (*EBSVolume) RenderTerraform

func (_ *EBSVolume) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *EBSVolume) error

func (*EBSVolume) Run

func (e *EBSVolume) Run(c *fi.CloudupContext) error

func (*EBSVolume) SetLifecycle added in v1.10.0

func (o *EBSVolume) SetLifecycle(lifecycle fi.Lifecycle)

SetLifecycle sets the Lifecycle of the object, implementing fi.SetLifecycle

func (*EBSVolume) String

func (o *EBSVolume) String() string

String is the stringer function for the task, producing readable output using fi.TaskAsString

func (e *EBSVolume) TerraformLink() *terraformWriter.Literal

func (*EBSVolume) TerraformName added in v1.18.3

func (e *EBSVolume) TerraformName() (string, bool)

TerraformName returns the terraform-safe name, along with a boolean indicating of whether name-prefixing was needed.

type EgressOnlyInternetGateway added in v1.23.0

type EgressOnlyInternetGateway struct {
	Name      *string
	Lifecycle fi.Lifecycle

	ID  *string
	VPC *VPC
	// Shared is set if this is a shared EgressOnlyInternetGateway
	Shared *bool

	// Tags is a map of aws tags that are added to the EgressOnlyInternetGateway
	Tags map[string]string
}

+kops:fitask

func (*EgressOnlyInternetGateway) CheckChanges added in v1.23.0

func (s *EgressOnlyInternetGateway) CheckChanges(a, e, changes *EgressOnlyInternetGateway) error

func (*EgressOnlyInternetGateway) CompareWithID added in v1.23.0

func (e *EgressOnlyInternetGateway) CompareWithID() *string

func (*EgressOnlyInternetGateway) Find added in v1.23.0

func (*EgressOnlyInternetGateway) GetLifecycle added in v1.23.0

func (o *EgressOnlyInternetGateway) GetLifecycle() fi.Lifecycle

GetLifecycle returns the Lifecycle of the object, implementing fi.HasLifecycle

func (*EgressOnlyInternetGateway) GetName added in v1.23.0

func (o *EgressOnlyInternetGateway) GetName() *string

GetName returns the Name of the object, implementing fi.HasName

func (*EgressOnlyInternetGateway) RenderAWS added in v1.23.0

func (*EgressOnlyInternetGateway) RenderTerraform added in v1.23.0

func (*EgressOnlyInternetGateway) Run added in v1.23.0

func (*EgressOnlyInternetGateway) SetLifecycle added in v1.23.0

func (o *EgressOnlyInternetGateway) SetLifecycle(lifecycle fi.Lifecycle)

SetLifecycle sets the Lifecycle of the object, implementing fi.SetLifecycle

func (*EgressOnlyInternetGateway) String added in v1.23.0

func (o *EgressOnlyInternetGateway) String() string

String is the stringer function for the task, producing readable output using fi.TaskAsString

type ElasticIP

type ElasticIP struct {
	Name      *string
	Lifecycle fi.Lifecycle

	ID       *string
	PublicIP *string

	// Shared is set if this is a shared IP
	Shared *bool

	// TagOnSubnet tags a subnet with the ElasticIP.  Deprecated: doesn't round-trip with terraform.
	TagOnSubnet *Subnet

	Tags map[string]string

	// AssociatedNatGatewayRouteTable follows the RouteTable -> NatGateway -> ElasticIP
	AssociatedNatGatewayRouteTable *RouteTable
}

ElasticIP manages an AWS Address (ElasticIP) +kops:fitask

func (*ElasticIP) CheckChanges

func (_ *ElasticIP) CheckChanges(a, e, changes *ElasticIP) error

CheckChanges validates the resource. EIPs are simple, so virtually no validation

func (*ElasticIP) CompareWithID added in v1.10.0

func (e *ElasticIP) CompareWithID() *string

func (*ElasticIP) Find

func (e *ElasticIP) Find(context *fi.CloudupContext) (*ElasticIP, error)

Find returns the actual ElasticIP state, or nil if not found

func (*ElasticIP) GetLifecycle added in v1.10.0

func (o *ElasticIP) GetLifecycle() fi.Lifecycle

GetLifecycle returns the Lifecycle of the object, implementing fi.HasLifecycle

func (*ElasticIP) GetName

func (o *ElasticIP) GetName() *string

GetName returns the Name of the object, implementing fi.HasName

func (*ElasticIP) RenderAWS

func (_ *ElasticIP) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *ElasticIP) error

RenderAWS is where we actually apply changes to AWS

func (*ElasticIP) RenderTerraform added in v1.10.0

func (_ *ElasticIP) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *ElasticIP) error

func (*ElasticIP) Run

func (e *ElasticIP) Run(c *fi.CloudupContext) error

Run is called to execute this task. This is the main entry point of the task, and will actually connect our internal resource representation to an actual resource in AWS

func (*ElasticIP) SetLifecycle added in v1.10.0

func (o *ElasticIP) SetLifecycle(lifecycle fi.Lifecycle)

SetLifecycle sets the Lifecycle of the object, implementing fi.SetLifecycle

func (*ElasticIP) String

func (o *ElasticIP) String() string

String is the stringer function for the task, producing readable output using fi.TaskAsString

func (e *ElasticIP) TerraformLink() *terraformWriter.Literal

type EventBridgeRule added in v1.21.0

type EventBridgeRule struct {
	ID        *string
	Name      *string
	Lifecycle fi.Lifecycle

	EventPattern *string
	SQSQueue     *SQS

	Tags map[string]string
}

+kops:fitask

func (*EventBridgeRule) CheckChanges added in v1.21.0

func (_ *EventBridgeRule) CheckChanges(a, e, changes *EventBridgeRule) error

func (*EventBridgeRule) CompareWithID added in v1.21.0

func (eb *EventBridgeRule) CompareWithID() *string

func (*EventBridgeRule) Find added in v1.21.0

func (*EventBridgeRule) GetLifecycle added in v1.21.0

func (o *EventBridgeRule) GetLifecycle() fi.Lifecycle

GetLifecycle returns the Lifecycle of the object, implementing fi.HasLifecycle

func (*EventBridgeRule) GetName added in v1.21.0

func (o *EventBridgeRule) GetName() *string

GetName returns the Name of the object, implementing fi.HasName

func (*EventBridgeRule) RenderAWS added in v1.21.0

func (eb *EventBridgeRule) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *EventBridgeRule) error

func (*EventBridgeRule) RenderTerraform added in v1.21.0

func (_ *EventBridgeRule) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *EventBridgeRule) error

func (*EventBridgeRule) Run added in v1.21.0

func (eb *EventBridgeRule) Run(c *fi.CloudupContext) error

func (*EventBridgeRule) SetLifecycle added in v1.21.0

func (o *EventBridgeRule) SetLifecycle(lifecycle fi.Lifecycle)

SetLifecycle sets the Lifecycle of the object, implementing fi.SetLifecycle

func (*EventBridgeRule) String added in v1.21.0

func (o *EventBridgeRule) String() string

String is the stringer function for the task, producing readable output using fi.TaskAsString

func (eb *EventBridgeRule) TerraformLink() *terraformWriter.Literal

type EventBridgeTarget added in v1.21.0

type EventBridgeTarget struct {
	ID        *string
	Name      *string
	Lifecycle fi.Lifecycle

	Rule     *EventBridgeRule
	SQSQueue *SQS
}

+kops:fitask

func (*EventBridgeTarget) CheckChanges added in v1.21.0

func (_ *EventBridgeTarget) CheckChanges(a, e, changes *EventBridgeTarget) error

func (*EventBridgeTarget) CompareWithID added in v1.21.0

func (eb *EventBridgeTarget) CompareWithID() *string

func (*EventBridgeTarget) Find added in v1.21.0

func (*EventBridgeTarget) GetLifecycle added in v1.21.0

func (o *EventBridgeTarget) GetLifecycle() fi.Lifecycle

GetLifecycle returns the Lifecycle of the object, implementing fi.HasLifecycle

func (*EventBridgeTarget) GetName added in v1.21.0

func (o *EventBridgeTarget) GetName() *string

GetName returns the Name of the object, implementing fi.HasName

func (*EventBridgeTarget) RenderAWS added in v1.21.0

func (eb *EventBridgeTarget) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *EventBridgeTarget) error

func (*EventBridgeTarget) RenderTerraform added in v1.21.0

func (_ *EventBridgeTarget) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *EventBridgeTarget) error

func (*EventBridgeTarget) Run added in v1.21.0

func (*EventBridgeTarget) SetLifecycle added in v1.21.0

func (o *EventBridgeTarget) SetLifecycle(lifecycle fi.Lifecycle)

SetLifecycle sets the Lifecycle of the object, implementing fi.SetLifecycle

func (*EventBridgeTarget) String added in v1.21.0

func (o *EventBridgeTarget) String() string

String is the stringer function for the task, producing readable output using fi.TaskAsString

type IAMInstanceProfile

type IAMInstanceProfile struct {
	Name      *string
	Lifecycle fi.Lifecycle

	Tags map[string]string

	ID     *string
	Shared *bool
}

+kops:fitask

func (*IAMInstanceProfile) CheckChanges

func (s *IAMInstanceProfile) CheckChanges(a, e, changes *IAMInstanceProfile) error

func (*IAMInstanceProfile) CompareWithID

func (e *IAMInstanceProfile) CompareWithID() *string

func (*IAMInstanceProfile) Find

func (*IAMInstanceProfile) GetLifecycle added in v1.10.0

func (o *IAMInstanceProfile) GetLifecycle() fi.Lifecycle

GetLifecycle returns the Lifecycle of the object, implementing fi.HasLifecycle

func (*IAMInstanceProfile) GetName

func (o *IAMInstanceProfile) GetName() *string

GetName returns the Name of the object, implementing fi.HasName

func (*IAMInstanceProfile) RenderAWS

func (_ *IAMInstanceProfile) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *IAMInstanceProfile) error

func (*IAMInstanceProfile) RenderTerraform

func (_ *IAMInstanceProfile) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *IAMInstanceProfile) error

func (*IAMInstanceProfile) Run

func (*IAMInstanceProfile) SetLifecycle added in v1.10.0

func (o *IAMInstanceProfile) SetLifecycle(lifecycle fi.Lifecycle)

SetLifecycle sets the Lifecycle of the object, implementing fi.SetLifecycle

func (*IAMInstanceProfile) String

func (o *IAMInstanceProfile) String() string

String is the stringer function for the task, producing readable output using fi.TaskAsString

func (e *IAMInstanceProfile) TerraformLink() *terraformWriter.Literal

type IAMInstanceProfileRole

type IAMInstanceProfileRole struct {
	Name      *string
	Lifecycle fi.Lifecycle

	InstanceProfile *IAMInstanceProfile
	Role            *IAMRole
}

+kops:fitask

func (*IAMInstanceProfileRole) CheckChanges

func (s *IAMInstanceProfileRole) CheckChanges(a, e, changes *IAMInstanceProfileRole) error

func (*IAMInstanceProfileRole) Find

func (*IAMInstanceProfileRole) GetLifecycle added in v1.10.0

func (o *IAMInstanceProfileRole) GetLifecycle() fi.Lifecycle

GetLifecycle returns the Lifecycle of the object, implementing fi.HasLifecycle

func (*IAMInstanceProfileRole) GetName added in v1.10.0

func (o *IAMInstanceProfileRole) GetName() *string

GetName returns the Name of the object, implementing fi.HasName

func (*IAMInstanceProfileRole) RenderAWS

func (_ *IAMInstanceProfileRole) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *IAMInstanceProfileRole) error

func (*IAMInstanceProfileRole) RenderTerraform

func (_ *IAMInstanceProfileRole) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *IAMInstanceProfileRole) error

func (*IAMInstanceProfileRole) Run

func (*IAMInstanceProfileRole) SetLifecycle added in v1.10.0

func (o *IAMInstanceProfileRole) SetLifecycle(lifecycle fi.Lifecycle)

SetLifecycle sets the Lifecycle of the object, implementing fi.SetLifecycle

func (*IAMInstanceProfileRole) String

func (o *IAMInstanceProfileRole) String() string

String is the stringer function for the task, producing readable output using fi.TaskAsString

type IAMOIDCProvider added in v1.19.0

type IAMOIDCProvider struct {
	Lifecycle fi.Lifecycle

	ClientIDs   []*string
	Thumbprints []*string
	URL         *string

	Name *string
	Tags map[string]string
	// contains filtered or unexported fields
}

+kops:fitask

func (*IAMOIDCProvider) CheckChanges added in v1.19.0

func (s *IAMOIDCProvider) CheckChanges(a, e, changes *IAMOIDCProvider) error

func (*IAMOIDCProvider) CompareWithID added in v1.19.0

func (e *IAMOIDCProvider) CompareWithID() *string

func (*IAMOIDCProvider) Find added in v1.19.0

func (*IAMOIDCProvider) GetLifecycle added in v1.19.0

func (o *IAMOIDCProvider) GetLifecycle() fi.Lifecycle

GetLifecycle returns the Lifecycle of the object, implementing fi.HasLifecycle

func (*IAMOIDCProvider) GetName added in v1.19.0

func (o *IAMOIDCProvider) GetName() *string

GetName returns the Name of the object, implementing fi.HasName

func (*IAMOIDCProvider) RenderAWS added in v1.19.0

func (p *IAMOIDCProvider) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *IAMOIDCProvider) error

func (*IAMOIDCProvider) RenderTerraform added in v1.19.0

func (p *IAMOIDCProvider) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *IAMOIDCProvider) error

func (*IAMOIDCProvider) Run added in v1.19.0

func (*IAMOIDCProvider) SetLifecycle added in v1.19.0

func (o *IAMOIDCProvider) SetLifecycle(lifecycle fi.Lifecycle)

SetLifecycle sets the Lifecycle of the object, implementing fi.SetLifecycle

func (*IAMOIDCProvider) String added in v1.19.0

func (o *IAMOIDCProvider) String() string

String is the stringer function for the task, producing readable output using fi.TaskAsString

func (e *IAMOIDCProvider) TerraformLink() *terraformWriter.Literal

type IAMRole

type IAMRole struct {
	ID        *string
	Lifecycle fi.Lifecycle

	Name                *string
	RolePolicyDocument  fi.Resource // "inline" IAM policy
	PermissionsBoundary *string

	Tags map[string]string

	// ExportWithId will expose the name & ARN for reuse as part of a larger system.  Only supported by terraform currently.
	ExportWithID *string
}

+kops:fitask

func (*IAMRole) CheckChanges

func (s *IAMRole) CheckChanges(a, e, changes *IAMRole) error

func (*IAMRole) CompareWithID

func (e *IAMRole) CompareWithID() *string

func (*IAMRole) Find

func (e *IAMRole) Find(c *fi.CloudupContext) (*IAMRole, error)

func (*IAMRole) GetLifecycle added in v1.10.0

func (o *IAMRole) GetLifecycle() fi.Lifecycle

GetLifecycle returns the Lifecycle of the object, implementing fi.HasLifecycle

func (*IAMRole) GetName

func (o *IAMRole) GetName() *string

GetName returns the Name of the object, implementing fi.HasName

func (*IAMRole) RenderAWS

func (_ *IAMRole) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *IAMRole) error

func (*IAMRole) RenderTerraform

func (_ *IAMRole) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *IAMRole) error

func (*IAMRole) Run

func (e *IAMRole) Run(c *fi.CloudupContext) error

func (*IAMRole) SetLifecycle added in v1.10.0

func (o *IAMRole) SetLifecycle(lifecycle fi.Lifecycle)

SetLifecycle sets the Lifecycle of the object, implementing fi.SetLifecycle

func (*IAMRole) ShouldCreate added in v1.22.5

func (s *IAMRole) ShouldCreate(a, e, changes *IAMRole) (bool, error)

func (*IAMRole) String

func (o *IAMRole) String() string

String is the stringer function for the task, producing readable output using fi.TaskAsString

func (e *IAMRole) TerraformLink() *terraformWriter.Literal

type IAMRolePolicy

type IAMRolePolicy struct {
	ID        *string
	Lifecycle fi.Lifecycle

	Name *string
	Role *IAMRole

	// The PolicyDocument to create as an inline policy.
	// If the PolicyDocument is empty, the policy will be removed.
	PolicyDocument fi.Resource
	// External (non-kops managed) AWS policies to attach to the role
	ExternalPolicies *[]string
	// Managed tracks the use of ExternalPolicies
	Managed bool
}

+kops:fitask

func (*IAMRolePolicy) CheckChanges

func (s *IAMRolePolicy) CheckChanges(a, e, changes *IAMRolePolicy) error

func (*IAMRolePolicy) Find

func (*IAMRolePolicy) GetLifecycle added in v1.10.0

func (o *IAMRolePolicy) GetLifecycle() fi.Lifecycle

GetLifecycle returns the Lifecycle of the object, implementing fi.HasLifecycle

func (*IAMRolePolicy) GetName

func (o *IAMRolePolicy) GetName() *string

GetName returns the Name of the object, implementing fi.HasName

func (*IAMRolePolicy) RenderAWS

func (_ *IAMRolePolicy) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *IAMRolePolicy) error

func (*IAMRolePolicy) RenderTerraform

func (_ *IAMRolePolicy) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *IAMRolePolicy) error

func (*IAMRolePolicy) Run

func (e *IAMRolePolicy) Run(c *fi.CloudupContext) error

func (*IAMRolePolicy) SetLifecycle added in v1.10.0

func (o *IAMRolePolicy) SetLifecycle(lifecycle fi.Lifecycle)

SetLifecycle sets the Lifecycle of the object, implementing fi.SetLifecycle

func (*IAMRolePolicy) ShouldCreate added in v1.10.0

func (_ *IAMRolePolicy) ShouldCreate(a, e, changes *IAMRolePolicy) (bool, error)

func (*IAMRolePolicy) String

func (o *IAMRolePolicy) String() string

String is the stringer function for the task, producing readable output using fi.TaskAsString

func (e *IAMRolePolicy) TerraformLink() *terraformWriter.Literal

type Instance

type Instance struct {
	ID        *string
	Lifecycle fi.Lifecycle

	UserData fi.Resource

	Subnet           *Subnet
	PrivateIPAddress *string

	Name *string
	Tags map[string]string

	Shared *bool

	ImageID            *string
	InstanceType       *string
	SSHKey             *SSHKey
	SecurityGroups     []*SecurityGroup
	AssociatePublicIP  *bool
	IAMInstanceProfile *IAMInstanceProfile
}

Instance defines the instance specification +kops:fitask

func (*Instance) CheckChanges

func (_ *Instance) CheckChanges(a, e, changes *Instance) error

func (*Instance) CompareWithID

func (s *Instance) CompareWithID() *string

func (*Instance) Find

func (e *Instance) Find(c *fi.CloudupContext) (*Instance, error)

func (*Instance) GetLifecycle added in v1.10.0

func (o *Instance) GetLifecycle() fi.Lifecycle

GetLifecycle returns the Lifecycle of the object, implementing fi.HasLifecycle

func (*Instance) GetName added in v1.10.0

func (o *Instance) GetName() *string

GetName returns the Name of the object, implementing fi.HasName

func (*Instance) RenderAWS

func (_ *Instance) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *Instance) error

func (*Instance) Run

func (e *Instance) Run(c *fi.CloudupContext) error

func (*Instance) SetLifecycle added in v1.10.0

func (o *Instance) SetLifecycle(lifecycle fi.Lifecycle)

SetLifecycle sets the Lifecycle of the object, implementing fi.SetLifecycle

func (*Instance) String added in v1.10.0

func (o *Instance) String() string

String is the stringer function for the task, producing readable output using fi.TaskAsString

func (e *Instance) TerraformLink() *terraformWriter.Literal

type InstanceRequirements added in v1.24.0

type InstanceRequirements struct {
	Architecture *string
	CPUMin       *int64
	CPUMax       *int64
	MemoryMin    *int64
	MemoryMax    *int64
}

func (*InstanceRequirements) GetDependencies added in v1.24.0

func (e *InstanceRequirements) GetDependencies(tasks map[string]fi.CloudupTask) []fi.CloudupTask

type InternetGateway

type InternetGateway struct {
	Name      *string
	Lifecycle fi.Lifecycle

	ID  *string
	VPC *VPC
	// Shared is set if this is a shared InternetGateway
	Shared *bool

	// Tags is a map of aws tags that are added to the InternetGateway
	Tags map[string]string
}

+kops:fitask

func (*InternetGateway) CheckChanges

func (s *InternetGateway) CheckChanges(a, e, changes *InternetGateway) error

func (*InternetGateway) CompareWithID

func (e *InternetGateway) CompareWithID() *string

func (*InternetGateway) Find

func (*InternetGateway) GetLifecycle added in v1.10.0

func (o *InternetGateway) GetLifecycle() fi.Lifecycle

GetLifecycle returns the Lifecycle of the object, implementing fi.HasLifecycle

func (*InternetGateway) GetName

func (o *InternetGateway) GetName() *string

GetName returns the Name of the object, implementing fi.HasName

func (*InternetGateway) RenderAWS

func (_ *InternetGateway) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *InternetGateway) error

func (*InternetGateway) RenderTerraform

func (_ *InternetGateway) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *InternetGateway) error

func (*InternetGateway) Run

func (*InternetGateway) SetLifecycle added in v1.10.0

func (o *InternetGateway) SetLifecycle(lifecycle fi.Lifecycle)

SetLifecycle sets the Lifecycle of the object, implementing fi.SetLifecycle

func (*InternetGateway) String

func (o *InternetGateway) String() string

String is the stringer function for the task, producing readable output using fi.TaskAsString

func (e *InternetGateway) TerraformLink() *terraformWriter.Literal

type LaunchTemplate added in v1.15.1

type LaunchTemplate struct {
	// ID is the launch configuration name
	ID *string
	// Name is the name of the configuration
	Name *string
	// Lifecycle is the resource lifecycle
	Lifecycle fi.Lifecycle

	// AssociatePublicIP indicates if a public ip address is assigned to instances
	AssociatePublicIP *bool
	// BlockDeviceMappings is a block device mappings
	BlockDeviceMappings []*BlockDeviceMapping
	// CPUCredits is the credit option for CPU Usage on some instance types
	CPUCredits *string
	// HTTPPutResponseHopLimit is the desired HTTP PUT response hop limit for instance metadata requests.
	HTTPPutResponseHopLimit *int64
	// HTTPTokens is the state of token usage for your instance metadata requests.
	HTTPTokens *string
	// HTTPProtocolIPv6 enables the IPv6 instance metadata endpoint
	HTTPProtocolIPv6 *string
	// IAMInstanceProfile is the IAM profile to assign to the nodes
	IAMInstanceProfile *IAMInstanceProfile
	// ImageID is the AMI to use for the instances
	ImageID *string
	// InstanceInterruptionBehavior defines if a spot instance should be terminated, hibernated,
	// or stopped after interruption
	InstanceInterruptionBehavior *string
	// InstanceMonitoring indicates if monitoring is enabled
	InstanceMonitoring *bool
	// InstanceType is the type of instance we are using
	InstanceType *string
	// Ipv6AddressCount is the number of IPv6 addresses to assign with the primary network interface.
	IPv6AddressCount *int64
	// RootVolumeIops is the provisioned IOPS when the volume type is io1, io2 or gp3
	RootVolumeIops *int64
	// RootVolumeOptimization enables EBS optimization for an instance
	RootVolumeOptimization *bool
	// RootVolumeSize is the size of the EBS root volume to use, in GB
	RootVolumeSize *int64
	// RootVolumeThroughput is the volume throughput in MBps when the volume type is gp3
	RootVolumeThroughput *int64
	// RootVolumeType is the type of the EBS root volume to use (e.g. gp2)
	RootVolumeType *string
	// RootVolumeEncryption enables EBS root volume encryption for an instance
	RootVolumeEncryption *bool
	// RootVolumeKmsKey is the encryption key identifier for EBS root volume encryption
	RootVolumeKmsKey *string
	// SSHKey is the ssh key for the instances
	SSHKey *SSHKey
	// SecurityGroups is a list of security group associated
	SecurityGroups []*SecurityGroup
	// SpotPrice is set to the spot-price bid if this is a spot pricing request
	SpotPrice *string
	// SpotDurationInMinutes is set for requesting spot blocks
	SpotDurationInMinutes *int64
	// Tags are the keypairs to apply to the instance and volume on launch as well as the launch template itself.
	Tags map[string]string
	// Tenancy. Can be either default or dedicated.
	Tenancy *string
	// UserData is the user data configuration
	UserData fi.Resource
}

LaunchTemplate defines the specification for a launch template. +kops:fitask

func (*LaunchTemplate) CheckChanges added in v1.15.1

func (t *LaunchTemplate) CheckChanges(a, e, changes *LaunchTemplate) error

CheckChanges is responsible for ensuring certains fields

func (*LaunchTemplate) CompareWithID added in v1.15.1

func (t *LaunchTemplate) CompareWithID() *string

CompareWithID implements the comparable interface

func (*LaunchTemplate) Find added in v1.15.1

Find is responsible for finding the launch template for us

func (*LaunchTemplate) FindDeletions added in v1.15.1

func (t *LaunchTemplate) FindDeletions(c *fi.CloudupContext) ([]fi.CloudupDeletion, error)

FindDeletions is responsible for finding launch templates which can be deleted

func (*LaunchTemplate) GetLifecycle added in v1.15.1

func (o *LaunchTemplate) GetLifecycle() fi.Lifecycle

GetLifecycle returns the Lifecycle of the object, implementing fi.HasLifecycle

func (*LaunchTemplate) GetName added in v1.15.1

func (o *LaunchTemplate) GetName() *string

GetName returns the Name of the object, implementing fi.HasName

func (*LaunchTemplate) Normalize added in v1.15.1

func (t *LaunchTemplate) Normalize(c *fi.CloudupContext) error

func (*LaunchTemplate) RenderAWS added in v1.15.1

func (t *LaunchTemplate) RenderAWS(c *awsup.AWSAPITarget, a, e, changes *LaunchTemplate) error

RenderAWS is responsible for performing creating / updating the launch template

func (*LaunchTemplate) RenderTerraform added in v1.15.1

func (t *LaunchTemplate) RenderTerraform(target *terraform.TerraformTarget, a, e, changes *LaunchTemplate) error

RenderTerraform is responsible for rendering the terraform json

func (*LaunchTemplate) Run added in v1.15.1

Run is responsible for

func (*LaunchTemplate) SetLifecycle added in v1.15.1

func (o *LaunchTemplate) SetLifecycle(lifecycle fi.Lifecycle)

SetLifecycle sets the Lifecycle of the object, implementing fi.SetLifecycle

func (*LaunchTemplate) String added in v1.15.1

func (o *LaunchTemplate) String() string

String is the stringer function for the task, producing readable output using fi.TaskAsString

func (t *LaunchTemplate) TerraformLink() *terraformWriter.Literal

TerraformLink returns the terraform reference

func (t *LaunchTemplate) VersionLink() *terraformWriter.Literal

VersionLink returns the terraform version reference

type NatGateway added in v1.10.0

type NatGateway struct {
	Name      *string
	Lifecycle fi.Lifecycle

	ElasticIP *ElasticIP
	Subnet    *Subnet
	ID        *string

	EgressId *string

	// Shared is set if this is a shared NatGateway
	Shared *bool

	// Tags is a map of aws tags that are added to the NatGateway
	Tags map[string]string

	// We can't tag NatGateways, so we have to find through a surrogate
	AssociatedRouteTable *RouteTable
}

+kops:fitask

func (*NatGateway) CheckChanges added in v1.10.0

func (s *NatGateway) CheckChanges(a, e, changes *NatGateway) error

func (*NatGateway) CompareWithID added in v1.10.0

func (e *NatGateway) CompareWithID() *string

func (*NatGateway) Find added in v1.10.0

func (e *NatGateway) Find(c *fi.CloudupContext) (*NatGateway, error)

func (*NatGateway) GetLifecycle added in v1.10.0

func (o *NatGateway) GetLifecycle() fi.Lifecycle

GetLifecycle returns the Lifecycle of the object, implementing fi.HasLifecycle

func (*NatGateway) GetName added in v1.10.0

func (o *NatGateway) GetName() *string

GetName returns the Name of the object, implementing fi.HasName

func (*NatGateway) RenderAWS added in v1.10.0

func (_ *NatGateway) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *NatGateway) error

func (*NatGateway) RenderTerraform added in v1.10.0

func (_ *NatGateway) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *NatGateway) error

func (*NatGateway) Run added in v1.10.0

func (e *NatGateway) Run(c *fi.CloudupContext) error

func (*NatGateway) SetLifecycle added in v1.10.0

func (o *NatGateway) SetLifecycle(lifecycle fi.Lifecycle)

SetLifecycle sets the Lifecycle of the object, implementing fi.SetLifecycle

func (*NatGateway) String added in v1.10.0

func (o *NatGateway) String() string

String is the stringer function for the task, producing readable output using fi.TaskAsString

func (e *NatGateway) TerraformLink() *terraformWriter.Literal

type NetworkLoadBalancer added in v1.19.0

type NetworkLoadBalancer struct {
	// We use the Name tag to find the existing NLB, because we are (more or less) unrestricted when
	// it comes to tag values, but the LoadBalancerName is length limited
	Name      *string
	Lifecycle fi.Lifecycle

	// LoadBalancerName is the name in NLB, possibly different from our name
	// (NLB is restricted as to names, so we have limited choices!)
	// We use the Name tag to find the existing NLB.
	LoadBalancerName *string
	CLBName          *string

	DNSName      *string
	HostedZoneId *string

	SubnetMappings []*SubnetMapping

	Listeners []*NetworkLoadBalancerListener

	Scheme *string

	CrossZoneLoadBalancing *bool

	IpAddressType *string

	Tags         map[string]string
	ForAPIServer bool

	Type *string

	VPC          *VPC
	TargetGroups []*TargetGroup
	AccessLog    *NetworkLoadBalancerAccessLog
}

+kops:fitask

func (*NetworkLoadBalancer) CheckChanges added in v1.19.0

func (*NetworkLoadBalancer) CheckChanges(a, e, changes *NetworkLoadBalancer) error

func (*NetworkLoadBalancer) CompareWithID added in v1.19.0

func (e *NetworkLoadBalancer) CompareWithID() *string

func (*NetworkLoadBalancer) Find added in v1.19.0

func (*NetworkLoadBalancer) FindAddresses added in v1.24.0

func (e *NetworkLoadBalancer) FindAddresses(context *fi.CloudupContext) ([]string, error)

func (*NetworkLoadBalancer) FindDeletions added in v1.26.0

func (e *NetworkLoadBalancer) FindDeletions(context *fi.CloudupContext) ([]fi.CloudupDeletion, error)

FindDeletions schedules deletion of the corresponding legacy classic load balancer when it no longer has targets.

func (*NetworkLoadBalancer) GetLifecycle added in v1.19.0

func (o *NetworkLoadBalancer) GetLifecycle() fi.Lifecycle

GetLifecycle returns the Lifecycle of the object, implementing fi.HasLifecycle

func (*NetworkLoadBalancer) GetName added in v1.19.0

func (o *NetworkLoadBalancer) GetName() *string

GetName returns the Name of the object, implementing fi.HasName

func (*NetworkLoadBalancer) IsForAPIServer added in v1.19.0

func (e *NetworkLoadBalancer) IsForAPIServer() bool

func (*NetworkLoadBalancer) Normalize added in v1.19.0

func (e *NetworkLoadBalancer) Normalize(c *fi.CloudupContext) error

func (*NetworkLoadBalancer) RenderAWS added in v1.19.0

func (_ *NetworkLoadBalancer) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *NetworkLoadBalancer) error

func (*NetworkLoadBalancer) RenderTerraform added in v1.19.0

func (_ *NetworkLoadBalancer) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *NetworkLoadBalancer) error

func (*NetworkLoadBalancer) Run added in v1.19.0

func (*NetworkLoadBalancer) SetLifecycle added in v1.19.0

func (o *NetworkLoadBalancer) SetLifecycle(lifecycle fi.Lifecycle)

SetLifecycle sets the Lifecycle of the object, implementing fi.SetLifecycle

func (*NetworkLoadBalancer) String added in v1.19.0

func (o *NetworkLoadBalancer) String() string

String is the stringer function for the task, producing readable output using fi.TaskAsString

func (e *NetworkLoadBalancer) TerraformLink(params ...string) *terraformWriter.Literal

type NetworkLoadBalancerAccessLog added in v1.21.3

type NetworkLoadBalancerAccessLog struct {
	Enabled        *bool
	S3BucketName   *string
	S3BucketPrefix *string
}

func (*NetworkLoadBalancerAccessLog) GetDependencies added in v1.21.3

func (_ *NetworkLoadBalancerAccessLog) GetDependencies(tasks map[string]fi.CloudupTask) []fi.CloudupTask

type NetworkLoadBalancerListener added in v1.19.0

type NetworkLoadBalancerListener struct {
	Port             int
	TargetGroupName  string
	SSLCertificateID string
	SSLPolicy        string
}

func (*NetworkLoadBalancerListener) GetDependencies added in v1.19.0

func (e *NetworkLoadBalancerListener) GetDependencies(tasks map[string]fi.CloudupTask) []fi.CloudupTask

type OrderListenersByPort added in v1.19.0

type OrderListenersByPort []*NetworkLoadBalancerListener

OrderListenersByPort implements sort.Interface for []OrderListenersByPort, based on port number

func (OrderListenersByPort) Len added in v1.19.0

func (a OrderListenersByPort) Len() int

func (OrderListenersByPort) Less added in v1.19.0

func (a OrderListenersByPort) Less(i, j int) bool

func (OrderListenersByPort) Swap added in v1.19.0

func (a OrderListenersByPort) Swap(i, j int)

type OrderLoadBalancersByName added in v1.18.3

type OrderLoadBalancersByName []*ClassicLoadBalancer

OrderLoadBalancersByName implements sort.Interface for []OrderLoadBalancersByName, based on name

func (OrderLoadBalancersByName) Len added in v1.18.3

func (a OrderLoadBalancersByName) Len() int

func (OrderLoadBalancersByName) Less added in v1.18.3

func (a OrderLoadBalancersByName) Less(i, j int) bool

func (OrderLoadBalancersByName) Swap added in v1.18.3

func (a OrderLoadBalancersByName) Swap(i, j int)

type OrderSecurityGroupsById added in v1.10.0

type OrderSecurityGroupsById []*SecurityGroup

OrderSecurityGroupsById implements sort.Interface for []SecurityGroup, based on ID

func (OrderSecurityGroupsById) Len added in v1.10.0

func (a OrderSecurityGroupsById) Len() int

func (OrderSecurityGroupsById) Less added in v1.10.0

func (a OrderSecurityGroupsById) Less(i, j int) bool

func (OrderSecurityGroupsById) Swap added in v1.10.0

func (a OrderSecurityGroupsById) Swap(i, j int)

type OrderSubnetMappingsByID added in v1.20.0

type OrderSubnetMappingsByID []*SubnetMapping

OrderSubnetsById implements sort.Interface for []Subnet, based on ID

func (OrderSubnetMappingsByID) Len added in v1.20.0

func (a OrderSubnetMappingsByID) Len() int

func (OrderSubnetMappingsByID) Less added in v1.20.0

func (a OrderSubnetMappingsByID) Less(i, j int) bool

func (OrderSubnetMappingsByID) Swap added in v1.20.0

func (a OrderSubnetMappingsByID) Swap(i, j int)

type OrderSubnetMappingsByName added in v1.23.0

type OrderSubnetMappingsByName []*SubnetMapping

OrderSubnetMappingsByName implements sort.Interface for []Subnet, based on Name

func (OrderSubnetMappingsByName) Len added in v1.23.0

func (OrderSubnetMappingsByName) Less added in v1.23.0

func (a OrderSubnetMappingsByName) Less(i, j int) bool

func (OrderSubnetMappingsByName) Swap added in v1.23.0

func (a OrderSubnetMappingsByName) Swap(i, j int)

type OrderSubnetsById added in v1.10.0

type OrderSubnetsById []*Subnet

OrderSubnetsById implements sort.Interface for []Subnet, based on ID

func (OrderSubnetsById) Len added in v1.10.0

func (a OrderSubnetsById) Len() int

func (OrderSubnetsById) Less added in v1.10.0

func (a OrderSubnetsById) Less(i, j int) bool

func (OrderSubnetsById) Swap added in v1.10.0

func (a OrderSubnetsById) Swap(i, j int)

type OrderTargetGroupsByName added in v1.18.3

type OrderTargetGroupsByName []*TargetGroup

OrderTargetGroupsByName implements sort.Interface for []OrderTargetGroupsByName, based on port number

func (OrderTargetGroupsByName) Len added in v1.18.3

func (a OrderTargetGroupsByName) Len() int

func (OrderTargetGroupsByName) Less added in v1.18.3

func (a OrderTargetGroupsByName) Less(i, j int) bool

func (OrderTargetGroupsByName) Swap added in v1.18.3

func (a OrderTargetGroupsByName) Swap(i, j int)

type PortRemovalRule added in v1.10.0

type PortRemovalRule struct {
	Port int
}

func (*PortRemovalRule) Matches added in v1.10.0

func (r *PortRemovalRule) Matches(permission *ec2.SecurityGroupRule) bool

func (*PortRemovalRule) String added in v1.10.0

func (r *PortRemovalRule) String() string

type RemovalRule added in v1.10.0

type RemovalRule interface {
	Matches(permission *ec2.SecurityGroupRule) bool
}

RemovalRule is a rule that filters the permissions we should remove

func ParseRemovalRule added in v1.10.0

func ParseRemovalRule(rule string) (RemovalRule, error)

ParseRemovalRule parses our removal rule DSL into a RemovalRule

type Route

type Route struct {
	Name      *string
	Lifecycle fi.Lifecycle

	RouteTable *RouteTable
	Instance   *Instance
	CIDR       *string
	IPv6CIDR   *string

	// Exactly one of the below fields
	// MUST be provided.
	EgressOnlyInternetGateway *EgressOnlyInternetGateway
	InternetGateway           *InternetGateway
	NatGateway                *NatGateway
	TransitGatewayID          *string
	VPCPeeringConnectionID    *string
}

+kops:fitask

func (*Route) CheckChanges

func (s *Route) CheckChanges(a, e, changes *Route) error

func (*Route) Find

func (e *Route) Find(c *fi.CloudupContext) (*Route, error)

func (*Route) GetLifecycle added in v1.10.0

func (o *Route) GetLifecycle() fi.Lifecycle

GetLifecycle returns the Lifecycle of the object, implementing fi.HasLifecycle

func (*Route) GetName

func (o *Route) GetName() *string

GetName returns the Name of the object, implementing fi.HasName

func (*Route) RenderAWS

func (_ *Route) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *Route) error

func (*Route) RenderTerraform

func (_ *Route) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *Route) error

func (*Route) Run

func (e *Route) Run(c *fi.CloudupContext) error

func (*Route) SetLifecycle added in v1.10.0

func (o *Route) SetLifecycle(lifecycle fi.Lifecycle)

SetLifecycle sets the Lifecycle of the object, implementing fi.SetLifecycle

func (*Route) String

func (o *Route) String() string

String is the stringer function for the task, producing readable output using fi.TaskAsString

type RouteTable

type RouteTable struct {
	Name      *string
	Lifecycle fi.Lifecycle

	ID  *string
	VPC *VPC

	// Shared is set if this is a shared RouteTable
	Shared *bool
	// Tags is a map of aws tags that are added to the RouteTable
	Tags map[string]string
}

+kops:fitask

func (*RouteTable) CheckChanges

func (s *RouteTable) CheckChanges(a, e, changes *RouteTable) error

func (*RouteTable) CompareWithID

func (e *RouteTable) CompareWithID() *string

func (*RouteTable) Find

func (e *RouteTable) Find(c *fi.CloudupContext) (*RouteTable, error)

func (*RouteTable) GetLifecycle added in v1.10.0

func (o *RouteTable) GetLifecycle() fi.Lifecycle

GetLifecycle returns the Lifecycle of the object, implementing fi.HasLifecycle

func (*RouteTable) GetName

func (o *RouteTable) GetName() *string

GetName returns the Name of the object, implementing fi.HasName

func (*RouteTable) RenderAWS

func (_ *RouteTable) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *RouteTable) error

func (*RouteTable) RenderTerraform

func (_ *RouteTable) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *RouteTable) error

func (*RouteTable) Run

func (e *RouteTable) Run(c *fi.CloudupContext) error

func (*RouteTable) SetLifecycle added in v1.10.0

func (o *RouteTable) SetLifecycle(lifecycle fi.Lifecycle)

SetLifecycle sets the Lifecycle of the object, implementing fi.SetLifecycle

func (*RouteTable) String

func (o *RouteTable) String() string

String is the stringer function for the task, producing readable output using fi.TaskAsString

func (e *RouteTable) TerraformLink() *terraformWriter.Literal

type RouteTableAssociation

type RouteTableAssociation struct {
	Name      *string
	Lifecycle fi.Lifecycle

	ID         *string
	RouteTable *RouteTable
	Subnet     *Subnet
}

+kops:fitask

func (*RouteTableAssociation) CheckChanges

func (s *RouteTableAssociation) CheckChanges(a, e, changes *RouteTableAssociation) error

func (*RouteTableAssociation) CompareWithID

func (s *RouteTableAssociation) CompareWithID() *string

func (*RouteTableAssociation) Find

func (*RouteTableAssociation) GetLifecycle added in v1.10.0

func (o *RouteTableAssociation) GetLifecycle() fi.Lifecycle

GetLifecycle returns the Lifecycle of the object, implementing fi.HasLifecycle

func (*RouteTableAssociation) GetName

func (o *RouteTableAssociation) GetName() *string

GetName returns the Name of the object, implementing fi.HasName

func (*RouteTableAssociation) RenderAWS

func (_ *RouteTableAssociation) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *RouteTableAssociation) error

func (*RouteTableAssociation) RenderTerraform

func (_ *RouteTableAssociation) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *RouteTableAssociation) error

func (*RouteTableAssociation) Run

func (*RouteTableAssociation) SetLifecycle added in v1.10.0

func (o *RouteTableAssociation) SetLifecycle(lifecycle fi.Lifecycle)

SetLifecycle sets the Lifecycle of the object, implementing fi.SetLifecycle

func (*RouteTableAssociation) String

func (o *RouteTableAssociation) String() string

String is the stringer function for the task, producing readable output using fi.TaskAsString

func (e *RouteTableAssociation) TerraformLink() *terraformWriter.Literal

type SQS added in v1.21.0

type SQS struct {
	Name      *string
	Lifecycle fi.Lifecycle

	ARN                    *string
	URL                    *string
	MessageRetentionPeriod int
	Policy                 fi.Resource

	Tags map[string]string
}

+kops:fitask

func (*SQS) CheckChanges added in v1.21.0

func (q *SQS) CheckChanges(a, e, changes *SQS) error

func (*SQS) CompareWithID added in v1.21.0

func (q *SQS) CompareWithID() *string

func (*SQS) Find added in v1.21.0

func (q *SQS) Find(c *fi.CloudupContext) (*SQS, error)

func (*SQS) GetLifecycle added in v1.21.0

func (o *SQS) GetLifecycle() fi.Lifecycle

GetLifecycle returns the Lifecycle of the object, implementing fi.HasLifecycle

func (*SQS) GetName added in v1.21.0

func (o *SQS) GetName() *string

GetName returns the Name of the object, implementing fi.HasName

func (*SQS) RenderAWS added in v1.21.0

func (q *SQS) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *SQS) error

func (*SQS) RenderTerraform added in v1.21.0

func (_ *SQS) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *SQS) error

func (*SQS) Run added in v1.21.0

func (q *SQS) Run(c *fi.CloudupContext) error

func (*SQS) SetLifecycle added in v1.21.0

func (o *SQS) SetLifecycle(lifecycle fi.Lifecycle)

SetLifecycle sets the Lifecycle of the object, implementing fi.SetLifecycle

func (*SQS) String added in v1.21.0

func (o *SQS) String() string

String is the stringer function for the task, producing readable output using fi.TaskAsString

func (e *SQS) TerraformLink() *terraformWriter.Literal

type SSHKey

type SSHKey struct {
	ID        *string
	Name      *string
	Lifecycle fi.Lifecycle
	Shared    bool

	PublicKey fi.Resource

	KeyFingerprint *string

	Tags map[string]string
}

+kops:fitask

func (*SSHKey) CheckChanges

func (s *SSHKey) CheckChanges(a, e, changes *SSHKey) error

func (*SSHKey) CompareWithID

func (e *SSHKey) CompareWithID() *string

func (*SSHKey) Find

func (e *SSHKey) Find(c *fi.CloudupContext) (*SSHKey, error)

func (*SSHKey) GetLifecycle added in v1.10.0

func (o *SSHKey) GetLifecycle() fi.Lifecycle

GetLifecycle returns the Lifecycle of the object, implementing fi.HasLifecycle

func (*SSHKey) GetName

func (o *SSHKey) GetName() *string

GetName returns the Name of the object, implementing fi.HasName

func (*SSHKey) IsExistingKey added in v1.15.1

func (e *SSHKey) IsExistingKey() bool

IsExistingKey will be true if the task has been initialized without using a public key this is when we want to use a key that is already present in AWS.

func (*SSHKey) NoSSHKey added in v1.16.0

func (e *SSHKey) NoSSHKey() bool

func (*SSHKey) Normalize added in v1.26.0

func (e *SSHKey) Normalize(c *fi.CloudupContext) error

func (*SSHKey) RenderAWS

func (_ *SSHKey) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *SSHKey) error

func (*SSHKey) RenderTerraform

func (_ *SSHKey) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *SSHKey) error

func (*SSHKey) Run

func (e *SSHKey) Run(c *fi.CloudupContext) error

func (*SSHKey) SetLifecycle added in v1.10.0

func (o *SSHKey) SetLifecycle(lifecycle fi.Lifecycle)

SetLifecycle sets the Lifecycle of the object, implementing fi.SetLifecycle

func (*SSHKey) String

func (o *SSHKey) String() string

String is the stringer function for the task, producing readable output using fi.TaskAsString

func (e *SSHKey) TerraformLink() *terraformWriter.Literal

type SecurityGroup

type SecurityGroup struct {
	Name      *string
	Lifecycle fi.Lifecycle

	ID          *string
	Description *string
	VPC         *VPC

	RemoveExtraRules []string

	// Shared is set if this is a shared security group (one we don't create or own)
	Shared *bool

	Tags map[string]string
}

+kops:fitask

func (*SecurityGroup) CheckChanges

func (_ *SecurityGroup) CheckChanges(a, e, changes *SecurityGroup) error

func (*SecurityGroup) CompareWithID

func (e *SecurityGroup) CompareWithID() *string

func (*SecurityGroup) Find

func (*SecurityGroup) FindDeletions

func (e *SecurityGroup) FindDeletions(c *fi.CloudupContext) ([]fi.CloudupDeletion, error)

func (*SecurityGroup) GetLifecycle added in v1.10.0

func (o *SecurityGroup) GetLifecycle() fi.Lifecycle

GetLifecycle returns the Lifecycle of the object, implementing fi.HasLifecycle

func (*SecurityGroup) GetName

func (o *SecurityGroup) GetName() *string

GetName returns the Name of the object, implementing fi.HasName

func (*SecurityGroup) RenderAWS

func (_ *SecurityGroup) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *SecurityGroup) error

func (*SecurityGroup) RenderTerraform

func (_ *SecurityGroup) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *SecurityGroup) error

func (*SecurityGroup) Run

func (e *SecurityGroup) Run(c *fi.CloudupContext) error

func (*SecurityGroup) SetLifecycle added in v1.10.0

func (o *SecurityGroup) SetLifecycle(lifecycle fi.Lifecycle)

SetLifecycle sets the Lifecycle of the object, implementing fi.SetLifecycle

func (*SecurityGroup) ShouldCreate added in v1.10.0

func (_ *SecurityGroup) ShouldCreate(a, e, changes *SecurityGroup) (bool, error)

func (*SecurityGroup) String

func (o *SecurityGroup) String() string

String is the stringer function for the task, producing readable output using fi.TaskAsString

func (e *SecurityGroup) TerraformLink() *terraformWriter.Literal

type SecurityGroupRule

type SecurityGroupRule struct {
	ID        *string
	Name      *string
	Lifecycle fi.Lifecycle

	SecurityGroup *SecurityGroup
	CIDR          *string
	IPv6CIDR      *string
	PrefixList    *string
	Protocol      *string

	// FromPort is the lower-bound (inclusive) of the port-range
	FromPort *int64
	// ToPort is the upper-bound (inclusive) of the port-range
	ToPort      *int64
	SourceGroup *SecurityGroup

	Egress *bool

	Tags map[string]string
}

+kops:fitask

func (*SecurityGroupRule) CheckChanges

func (_ *SecurityGroupRule) CheckChanges(a, e, changes *SecurityGroupRule) error

func (*SecurityGroupRule) Description added in v1.10.0

func (e *SecurityGroupRule) Description() string

Description returns a human readable summary of the security group rule

func (*SecurityGroupRule) Find

func (*SecurityGroupRule) GetLifecycle added in v1.10.0

func (o *SecurityGroupRule) GetLifecycle() fi.Lifecycle

GetLifecycle returns the Lifecycle of the object, implementing fi.HasLifecycle

func (*SecurityGroupRule) GetName

func (o *SecurityGroupRule) GetName() *string

GetName returns the Name of the object, implementing fi.HasName

func (*SecurityGroupRule) RenderAWS

func (_ *SecurityGroupRule) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *SecurityGroupRule) error

func (*SecurityGroupRule) RenderTerraform

func (_ *SecurityGroupRule) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *SecurityGroupRule) error

func (*SecurityGroupRule) Run

func (*SecurityGroupRule) SetCidrOrPrefix added in v1.23.0

func (e *SecurityGroupRule) SetCidrOrPrefix(cidr string)

func (*SecurityGroupRule) SetLifecycle added in v1.10.0

func (o *SecurityGroupRule) SetLifecycle(lifecycle fi.Lifecycle)

SetLifecycle sets the Lifecycle of the object, implementing fi.SetLifecycle

func (*SecurityGroupRule) String

func (o *SecurityGroupRule) String() string

String is the stringer function for the task, producing readable output using fi.TaskAsString

type Subnet

type Subnet struct {
	Name *string

	// ShortName is a shorter name, for use in terraform outputs
	// ShortName is expected to be unique across all subnets in the cluster,
	// so it is typically set to the name of the Subnet, in the cluster spec.
	ShortName *string

	Lifecycle fi.Lifecycle

	ID                          *string
	VPC                         *VPC
	AmazonIPv6CIDR              *VPCAmazonIPv6CIDRBlock
	AvailabilityZone            *string
	CIDR                        *string
	IPv6CIDR                    *string
	ResourceBasedNaming         *bool
	AssignIPv6AddressOnCreation *bool
	Shared                      *bool

	Tags map[string]string
}

+kops:fitask

func (*Subnet) CheckChanges

func (s *Subnet) CheckChanges(a, e, changes *Subnet) error

func (*Subnet) CompareWithID

func (e *Subnet) CompareWithID() *string

func (*Subnet) Find

func (e *Subnet) Find(c *fi.CloudupContext) (*Subnet, error)

func (*Subnet) FindDeletions added in v1.21.3

func (e *Subnet) FindDeletions(c *fi.CloudupContext) ([]fi.CloudupDeletion, error)

func (*Subnet) GetLifecycle added in v1.10.0

func (o *Subnet) GetLifecycle() fi.Lifecycle

GetLifecycle returns the Lifecycle of the object, implementing fi.HasLifecycle

func (*Subnet) GetName

func (o *Subnet) GetName() *string

GetName returns the Name of the object, implementing fi.HasName

func (*Subnet) RenderAWS

func (_ *Subnet) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *Subnet) error

func (*Subnet) RenderTerraform

func (_ *Subnet) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *Subnet) error

func (*Subnet) Run

func (e *Subnet) Run(c *fi.CloudupContext) error

func (*Subnet) SetLifecycle added in v1.10.0

func (o *Subnet) SetLifecycle(lifecycle fi.Lifecycle)

SetLifecycle sets the Lifecycle of the object, implementing fi.SetLifecycle

func (*Subnet) ShouldCreate added in v1.24.0

func (_ *Subnet) ShouldCreate(a, e, changes *Subnet) (bool, error)

func (*Subnet) String

func (o *Subnet) String() string

String is the stringer function for the task, producing readable output using fi.TaskAsString

func (e *Subnet) TerraformLink() *terraformWriter.Literal

type SubnetMapping added in v1.20.0

type SubnetMapping struct {
	Subnet *Subnet

	// PrivateIPv4Address only valid for NLBs
	PrivateIPv4Address *string
	// AllocationID only valid for NLBs
	AllocationID *string
}

func (*SubnetMapping) GetDependencies added in v1.20.0

func (e *SubnetMapping) GetDependencies(tasks map[string]fi.CloudupTask) []fi.CloudupTask

type TargetGroup added in v1.18.3

type TargetGroup struct {
	Name      *string
	Lifecycle fi.Lifecycle
	VPC       *VPC
	Tags      map[string]string
	Port      *int64
	Protocol  *string

	// ARN is the Amazon Resource Name for the Target Group
	ARN *string

	// Shared is set if this is an external LB (one we don't create or own)
	Shared *bool

	Attributes map[string]string

	Interval           *int64
	HealthyThreshold   *int64
	UnhealthyThreshold *int64
}

+kops:fitask

func (*TargetGroup) CheckChanges added in v1.18.3

func (s *TargetGroup) CheckChanges(a, e, changes *TargetGroup) error

func (*TargetGroup) CompareWithID added in v1.18.3

func (e *TargetGroup) CompareWithID() *string

func (*TargetGroup) Find added in v1.18.3

func (e *TargetGroup) Find(c *fi.CloudupContext) (*TargetGroup, error)

func (*TargetGroup) GetLifecycle added in v1.18.3

func (o *TargetGroup) GetLifecycle() fi.Lifecycle

GetLifecycle returns the Lifecycle of the object, implementing fi.HasLifecycle

func (*TargetGroup) GetName added in v1.18.3

func (o *TargetGroup) GetName() *string

GetName returns the Name of the object, implementing fi.HasName

func (*TargetGroup) RenderAWS added in v1.18.3

func (_ *TargetGroup) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *TargetGroup) error

func (*TargetGroup) RenderTerraform added in v1.18.3

func (_ *TargetGroup) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *TargetGroup) error

func (*TargetGroup) Run added in v1.18.3

func (e *TargetGroup) Run(c *fi.CloudupContext) error

func (*TargetGroup) SetLifecycle added in v1.18.3

func (o *TargetGroup) SetLifecycle(lifecycle fi.Lifecycle)

SetLifecycle sets the Lifecycle of the object, implementing fi.SetLifecycle

func (*TargetGroup) ShouldCreate added in v1.18.3

func (_ *TargetGroup) ShouldCreate(a, e, changes *TargetGroup) (bool, error)

func (*TargetGroup) String added in v1.18.3

func (o *TargetGroup) String() string

String is the stringer function for the task, producing readable output using fi.TaskAsString

func (e *TargetGroup) TerraformLink() *terraformWriter.Literal

type VPC

type VPC struct {
	Name      *string
	Lifecycle fi.Lifecycle

	ID   *string
	CIDR *string

	// AmazonIPv6 is used only for Terraform rendering.
	// Direct rendering is handled via the VPCAmazonIPv6CIDRBlock task
	AmazonIPv6 *bool
	IPv6CIDR   *string

	EnableDNSHostnames *bool
	EnableDNSSupport   *bool

	// Shared is set if this is a shared VPC
	Shared *bool

	Tags map[string]string

	// AssociateExtraCIDRBlocks contains a list of cidr blocks that should be
	// associated with the VPC; any other CIDR blocks should be disassociated.
	// The associations themselves are created through the VPCCIDRBlock awstask.
	AssociateExtraCIDRBlocks []string
}

+kops:fitask

func (*VPC) CheckChanges

func (s *VPC) CheckChanges(a, e, changes *VPC) error

func (*VPC) CompareWithID

func (e *VPC) CompareWithID() *string

func (*VPC) Find

func (e *VPC) Find(c *fi.CloudupContext) (*VPC, error)

func (*VPC) FindDeletions added in v1.19.0

func (e *VPC) FindDeletions(c *fi.CloudupContext) ([]fi.CloudupDeletion, error)

func (*VPC) GetLifecycle added in v1.10.0

func (o *VPC) GetLifecycle() fi.Lifecycle

GetLifecycle returns the Lifecycle of the object, implementing fi.HasLifecycle

func (*VPC) GetName

func (o *VPC) GetName() *string

GetName returns the Name of the object, implementing fi.HasName

func (*VPC) RenderAWS

func (_ *VPC) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *VPC) error

func (*VPC) RenderTerraform

func (_ *VPC) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *VPC) error

func (*VPC) Run

func (e *VPC) Run(c *fi.CloudupContext) error

func (*VPC) SetLifecycle added in v1.10.0

func (o *VPC) SetLifecycle(lifecycle fi.Lifecycle)

SetLifecycle sets the Lifecycle of the object, implementing fi.SetLifecycle

func (*VPC) String

func (o *VPC) String() string

String is the stringer function for the task, producing readable output using fi.TaskAsString

func (e *VPC) TerraformLink() *terraformWriter.Literal

type VPCAmazonIPv6CIDRBlock added in v1.21.3

type VPCAmazonIPv6CIDRBlock struct {
	Name      *string
	Lifecycle fi.Lifecycle

	VPC *VPC

	// Shared is set if this is a shared VPC
	Shared *bool
}

+kops:fitask

func (*VPCAmazonIPv6CIDRBlock) CheckChanges added in v1.21.3

func (s *VPCAmazonIPv6CIDRBlock) CheckChanges(a, e, changes *VPCAmazonIPv6CIDRBlock) error

func (*VPCAmazonIPv6CIDRBlock) Find added in v1.21.3

func (*VPCAmazonIPv6CIDRBlock) GetLifecycle added in v1.21.3

func (o *VPCAmazonIPv6CIDRBlock) GetLifecycle() fi.Lifecycle

GetLifecycle returns the Lifecycle of the object, implementing fi.HasLifecycle

func (*VPCAmazonIPv6CIDRBlock) GetName added in v1.21.3

func (o *VPCAmazonIPv6CIDRBlock) GetName() *string

GetName returns the Name of the object, implementing fi.HasName

func (*VPCAmazonIPv6CIDRBlock) RenderAWS added in v1.21.3

func (_ *VPCAmazonIPv6CIDRBlock) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *VPCAmazonIPv6CIDRBlock) error

func (*VPCAmazonIPv6CIDRBlock) RenderTerraform added in v1.21.3

func (_ *VPCAmazonIPv6CIDRBlock) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *VPCAmazonIPv6CIDRBlock) error

func (*VPCAmazonIPv6CIDRBlock) Run added in v1.21.3

func (*VPCAmazonIPv6CIDRBlock) SetLifecycle added in v1.21.3

func (o *VPCAmazonIPv6CIDRBlock) SetLifecycle(lifecycle fi.Lifecycle)

SetLifecycle sets the Lifecycle of the object, implementing fi.SetLifecycle

func (*VPCAmazonIPv6CIDRBlock) String added in v1.21.3

func (o *VPCAmazonIPv6CIDRBlock) String() string

String is the stringer function for the task, producing readable output using fi.TaskAsString

type VPCCIDRBlock added in v1.10.0

type VPCCIDRBlock struct {
	Name      *string
	Lifecycle fi.Lifecycle

	VPC       *VPC
	CIDRBlock *string

	// Shared is set if this is a shared VPC
	Shared *bool
}

+kops:fitask

func (*VPCCIDRBlock) CheckChanges added in v1.10.0

func (s *VPCCIDRBlock) CheckChanges(a, e, changes *VPCCIDRBlock) error

func (*VPCCIDRBlock) Find added in v1.10.0

func (*VPCCIDRBlock) GetLifecycle added in v1.10.0

func (o *VPCCIDRBlock) GetLifecycle() fi.Lifecycle

GetLifecycle returns the Lifecycle of the object, implementing fi.HasLifecycle

func (*VPCCIDRBlock) GetName added in v1.10.0

func (o *VPCCIDRBlock) GetName() *string

GetName returns the Name of the object, implementing fi.HasName

func (*VPCCIDRBlock) RenderAWS added in v1.10.0

func (_ *VPCCIDRBlock) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *VPCCIDRBlock) error

func (*VPCCIDRBlock) RenderTerraform added in v1.10.0

func (_ *VPCCIDRBlock) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *VPCCIDRBlock) error

func (*VPCCIDRBlock) Run added in v1.10.0

func (e *VPCCIDRBlock) Run(c *fi.CloudupContext) error

func (*VPCCIDRBlock) SetLifecycle added in v1.10.0

func (o *VPCCIDRBlock) SetLifecycle(lifecycle fi.Lifecycle)

SetLifecycle sets the Lifecycle of the object, implementing fi.SetLifecycle

func (*VPCCIDRBlock) String added in v1.10.0

func (o *VPCCIDRBlock) String() string

String is the stringer function for the task, producing readable output using fi.TaskAsString

type VPCDHCPOptionsAssociation

type VPCDHCPOptionsAssociation struct {
	Name      *string
	Lifecycle fi.Lifecycle

	VPC         *VPC
	DHCPOptions *DHCPOptions
}

+kops:fitask

func (*VPCDHCPOptionsAssociation) CheckChanges

func (s *VPCDHCPOptionsAssociation) CheckChanges(a, e, changes *VPCDHCPOptionsAssociation) error

func (*VPCDHCPOptionsAssociation) Find

func (*VPCDHCPOptionsAssociation) GetLifecycle added in v1.10.0

func (o *VPCDHCPOptionsAssociation) GetLifecycle() fi.Lifecycle

GetLifecycle returns the Lifecycle of the object, implementing fi.HasLifecycle

func (*VPCDHCPOptionsAssociation) GetName added in v1.10.0

func (o *VPCDHCPOptionsAssociation) GetName() *string

GetName returns the Name of the object, implementing fi.HasName

func (*VPCDHCPOptionsAssociation) RenderAWS

func (*VPCDHCPOptionsAssociation) RenderTerraform

func (*VPCDHCPOptionsAssociation) Run

func (*VPCDHCPOptionsAssociation) SetLifecycle added in v1.10.0

func (o *VPCDHCPOptionsAssociation) SetLifecycle(lifecycle fi.Lifecycle)

SetLifecycle sets the Lifecycle of the object, implementing fi.SetLifecycle

func (*VPCDHCPOptionsAssociation) String

func (o *VPCDHCPOptionsAssociation) String() string

String is the stringer function for the task, producing readable output using fi.TaskAsString

type WarmPool added in v1.21.0

type WarmPool struct {
	// Name is the name of the ASG.
	Name *string
	// Lifecycle is the resource lifecycle.
	Lifecycle fi.Lifecycle

	Enabled *bool
	// MaxSize is the max number of nodes in the warm pool.
	MaxSize *int64
	// MinSize is the smallest number of nodes in the warm pool.
	MinSize int64

	AutoscalingGroup *AutoscalingGroup
}

WarmPool provdes the definition for an ASG warm pool in aws. +kops:fitask

func (*WarmPool) CheckChanges added in v1.21.0

func (*WarmPool) CheckChanges(a, e, changes *WarmPool) error

func (*WarmPool) Find added in v1.21.0

func (e *WarmPool) Find(c *fi.CloudupContext) (*WarmPool, error)

Find is used to discover the ASG in the cloud provider.

func (*WarmPool) GetLifecycle added in v1.21.0

func (o *WarmPool) GetLifecycle() fi.Lifecycle

GetLifecycle returns the Lifecycle of the object, implementing fi.HasLifecycle

func (*WarmPool) GetName added in v1.21.0

func (o *WarmPool) GetName() *string

GetName returns the Name of the object, implementing fi.HasName

func (*WarmPool) RenderAWS added in v1.21.0

func (*WarmPool) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *WarmPool) error

func (*WarmPool) RenderTerraform added in v1.21.0

func (_ *WarmPool) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *WarmPool) error

For the terraform target, warmpool config is rendered inside the AutoscalingGroup resource

func (*WarmPool) Run added in v1.21.0

func (e *WarmPool) Run(c *fi.CloudupContext) error

func (*WarmPool) SetLifecycle added in v1.21.0

func (o *WarmPool) SetLifecycle(lifecycle fi.Lifecycle)

SetLifecycle sets the Lifecycle of the object, implementing fi.SetLifecycle

func (*WarmPool) String added in v1.21.0

func (o *WarmPool) String() string

String is the stringer function for the task, producing readable output using fi.TaskAsString

Source Files

Jump to

Keyboard shortcuts

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