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 { conditions.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() ClusterObject // 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.FailureDomainSpec) // PatchObject persists the cluster configuration and status. PatchObject() error // Close closes the current scope persisting the cluster configuration and status. Close() error }
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() awsclient.ConfigProvider 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 }
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 contains aws endpoint related utilities.
|
Package endpoints contains aws endpoint related utilities. |
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 metrics provides a way to capture request metrics.
|
Package metrics 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. |
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 s3iface.S3API interface Run go generate to regenerate this mock.
|
Package mock_s3iface provides a mock implementation of the s3iface.S3API interface Run go generate to regenerate this mock. |
s3/mock_stsiface
Package mock_stsiface provides a mock implementation for the STSAPI interface.
|
Package mock_stsiface provides a mock implementation for the STSAPI interface. |
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 interface for the SSM API client.
|
Package mock_ssmiface provides a mock interface for the SSM API client. |
sts/mock_stsiface
Package mock_stsiface provides a mock implementation for the STSAPI interface.
|
Package mock_stsiface provides a mock implementation for the STSAPI 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.