awstasks

package
v1.20.0 Latest Latest
Warning

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

Go to latest
Published: Apr 9, 2021 License: Apache-2.0 Imports: 34 Imported by: 227

Documentation

Index

Constants

View Source
const CloudTagInstanceGroupRolePrefix = "k8s.io/role/"

CloudTagInstanceGroupRolePrefix is a cloud tag that defines the instance role

View Source
const MaxUserDataSize = 16384

MaxUserDataSize is the max size of the userdata

Variables

This section is empty.

Functions

func FindDNSName added in v1.19.0

func FindDNSName(awsCloud awsup.AWSCloud, cluster *kops.Cluster) (string, error)

func FindLoadBalancerByNameTag added in v1.10.0

func FindLoadBalancerByNameTag(cloud awsup.AWSCloud, findNameTag string) (*elb.LoadBalancerDescription, error)

func FindNetworkLoadBalancerByNameTag added in v1.19.0

func FindNetworkLoadBalancerByNameTag(cloud awsup.AWSCloud, findNameTag string) (*elbv2.LoadBalancer, error)

func FindTargetGroupByName added in v1.19.0

func FindTargetGroupByName(cloud awsup.AWSCloud, findName string) (*elbv2.TargetGroup, error)

func RetainLaunchConfigurationCount added in v1.10.0

func RetainLaunchConfigurationCount() int

RetainLaunchConfigurationCount returns the number of launch configurations to keep

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
	// LaunchConfiguration is the launch configuration for the autoscaling group
	LaunchConfiguration *LaunchConfiguration
	// 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
	// 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
	// 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
}

AutoscalingGroup provdes 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 (e *AutoscalingGroup) CloudformationLink() *cloudformation.Literal

CloudformationLink is adds a reference

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) 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) RenderCloudformation added in v1.10.0

func (_ *AutoscalingGroup) RenderCloudformation(t *cloudformation.CloudformationTarget, a, e, changes *AutoscalingGroup) error

RenderCloudformation is responsible for generating the cloudformation template

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

func (e *AutoscalingGroup) Run(c *fi.Context) error

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() *terraform.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 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.Task) []fi.Task

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) CloudformationAttrCanonicalHostedZoneNameID added in v1.19.0

func (e *ClassicLoadBalancer) CloudformationAttrCanonicalHostedZoneNameID() *cloudformation.Literal

func (*ClassicLoadBalancer) CloudformationAttrDNSName added in v1.19.0

func (e *ClassicLoadBalancer) CloudformationAttrDNSName() *cloudformation.Literal
func (e *ClassicLoadBalancer) CloudformationLink() *cloudformation.Literal

func (*ClassicLoadBalancer) CompareWithID added in v1.19.0

func (e *ClassicLoadBalancer) CompareWithID() *string

func (*ClassicLoadBalancer) Find added in v1.19.0

func (*ClassicLoadBalancer) FindIPAddress added in v1.19.0

func (e *ClassicLoadBalancer) FindIPAddress(context *fi.Context) (*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()

func (*ClassicLoadBalancer) RenderAWS added in v1.19.0

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

func (*ClassicLoadBalancer) RenderCloudformation added in v1.19.0

func (_ *ClassicLoadBalancer) RenderCloudformation(t *cloudformation.CloudformationTarget, 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 (e *ClassicLoadBalancer) Run(c *fi.Context) error

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) *terraform.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.Task) []fi.Task

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.Task) []fi.Task

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.Task) []fi.Task

type ClassicLoadBalancerCrossZoneLoadBalancing added in v1.19.0

type ClassicLoadBalancerCrossZoneLoadBalancing struct {
	Enabled *bool
}

func (*ClassicLoadBalancerCrossZoneLoadBalancing) GetDependencies added in v1.19.0

func (_ *ClassicLoadBalancerCrossZoneLoadBalancing) GetDependencies(tasks map[string]fi.Task) []fi.Task

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.Task) []fi.Task

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.Task) []fi.Task

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 (e *DHCPOptions) CloudformationLink() *cloudformation.Literal

func (*DHCPOptions) CompareWithID

func (e *DHCPOptions) CompareWithID() *string

func (*DHCPOptions) Find

func (e *DHCPOptions) Find(c *fi.Context) (*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) RenderCloudformation added in v1.10.0

func (_ *DHCPOptions) RenderCloudformation(t *cloudformation.CloudformationTarget, 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.Context) 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() *terraform.Literal

type DNSName

