cluster-api-provider-aws: sigs.k8s.io/cluster-api-provider-aws/pkg/cloud/scope Index | Files

package scope

import "sigs.k8s.io/cluster-api-provider-aws/pkg/cloud/scope"

Index

Package Files

clients.go cluster.go ec2.go elb.go getters.go machine.go machinepool.go managedcontrolplane.go managednodegroup.go session.go

Variables

var (
    DefaultClusterScopeGetter ClusterScopeGetter = ClusterScopeGetterFunc(NewClusterScope)
    DefaultMachineScopeGetter MachineScopeGetter = MachineScopeGetterFunc(NewMachineScope)
)

func NewASGClient Uses

func NewASGClient(scopeUser cloud.ScopeUsage, session cloud.Session, target runtime.Object) autoscalingiface.AutoScalingAPI

NewASGClient creates a new ASG API client for a given session

func NewEC2Client Uses

func NewEC2Client(scopeUser cloud.ScopeUsage, session cloud.Session, target runtime.Object) ec2iface.EC2API

NewEC2Client creates a new EC2 API client for a given session

func NewEKSClient Uses

func NewEKSClient(scopeUser cloud.ScopeUsage, session cloud.Session, target runtime.Object) eksiface.EKSAPI

NewEKSClient creates a new EKS API client for a given session

func NewELBClient Uses

func NewELBClient(scopeUser cloud.ScopeUsage, session cloud.Session, target runtime.Object) elbiface.ELBAPI

NewELBClient creates a new ELB API client for a given session

func NewIAMClient Uses

func NewIAMClient(scopeUser cloud.ScopeUsage, session cloud.Session, target runtime.Object) iamiface.IAMAPI

NewIAMClient creates a new IAM API client for a given session

func NewResourgeTaggingClient Uses

func NewResourgeTaggingClient(scopeUser cloud.ScopeUsage, session cloud.Session, target runtime.Object) resourcegroupstaggingapiiface.ResourceGroupsTaggingAPIAPI

NewResourgeTaggingClient creates a new Resource Tagging API client for a given session

func NewSSMClient Uses

func NewSSMClient(scopeUser cloud.ScopeUsage, session cloud.Session, target runtime.Object) ssmiface.SSMAPI

NewSSMClient creates a new Secrets API client for a given session

func NewSTSClient Uses

func NewSTSClient(scopeUser cloud.ScopeUsage, session cloud.Session, target runtime.Object) stsiface.STSAPI

NewSTSClient creates a new STS API client for a given session

func NewSecretsManagerClient Uses

func NewSecretsManagerClient(scopeUser cloud.ScopeUsage, session cloud.Session, target runtime.Object) secretsmanageriface.SecretsManagerAPI

NewSecretsManagerClient creates a new Secrets API client for a given session

type AWSClients Uses

type AWSClients struct {
    ASG             autoscalingiface.AutoScalingAPI
    EC2             ec2iface.EC2API
    ELB             elbiface.ELBAPI
    SecretsManager  secretsmanageriface.SecretsManagerAPI
    ResourceTagging resourcegroupstaggingapiiface.ResourceGroupsTaggingAPIAPI
}

AWSClients contains all the aws clients used by the scopes.

type ClusterScope Uses

type ClusterScope struct {
    logr.Logger

    Cluster    *clusterv1.Cluster
    AWSCluster *infrav1.AWSCluster
    // contains filtered or unexported fields
}

ClusterScope defines the basic context for an actuator to operate upon.

func NewClusterScope Uses

func NewClusterScope(params ClusterScopeParams) (*ClusterScope, error)

NewClusterScope creates a new Scope from the supplied parameters. This is meant to be called for each reconcile iteration.

func (*ClusterScope) APIServerPort Uses

func (s *ClusterScope) APIServerPort() int32

APIServerPort returns the APIServerPort to use when creating the load balancer.

func (*ClusterScope) AdditionalTags Uses

func (s *ClusterScope) AdditionalTags() infrav1.Tags

AdditionalTags returns AdditionalTags from the scope's AWSCluster. The returned value will never be nil.

func (*ClusterScope) Bastion Uses

func (s *ClusterScope) Bastion() *infrav1.Bastion

Bastion returns the bastion details.

func (*ClusterScope) CNIIngressRules Uses

func (s *ClusterScope) CNIIngressRules() infrav1.CNIIngressRules

CNIIngressRules returns the CNI spec ingress rules.

