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  }