type DNSName struct {
	Name      *string
	Lifecycle *fi.Lifecycle

	ID           *string
	Zone         *DNSZone
	ResourceType *string

	TargetLoadBalancer DNSTarget
}

+kops:fitask

func (*DNSName) CheckChanges

func (s *DNSName) CheckChanges(a, e, changes *DNSName) error
func (e *DNSName) CloudformationLink() *cloudformation.Literal

func (*DNSName) Find

func (e *DNSName) Find(c *fi.Context) (*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) RenderCloudformation added in v1.10.0

func (_ *DNSName) RenderCloudformation(t *cloudformation.CloudformationTarget, 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.Context) 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() *terraform.Literal

type DNSTarget added in v1.19.0

type DNSTarget interface {
	fi.Task

	CloudformationAttrDNSName() *cloudformation.Literal
	CloudformationAttrCanonicalHostedZoneNameID() *cloudformation.Literal
	TerraformLink(...string) *terraform.Literal
	// contains filtered or unexported methods
}

func FindElasticLoadBalancerByNameTag added in v1.19.0

func FindElasticLoadBalancerByNameTag(awsCloud awsup.AWSCloud, cluster *kops.Cluster) (DNSTarget, error)

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 (e *DNSZone) CloudformationLink() *cloudformation.Literal

func (*DNSZone) CompareWithID

func (e *DNSZone) CompareWithID() *string

func (*DNSZone) Find

func (e *DNSZone) Find(c *fi.Context) (*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) RenderCloudformation added in v1.10.0

func (_ *DNSZone) RenderCloudformation(t *cloudformation.CloudformationTarget, 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.Context) 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() *terraform.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 (e *EBSVolume) CloudformationLink() *cloudformation.Literal

func (*EBSVolume) CompareWithID

func (e *EBSVolume) CompareWithID() *string

func (*EBSVolume) Find

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

func (*EBSVolume) FindResourceID

func (e *EBSVolume) FindResourceID(c fi.Cloud) (*string, 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) PreRun added in v1.18.3

func (e *EBSVolume) PreRun(c *fi.Context) 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) RenderCloudformation added in v1.10.0

func (_ *EBSVolume) RenderCloudformation(t *cloudformation.CloudformationTarget, 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.Context) 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() *terraform.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 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) CloudformationAllocationID added in v1.10.0

func (e *ElasticIP) CloudformationAllocationID() *cloudformation.Literal

func (*ElasticIP) CompareWithID added in v1.10.0

func (e *ElasticIP) CompareWithID() *string

func (*ElasticIP) Find

func (e *ElasticIP) Find(context *fi.Context) (*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) RenderCloudformation added in v1.10.0

func (_ *ElasticIP) RenderCloudformation(t *cloudformation.CloudformationTarget, a, e, changes *ElasticIP) error

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.Context) 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() *terraform.Literal

type IAMInstanceProfile

type IAMInstanceProfile struct {
	Name      *string
	Lifecycle *fi.Lifecycle

	ID     *string
	Shared *bool
}

+kops:fitask

func (*IAMInstanceProfile) CheckChanges

func (s *IAMInstanceProfile) CheckChanges(a, e, changes *IAMInstanceProfile) error
func (e *IAMInstanceProfile) CloudformationLink() *cloudformation.Literal

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) RenderCloudformation added in v1.10.0

func (_ *IAMInstanceProfile) RenderCloudformation(t *cloudformation.CloudformationTarget, a, e, changes *IAMInstanceProfile) error

func (*IAMInstanceProfile) RenderTerraform

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

func (*IAMInstanceProfile) Run

func (e *IAMInstanceProfile) Run(c *fi.Context) error

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() *terraform.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) RenderCloudformation added in v1.10.0

func (_ *IAMInstanceProfileRole) RenderCloudformation(t *cloudformation.CloudformationTarget, 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 []fi.Resource
	URL         *string

	Name *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) RenderCloudformation added in v1.19.0

func (_ *IAMOIDCProvider) RenderCloudformation(t *cloudformation.CloudformationTarget, 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 (e *IAMOIDCProvider) Run(c *fi.Context) error

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() *terraform.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 (e *IAMRole) CloudformationLink() *cloudformation.Literal

func (*IAMRole) CompareWithID

func (e *IAMRole) CompareWithID() *string

func (*IAMRole) Find

func (e *IAMRole) Find(c *fi.Context) (*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) RenderCloudformation added in v1.10.0

func (_ *IAMRole) RenderCloudformation(t *cloudformation.CloudformationTarget, 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.Context) 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) String

