github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/openstack/identity/v3/federation/metadata/requests.go (about) 1 package metadata 2 3 import golangsdk "github.com/opentelekomcloud/gophertelekomcloud" 4 5 type ImportOptsBuilder interface { 6 ToMetadataImportMap() (map[string]interface{}, error) 7 } 8 9 type ImportOpts struct { 10 XAccountType string `json:"xaccount_type"` 11 DomainID string `json:"domain_id" required:"true"` 12 Metadata string `json:"metadata" required:"true"` 13 } 14 15 func (opts ImportOpts) ToMetadataImportMap() (map[string]interface{}, error) { 16 return golangsdk.BuildRequestBody(opts, "") 17 } 18 19 func Import(client *golangsdk.ServiceClient, provider, protocol string, opts ImportOptsBuilder) (r ImportResult) { 20 b, err := opts.ToMetadataImportMap() 21 if err != nil { 22 r.Err = err 23 return 24 } 25 _, r.Err = client.Post(metadataURL(client, provider, protocol), b, &r.Body, nil) 26 return 27 } 28 29 func Get(client *golangsdk.ServiceClient, provider, protocol string) (r GetResult) { 30 _, r.Err = client.Get(metadataURL(client, provider, protocol), &r.Body, &golangsdk.RequestOpts{ 31 MoreHeaders: map[string]string{"Content-Type": "application/json"}, 32 }) 33 return 34 }