func (*ClusterScope) Close Uses

func (s *ClusterScope) Close() error

Close closes the current scope persisting the cluster configuration and status.

func (*ClusterScope) ControlPlaneConfigMapName Uses

func (s *ClusterScope) ControlPlaneConfigMapName() string

ControlPlaneConfigMapName returns the name of the ConfigMap used to coordinate the bootstrapping of control plane nodes.

func (*ClusterScope) ControlPlaneLoadBalancer Uses

func (s *ClusterScope) ControlPlaneLoadBalancer() *infrav1.AWSLoadBalancerSpec

ControlPlaneLoadBalancer returns the AWSLoadBalancerSpec

func (*ClusterScope) ControlPlaneLoadBalancerScheme Uses

func (s *ClusterScope) ControlPlaneLoadBalancerScheme() infrav1.ClassicELBScheme

ControlPlaneLoadBalancerScheme returns the Classic ELB scheme (public or internal facing)

func (*ClusterScope) ControllerName Uses

func (s *ClusterScope) ControllerName() string

ControllerName returns the name of the controller that created the ClusterScope.

func (*ClusterScope) ImageLookupBaseOS Uses

func (s *ClusterScope) ImageLookupBaseOS() string

ImageLookupBaseOS returns the base operating system name to use when looking up AMIs

func (*ClusterScope) ImageLookupFormat Uses

func (s *ClusterScope) ImageLookupFormat() string

ImageLookupFormat returns the format string to use when looking up AMIs

func (*ClusterScope) ImageLookupOrg Uses

func (s *ClusterScope) ImageLookupOrg() string

ImageLookupOrg returns the organization name to use when looking up AMIs

func (*ClusterScope) InfraCluster Uses

func (s *ClusterScope) InfraCluster() cloud.ClusterObject

InfraCluster returns the AWS infrastructure cluster or control plane object.

func (*ClusterScope) KubernetesClusterName Uses

func (s *ClusterScope) KubernetesClusterName() string

KubernetesClusterName is the name of the Kubernetes cluster. For the cluster scope this is the same as the CAPI cluster name

func (*ClusterScope) ListOptionsLabelSelector Uses

func (s *ClusterScope) ListOptionsLabelSelector() client.ListOption

ListOptionsLabelSelector returns a ListOptions with a label selector for clusterName.

func (*ClusterScope) Name Uses

func (s *ClusterScope) Name() string

Name returns the CAPI cluster name.

func (*ClusterScope) Namespace Uses

func (s *ClusterScope) Namespace() string

Namespace returns the cluster namespace.

func (*ClusterScope) Network Uses

func (s *ClusterScope) Network() *infrav1.Network

Network returns the cluster network object.

func (*ClusterScope) PatchObject Uses

func (s *ClusterScope) PatchObject() error

PatchObject persists the cluster configuration and status.

func (*ClusterScope) Region Uses

func (s *ClusterScope) Region() string

Region returns the cluster region.

func (*ClusterScope) SSHKeyName Uses

func (s *ClusterScope) SSHKeyName() *string

SSHKeyName returns the SSH key name to use for instances.

func (*ClusterScope) SecurityGroups Uses

func (s *ClusterScope) SecurityGroups() map[infrav1.SecurityGroupRole]infrav1.SecurityGroup

SecurityGroups returns the cluster security groups as a map, it creates the map if empty.

func (*ClusterScope) Session Uses

func (s *ClusterScope) Session() awsclient.ConfigProvider

Session returns the AWS SDK session. Used for creating clients

func (*ClusterScope) SetBastionInstance Uses

func (s *ClusterScope) SetBastionInstance(instance *infrav1.Instance)

SetBastionInstance sets the bastion instance in the status of the cluster.

func (*ClusterScope) SetFailureDomain Uses

func (s *ClusterScope) SetFailureDomain(id string, spec clusterv1.FailureDomainSpec)

SetFailureDomain sets the infrastructure provider failure domain key to the spec given as input.

func (*ClusterScope) SetSubnets Uses

func (s *ClusterScope) SetSubnets(subnets infrav1.Subnets)

SetSubnets updates the clusters subnets.

func (*ClusterScope) Subnets Uses

func (s *ClusterScope) Subnets() infrav1.Subnets

Subnets returns the cluster subnets.

func (*ClusterScope) VPC Uses

func (s *ClusterScope) VPC() *infrav1.VPCSpec

