| // 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() { |
| } |