blob: 7b39dcfde55ec1fc3fabb8e2ef91842fad9a67f6 [file] [log] [blame]
// Copyright 2015 The Vanadium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// This file was auto-generated by the vanadium vdl tool.
// Source: config.vdl
package internal
import (
"v.io/v23/security"
"v.io/v23/vdl"
)
// Config contains the attributes of the role, and the list of members who have
// access to it.
type Config struct {
// List of role objects, relative to this role, from which to import
// the set of members. File path notation like "." and ".." may be used.
// The set of members who have access to this role is the union of this
// role's members and those of all the imported roles.
ImportMembers []string
// Blessings that match at least one of the patterns in this set are
// allowed to act on behalf of the role.
Members []security.BlessingPattern
// Indicates that the blessing name of the caller should be appended to
// the role blessing name.
Extend bool
// If Audit is true, each use of the role blessing will be reported to
// an auditing service and will be usable only if the report was
// successful.
Audit bool
// The amount of time for which the role blessing will be valid. It is a
// string representation of a time.Duration, e.g. "24h". An empty string
// indicates that the role blessing will not expire.
Expiry string
// The blessings issued for this role will only be valid for
// communicating with peers that match at least one of these patterns.
// If the list is empty, all peers are allowed.
Peers []security.BlessingPattern
}
func (Config) __VDLReflect(struct {
Name string `vdl:"v.io/x/ref/services/role/roled/internal.Config"`
}) {
}
func (m *Config) FillVDLTarget(t vdl.Target, tt *vdl.Type) error {
if __VDLType_config_v_io_x_ref_services_role_roled_internal_Config == nil || __VDLTypeconfig0 == nil {
panic("Initialization order error: types generated for FillVDLTarget not initialized. Consider moving caller to an init() block.")
}
fieldsTarget1, err := t.StartFields(tt)
if err != nil {
return err
}
keyTarget2, fieldTarget3, err := fieldsTarget1.StartField("ImportMembers")
if err != vdl.ErrFieldNoExist && err != nil {
return err
}
if err != vdl.ErrFieldNoExist {
listTarget4, err := fieldTarget3.StartList(__VDLTypeconfig1, len(m.ImportMembers))
if err != nil {
return err
}
for i, elem6 := range m.ImportMembers {
elemTarget5, err := listTarget4.StartElem(i)
if err != nil {
return err
}
if err := elemTarget5.FromString(string(elem6), vdl.StringType); err != nil {
return err
}
if err := listTarget4.FinishElem(elemTarget5); err != nil {
return err
}
}
if err := fieldTarget3.FinishList(listTarget4); err != nil {
return err
}
if err := fieldsTarget1.FinishField(keyTarget2, fieldTarget3); err != nil {
return err
}
}
keyTarget7, fieldTarget8, err := fieldsTarget1.StartField("Members")
if err != vdl.ErrFieldNoExist && err != nil {
return err
}
if err != vdl.ErrFieldNoExist {
listTarget9, err := fieldTarget8.StartList(__VDLTypeconfig2, len(m.Members))
if err != nil {
return err
}
for i, elem11 := range m.Members {
elemTarget10, err := listTarget9.StartElem(i)
if err != nil {
return err
}
if err := elem11.FillVDLTarget(elemTarget10, __VDLType_config_v_io_v23_security_BlessingPattern); err != nil {
return err
}
if err := listTarget9.FinishElem(elemTarget10); err != nil {
return err
}
}
if err := fieldTarget8.FinishList(listTarget9); err != nil {
return err
}
if err := fieldsTarget1.FinishField(keyTarget7, fieldTarget8); err != nil {
return err
}
}
keyTarget12, fieldTarget13, err := fieldsTarget1.StartField("Extend")
if err != vdl.ErrFieldNoExist && err != nil {
return err
}
if err != vdl.ErrFieldNoExist {
if err := fieldTarget13.FromBool(bool(m.Extend), vdl.BoolType); err != nil {
return err
}
if err := fieldsTarget1.FinishField(keyTarget12, fieldTarget13); err != nil {
return err
}
}
keyTarget14, fieldTarget15, err := fieldsTarget1.StartField("Audit")
if err != vdl.ErrFieldNoExist && err != nil {
return err
}
if err != vdl.ErrFieldNoExist {
if err := fieldTarget15.FromBool(bool(m.Audit), vdl.BoolType); err != nil {
return err
}
if err := fieldsTarget1.FinishField(keyTarget14, fieldTarget15); err != nil {
return err
}
}
keyTarget16, fieldTarget17, err := fieldsTarget1.StartField("Expiry")
if err != vdl.ErrFieldNoExist && err != nil {
return err
}
if err != vdl.ErrFieldNoExist {
if err := fieldTarget17.FromString(string(m.Expiry), vdl.StringType); err != nil {
return err
}
if err := fieldsTarget1.FinishField(keyTarget16, fieldTarget17); err != nil {
return err
}
}
keyTarget18, fieldTarget19, err := fieldsTarget1.StartField("Peers")
if err != vdl.ErrFieldNoExist && err != nil {
return err
}
if err != vdl.ErrFieldNoExist {
listTarget20, err := fieldTarget19.StartList(__VDLTypeconfig2, len(m.Peers))
if err != nil {
return err
}
for i, elem22 := range m.Peers {
elemTarget21, err := listTarget20.StartElem(i)
if err != nil {
return err
}
if err := elem22.FillVDLTarget(elemTarget21, __VDLType_config_v_io_v23_security_BlessingPattern); err != nil {
return err
}
if err := listTarget20.FinishElem(elemTarget21); err != nil {
return err
}
}
if err := fieldTarget19.FinishList(listTarget20); err != nil {
return err
}
if err := fieldsTarget1.FinishField(keyTarget18, fieldTarget19); err != nil {
return err
}
}
if err := t.FinishFields(fieldsTarget1); err != nil {
return err
}
return nil
}
func (m *Config) MakeVDLTarget() vdl.Target {
return nil
}
func init() {
vdl.Register((*Config)(nil))
}
var __VDLTypeconfig0 *vdl.Type = vdl.TypeOf((*Config)(nil))
var __VDLTypeconfig1 *vdl.Type = vdl.TypeOf([]string(nil))
var __VDLTypeconfig2 *vdl.Type = vdl.TypeOf([]security.BlessingPattern(nil))
var __VDLType_config_v_io_v23_security_BlessingPattern *vdl.Type = vdl.TypeOf(security.BlessingPattern(""))
var __VDLType_config_v_io_x_ref_services_role_roled_internal_Config *vdl.Type = vdl.TypeOf(Config{})
func __VDLEnsureNativeBuilt_config() {
}