VPC returns the cluster VPC.

type ClusterScopeGetter Uses

type ClusterScopeGetter interface {
    ClusterScope(params ClusterScopeParams) (*ClusterScope, error)
}

type ClusterScopeGetterFunc Uses

type ClusterScopeGetterFunc func(params ClusterScopeParams) (*ClusterScope, error)

func (ClusterScopeGetterFunc) ClusterScope Uses

func (f ClusterScopeGetterFunc) ClusterScope(params ClusterScopeParams) (*ClusterScope, error)

type ClusterScopeParams Uses

type ClusterScopeParams struct {
    Client         client.Client
    Logger         logr.Logger
    Cluster        *clusterv1.Cluster
    AWSCluster     *infrav1.AWSCluster
    ControllerName string
    Endpoints      []ServiceEndpoint
    Session        awsclient.ConfigProvider
}

ClusterScopeParams defines the input parameters used to create a new Scope.

type EC2Scope Uses

type EC2Scope interface {
    cloud.ClusterScoper

    // VPC returns the cluster VPC.
    VPC() *infrav1.VPCSpec

    // Subnets returns the cluster subnets.
    Subnets() infrav1.Subnets

    // Network returns the cluster network object.
    Network() *infrav1.Network

    // SecurityGroups returns the cluster security groups as a map, it creates the map if empty.
    SecurityGroups() map[infrav1.SecurityGroupRole]infrav1.SecurityGroup

    // Bastion returns the bastion details for the cluster.
    Bastion() *infrav1.Bastion

    // SetBastionInstance sets the bastion instance in the status of the cluster.
    SetBastionInstance(instance *infrav1.Instance)

    // SSHKeyName returns the SSH key name to use for instances.
    SSHKeyName() *string

    // ImageLookupFormat returns the format string to use when looking up AMIs
    ImageLookupFormat() string

    // ImageLookupOrg returns the organization name to use when looking up AMIs
    ImageLookupOrg() string

    // ImageLookupBaseOS returns the base operating system name to use when looking up AMIs
    ImageLookupBaseOS() string
}

Scope is the interface for the scoep to be used with the ec2 service

type ELBScope Uses

type ELBScope interface {
    cloud.ClusterScoper

    // Network returns the cluster network object.
    Network() *infrav1.Network

    // Subnets returns the cluster subnets.
    Subnets() infrav1.Subnets

    // SecurityGroups returns the cluster security groups as a map, it creates the map if empty.
    SecurityGroups() map[infrav1.SecurityGroupRole]infrav1.SecurityGroup

    // VPC returns the cluster VPC.
    VPC() *infrav1.VPCSpec

    // ControlPlaneLoadBalancer returns the AWSLoadBalancerSpec
    ControlPlaneLoadBalancer() *infrav1.AWSLoadBalancerSpec

    // ControlPlaneLoadBalancerScheme returns the Classic ELB scheme (public or internal facing)
    ControlPlaneLoadBalancerScheme() infrav1.ClassicELBScheme
}

Scope is a scope for use with the ELB reconciling service

type MachinePoolScope Uses

type MachinePoolScope struct {
    logr.Logger

    Cluster        *clusterv1.Cluster
    MachinePool    *expclusterv1.MachinePool
    InfraCluster   EC2Scope
    AWSMachinePool *expinfrav1.AWSMachinePool
    // contains filtered or unexported fields
}

MachinePoolScope defines a scope defined around a machine and its cluster.

func NewMachinePoolScope Uses

func NewMachinePoolScope(params MachinePoolScopeParams) (*MachinePoolScope, error)

NewMachinePoolScope creates a new MachinePoolScope from the supplied parameters. This is meant to be called for each reconcile iteration.

func (*MachinePoolScope) AdditionalTags Uses

func (m *MachinePoolScope) AdditionalTags() infrav1.Tags

AdditionalTags merges AdditionalTags from the scope's AWSCluster and AWSMachinePool. If the same key is present in both, the value from AWSMachinePool takes precedence. The returned Tags will never be nil.

func (*MachinePoolScope) Close Uses

func (m *MachinePoolScope) Close() error

Close the MachinePoolScope by updating the machinepool spec, machine status.

func (*MachinePoolScope) GetASGStatus Uses

func (m *MachinePoolScope) GetASGStatus() *expinfrav1.ASGStatus

GetASGStatus returns the AWSMachinePool instance state from the status.

func (*MachinePoolScope) GetProviderID Uses