func (o *IAMRole) String() string

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

func (e *IAMRole) TerraformLink() *terraform.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 (e *IAMRolePolicy) CloudformationLink() *cloudformation.Literal

func (*IAMRolePolicy) Find

func (e *IAMRolePolicy) Find(c *fi.Context) (*IAMRolePolicy, error)

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) RenderCloudformation added in v1.10.0

func (_ *IAMRolePolicy) RenderCloudformation(t *cloudformation.CloudformationTarget, 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.Context) 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() *terraform.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.Context) (*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.Context) 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() *terraform.Literal

type InstanceElasticIPAttachment

type InstanceElasticIPAttachment struct {
	Instance  *Instance
	ElasticIP *ElasticIP
}

func (*InstanceElasticIPAttachment) CheckChanges

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

func (*InstanceElasticIPAttachment) Find

func (*InstanceElasticIPAttachment) RenderAWS

func (*InstanceElasticIPAttachment) Run

func (*InstanceElasticIPAttachment) String

func (e *InstanceElasticIPAttachment) String() string

type InstanceVolumeAttachment

type InstanceVolumeAttachment struct {
	Instance *Instance
	Volume   *EBSVolume
	Device   *string
}

func (*InstanceVolumeAttachment) CheckChanges

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

func (*InstanceVolumeAttachment) Find

func (*InstanceVolumeAttachment) RenderAWS

func (*InstanceVolumeAttachment) Run

func (*InstanceVolumeAttachment) String

func (e *InstanceVolumeAttachment) String() string

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 (e *InternetGateway) CloudformationLink() *cloudformation.Literal

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) RenderCloudformation added in v1.10.0

func (_ *InternetGateway) RenderCloudformation(t *cloudformation.CloudformationTarget, a, e, changes *InternetGateway) error

func (*InternetGateway) RenderTerraform

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

func (*InternetGateway) Run

func (e *InternetGateway) Run(c *fi.Context) error

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() *terraform.Literal

type LaunchConfiguration

type LaunchConfiguration struct {
	// 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 instabces
	AssociatePublicIP *bool
	// BlockDeviceMappings is a block device mappings
	BlockDeviceMappings []*BlockDeviceMapping
	// 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
	// IAMInstanceProfile is the IAM profile to assign to the nodes
	IAMInstanceProfile *IAMInstanceProfile
	// ID is the launch configuration name
	ID *string
	// ImageID is the AMI to use for the instances
	ImageID *string
	// InstanceMonitoring indicates if monitoring is enabled
	InstanceMonitoring *bool
	// InstanceType is the machine type to use
	InstanceType *string
	// RootVolumeDeleteOnTermination states if the root volume will be deleted after instance termination
	RootVolumeDeleteOnTermination *bool
	// 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
	// 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
	// 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
	// Tenancy. Can be either default or dedicated.
	Tenancy *string
	// UserData is the user data configuration
	UserData fi.Resource
}

LaunchConfiguration is the specification for a launch configuration +kops:fitask

func (*LaunchConfiguration) CheckChanges

func (s *LaunchConfiguration) CheckChanges(a, e, changes *LaunchConfiguration) error
func (e *LaunchConfiguration) CloudformationLink() *cloudformation.Literal

func (*LaunchConfiguration) CompareWithID

func (e *LaunchConfiguration) CompareWithID() *string

func (*LaunchConfiguration) Find

Find is responsible for finding the launch configuration

func (*LaunchConfiguration) FindDeletions added in v1.10.0

func (e *LaunchConfiguration) FindDeletions(c *fi.Context) ([]fi.Deletion, error)

func (*LaunchConfiguration) GetLifecycle added in v1.10.0

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

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

func (*LaunchConfiguration) GetName

func (o *LaunchConfiguration) GetName() *string

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

func (*LaunchConfiguration) Normalize added in v1.10.0

func (e *LaunchConfiguration) Normalize()

func (*LaunchConfiguration) RenderAWS

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

RenderAWS is responsible for creating the launchconfiguration via api

func (*LaunchConfiguration) RenderCloudformation added in v1.10.0

func (_ *LaunchConfiguration) RenderCloudformation(t *cloudformation.CloudformationTarget, a, e, changes *LaunchConfiguration) error

RenderCloudformation is responsible for rendering the cloudformation template

func (*LaunchConfiguration) RenderTerraform

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

