aws

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jan 23, 2022 License: GPL-3.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterModules

func RegisterModules()

RegisterModules registers all AWS modules

func ServerlessAPIHandler

ServerlessAPIHandler passes the API gateway request event to Mux

func ServerlessECSHandler

func ServerlessECSHandler(ctx context.Context, event ECSInstanceStateEvent) (interface{}, error)

ServerlessECSHandler runs when a game server task changes state

Types

type ECSInstanceStateDetail

type ECSInstanceStateDetail struct {
	Status        string `json:"status"`
	DesiredStatus string `json:"desiredStatus"`
	TaskArn       string `json:"taskArn"`
}

ECSInstanceStateDetail holds detail level info

type ECSInstanceStateEvent

type ECSInstanceStateEvent struct {
	ID     string                 `json:"id"`
	Detail ECSInstanceStateDetail `json:"detail"`
}

ECSInstanceStateEvent holds top level event details full event: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_cwe_events.html

type Server

type Server struct {
	Identifier string            `json:"identifier"`
	TaskArn    string            `json:"task"`
	Metadata   map[string]string `json:"metadata"`
	// contains filtered or unexported fields
}

Server represents a game server running on AWS

func (*Server) GetIP

func (server *Server) GetIP() (string, error)

GetIP returns the IP address of a server

func (*Server) GetIdentifier

func (server *Server) GetIdentifier() (string, error)

GetIdentifier returns the identifier of a server

func (*Server) GetMetadata

func (server *Server) GetMetadata() (map[string]string, error)

GetMetadata returns the metadata of a server

func (*Server) GetPort

func (server *Server) GetPort() (uint16, error)

GetPort returns the port of a server

func (*Server) GetState

func (server *Server) GetState() (core.ServerState, error)

GetState returns the current state of a server

type ServerManager

type ServerManager struct{}

ServerManager implements core.ServerManager to manage game servers on AWS

func (ServerManager) AddServerToDatabase

func (manager ServerManager) AddServerToDatabase(server Server) error

AddServerToDatabase creates a new entry in Dynamo for a server object

func (ServerManager) CleanServerFromDatabase

func (manager ServerManager) CleanServerFromDatabase(identifier string) error

CleanServerFromDatabase removes server info from Dynamo based on an identifier

func (ServerManager) CreateServer

func (manager ServerManager) CreateServer(identifier string) (core.Server, error)

CreateServer runs a new ECS task with an associated identifier

func (ServerManager) DeleteServer

func (manager ServerManager) DeleteServer(server core.Server) error

DeleteServer stops the ECS task associated with a server

func (ServerManager) DeleteServerByIdentifier

func (manager ServerManager) DeleteServerByIdentifier(identifier string) error

DeleteServerByIdentifier gets a server object and passes it to DeleteServer()

func (ServerManager) GetServer

func (manager ServerManager) GetServer(identifier string) (core.Server, error)

GetServer looks up grabs server data from DynamoDB

func (ServerManager) GetServerCount

func (manager ServerManager) GetServerCount() (uint, error)

GetServerCount returns the number of tasks running in the ECS cluster

func (ServerManager) GetVpcSubnets

func (manager ServerManager) GetVpcSubnets() ([]*string, error)

GetVpcSubnets returns a array of all subnets in the associated VPC

func (ServerManager) Initialize

func (manager ServerManager) Initialize() error

Initialize setups AWS

type ServerlessAdapter

type ServerlessAdapter struct{}

ServerlessAdapter implements functions to allow TetraControl to run serverlessly

func (ServerlessAdapter) IsServerless

func (serverless ServerlessAdapter) IsServerless() bool

IsServerless returns true, if running in Lambda

func (ServerlessAdapter) Start

func (serverless ServerlessAdapter) Start()

Start intializes and starts up the mux adapter

Jump to

Keyboard shortcuts

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