func (m *MachinePoolScope) GetProviderID() string

GetProviderID returns the AWSMachine providerID from the spec.

func (*MachinePoolScope) GetRawBootstrapData Uses

func (m *MachinePoolScope) GetRawBootstrapData() ([]byte, error)

GetRawBootstrapData returns the bootstrap data from the secret in the Machine's bootstrap.dataSecretName. todo(rudoi): stolen from MachinePool - any way to reuse?

func (*MachinePoolScope) HasFailed Uses

func (m *MachinePoolScope) HasFailed() bool

HasFailed returns true when the AWSMachinePool's Failure reason or Failure message is populated

func (*MachinePoolScope) IsEKSManaged Uses

func (m *MachinePoolScope) IsEKSManaged() bool

func (*MachinePoolScope) Name Uses

func (m *MachinePoolScope) Name() string

Name returns the AWSMachinePool name.

func (*MachinePoolScope) Namespace Uses

func (m *MachinePoolScope) Namespace() string

Namespace returns the namespace name.

func (*MachinePoolScope) PatchObject Uses

func (m *MachinePoolScope) PatchObject() error

PatchObject persists the machinepool spec and status.

func (*MachinePoolScope) SetASGStatus Uses

func (m *MachinePoolScope) SetASGStatus(v expinfrav1.ASGStatus)

SetASGStatus sets the AWSMachine status instance state.

func (*MachinePoolScope) SetAnnotation Uses

func (m *MachinePoolScope) SetAnnotation(key, value string)

SetAnnotation sets a key value annotation on the AWSMachine.

func (*MachinePoolScope) SetFailureMessage Uses

func (m *MachinePoolScope) SetFailureMessage(v error)

SetFailureMessage sets the AWSMachine status failure message.

func (*MachinePoolScope) SetFailureReason Uses

func (m *MachinePoolScope) SetFailureReason(v capierrors.MachineStatusError)

SetFailureReason sets the AWSMachine status failure reason.

func (*MachinePoolScope) SetNotReady Uses

func (m *MachinePoolScope) SetNotReady()

SetNotReady sets the AWSMachinePool Ready Status to false

type MachinePoolScopeParams Uses

type MachinePoolScopeParams struct {
    Client client.Client
    Logger logr.Logger

    Cluster        *clusterv1.Cluster
    MachinePool    *expclusterv1.MachinePool
    InfraCluster   EC2Scope
    AWSMachinePool *expinfrav1.AWSMachinePool
}

MachinePoolScopeParams defines a scope defined around a machine and its cluster.

type MachineScope Uses

type MachineScope struct {
    logr.Logger

    Cluster      *clusterv1.Cluster
    Machine      *clusterv1.Machine
    InfraCluster EC2Scope
    AWSMachine   *infrav1.AWSMachine
    // contains filtered or unexported fields
}

MachineScope defines a scope defined around a machine and its cluster.

func NewMachineScope Uses

func NewMachineScope(params MachineScopeParams) (*MachineScope, error)

NewMachineScope creates a new MachineScope from the supplied parameters. This is meant to be called for each reconcile iteration.

func (*MachineScope) AWSMachineIsDeleted Uses

func (m *MachineScope) AWSMachineIsDeleted() bool

func (*MachineScope) AdditionalTags Uses

func (m *MachineScope) AdditionalTags() infrav1.Tags

AdditionalTags merges AdditionalTags from the scope's AWSCluster and AWSMachine. If the same key is present in both, the value from AWSMachine takes precedence. The returned Tags will never be nil.

func (*MachineScope) Close Uses

func (m *MachineScope) Close() error

Close the MachineScope by updating the machine spec, machine status.

func (*MachineScope) DeleteSecretPrefix Uses

func (m *MachineScope) DeleteSecretPrefix()

DeleteSecretPrefix deletes the prefix for the secret belonging to the AWSMachine in AWS Secrets Manager

func (*MachineScope) GetBootstrapData Uses

func (m *MachineScope) GetBootstrapData() (string, error)

GetBootstrapData returns the bootstrap data from the secret in the Machine's bootstrap.dataSecretName as base64.

func (*MachineScope) GetInstanceID Uses

func (m *MachineScope) GetInstanceID() *string

GetInstanceID returns the AWSMachine instance id by parsing Spec.ProviderID.

func (*MachineScope) GetInstanceState Uses

func (m *MachineScope) GetInstanceState() *infrav1.InstanceState