RenderTerraform is responsible for rendering the terraform json

func (*LaunchConfiguration) Run

func (e *LaunchConfiguration) Run(c *fi.Context) error

func (*LaunchConfiguration) SetLifecycle added in v1.10.0

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

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

func (*LaunchConfiguration) String

func (o *LaunchConfiguration) String() string

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

func (e *LaunchConfiguration) TerraformLink() *terraform.Literal

TerraformLink returns the terraform reference

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 instabces
	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
	// 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
	// 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 (t *LaunchTemplate) CloudformationLink() *cloudformation.Literal

CloudformationLink returns the cloudformation link for us

func (*LaunchTemplate) CloudformationVersion added in v1.18.0

func (t *LaunchTemplate) CloudformationVersion() *cloudformation.Literal

CloudformationLink returns the cloudformation version.

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

func (t *LaunchTemplate) Find(c *fi.Context) (*LaunchTemplate, error)

Find is responsible for finding the launch template for us

func (*LaunchTemplate) FindDeletions added in v1.15.1

func (t *LaunchTemplate) FindDeletions(c *fi.Context) ([]fi.Deletion, 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()

Normalize is responsible for normalizing any data within the resource

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) RenderCloudformation added in v1.15.1

func (t *LaunchTemplate) RenderCloudformation(target *cloudformation.CloudformationTarget, a, e, changes *LaunchTemplate) error

RenderCloudformation is responsible for rendering the cloudformation json

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

func (t *LaunchTemplate) Run(c *fi.Context) error

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() *terraform.Literal

TerraformLink returns the terraform reference

func (t *LaunchTemplate) VersionLink() *terraform.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 (e *NatGateway) CloudformationLink() *cloudformation.Literal

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.Context) (*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) RenderCloudformation added in v1.10.0

func (_ *NatGateway) RenderCloudformation(t *cloudformation.CloudformationTarget, 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.Context) 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() *terraform.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

	DNSName      *string
	HostedZoneId *string

	SubnetMappings []*SubnetMapping

	Listeners []*NetworkLoadBalancerListener

	Scheme *string

	CrossZoneLoadBalancing *bool

	Tags         map[string]string
	ForAPIServer bool

	Type *string

	VPC          *VPC
	TargetGroups []*TargetGroup
}

func (*NetworkLoadBalancer) CheckChanges added in v1.19.0

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

func (*NetworkLoadBalancer) CloudformationAttrCanonicalHostedZoneNameID added in v1.19.0

func (e *NetworkLoadBalancer) CloudformationAttrCanonicalHostedZoneNameID() *cloudformation.Literal

func (*NetworkLoadBalancer) CloudformationAttrDNSName added in v1.19.0

func (e *NetworkLoadBalancer) CloudformationAttrDNSName() *cloudformation.Literal
func (e *NetworkLoadBalancer) CloudformationLink() *cloudformation.Literal

func (*NetworkLoadBalancer) CompareWithID added in v1.19.0

func (e *NetworkLoadBalancer) CompareWithID() *string

func (*NetworkLoadBalancer) Find added in v1.19.0

func (*NetworkLoadBalancer) FindIPAddress added in v1.19.0

func (e *NetworkLoadBalancer) FindIPAddress(context *fi.Context) (*string, error)

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()

func (*NetworkLoadBalancer) RenderAWS added in v1.19.0

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

func (*NetworkLoadBalancer) RenderCloudformation added in v1.19.0

func (_ *NetworkLoadBalancer) RenderCloudformation(t *cloudformation.CloudformationTarget, 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 (e *NetworkLoadBalancer) Run(c *fi.Context) error

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) SetName added in v1.19.0

func (o *NetworkLoadBalancer) SetName(name string)

SetName sets the Name of the object, implementing fi.SetName

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) *terraform.Literal

func (*NetworkLoadBalancer) UnmarshalJSON added in v1.19.0

func (o *NetworkLoadBalancer) UnmarshalJSON(data []byte) error

UnmarshalJSON implements conversion to JSON, supporting an alternate specification of the object as a string

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.Task) []fi.Task

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 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.IpPermission) 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.IpPermission) 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

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

+kops:fitask

func (*Route) CheckChanges

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

func (*Route) Find

func (e *Route) Find(c *fi.Context) (*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) RenderCloudformation added in v1.10.0

func (_ *Route) RenderCloudformation(t *cloudformation.CloudformationTarget, 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.Context) 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 (e *RouteTable) CloudformationLink() *cloudformation.Literal

