-
Notifications
You must be signed in to change notification settings - Fork 10
/
execution_action_request.go
133 lines (110 loc) · 4.06 KB
/
execution_action_request.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
// Code generated by go-swagger; DO NOT EDIT.
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"bytes"
"context"
"encoding/json"
"io"
"github.com/go-openapi/errors"
"github.com/go-openapi/runtime"
"github.com/go-openapi/strfmt"
"github.com/go-openapi/validate"
)
// ExecutionActionRequest ExecutionActionRequest
//
// Request body for acting on an Execution.
//
// swagger:discriminator ExecutionActionRequest Request body for acting on an Execution.
type ExecutionActionRequest interface {
runtime.Validatable
runtime.ContextValidatable
// Reason for performing the action on the given Execution.
// Example: Pipeline cancelled due to infra issues.
Reason() string
SetReason(string)
// A set of tag keys and optional values that were set on on the resource.
// Example: [{"key":"env","value":"dev"}]
Tags() []string
SetTags([]string)
// AdditionalProperties in base type shoud be handled just like regular properties
// At this moment, the base type property is pushed down to the subtype
}
type executionActionRequest struct {
reasonField string
tagsField []string
}
// Reason gets the reason of this polymorphic type
func (m *executionActionRequest) Reason() string {
return m.reasonField
}
// SetReason sets the reason of this polymorphic type
func (m *executionActionRequest) SetReason(val string) {
m.reasonField = val
}
// Tags gets the tags of this polymorphic type
func (m *executionActionRequest) Tags() []string {
return m.tagsField
}
// SetTags sets the tags of this polymorphic type
func (m *executionActionRequest) SetTags(val []string) {
m.tagsField = val
}
// UnmarshalExecutionActionRequestSlice unmarshals polymorphic slices of ExecutionActionRequest
func UnmarshalExecutionActionRequestSlice(reader io.Reader, consumer runtime.Consumer) ([]ExecutionActionRequest, error) {
var elements []json.RawMessage
if err := consumer.Consume(reader, &elements); err != nil {
return nil, err
}
var result []ExecutionActionRequest
for _, element := range elements {
obj, err := unmarshalExecutionActionRequest(element, consumer)
if err != nil {
return nil, err
}
result = append(result, obj)
}
return result, nil
}
// UnmarshalExecutionActionRequest unmarshals polymorphic ExecutionActionRequest
func UnmarshalExecutionActionRequest(reader io.Reader, consumer runtime.Consumer) (ExecutionActionRequest, error) {
// we need to read this twice, so first into a buffer
data, err := io.ReadAll(reader)
if err != nil {
return nil, err
}
return unmarshalExecutionActionRequest(data, consumer)
}
func unmarshalExecutionActionRequest(data []byte, consumer runtime.Consumer) (ExecutionActionRequest, error) {
buf := bytes.NewBuffer(data)
buf2 := bytes.NewBuffer(data)
// the first time this is read is to fetch the value of the Request body for acting on an Execution. property.
var getType struct {
RequestBodyForActingOnAnExecution string `json:"Request body for acting on an Execution."`
}
if err := consumer.Consume(buf, &getType); err != nil {
return nil, err
}
if err := validate.RequiredString("Request body for acting on an Execution.", "body", getType.RequestBodyForActingOnAnExecution); err != nil {
return nil, err
}
// The value of Request body for acting on an Execution. is used to determine which type to create and unmarshal the data into
switch getType.RequestBodyForActingOnAnExecution {
case "ExecutionActionRequest":
var result executionActionRequest
if err := consumer.Consume(buf2, &result); err != nil {
return nil, err
}
return &result, nil
}
return nil, errors.New(422, "invalid Request body for acting on an Execution. value: %q", getType.RequestBodyForActingOnAnExecution)
}
// Validate validates this execution action request
func (m *executionActionRequest) Validate(formats strfmt.Registry) error {
return nil
}
// ContextValidate validates this execution action request based on context it is used
func (m *executionActionRequest) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}