GetInstanceState returns the AWSMachine instance state from the status.

func (*MachineScope) GetProviderID Uses

func (m *MachineScope) GetProviderID() string

GetProviderID returns the AWSMachine providerID from the spec.

func (*MachineScope) GetRawBootstrapData Uses

func (m *MachineScope) GetRawBootstrapData() ([]byte, error)

GetRawBootstrapData returns the bootstrap data from the secret in the Machine's bootstrap.dataSecretName.

func (*MachineScope) GetSecretCount Uses

func (m *MachineScope) GetSecretCount() int32

GetSecretCount returns the number of AWS Secret Manager entries making up the complete userdata

func (*MachineScope) GetSecretPrefix Uses

func (m *MachineScope) GetSecretPrefix() string

GetSecretPrefix returns the prefix for the secrets belonging to the AWSMachine in AWS Secrets Manager

func (*MachineScope) HasFailed Uses

func (m *MachineScope) HasFailed() bool

func (*MachineScope) InstanceIsInKnownState Uses

func (m *MachineScope) InstanceIsInKnownState() bool

func (*MachineScope) InstanceIsOperational Uses

func (m *MachineScope) InstanceIsOperational() bool

func (*MachineScope) InstanceIsRunning Uses

func (m *MachineScope) InstanceIsRunning() bool

func (*MachineScope) IsControlPlane Uses

func (m *MachineScope) IsControlPlane() bool

IsControlPlane returns true if the machine is a control plane.

func (*MachineScope) IsEKSManaged Uses

func (m *MachineScope) IsEKSManaged() bool

func (*MachineScope) Name Uses

func (m *MachineScope) Name() string

Name returns the AWSMachine name.

func (*MachineScope) Namespace Uses

func (m *MachineScope) Namespace() string

Namespace returns the namespace name.

func (*MachineScope) PatchObject Uses

func (m *MachineScope) PatchObject() error

PatchObject persists the machine spec and status.

func (*MachineScope) Role Uses

func (m *MachineScope) Role() string

Role returns the machine role from the labels.

func (*MachineScope) SecureSecretsBackend Uses

func (m *MachineScope) SecureSecretsBackend() infrav1.SecretBackend

SecureSecretsBackend returns the chosen secret backend.

func (*MachineScope) SetAddresses Uses

func (m *MachineScope) SetAddresses(addrs []clusterv1.MachineAddress)

SetAddresses sets the AWSMachine address status.

func (*MachineScope) SetAnnotation Uses

func (m *MachineScope) SetAnnotation(key, value string)

SetAnnotation sets a key value annotation on the AWSMachine.

func (*MachineScope) SetFailureMessage Uses

func (m *MachineScope) SetFailureMessage(v error)

SetFailureMessage sets the AWSMachine status failure message.

func (*MachineScope) SetFailureReason Uses

func (m *MachineScope) SetFailureReason(v capierrors.MachineStatusError)

SetFailureReason sets the AWSMachine status failure reason.

func (*MachineScope) SetInstanceState Uses

func (m *MachineScope) SetInstanceState(v infrav1.InstanceState)

SetInstanceState sets the AWSMachine status instance state.

func (*MachineScope) SetNotReady Uses

func (m *MachineScope) SetNotReady()

SetNotReady sets the AWSMachine Ready Status to false

func (*MachineScope) SetProviderID Uses

func (m *MachineScope) SetProviderID(instanceID, availabilityZone string)

SetProviderID sets the AWSMachine providerID in spec.

func (*MachineScope) SetReady Uses

func (m *MachineScope) SetReady()

SetReady sets the AWSMachine Ready Status

func (*MachineScope) SetSecretCount Uses

func (m *MachineScope) SetSecretCount(i int32)

SetSecretCount sets the number of AWS Secret Manager entries making up the complete userdata

func (*MachineScope) SetSecretPrefix Uses

func (m *MachineScope) SetSecretPrefix(value string)

SetSecretPrefix sets the prefix for the secrets belonging to the AWSMachine in AWS Secrets Manager

func (*MachineScope) UseSecretsManager Uses

func (m *MachineScope) UseSecretsManager() bool

UseSecretsManager returns the computed value of whether or not userdata should be stored using AWS Secrets Manager.

func (*MachineScope) UserDataIsUncompressed Uses

func (m *MachineScope) UserDataIsUncompressed() bool