func (*RouteTable) CompareWithID

func (e *RouteTable) CompareWithID() *string

func (*RouteTable) Find

func (e *RouteTable) Find(c *fi.Context) (*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) RenderCloudformation added in v1.10.0

func (_ *RouteTable) RenderCloudformation(t *cloudformation.CloudformationTarget, 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.Context) 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() *terraform.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 (e *RouteTableAssociation) CloudformationLink() *cloudformation.Literal

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) RenderCloudformation added in v1.10.0

func (_ *RouteTableAssociation) RenderCloudformation(t *cloudformation.CloudformationTarget, 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() *terraform.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.Context) (*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) RenderAWS

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

func (*SSHKey) RenderCloudformation added in v1.10.0

func (_ *SSHKey) RenderCloudformation(t *cloudformation.CloudformationTarget, 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.Context) 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() *terraform.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 (e *SecurityGroup) CloudformationLink() *cloudformation.Literal

func (*SecurityGroup) CompareWithID

func (e *SecurityGroup) CompareWithID() *string

func (*SecurityGroup) Find

func (e *SecurityGroup) Find(c *fi.Context) (*SecurityGroup, error)

func (*SecurityGroup) FindDeletions

func (e *SecurityGroup) FindDeletions(c *fi.Context) ([]fi.Deletion, 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) RenderCloudformation added in v1.10.0

func (_ *SecurityGroup) RenderCloudformation(t *cloudformation.CloudformationTarget, 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.Context) 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() *terraform.Literal

type SecurityGroupRule

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

	SecurityGroup *SecurityGroup
	CIDR          *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
}

+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) RenderCloudformation added in v1.10.0

func (_ *SecurityGroupRule) RenderCloudformation(t *cloudformation.CloudformationTarget, a, e, changes *SecurityGroupRule) error

func (*SecurityGroupRule) RenderTerraform

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

func (*SecurityGroupRule) Run

func (e *SecurityGroupRule) Run(c *fi.Context) error

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
	AvailabilityZone *string
	CIDR             *string
	Shared           *bool

	Tags map[string]string
}

+kops:fitask

func (*Subnet) CheckChanges

func (s *Subnet) CheckChanges(a, e, changes *Subnet) error
func (e *Subnet) CloudformationLink() *cloudformation.Literal

func (*Subnet) CompareWithID

func (e *Subnet) CompareWithID() *string

func (*Subnet) Find

func (e *Subnet) Find(c *fi.Context) (*Subnet, 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) RenderCloudformation added in v1.10.0

func (_ *Subnet) RenderCloudformation(t *cloudformation.CloudformationTarget, 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.Context) 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) String

func (o *Subnet) String() string

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

func (e *Subnet) TerraformLink() *terraform.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.Task) []fi.Task

type TaggableResource

type TaggableResource interface {
	FindResourceID(c fi.Cloud) (*string, error)
}

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

	HealthyThreshold   *int64
	UnhealthyThreshold *int64
}

+kops:fitask

func (*TargetGroup) CheckChanges added in v1.18.3

func (s *TargetGroup) CheckChanges(a, e, changes *TargetGroup) error
func (e *TargetGroup) CloudformationLink() *cloudformation.Literal

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.Context) (*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) RenderCloudformation added in v1.18.3

func (_ *TargetGroup) RenderCloudformation(t *cloudformation.CloudformationTarget, 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.Context) 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(params ...string) *terraform.Literal

type VPC

type VPC struct {
	Name      *string
	Lifecycle *fi.Lifecycle

	ID                 *string
	CIDR               *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 (e *VPC) CloudformationLink() *cloudformation.Literal

func (*VPC) CompareWithID

func (e *VPC) CompareWithID() *string

func (*VPC) Find

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

func (*VPC) FindDeletions added in v1.19.0

func (e *VPC) FindDeletions(c *fi.Context) ([]fi.Deletion, 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) RenderCloudformation added in v1.10.0

func (_ *VPC) RenderCloudformation(t *cloudformation.CloudformationTarget, 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.Context) 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() *terraform.Literal

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 (e *VPCCIDRBlock) Find(c *fi.Context) (*VPCCIDRBlock, error)

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) RenderCloudformation added in v1.10.0

func (_ *VPCCIDRBlock) RenderCloudformation(t *cloudformation.CloudformationTarget, 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.Context) 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) RenderCloudformation added in v1.10.0

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

Source Files

Jump to

Keyboard shortcuts

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