Documentation
¶
Index ¶
- func HandleRESTRequest(ctx *service.RequestContext, store *Store, locator ServiceLocator) (*service.Response, error)
- type Addon
- type Cluster
- type EKSService
- func (s *EKSService) Actions() []service.Action
- func (s *EKSService) HandleRequest(ctx *service.RequestContext) (*service.Response, error)
- func (s *EKSService) HealthCheck() error
- func (s *EKSService) Name() string
- func (s *EKSService) ResourceSchemas() []schema.ResourceSchema
- func (s *EKSService) SetLocator(locator ServiceLocator)
- type FargateProfile
- type FargateSelector
- type Nodegroup
- type NodegroupScalingConfig
- type ServiceLocator
- type Store
- func (s *Store) CreateAddon(clusterName, addonName, addonVersion, serviceAccountRoleARN string, ...) (*Addon, bool)
- func (s *Store) CreateCluster(name, version, roleARN, vpcID, serviceCIDR string, subnetIDs, sgIDs []string, ...) (*Cluster, bool)
- func (s *Store) CreateFargateProfile(clusterName, profileName, podExecRoleARN string, subnetIDs []string, ...) (*FargateProfile, bool)
- func (s *Store) CreateNodegroup(clusterName, ngName, nodeRole, amiType, capacityType string, ...) (*Nodegroup, bool)
- func (s *Store) DeleteAddon(clusterName, addonName string) (*Addon, bool)
- func (s *Store) DeleteCluster(name string) (*Cluster, bool)
- func (s *Store) DeleteFargateProfile(clusterName, profileName string) (*FargateProfile, bool)
- func (s *Store) DeleteNodegroup(clusterName, ngName string) (*Nodegroup, bool)
- func (s *Store) GetAddon(clusterName, addonName string) (*Addon, bool)
- func (s *Store) GetCluster(name string) (*Cluster, bool)
- func (s *Store) GetFargateProfile(clusterName, profileName string) (*FargateProfile, bool)
- func (s *Store) GetNodegroup(clusterName, ngName string) (*Nodegroup, bool)
- func (s *Store) ListAddons(clusterName string) []string
- func (s *Store) ListClusters() []string
- func (s *Store) ListFargateProfiles(clusterName string) []string
- func (s *Store) ListNodegroups(clusterName string) []string
- func (s *Store) ListTagsForResource(arn string) (map[string]string, bool)
- func (s *Store) SetLocator(locator ServiceLocator)
- func (s *Store) TagResource(arn string, tags map[string]string) bool
- func (s *Store) UntagResource(arn string, keys []string) bool
- func (s *Store) UpdateClusterConfig(name, version string, subnetIDs, sgIDs []string) (*Cluster, bool)
- func (s *Store) UpdateNodegroupConfig(clusterName, ngName string, scaling *NodegroupScalingConfig, ...) (*Nodegroup, bool)
- type Taint
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func HandleRESTRequest ¶
func HandleRESTRequest(ctx *service.RequestContext, store *Store, locator ServiceLocator) (*service.Response, error)
HandleRESTRequest routes EKS REST-JSON requests based on path and method.
Types ¶
type Addon ¶
type Addon struct {
Name string
ARN string
ClusterName string
AddonVersion string
Status string
ServiceAccountRoleARN string
CreatedAt time.Time
ModifiedAt time.Time
Tags map[string]string
Lifecycle *lifecycle.Machine
}
Addon represents an EKS addon.
type Cluster ¶
type Cluster struct {
Name string
ARN string
Version string
RoleARN string
Status string
Endpoint string
CertificateAuthority string
OIDCIssuer string
PlatformVersion string
SubnetIDs []string
SecurityGroupIDs []string
ClusterSecurityGroupID string
ServiceCIDR string
VPCID string
CreatedAt time.Time
Tags map[string]string
Lifecycle *lifecycle.Machine
}
Cluster represents an EKS cluster.
type EKSService ¶
type EKSService struct {
// contains filtered or unexported fields
}
EKSService is the cloudmock implementation of the AWS Elastic Kubernetes Service API.
func New ¶
func New(accountID, region string) *EKSService
New returns a new EKSService for the given AWS account ID and region.
func NewWithLocator ¶
func NewWithLocator(accountID, region string, locator ServiceLocator) *EKSService
NewWithLocator returns a new EKSService with a service locator for cross-service communication.
func (*EKSService) Actions ¶
func (s *EKSService) Actions() []service.Action
Actions returns the list of EKS API actions supported by this service. EKS uses REST-JSON path-based routing, so these are descriptive only.
func (*EKSService) HandleRequest ¶
func (s *EKSService) HandleRequest(ctx *service.RequestContext) (*service.Response, error)
HandleRequest routes an incoming EKS request to the appropriate handler. EKS uses REST-JSON path-based routing.
func (*EKSService) HealthCheck ¶
func (s *EKSService) HealthCheck() error
HealthCheck always returns nil (no external dependencies).
func (*EKSService) Name ¶
func (s *EKSService) Name() string
Name returns the AWS service name used for routing.
func (*EKSService) ResourceSchemas ¶
func (s *EKSService) ResourceSchemas() []schema.ResourceSchema
ResourceSchemas returns the schema for EKS resource types.
func (*EKSService) SetLocator ¶
func (s *EKSService) SetLocator(locator ServiceLocator)
SetLocator sets the service locator for cross-service communication (EC2 for node groups).
type FargateProfile ¶
type FargateProfile struct {
Name string
ARN string
ClusterName string
PodExecutionRoleARN string
Status string
SubnetIDs []string
Selectors []FargateSelector
CreatedAt time.Time
Tags map[string]string
Lifecycle *lifecycle.Machine
}
FargateProfile represents an EKS Fargate profile.
type FargateSelector ¶
FargateSelector represents a pod selector for Fargate.
type Nodegroup ¶
type Nodegroup struct {
Name string
ARN string
ClusterName string
NodeRole string
Status string
InstanceTypes []string
AmiType string
DiskSize int
ScalingConfig *NodegroupScalingConfig
SubnetIDs []string
Labels map[string]string
Taints []Taint
CapacityType string // ON_DEMAND, SPOT
NodeInstanceIDs []string // EC2 instance IDs created for this node group
CreatedAt time.Time
Tags map[string]string
Lifecycle *lifecycle.Machine
}
Nodegroup represents an EKS managed node group.
type NodegroupScalingConfig ¶
NodegroupScalingConfig represents scaling configuration for a node group.
type ServiceLocator ¶
ServiceLocator provides access to other services for cross-service communication.
type Store ¶
type Store struct {
// contains filtered or unexported fields
}
Store manages all EKS resources.
func (*Store) CreateAddon ¶
func (*Store) CreateCluster ¶
func (*Store) CreateFargateProfile ¶
func (s *Store) CreateFargateProfile(clusterName, profileName, podExecRoleARN string, subnetIDs []string, selectors []FargateSelector, tags map[string]string) (*FargateProfile, bool)
func (*Store) CreateNodegroup ¶
func (*Store) DeleteAddon ¶
func (*Store) DeleteFargateProfile ¶
func (s *Store) DeleteFargateProfile(clusterName, profileName string) (*FargateProfile, bool)
func (*Store) DeleteNodegroup ¶
func (*Store) GetFargateProfile ¶
func (s *Store) GetFargateProfile(clusterName, profileName string) (*FargateProfile, bool)
func (*Store) GetNodegroup ¶
func (*Store) ListAddons ¶
func (*Store) ListClusters ¶
func (*Store) ListFargateProfiles ¶
func (*Store) ListNodegroups ¶
func (*Store) ListTagsForResource ¶
func (*Store) SetLocator ¶
func (s *Store) SetLocator(locator ServiceLocator)
SetLocator sets the service locator for cross-service EC2 instance management.