UserDataIsUncompressed returns the computed value of whether or not userdata should be compressed using gzip.

type MachineScopeGetter Uses

type MachineScopeGetter interface {
    MachineScope(params MachineScopeParams) (*MachineScope, error)
}

type MachineScopeGetterFunc Uses

type MachineScopeGetterFunc func(params MachineScopeParams) (*MachineScope, error)

func (MachineScopeGetterFunc) MachineScope Uses

func (f MachineScopeGetterFunc) MachineScope(params MachineScopeParams) (*MachineScope, error)

type MachineScopeParams Uses

type MachineScopeParams struct {
    Client       client.Client
    Logger       logr.Logger
    Cluster      *clusterv1.Cluster
    Machine      *clusterv1.Machine
    InfraCluster EC2Scope
    AWSMachine   *infrav1.AWSMachine
}

MachineScopeParams defines the input parameters used to create a new MachineScope.

type ManagedControlPlaneScope Uses

type ManagedControlPlaneScope struct {
    logr.Logger
    Client client.Client

    Cluster      *clusterv1.Cluster
    ControlPlane *ekscontrolplanev1.AWSManagedControlPlane
    // contains filtered or unexported fields
}

ManagedControlPlaneScope defines the basic context for an actuator to operate upon.

func NewManagedControlPlaneScope Uses

func NewManagedControlPlaneScope(params ManagedControlPlaneScopeParams) (*ManagedControlPlaneScope, error)

NewManagedControlPlaneScope creates a new Scope from the supplied parameters. This is meant to be called for each reconcile iteration.

func (*ManagedControlPlaneScope) APIServerPort Uses

func (s *ManagedControlPlaneScope) APIServerPort() int32

APIServerPort returns the port to use when communicating with the API server

func (*ManagedControlPlaneScope) AdditionalTags Uses

func (s *ManagedControlPlaneScope) AdditionalTags() infrav1.Tags

AdditionalTags returns AdditionalTags from the scope's EksControlPlane. The returned value will never be nil.

func (*ManagedControlPlaneScope) AllowAdditionalRoles Uses

func (s *ManagedControlPlaneScope) AllowAdditionalRoles() bool

AllowAdditionalRoles indicates if additional roles can be added to the created IAM roles

func (*ManagedControlPlaneScope) Bastion Uses

func (s *ManagedControlPlaneScope) Bastion() *infrav1.Bastion

Bastion returns the bastion details.

func (*ManagedControlPlaneScope) CNIIngressRules Uses

func (s *ManagedControlPlaneScope) CNIIngressRules() infrav1.CNIIngressRules

CNIIngressRules returns the CNI spec ingress rules.

func (*ManagedControlPlaneScope) Close Uses

func (s *ManagedControlPlaneScope) Close() error

Close closes the current scope persisting the control plane configuration and status.

func (*ManagedControlPlaneScope) ControllerName Uses

func (s *ManagedControlPlaneScope) ControllerName() string

ControllerName returns the name of the controller that created the ManagedControlPlane.

func (*ManagedControlPlaneScope) EnableIAM Uses

func (s *ManagedControlPlaneScope) EnableIAM() bool

EnableIAM indicates that reconciliation should create IAM roles

func (*ManagedControlPlaneScope) IAMAuthConfig Uses

func (s *ManagedControlPlaneScope) IAMAuthConfig() *ekscontrolplanev1.IAMAuthenticatorConfig

IAMAuthConfig returns the IAM authenticator config. The returned value will never be nil.

func (*ManagedControlPlaneScope) ImageLookupBaseOS Uses

func (s *ManagedControlPlaneScope) ImageLookupBaseOS() string

ImageLookupBaseOS returns the base operating system name to use when looking up AMIs

func (*ManagedControlPlaneScope) ImageLookupFormat Uses

func (s *ManagedControlPlaneScope) ImageLookupFormat() string

ImageLookupFormat returns the format string to use when looking up AMIs

func (*ManagedControlPlaneScope) ImageLookupOrg Uses

func (s *ManagedControlPlaneScope) ImageLookupOrg() string

ImageLookupOrg returns the organization name to use when looking up AMIs

func (*ManagedControlPlaneScope) InfraCluster Uses

func (s *ManagedControlPlaneScope) InfraCluster() cloud.ClusterObject

InfraCluster returns the AWS infrastructure cluster or control plane object.

func (*ManagedControlPlaneScope) KubernetesClusterName Uses

