12345678910111213141516171819202122232425262728293031323334353637383940 |
- 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()
- }
|