github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/openstack/evs/extensions/volumeactions/terminate_connection.go (about)

     1  package volumeactions
     2  
     3  import "github.com/opentelekomcloud/gophertelekomcloud"
     4  
     5  type TerminateConnectionOpts struct {
     6  	IP        string   `json:"ip,omitempty"`
     7  	Host      string   `json:"host,omitempty"`
     8  	Initiator string   `json:"initiator,omitempty"`
     9  	Wwpns     []string `json:"wwpns,omitempty"`
    10  	Wwnns     string   `json:"wwnns,omitempty"`
    11  	Multipath *bool    `json:"multipath,omitempty"`
    12  	Platform  string   `json:"platform,omitempty"`
    13  	OSType    string   `json:"os_type,omitempty"`
    14  }
    15  
    16  func (opts TerminateConnectionOpts) ToVolumeTerminateConnectionMap() (map[string]interface{}, error) {
    17  	b, err := golangsdk.BuildRequestBody(opts, "connector")
    18  	return map[string]interface{}{"os-terminate_connection": b}, err
    19  }
    20  
    21  func TerminateConnection(client *golangsdk.ServiceClient, id string, opts TerminateConnectionOpts) (err error) {
    22  	b, err := golangsdk.BuildRequestBody(opts, "connector")
    23  	b = map[string]interface{}{"os-terminate_connection": b}
    24  	if err != nil {
    25  		return
    26  	}
    27  
    28  	_, err = client.Post(client.ServiceURL("volumes", id, "action"), b, nil, nil)
    29  	return
    30  }