Documentation
¶
Overview ¶
Package cloud contains interfaces for working with AWS resources.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ClusterObject ¶
type ClusterObject interface {
v1beta1conditions.Setter
}
ClusterObject represents a AWS cluster object.
type ClusterScoper ¶
type ClusterScoper interface {
logger.Wrapper
Session
ScopeUsage
// Name returns the CAPI cluster name.
Name() string
// Namespace returns the cluster namespace.
Namespace() string
// InfraClusterName returns the AWS infrastructure cluster name.
InfraClusterName() string
// Region returns the cluster region.
Region() string
// KubernetesClusterName is the name of the Kubernetes cluster. For EKS this
// will differ to the CAPI cluster name
KubernetesClusterName() string
// InfraCluster returns the AWS infrastructure cluster object.
InfraCluster() ClusterObject
// Cluster returns the cluster object.
ClusterObj() *clusterv1.Cluster
// UnstructuredControlPlane returns the unstructured control plane object.
UnstructuredControlPlane() (*unstructured.Unstructured, error)
// IdentityRef returns the AWS infrastructure cluster identityRef.
IdentityRef() *infrav1.AWSIdentityReference
// ListOptionsLabelSelector returns a ListOptions with a label selector for clusterName.
ListOptionsLabelSelector() client.ListOption
// APIServerPort returns the port to use when communicating with the API server.
APIServerPort() int32
// AdditionalTags returns any tags that you would like to attach to AWS resources. The returned value will never be nil.
AdditionalTags() infrav1.Tags
// SetFailureDomain sets the infrastructure provider failure domain key to the spec given as input.
SetFailureDomain(id string, spec clusterv1.FailureDomain)
// PatchObject persists the cluster configuration and status.
PatchObject() error
// Close closes the current scope persisting the cluster configuration and status.
Close() error
// MaxWaitDuration returns time waiting for operation.
MaxWaitDuration() time.Duration
}
ClusterScoper is the interface for a cluster scope.
type ScopeUsage ¶
type ScopeUsage interface {
// ControllerName returns the name of the controller that created the scope
ControllerName() string
}
ScopeUsage is used to indicate which controller is using a scope.
type Session ¶
type Session interface {
Session() awsv2.Config
ServiceLimiter(service string) *throttle.ServiceLimiter
}
Session represents an AWS session.
type SessionMetadata ¶ added in v2.4.0
type SessionMetadata interface {
// Namespace returns the cluster namespace.
Namespace() string
// InfraClusterName returns the AWS infrastructure cluster name.
InfraClusterName() string
// InfraCluster returns the AWS infrastructure cluster object.
InfraCluster() ClusterObject
// IdentityRef returns the AWS infrastructure cluster identityRef.
IdentityRef() *infrav1.AWSIdentityReference
// ControllerName returns the controller name
ControllerName() string
}
SessionMetadata knows how to extract the information for managing AWS sessions for a resource.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package awserrors provides a way to generate AWS errors.
|
Package awserrors provides a way to generate AWS errors. |
|
Package converters provides conversion functions for AWS SDK types to CAPA types.
|
Package converters provides conversion functions for AWS SDK types to CAPA types. |
|
Package endpoints provides AWS Service Endpoints, Region, Partition related methods.
|
Package endpoints provides AWS Service Endpoints, Region, Partition related methods. |
|
Package filter contains the ec2 sdk related filters.
|
Package filter contains the ec2 sdk related filters. |
|
Package identity provides the AWSPrincipalTypeProvider interface and its implementations.
|
Package identity provides the AWSPrincipalTypeProvider interface and its implementations. |
|
Package logs provides a wrapper for the logr.Logger to be used as an AWS Logger.
|
Package logs provides a wrapper for the logr.Logger to be used as an AWS Logger. |
|
Package metricsv2 provides a way to capture request metrics.
|
Package metricsv2 provides a way to capture request metrics. |
|
Package scope provides a global scope for CAPA controllers.
|
Package scope provides a global scope for CAPA controllers. |
|
Package services contains the interfaces for the AWS services.
|
Package services contains the interfaces for the AWS services. |
|
autoscaling
Package asg provides a service for managing AWS AutoScalingGroups.
|
Package asg provides a service for managing AWS AutoScalingGroups. |
|
autoscaling/mock_autoscalingiface
Package mock_autoscalingiface is a generated GoMock package.
|
Package mock_autoscalingiface is a generated GoMock package. |
|
awsnode
Package awsnode provides a way to interact with AWS nodes.
|
Package awsnode provides a way to interact with AWS nodes. |
|
common
Package common defines service contracts used by other services.
|
Package common defines service contracts used by other services. |
|
ec2
Package ec2 provides a way to interact with the AWS EC2 API.
|
Package ec2 provides a way to interact with the AWS EC2 API. |
|
eks
Package eks provides a service to reconcile EKS control plane and nodegroups.
|
Package eks provides a service to reconcile EKS control plane and nodegroups. |
|
eks/iam
Package iam provides a service for managing IAM roles and policies.
|
Package iam provides a service for managing IAM roles and policies. |
|
eks/mock_eksiface
Package mock_eksiface is a generated GoMock package.
|
Package mock_eksiface is a generated GoMock package. |
|
elb
Package elb provides a service for managing AWS load balancers.
|
Package elb provides a service for managing AWS load balancers. |
|
gc
Package gc provides a way to perform gc operations against a tenant/workload/child cluster.
|
Package gc provides a way to perform gc operations against a tenant/workload/child cluster. |
|
iamauth
Package iamauth provides a way to interact with AWS IAM.
|
Package iamauth provides a way to interact with AWS IAM. |
|
iamauth/mock_iamauth
Package mock_iamauth provides a mock implementation for the IAMAPI interface.
|
Package mock_iamauth provides a mock implementation for the IAMAPI interface. |
|
instancestate
Package instancestate provides a way to interact with the EC2 instance state.
|
Package instancestate provides a way to interact with the EC2 instance state. |
|
instancestate/mock_eventbridgeiface
Package mock_eventbridgeiface provides a mock implementation for the EventBridgeAPI interface.
|
Package mock_eventbridgeiface provides a mock implementation for the EventBridgeAPI interface. |
|
instancestate/mock_sqsiface
Package mock_sqsiface provides a mock implementation for the SQSAPI interface.
|
Package mock_sqsiface provides a mock implementation for the SQSAPI interface. |
|
kubeproxy
Package kubeproxy provides a way to interact with the kube-proxy service.
|
Package kubeproxy provides a way to interact with the kube-proxy service. |
|
mock_services
Package mock_services is a generated GoMock package.
|
Package mock_services is a generated GoMock package. |
|
network
Package network provides a service to manage AWS network resources.
|
Package network provides a service to manage AWS network resources. |
|
s3
Package s3 provides a way to interact with AWS S3.
|
Package s3 provides a way to interact with AWS S3. |
|
s3/mock_s3iface
Package mock_s3iface provides a mock implementation of the S3API interface Run go generate to regenerate this mock.
|
Package mock_s3iface provides a mock implementation of the S3API interface Run go generate to regenerate this mock. |
|
secretsmanager
Package secretsmanager provides a way to interact with AWS Secrets Manager.
|
Package secretsmanager provides a way to interact with AWS Secrets Manager. |
|
secretsmanager/mock_secretsmanageriface
Package mock_secretsmanageriface provides a mock interface for the SecretsManager API client.
|
Package mock_secretsmanageriface provides a mock interface for the SecretsManager API client. |
|
securitygroup
Package securitygroup provides a service to manage AWS security group resources.
|
Package securitygroup provides a service to manage AWS security group resources. |
|
ssm
Package ssm provides a service to generate userdata for AWS Systems Manager.
|
Package ssm provides a service to generate userdata for AWS Systems Manager. |
|
ssm/mock_ssmiface
Package mock_ssmiface provides a mock implementation for the SSMAPI interface.
|
Package mock_ssmiface provides a mock implementation for the SSMAPI interface. |
|
sts
Package sts provides an interface for AWS STS operations using the AWS SDK v2.
|
Package sts provides an interface for AWS STS operations using the AWS SDK v2. |
|
sts/mock_stsiface
Package mock_stsiface provides a mock implementation for the STSClient interface.
|
Package mock_stsiface provides a mock implementation for the STSClient interface. |
|
userdata
Package userdata provides a way to generate user data for cloud instances.
|
Package userdata provides a way to generate user data for cloud instances. |
|
wait
Package wait provides a set of utilities for polling and waiting.
|
Package wait provides a set of utilities for polling and waiting. |
|
Package tags provides a way to tag cloud resources.
|
Package tags provides a way to tag cloud resources. |
|
Package throttle provides a way to limit the number of requests to AWS services.
|
Package throttle provides a way to limit the number of requests to AWS services. |
Click to show internal directories.
Click to hide internal directories.