github.com/chnsz/golangsdk@v0.0.0-20240506093406-85a3fbfa605b/openstack/smn/v2/logtank/results.go (about)

     1  package logtank
     2  
     3  import (
     4  	"github.com/chnsz/golangsdk"
     5  )
     6  
     7  type LogtankGet struct {
     8  	ID          string `json:"id"`
     9  	LogGroupID  string `json:"log_group_id"`
    10  	LogStreamID string `json:"log_stream_id"`
    11  	CreateTime  string `json:"create_time"`
    12  	UpdateTime  string `json:"update_time"`
    13  }
    14  
    15  type commonResult struct {
    16  	golangsdk.Result
    17  }
    18  
    19  type CreateResult struct {
    20  	commonResult
    21  }
    22  
    23  type UpdateResult struct {
    24  	commonResult
    25  }
    26  
    27  type DeleteResult struct {
    28  	golangsdk.ErrResult
    29  }
    30  
    31  type ListResult struct {
    32  	commonResult
    33  }
    34  
    35  // Extract will get the logtank object out of the commonResult object.
    36  func (r commonResult) Extract() (LogtankGet, error) {
    37  	var s LogtankGet
    38  	err := r.Result.ExtractInto(&s)
    39  	return s, err
    40  }
    41  
    42  // Extract will get the logtank array object out of the ListResult object.
    43  func (lr ListResult) Extract() ([]LogtankGet, error) {
    44  	var l struct {
    45  		Logtanks []LogtankGet `json:"logtanks"`
    46  	}
    47  	err := lr.Result.ExtractInto(&l)
    48  	return l.Logtanks, err
    49  }