package trusts import "devel.mephi.ru/iacherepanov/openstack-gophercloud/openstack/identity/v3/tokens" // AuthOptsExt extends the base Identity v3 tokens AuthOpts with a TrustID. type AuthOptsExt struct { tokens.AuthOptionsBuilder // TrustID is the ID of the trust. TrustID string `json:"id"` } // ToTokenV3CreateMap builds a create request body from the AuthOpts. func (opts AuthOptsExt) ToTokenV3CreateMap(scope map[string]interface{}) (map[string]interface{}, error) { return opts.AuthOptionsBuilder.ToTokenV3CreateMap(scope) } // ToTokenV3ScopeMap builds a scope from AuthOpts. func (opts AuthOptsExt) ToTokenV3ScopeMap() (map[string]interface{}, error) { b, err := opts.AuthOptionsBuilder.ToTokenV3ScopeMap() if err != nil { return nil, err } if opts.TrustID != "" { if b == nil { b = make(map[string]interface{}) } b["OS-TRUST:trust"] = map[string]interface{}{ "id": opts.TrustID, } } return b, nil } func (opts AuthOptsExt) CanReauth() bool { return opts.AuthOptionsBuilder.CanReauth() }