func (s *ManagedControlPlaneScope) KubernetesClusterName() string

KubernetesClusterName is the name of the Kubernetes cluster. For the managed scope this is the different to the CAPI cluster name and is the EKS cluster name

func (*ManagedControlPlaneScope) ListOptionsLabelSelector Uses

func (s *ManagedControlPlaneScope) ListOptionsLabelSelector() client.ListOption

ListOptionsLabelSelector returns a ListOptions with a label selector for clusterName.

func (*ManagedControlPlaneScope) Name Uses

func (s *ManagedControlPlaneScope) Name() string

Name returns the CAPI cluster name.

func (*ManagedControlPlaneScope) Namespace Uses

func (s *ManagedControlPlaneScope) Namespace() string

Namespace returns the cluster namespace.

func (*ManagedControlPlaneScope) Network Uses

func (s *ManagedControlPlaneScope) Network() *infrav1.Network

Network returns the control plane network object.

func (*ManagedControlPlaneScope) PatchObject Uses

func (s *ManagedControlPlaneScope) PatchObject() error

PatchObject persists the control plane configuration and status.

func (*ManagedControlPlaneScope) Region Uses

func (s *ManagedControlPlaneScope) Region() string

Region returns the cluster region.

func (*ManagedControlPlaneScope) SSHKeyName Uses

func (s *ManagedControlPlaneScope) SSHKeyName() *string

SSHKeyName returns the SSH key name to use for instances.

func (*ManagedControlPlaneScope) SecurityGroups Uses

func (s *ManagedControlPlaneScope) SecurityGroups() map[infrav1.SecurityGroupRole]infrav1.SecurityGroup

SecurityGroups returns the control plane security groups as a map, it creates the map if empty.

func (*ManagedControlPlaneScope) Session Uses

func (s *ManagedControlPlaneScope) Session() awsclient.ConfigProvider

Session returns the AWS SDK session. Used for creating clients

func (*ManagedControlPlaneScope) SetBastionInstance Uses

func (s *ManagedControlPlaneScope) SetBastionInstance(instance *infrav1.Instance)

SetBastionInstance sets the bastion instance in the status of the cluster.

func (*ManagedControlPlaneScope) SetFailureDomain Uses

func (s *ManagedControlPlaneScope) SetFailureDomain(id string, spec clusterv1.FailureDomainSpec)

SetFailureDomain sets the infrastructure provider failure domain key to the spec given as input.

func (*ManagedControlPlaneScope) SetSubnets Uses

func (s *ManagedControlPlaneScope) SetSubnets(subnets infrav1.Subnets)

SetSubnets updates the control planes subnets.

func (*ManagedControlPlaneScope) Subnets Uses

func (s *ManagedControlPlaneScope) Subnets() infrav1.Subnets

Subnets returns the control plane subnets.

func (*ManagedControlPlaneScope) TokenMethod Uses

func (s *ManagedControlPlaneScope) TokenMethod() ekscontrolplanev1.EKSTokenMethod

TokenMethod returns the token method to use in the kubeconfig

func (*ManagedControlPlaneScope) VPC Uses

func (s *ManagedControlPlaneScope) VPC() *infrav1.VPCSpec

VPC returns the control plane VPC.

type ManagedControlPlaneScopeParams Uses

type ManagedControlPlaneScopeParams struct {
    Client         client.Client
    Logger         logr.Logger
    Cluster        *clusterv1.Cluster
    ControlPlane   *ekscontrolplanev1.AWSManagedControlPlane
    ControllerName string
    Endpoints      []ServiceEndpoint
    Session        awsclient.ConfigProvider

    EnableIAM            bool
    AllowAdditionalRoles bool
}

ManagedControlPlaneScopeParams defines the input parameters used to create a new Scope.

type ManagedMachinePoolScope Uses

type ManagedMachinePoolScope struct {
    logr.Logger
    Client client.Client

    Cluster            *clusterv1.Cluster
    ControlPlane       *controlplanev1exp.AWSManagedControlPlane
    ManagedMachinePool *infrav1exp.AWSManagedMachinePool
    MachinePool        *clusterv1exp.MachinePool
    // contains filtered or unexported fields
}

ManagedMachinePoolScope defines the basic context for an actuator to operate upon.

func NewManagedMachinePoolScope Uses

func NewManagedMachinePoolScope(params ManagedMachinePoolScopeParams) (*ManagedMachinePoolScope, error)

