cloud

package
v2.5.0 Latest Latest
Warning

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

Go to latest
Published: Apr 26, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

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.

Jump to

Keyboard shortcuts

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