Documentation
¶
Index ¶
Constants ¶
View Source
const PolicyAttrTypeActions = "actions"
View Source
const PolicyAttrTypeMembers = "members"
View Source
const PolicyAttrTypeResource = "resource"
Variables ¶
This section is empty.
Functions ¶
func ValidateTableDefinition ¶
func ValidateTableDefinition(tableDef TableDefinition) error
Types ¶
type AttributeDefinition ¶
type AttributeDefinition struct { //PolicyAttrType string // one of 'resource', 'actions' or 'members' NameOrPath string `json:"nameOrPath"` ValType string `json:"valType"` Pk bool `json:"pk"` Sk bool `json:"sk"` }
AttributeDefinition both pk, sk cannot be true
func NewAttributeDefinition ¶
func NewAttributeDefinition(nameOrPath string, valType string, pk bool, sk bool) *AttributeDefinition
type MetadataKeyInfo ¶
type MetadataKeyInfo struct {
Attribute string `json:"attribute"`
}
type TableAttributes ¶
type TableAttributes struct { Resource *AttributeDefinition `json:"resource"` Actions *AttributeDefinition `json:"actions"` Members *AttributeDefinition `json:"members"` }
type TableDefinition ¶
type TableDefinition interface { ResourceAttrDefinition() *AttributeDefinition ActionsAttrDefinition() *AttributeDefinition MembersAttrDefinition() *AttributeDefinition AttrDefinitionMap() map[string]*AttributeDefinition }
type TableDefinitionV2 ¶
type TableDefinitionV2 struct { Metadata TableMetadata `json:"metadata"` Attributes TableAttributes `json:"attributes"` }
func (TableDefinitionV2) ActionsAttrDefinition ¶
func (t TableDefinitionV2) ActionsAttrDefinition() *AttributeDefinition
func (TableDefinitionV2) AttrDefinitionMap ¶
func (t TableDefinitionV2) AttrDefinitionMap() map[string]*AttributeDefinition
func (TableDefinitionV2) MembersAttrDefinition ¶
func (t TableDefinitionV2) MembersAttrDefinition() *AttributeDefinition
func (TableDefinitionV2) ResourceAttrDefinition ¶
func (t TableDefinitionV2) ResourceAttrDefinition() *AttributeDefinition
type TableInfo ¶
type TableInfo[R rar.ResourceActionRolesMapper] struct { TableName string ItemType R ItemMappingDynamic bool // MapTo static, or dynamic. Decides whether to use item.MapTo() or MapTo(interface{}) TableDefinition TableDefinition }
func NewDynamicTableInfo ¶
func NewDynamicTableInfo(tableName string, resourceAttrDef, actionsAttrDef, membersAttrDef *AttributeDefinition) (*TableInfo[rar.DynamicResourceActionRolesMapper], error)
func NewSimpleTableInfo ¶
func NewSimpleTableInfo[R rar.ResourceActionRolesMapper](tableName string, sampleItem R) (*TableInfo[R], error)
type TableMetadata ¶
type TableMetadata struct { Pk MetadataKeyInfo `json:"pk"` Sk MetadataKeyInfo `json:"sk"` }
TableDefinitionV2 - dynamic table definition provided by consumers Also refactor into reusable structs
Click to show internal directories.
Click to hide internal directories.