NewManagedMachinePoolScope creates a new Scope from the supplied parameters. This is meant to be called for each reconcile iteration.

func (*ManagedMachinePoolScope) AdditionalTags Uses

func (s *ManagedMachinePoolScope) AdditionalTags() infrav1.Tags

AdditionalTags returns AdditionalTags from the scope's ManagedMachinePool The returned value will never be nil.

func (*ManagedMachinePoolScope) Close Uses

func (s *ManagedMachinePoolScope) Close() error

Close closes the current scope persisting the control plane configuration and status.

func (*ManagedMachinePoolScope) ClusterName Uses

func (s *ManagedMachinePoolScope) ClusterName() string

ClusterName returns the cluster name.

func (*ManagedMachinePoolScope) ControlPlaneSubnets Uses

func (s *ManagedMachinePoolScope) ControlPlaneSubnets() infrav1.Subnets

ControlPlaneSubnets returns the control plane subnets.

func (*ManagedMachinePoolScope) ControllerName Uses

func (s *ManagedMachinePoolScope) ControllerName() string

ControllerName returns the name of the controller that created the ManagedMachinePool.

func (*ManagedMachinePoolScope) EnableIAM Uses

func (s *ManagedMachinePoolScope) EnableIAM() bool

EnableIAM indicates that reconciliation should create IAM roles

func (*ManagedMachinePoolScope) IAMReadyFalse Uses

func (s *ManagedMachinePoolScope) IAMReadyFalse(reason string, err string) error

IAMReadyFalse marks the ready condition false using warning if error isn't empty

func (*ManagedMachinePoolScope) InfraCluster Uses

func (s *ManagedMachinePoolScope) InfraCluster() cloud.ClusterObject

InfraCluster returns the AWS infrastructure cluster or control plane object.

func (*ManagedMachinePoolScope) KubernetesClusterName Uses

func (s *ManagedMachinePoolScope) KubernetesClusterName() string

KubernetesClusterName is the name of the EKS cluster name.

func (*ManagedMachinePoolScope) ManagedPoolName Uses

func (s *ManagedMachinePoolScope) ManagedPoolName() string

ManagedPoolName returns the managed machine pool name.

func (*ManagedMachinePoolScope) NodegroupName Uses

func (s *ManagedMachinePoolScope) NodegroupName() string

NodegroupName is the name of the EKS nodegroup

func (*ManagedMachinePoolScope) NodegroupReadyFalse Uses

func (s *ManagedMachinePoolScope) NodegroupReadyFalse(reason string, err string) error

NodegroupReadyFalse marks the ready condition false using warning if error isn't empty

func (*ManagedMachinePoolScope) PatchObject Uses

func (s *ManagedMachinePoolScope) PatchObject() error

PatchObject persists the control plane configuration and status.

func (*ManagedMachinePoolScope) RoleName Uses

func (s *ManagedMachinePoolScope) RoleName() string

RoleName returns the node group role name

func (*ManagedMachinePoolScope) Session Uses

func (s *ManagedMachinePoolScope) Session() awsclient.ConfigProvider

Session returns the AWS SDK session. Used for creating clients

func (*ManagedMachinePoolScope) SubnetIDs Uses

func (s *ManagedMachinePoolScope) SubnetIDs() []string

SubnetIDs returns the machine pool subnet IDs.

func (*ManagedMachinePoolScope) Version Uses

func (s *ManagedMachinePoolScope) Version() *string

Version returns the nodegroup Kubernetes version

type ManagedMachinePoolScopeParams Uses

type ManagedMachinePoolScopeParams struct {
    Client             client.Client
    Logger             logr.Logger
    Cluster            *clusterv1.Cluster
    ControlPlane       *controlplanev1exp.AWSManagedControlPlane
    ManagedMachinePool *infrav1exp.AWSManagedMachinePool
    MachinePool        *clusterv1exp.MachinePool
    ControllerName     string
    Endpoints          []ServiceEndpoint
    Session            awsclient.ConfigProvider

    EnableIAM bool
}

ManagedMachinePoolScopeParams defines the input parameters used to create a new Scope.

type ServiceEndpoint Uses

type ServiceEndpoint struct {
    ServiceID     string
    URL           string
    SigningRegion string
}

ServiceEndpoint defines a tuple containing AWS Service resolution information

Package scope imports 50 packages (graph) and is imported by 32 packages. Updated 2020-11-22. Refresh now. Tools for package owners.