github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/openstack/lts/v2/transfers/ListTransfers.go (about) 1 package transfers 2 3 import ( 4 "github.com/opentelekomcloud/gophertelekomcloud" 5 "github.com/opentelekomcloud/gophertelekomcloud/internal/extract" 6 ) 7 8 type ListTransfersOpts struct { 9 // Log transfer type. You can transfer logs to OBS, DIS, and DMS. 10 // 11 // Enumerated values: 12 // 13 // OBS 14 // DIS 15 // DMS 16 LogTransferType string `json:"log_transfer_type,omitempty"` 17 // Log group name. 18 // 19 // Minimum length: 1 character 20 // 21 // Maximum length: 64 characters 22 LogGroupName string `json:"log_group_name,omitempty"` 23 // Log stream name. 24 // 25 // Minimum length: 1 character 26 // 27 // Maximum length: 64 characters 28 LogStreamName string `json:"log_stream_name,omitempty"` 29 // Query cursor. Set the value to 0 in the first query. In subsequent queries, obtain the value from the response to the last request. 30 // 31 // Minimum value: 0 32 // 33 // Maximum value: 1024 34 Offset int32 `json:"offset,omitempty"` 35 // 36 // Number of records on each page. 37 // 38 // Minimum value: 0 39 // 40 // Maximum value: 100 41 Limit int32 `json:"limit,omitempty"` 42 } 43 44 func ListTransfers(client *golangsdk.ServiceClient, opts ListTransfersOpts) ([]Transfer, error) { 45 url, err := golangsdk.NewURLBuilder().WithEndpoints("transfers").WithQueryParams(&opts).Build() 46 if err != nil { 47 return nil, err 48 } 49 50 // GET /v2/{project_id}/transfers 51 raw, err := client.Get(client.ServiceURL(url.String()), nil, &golangsdk.RequestOpts{ 52 MoreHeaders: map[string]string{"Content-Type": "application/json"}, 53 }) 54 if err != nil { 55 return nil, err 56 } 57 58 var res []Transfer 59 err = extract.IntoSlicePtr(raw.Body, &res, "log_transfers") 60 return res, err 61 } 62 63 type Transfer struct { 64 // Log group ID. 65 // 66 // Minimum length: 36 characters 67 // 68 // Maximum length: 36 characters 69 LogGroupId string `json:"log_group_id"` 70 // 71 // Log group name. 72 // 73 // Minimum length: 1 character 74 // 75 // Maximum length: 64 characters 76 LogGroupName string `json:"log_group_name"` 77 // Log stream list. 78 LogStreams []LogStreams `json:"log_streams"` 79 // 80 // Log transfer task ID. 81 // 82 // Minimum length: 36 characters 83 // 84 // Maximum length: 36 characters 85 LogTransferId string `json:"log_transfer_id"` 86 // Log transfer information. 87 LogTransferInfo LogTransferInfo `json:"log_transfer_info"` 88 }