Versions in this module Expand all Collapse all v0 v0.4.0 Jun 5, 2019 Changes in this version + var ErrAlreadyExists = errors.New("Unable to create. Object already exists") + var ErrInvalidObjectType = errors.New("Unsupported object type") + var ErrObjectNotFound = errors.New("Object not found") + var ErrUpdateConflict = errors.New("Unable to update object due to conflict") + type DynamoDBStore struct + func NewDynamoDBStore(db *dynamodb.DynamoDB, tableMap DynamoDBTableLookup) *DynamoDBStore + func (db *DynamoDBStore) IPReservation() *IPReservationStore + func (db *DynamoDBStore) InitializeTables() error + func (db *DynamoDBStore) InventoryNode() *InventoryNodeStore + func (db *DynamoDBStore) Network() *NetworkStore + func (db *DynamoDBStore) Node() *NodeStore + func (db *DynamoDBStore) System() *SystemStore + type DynamoDBStoreTable interface + GetCreateTableInput func() *dynamodb.CreateTableInput + GetItemQueryInputFrom func(interface{}) (*dynamodb.QueryInput, error) + GetKeyAttributeDefinitions func() []*dynamodb.AttributeDefinition + GetKeyFrom func(interface{}) (map[string]*dynamodb.AttributeValue, error) + GetKeySchema func() []*dynamodb.KeySchemaElement + GetName func() string + GetPartitionKeyName func() string + type DynamoDBStoreTableMap map[reflect.Type]DynamoDBStoreTable + func (m DynamoDBStoreTableMap) LookupTable(t interface{}) DynamoDBStoreTable + func (m DynamoDBStoreTableMap) Tables() []DynamoDBStoreTable + type DynamoDBTableLookup interface + LookupTable func(interface{}) DynamoDBStoreTable + Tables func() []DynamoDBStoreTable + type IPReservationStore struct + func (db *IPReservationStore) CreateIPReservation(r *types.IPReservation) error + func (db *IPReservationStore) CreateOrUpdateIPReservation(r *types.IPReservation) error + func (db *IPReservationStore) CreateRandomIPReservation(r *types.IPReservation, subnet *types.Subnet) (*types.IPReservation, error) + func (db *IPReservationStore) Delete(r *types.IPReservation) error + func (db *IPReservationStore) Exists(r *types.IPReservation) (bool, error) + func (db *IPReservationStore) GetAllIPReservations() (types.IPReservationList, error) + func (db *IPReservationStore) GetExistingIPReservationInSubnet(subnetCidr *net.IPNet, mac net.HardwareAddr) (*types.IPReservation, error) + func (db *IPReservationStore) GetIPReservation(ipNet *net.IPNet) (*types.IPReservation, error) + func (db *IPReservationStore) GetIPReservations(ipNet *net.IPNet) (types.IPReservationList, error) + func (db *IPReservationStore) GetIPReservationsByMac(mac net.HardwareAddr) (types.IPReservationList, error) + func (db *IPReservationStore) ObjCreate(obj interface{}) error + func (db *IPReservationStore) ObjDelete(obj interface{}) error + func (db *IPReservationStore) ObjExists(obj interface{}) (bool, error) + func (db *IPReservationStore) ObjUpdate(obj interface{}) error + func (db *IPReservationStore) UpdateIPReservation(r *types.IPReservation) error + type IPReservationTable struct + Name string + func (t *IPReservationTable) Create(db *DynamoDBStore, obj interface{}) error + func (t *IPReservationTable) GetCreateTableInput() *dynamodb.CreateTableInput + func (t *IPReservationTable) GetItemQueryInputFrom(o interface{}) (*dynamodb.QueryInput, error) + func (t *IPReservationTable) GetKeyAttributeDefinitions() []*dynamodb.AttributeDefinition + func (t *IPReservationTable) GetKeyFrom(o interface{}) (map[string]*dynamodb.AttributeValue, error) + func (t *IPReservationTable) GetKeySchema() []*dynamodb.KeySchemaElement + func (t *IPReservationTable) GetName() string + func (t *IPReservationTable) GetPartitionKeyName() string + func (t *IPReservationTable) Update(db *DynamoDBStore, obj interface{}) error + type InventoryNodeStore struct + func (db *InventoryNodeStore) GetInventoryNodeByID(id string) (*types.InventoryNode, error) + func (db *InventoryNodeStore) GetInventoryNodeByMAC(mac net.HardwareAddr) (*types.InventoryNode, error) + func (db *InventoryNodeStore) GetInventoryNodes() (map[string]*types.InventoryNode, error) + type NetworkStore struct + func (db *NetworkStore) Create(network *types.Network) error + func (db *NetworkStore) Delete(network *types.Network) error + func (db *NetworkStore) Exists(network *types.Network) (bool, error) + func (db *NetworkStore) GetNetworkByID(id string) (*types.Network, error) + func (db *NetworkStore) GetNetworks() (map[string]*types.Network, error) + func (db *NetworkStore) ObjCreate(obj interface{}) error + func (db *NetworkStore) ObjDelete(obj interface{}) error + func (db *NetworkStore) ObjExists(obj interface{}) (bool, error) + func (db *NetworkStore) ObjUpdate(obj interface{}) error + func (db *NetworkStore) Update(network *types.Network) error + type NodeMacIndexEntry struct + LastUpdated time.Time + Mac net.HardwareAddr + NodeID string + func (i *NodeMacIndexEntry) ID() string + func (i *NodeMacIndexEntry) SetTimestamp(timestamp time.Time) + func (i *NodeMacIndexEntry) Timestamp() int64 + type NodeStore struct + func (db *NodeStore) Create(newNode *types.Node) error + func (db *NodeStore) Delete(node *types.Node) error + func (db *NodeStore) Exists(node *types.Node) (bool, error) + func (db *NodeStore) GetNodeByID(id string) (*types.Node, error) + func (db *NodeStore) GetNodeByMAC(mac net.HardwareAddr) (*types.Node, error) + func (db *NodeStore) GetNodes() (map[string]*types.Node, error) + func (db *NodeStore) ObjCreate(obj interface{}) error + func (db *NodeStore) ObjDelete(obj interface{}) error + func (db *NodeStore) ObjExists(obj interface{}) (bool, error) + func (db *NodeStore) ObjUpdate(obj interface{}) error + func (db *NodeStore) Update(updatedNode *types.Node) error + type SimpleDynamoDBInventoryTable struct + Name string + func (t *SimpleDynamoDBInventoryTable) GetCreateTableInput() *dynamodb.CreateTableInput + func (t *SimpleDynamoDBInventoryTable) GetItemQueryInputFrom(o interface{}) (*dynamodb.QueryInput, error) + func (t *SimpleDynamoDBInventoryTable) GetKeyAttributeDefinitions() []*dynamodb.AttributeDefinition + func (t *SimpleDynamoDBInventoryTable) GetKeyFrom(o interface{}) (map[string]*dynamodb.AttributeValue, error) + func (t *SimpleDynamoDBInventoryTable) GetKeySchema() []*dynamodb.KeySchemaElement + func (t *SimpleDynamoDBInventoryTable) GetName() string + func (t *SimpleDynamoDBInventoryTable) GetPartitionKeyName() string + type SimpleTableItem interface + ID func() string + type SystemStore struct + func (db *SystemStore) Create(system *types.System) error + func (db *SystemStore) Delete(system *types.System) error + func (db *SystemStore) Exists(system *types.System) (bool, error) + func (db *SystemStore) GetSystemByID(id string) (*types.System, error) + func (db *SystemStore) GetSystems() (map[string]*types.System, error) + func (db *SystemStore) ObjCreate(obj interface{}) error + func (db *SystemStore) ObjDelete(obj interface{}) error + func (db *SystemStore) ObjExists(obj interface{}) (bool, error) + func (db *SystemStore) ObjUpdate(obj interface{}) error + func (db *SystemStore) Update(system *types.System) error