github.com/chnsz/golangsdk@v0.0.0-20240506093406-85a3fbfa605b/openstack/cse/dedicated/v4/auth/requests.go (about) 1 package auth 2 3 import ( 4 "github.com/chnsz/golangsdk" 5 ) 6 7 // CreateOpts is the structure required by the Create method to create a token for connecting to the engine. 8 type CreateOpts struct { 9 // Account name. 10 Name string `json:"name" required:"true"` 11 // Account password. 12 Password string `json:"password" required:"true"` 13 } 14 15 // Create is a method to create a token using given parameters. 16 func Create(c *golangsdk.ServiceClient, opts CreateOpts) (*CreateResp, error) { 17 b, err := golangsdk.BuildRequestBody(opts, "") 18 if err != nil { 19 return nil, err 20 } 21 22 var r CreateResp 23 _, err = c.Post(rootURL(c), b, &r, nil) 24 return &r, err 25 } 26 27 // BuildMoreHeaderUsingToken is a method to build a specified request header using given token. 28 func BuildMoreHeaderUsingToken(c *golangsdk.ServiceClient, token string) map[string]string { 29 moreHeader := map[string]string{ 30 "Content-Type": "application/json", 31 "X-Language": "en-us", 32 } 33 34 if token != "" { 35 moreHeader["Authorization"] = token 36 } 37 return moreHeader 38 }