Skip to content

Commit bdd7239

Browse files
committed
Update API GetResourceGroupMachineGroup: add response parameters Body.AllocatableCpu.
1 parent 2c704bf commit bdd7239

File tree

7 files changed

+276
-53
lines changed

7 files changed

+276
-53
lines changed

ChangeLog.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
2025-08-22 Version: v2.1.9
2+
- Update API GetResourceGroupMachineGroup: add response parameters Body.AllocatableCpu.
3+
- Update API GetResourceGroupMachineGroup: add response parameters Body.AllocatableMemory.
4+
- Update API GetResourceGroupMachineGroup: add response parameters Body.SystemReservedCpu.
5+
- Update API GetResourceGroupMachineGroup: add response parameters Body.SystemReservedMemory.
6+
7+
18
2025-08-06 Version: v2.1.8
29
- Update API ListNodes: add request parameters PaymentType.
310

client/get_resource_group_machine_group_response_body_model.go

Lines changed: 51 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ type iGetResourceGroupMachineGroupResponseBody interface {
99
dara.Model
1010
String() string
1111
GoString() string
12+
SetAllocatableCpu(v string) *GetResourceGroupMachineGroupResponseBody
13+
GetAllocatableCpu() *string
14+
SetAllocatableMemory(v string) *GetResourceGroupMachineGroupResponseBody
15+
GetAllocatableMemory() *string
1216
SetCpu(v string) *GetResourceGroupMachineGroupResponseBody
1317
GetCpu() *string
1418
SetDefaultDriver(v string) *GetResourceGroupMachineGroupResponseBody
@@ -49,11 +53,17 @@ type iGetResourceGroupMachineGroupResponseBody interface {
4953
GetStatus() *string
5054
SetSupportedDrivers(v []*string) *GetResourceGroupMachineGroupResponseBody
5155
GetSupportedDrivers() []*string
56+
SetSystemReservedCpu(v string) *GetResourceGroupMachineGroupResponseBody
57+
GetSystemReservedCpu() *string
58+
SetSystemReservedMemory(v string) *GetResourceGroupMachineGroupResponseBody
59+
GetSystemReservedMemory() *string
5260
SetTags(v []*GetResourceGroupMachineGroupResponseBodyTags) *GetResourceGroupMachineGroupResponseBody
5361
GetTags() []*GetResourceGroupMachineGroupResponseBodyTags
5462
}
5563

5664
type GetResourceGroupMachineGroupResponseBody struct {
65+
AllocatableCpu *string `json:"AllocatableCpu,omitempty" xml:"AllocatableCpu,omitempty"`
66+
AllocatableMemory *string `json:"AllocatableMemory,omitempty" xml:"AllocatableMemory,omitempty"`
5767
// example:
5868
//
5969
// 2
@@ -129,9 +139,11 @@ type GetResourceGroupMachineGroupResponseBody struct {
129139
// example:
130140
//
131141
// Ready
132-
Status *string `json:"Status,omitempty" xml:"Status,omitempty"`
133-
SupportedDrivers []*string `json:"SupportedDrivers,omitempty" xml:"SupportedDrivers,omitempty" type:"Repeated"`
134-
Tags []*GetResourceGroupMachineGroupResponseBodyTags `json:"Tags,omitempty" xml:"Tags,omitempty" type:"Repeated"`
142+
Status *string `json:"Status,omitempty" xml:"Status,omitempty"`
143+
SupportedDrivers []*string `json:"SupportedDrivers,omitempty" xml:"SupportedDrivers,omitempty" type:"Repeated"`
144+
SystemReservedCpu *string `json:"SystemReservedCpu,omitempty" xml:"SystemReservedCpu,omitempty"`
145+
SystemReservedMemory *string `json:"SystemReservedMemory,omitempty" xml:"SystemReservedMemory,omitempty"`
146+
Tags []*GetResourceGroupMachineGroupResponseBodyTags `json:"Tags,omitempty" xml:"Tags,omitempty" type:"Repeated"`
135147
}
136148

137149
func (s GetResourceGroupMachineGroupResponseBody) String() string {
@@ -142,6 +154,14 @@ func (s GetResourceGroupMachineGroupResponseBody) GoString() string {
142154
return s.String()
143155
}
144156

157+
func (s *GetResourceGroupMachineGroupResponseBody) GetAllocatableCpu() *string {
158+
return s.AllocatableCpu
159+
}
160+
161+
func (s *GetResourceGroupMachineGroupResponseBody) GetAllocatableMemory() *string {
162+
return s.AllocatableMemory
163+
}
164+
145165
func (s *GetResourceGroupMachineGroupResponseBody) GetCpu() *string {
146166
return s.Cpu
147167
}
@@ -222,10 +242,28 @@ func (s *GetResourceGroupMachineGroupResponseBody) GetSupportedDrivers() []*stri
222242
return s.SupportedDrivers
223243
}
224244

245+
func (s *GetResourceGroupMachineGroupResponseBody) GetSystemReservedCpu() *string {
246+
return s.SystemReservedCpu
247+
}
248+
249+
func (s *GetResourceGroupMachineGroupResponseBody) GetSystemReservedMemory() *string {
250+
return s.SystemReservedMemory
251+
}
252+
225253
func (s *GetResourceGroupMachineGroupResponseBody) GetTags() []*GetResourceGroupMachineGroupResponseBodyTags {
226254
return s.Tags
227255
}
228256

257+
func (s *GetResourceGroupMachineGroupResponseBody) SetAllocatableCpu(v string) *GetResourceGroupMachineGroupResponseBody {
258+
s.AllocatableCpu = &v
259+
return s
260+
}
261+
262+
func (s *GetResourceGroupMachineGroupResponseBody) SetAllocatableMemory(v string) *GetResourceGroupMachineGroupResponseBody {
263+
s.AllocatableMemory = &v
264+
return s
265+
}
266+
229267
func (s *GetResourceGroupMachineGroupResponseBody) SetCpu(v string) *GetResourceGroupMachineGroupResponseBody {
230268
s.Cpu = &v
231269
return s
@@ -326,6 +364,16 @@ func (s *GetResourceGroupMachineGroupResponseBody) SetSupportedDrivers(v []*stri
326364
return s
327365
}
328366

367+
func (s *GetResourceGroupMachineGroupResponseBody) SetSystemReservedCpu(v string) *GetResourceGroupMachineGroupResponseBody {
368+
s.SystemReservedCpu = &v
369+
return s
370+
}
371+
372+
func (s *GetResourceGroupMachineGroupResponseBody) SetSystemReservedMemory(v string) *GetResourceGroupMachineGroupResponseBody {
373+
s.SystemReservedMemory = &v
374+
return s
375+
}
376+
329377
func (s *GetResourceGroupMachineGroupResponseBody) SetTags(v []*GetResourceGroupMachineGroupResponseBodyTags) *GetResourceGroupMachineGroupResponseBody {
330378
s.Tags = v
331379
return s

client/machine_group_model.go

Lines changed: 62 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ type iMachineGroup interface {
99
dara.Model
1010
String() string
1111
GoString() string
12+
SetAllocatableCpu(v int64) *MachineGroup
13+
GetAllocatableCpu() *int64
14+
SetAllocatableMemory(v int64) *MachineGroup
15+
GetAllocatableMemory() *int64
1216
SetCpu(v int64) *MachineGroup
1317
GetCpu() *int64
1418
SetCreatorID(v string) *MachineGroup
@@ -61,11 +65,17 @@ type iMachineGroup interface {
6165
GetStatus() *string
6266
SetSupportedDrivers(v []*string) *MachineGroup
6367
GetSupportedDrivers() []*string
68+
SetSystemReservedCpu(v int64) *MachineGroup
69+
GetSystemReservedCpu() *int64
70+
SetSystemReservedMemory(v int64) *MachineGroup
71+
GetSystemReservedMemory() *int64
6472
}
6573

6674
type MachineGroup struct {
67-
Cpu *int64 `json:"Cpu,omitempty" xml:"Cpu,omitempty"`
68-
CreatorID *string `json:"CreatorID,omitempty" xml:"CreatorID,omitempty"`
75+
AllocatableCpu *int64 `json:"AllocatableCpu,omitempty" xml:"AllocatableCpu,omitempty"`
76+
AllocatableMemory *int64 `json:"AllocatableMemory,omitempty" xml:"AllocatableMemory,omitempty"`
77+
Cpu *int64 `json:"Cpu,omitempty" xml:"Cpu,omitempty"`
78+
CreatorID *string `json:"CreatorID,omitempty" xml:"CreatorID,omitempty"`
6979
// example:
7080
//
7181
// 470.199.02
@@ -84,18 +94,20 @@ type MachineGroup struct {
8494
// example:
8595
//
8696
// mg1
87-
MachineGroupID *string `json:"MachineGroupID,omitempty" xml:"MachineGroupID,omitempty"`
88-
Memory *int64 `json:"Memory,omitempty" xml:"Memory,omitempty"`
89-
OrderInstanceId *string `json:"OrderInstanceId,omitempty" xml:"OrderInstanceId,omitempty"`
90-
PaymentDuration *string `json:"PaymentDuration,omitempty" xml:"PaymentDuration,omitempty"`
91-
PaymentDurationUnit *string `json:"PaymentDurationUnit,omitempty" xml:"PaymentDurationUnit,omitempty"`
92-
PaymentType *string `json:"PaymentType,omitempty" xml:"PaymentType,omitempty"`
93-
ReasonCode *string `json:"ReasonCode,omitempty" xml:"ReasonCode,omitempty"`
94-
ReasonMessage *string `json:"ReasonMessage,omitempty" xml:"ReasonMessage,omitempty"`
95-
ResourceGroupID *string `json:"ResourceGroupID,omitempty" xml:"ResourceGroupID,omitempty"`
96-
ResourceType *string `json:"ResourceType,omitempty" xml:"ResourceType,omitempty"`
97-
Status *string `json:"Status,omitempty" xml:"Status,omitempty"`
98-
SupportedDrivers []*string `json:"SupportedDrivers,omitempty" xml:"SupportedDrivers,omitempty" type:"Repeated"`
97+
MachineGroupID *string `json:"MachineGroupID,omitempty" xml:"MachineGroupID,omitempty"`
98+
Memory *int64 `json:"Memory,omitempty" xml:"Memory,omitempty"`
99+
OrderInstanceId *string `json:"OrderInstanceId,omitempty" xml:"OrderInstanceId,omitempty"`
100+
PaymentDuration *string `json:"PaymentDuration,omitempty" xml:"PaymentDuration,omitempty"`
101+
PaymentDurationUnit *string `json:"PaymentDurationUnit,omitempty" xml:"PaymentDurationUnit,omitempty"`
102+
PaymentType *string `json:"PaymentType,omitempty" xml:"PaymentType,omitempty"`
103+
ReasonCode *string `json:"ReasonCode,omitempty" xml:"ReasonCode,omitempty"`
104+
ReasonMessage *string `json:"ReasonMessage,omitempty" xml:"ReasonMessage,omitempty"`
105+
ResourceGroupID *string `json:"ResourceGroupID,omitempty" xml:"ResourceGroupID,omitempty"`
106+
ResourceType *string `json:"ResourceType,omitempty" xml:"ResourceType,omitempty"`
107+
Status *string `json:"Status,omitempty" xml:"Status,omitempty"`
108+
SupportedDrivers []*string `json:"SupportedDrivers,omitempty" xml:"SupportedDrivers,omitempty" type:"Repeated"`
109+
SystemReservedCpu *int64 `json:"SystemReservedCpu,omitempty" xml:"SystemReservedCpu,omitempty"`
110+
SystemReservedMemory *int64 `json:"SystemReservedMemory,omitempty" xml:"SystemReservedMemory,omitempty"`
99111
}
100112

101113
func (s MachineGroup) String() string {
@@ -106,6 +118,14 @@ func (s MachineGroup) GoString() string {
106118
return s.String()
107119
}
108120

121+
func (s *MachineGroup) GetAllocatableCpu() *int64 {
122+
return s.AllocatableCpu
123+
}
124+
125+
func (s *MachineGroup) GetAllocatableMemory() *int64 {
126+
return s.AllocatableMemory
127+
}
128+
109129
func (s *MachineGroup) GetCpu() *int64 {
110130
return s.Cpu
111131
}
@@ -210,6 +230,24 @@ func (s *MachineGroup) GetSupportedDrivers() []*string {
210230
return s.SupportedDrivers
211231
}
212232

233+
func (s *MachineGroup) GetSystemReservedCpu() *int64 {
234+
return s.SystemReservedCpu
235+
}
236+
237+
func (s *MachineGroup) GetSystemReservedMemory() *int64 {
238+
return s.SystemReservedMemory
239+
}
240+
241+
func (s *MachineGroup) SetAllocatableCpu(v int64) *MachineGroup {
242+
s.AllocatableCpu = &v
243+
return s
244+
}
245+
246+
func (s *MachineGroup) SetAllocatableMemory(v int64) *MachineGroup {
247+
s.AllocatableMemory = &v
248+
return s
249+
}
250+
213251
func (s *MachineGroup) SetCpu(v int64) *MachineGroup {
214252
s.Cpu = &v
215253
return s
@@ -340,6 +378,16 @@ func (s *MachineGroup) SetSupportedDrivers(v []*string) *MachineGroup {
340378
return s
341379
}
342380

381+
func (s *MachineGroup) SetSystemReservedCpu(v int64) *MachineGroup {
382+
s.SystemReservedCpu = &v
383+
return s
384+
}
385+
386+
func (s *MachineGroup) SetSystemReservedMemory(v int64) *MachineGroup {
387+
s.SystemReservedMemory = &v
388+
return s
389+
}
390+
343391
func (s *MachineGroup) Validate() error {
344392
return dara.Validate(s)
345393
}

client/node_model.go

Lines changed: 80 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ type iNode interface {
1111
GoString() string
1212
SetAcceleratorType(v string) *Node
1313
GetAcceleratorType() *string
14+
SetAllocatableCPU(v string) *Node
15+
GetAllocatableCPU() *string
16+
SetAllocatableMemory(v string) *Node
17+
GetAllocatableMemory() *string
1418
SetAvailabilityZone(v string) *Node
1519
GetAvailabilityZone() *string
1620
SetBoundQuotas(v []*QuotaIdName) *Node
@@ -69,45 +73,53 @@ type iNode interface {
6973
GetResourceGroupId() *string
7074
SetResourceGroupName(v string) *Node
7175
GetResourceGroupName() *string
76+
SetSystemReservedCPU(v string) *Node
77+
GetSystemReservedCPU() *string
78+
SetSystemReservedMemory(v string) *Node
79+
GetSystemReservedMemory() *string
7280
SetUsers(v []*UserInfo) *Node
7381
GetUsers() []*UserInfo
7482
SetWorkloadNum(v int64) *Node
7583
GetWorkloadNum() *int64
7684
}
7785

7886
type Node struct {
79-
AcceleratorType *string `json:"AcceleratorType,omitempty" xml:"AcceleratorType,omitempty"`
80-
AvailabilityZone *string `json:"AvailabilityZone,omitempty" xml:"AvailabilityZone,omitempty"`
81-
BoundQuotas []*QuotaIdName `json:"BoundQuotas,omitempty" xml:"BoundQuotas,omitempty" type:"Repeated"`
82-
CPU *string `json:"CPU,omitempty" xml:"CPU,omitempty"`
83-
CreatorId *string `json:"CreatorId,omitempty" xml:"CreatorId,omitempty"`
84-
GPU *string `json:"GPU,omitempty" xml:"GPU,omitempty"`
85-
GPUMemory *string `json:"GPUMemory,omitempty" xml:"GPUMemory,omitempty"`
86-
GPUType *string `json:"GPUType,omitempty" xml:"GPUType,omitempty"`
87-
GmtCreateTime *string `json:"GmtCreateTime,omitempty" xml:"GmtCreateTime,omitempty"`
88-
GmtExpiredTime *string `json:"GmtExpiredTime,omitempty" xml:"GmtExpiredTime,omitempty"`
89-
GmtModifiedTime *string `json:"GmtModifiedTime,omitempty" xml:"GmtModifiedTime,omitempty"`
90-
HyperZone *string `json:"HyperZone,omitempty" xml:"HyperZone,omitempty"`
91-
IsBound *bool `json:"IsBound,omitempty" xml:"IsBound,omitempty"`
92-
LimitCPU *string `json:"LimitCPU,omitempty" xml:"LimitCPU,omitempty"`
93-
LimitGPU *string `json:"LimitGPU,omitempty" xml:"LimitGPU,omitempty"`
94-
LimitMemory *string `json:"LimitMemory,omitempty" xml:"LimitMemory,omitempty"`
95-
MachineGroupId *string `json:"MachineGroupId,omitempty" xml:"MachineGroupId,omitempty"`
96-
Memory *string `json:"Memory,omitempty" xml:"Memory,omitempty"`
97-
NodeName *string `json:"NodeName,omitempty" xml:"NodeName,omitempty"`
98-
NodeStatus *string `json:"NodeStatus,omitempty" xml:"NodeStatus,omitempty"`
99-
NodeType *string `json:"NodeType,omitempty" xml:"NodeType,omitempty"`
100-
OrderStatus *string `json:"OrderStatus,omitempty" xml:"OrderStatus,omitempty"`
101-
PodNum *int64 `json:"PodNum,omitempty" xml:"PodNum,omitempty"`
102-
ReasonCode *string `json:"ReasonCode,omitempty" xml:"ReasonCode,omitempty"`
103-
ReasonMessage *string `json:"ReasonMessage,omitempty" xml:"ReasonMessage,omitempty"`
104-
RequestCPU *string `json:"RequestCPU,omitempty" xml:"RequestCPU,omitempty"`
105-
RequestGPU *string `json:"RequestGPU,omitempty" xml:"RequestGPU,omitempty"`
106-
RequestMemory *string `json:"RequestMemory,omitempty" xml:"RequestMemory,omitempty"`
107-
ResourceGroupId *string `json:"ResourceGroupId,omitempty" xml:"ResourceGroupId,omitempty"`
108-
ResourceGroupName *string `json:"ResourceGroupName,omitempty" xml:"ResourceGroupName,omitempty"`
109-
Users []*UserInfo `json:"Users,omitempty" xml:"Users,omitempty" type:"Repeated"`
110-
WorkloadNum *int64 `json:"WorkloadNum,omitempty" xml:"WorkloadNum,omitempty"`
87+
AcceleratorType *string `json:"AcceleratorType,omitempty" xml:"AcceleratorType,omitempty"`
88+
AllocatableCPU *string `json:"AllocatableCPU,omitempty" xml:"AllocatableCPU,omitempty"`
89+
AllocatableMemory *string `json:"AllocatableMemory,omitempty" xml:"AllocatableMemory,omitempty"`
90+
AvailabilityZone *string `json:"AvailabilityZone,omitempty" xml:"AvailabilityZone,omitempty"`
91+
BoundQuotas []*QuotaIdName `json:"BoundQuotas,omitempty" xml:"BoundQuotas,omitempty" type:"Repeated"`
92+
CPU *string `json:"CPU,omitempty" xml:"CPU,omitempty"`
93+
CreatorId *string `json:"CreatorId,omitempty" xml:"CreatorId,omitempty"`
94+
GPU *string `json:"GPU,omitempty" xml:"GPU,omitempty"`
95+
GPUMemory *string `json:"GPUMemory,omitempty" xml:"GPUMemory,omitempty"`
96+
GPUType *string `json:"GPUType,omitempty" xml:"GPUType,omitempty"`
97+
GmtCreateTime *string `json:"GmtCreateTime,omitempty" xml:"GmtCreateTime,omitempty"`
98+
GmtExpiredTime *string `json:"GmtExpiredTime,omitempty" xml:"GmtExpiredTime,omitempty"`
99+
GmtModifiedTime *string `json:"GmtModifiedTime,omitempty" xml:"GmtModifiedTime,omitempty"`
100+
HyperZone *string `json:"HyperZone,omitempty" xml:"HyperZone,omitempty"`
101+
IsBound *bool `json:"IsBound,omitempty" xml:"IsBound,omitempty"`
102+
LimitCPU *string `json:"LimitCPU,omitempty" xml:"LimitCPU,omitempty"`
103+
LimitGPU *string `json:"LimitGPU,omitempty" xml:"LimitGPU,omitempty"`
104+
LimitMemory *string `json:"LimitMemory,omitempty" xml:"LimitMemory,omitempty"`
105+
MachineGroupId *string `json:"MachineGroupId,omitempty" xml:"MachineGroupId,omitempty"`
106+
Memory *string `json:"Memory,omitempty" xml:"Memory,omitempty"`
107+
NodeName *string `json:"NodeName,omitempty" xml:"NodeName,omitempty"`
108+
NodeStatus *string `json:"NodeStatus,omitempty" xml:"NodeStatus,omitempty"`
109+
NodeType *string `json:"NodeType,omitempty" xml:"NodeType,omitempty"`
110+
OrderStatus *string `json:"OrderStatus,omitempty" xml:"OrderStatus,omitempty"`
111+
PodNum *int64 `json:"PodNum,omitempty" xml:"PodNum,omitempty"`
112+
ReasonCode *string `json:"ReasonCode,omitempty" xml:"ReasonCode,omitempty"`
113+
ReasonMessage *string `json:"ReasonMessage,omitempty" xml:"ReasonMessage,omitempty"`
114+
RequestCPU *string `json:"RequestCPU,omitempty" xml:"RequestCPU,omitempty"`
115+
RequestGPU *string `json:"RequestGPU,omitempty" xml:"RequestGPU,omitempty"`
116+
RequestMemory *string `json:"RequestMemory,omitempty" xml:"RequestMemory,omitempty"`
117+
ResourceGroupId *string `json:"ResourceGroupId,omitempty" xml:"ResourceGroupId,omitempty"`
118+
ResourceGroupName *string `json:"ResourceGroupName,omitempty" xml:"ResourceGroupName,omitempty"`
119+
SystemReservedCPU *string `json:"SystemReservedCPU,omitempty" xml:"SystemReservedCPU,omitempty"`
120+
SystemReservedMemory *string `json:"SystemReservedMemory,omitempty" xml:"SystemReservedMemory,omitempty"`
121+
Users []*UserInfo `json:"Users,omitempty" xml:"Users,omitempty" type:"Repeated"`
122+
WorkloadNum *int64 `json:"WorkloadNum,omitempty" xml:"WorkloadNum,omitempty"`
111123
}
112124

113125
func (s Node) String() string {
@@ -122,6 +134,14 @@ func (s *Node) GetAcceleratorType() *string {
122134
return s.AcceleratorType
123135
}
124136

137+
func (s *Node) GetAllocatableCPU() *string {
138+
return s.AllocatableCPU
139+
}
140+
141+
func (s *Node) GetAllocatableMemory() *string {
142+
return s.AllocatableMemory
143+
}
144+
125145
func (s *Node) GetAvailabilityZone() *string {
126146
return s.AvailabilityZone
127147
}
@@ -238,6 +258,14 @@ func (s *Node) GetResourceGroupName() *string {
238258
return s.ResourceGroupName
239259
}
240260

261+
func (s *Node) GetSystemReservedCPU() *string {
262+
return s.SystemReservedCPU
263+
}
264+
265+
func (s *Node) GetSystemReservedMemory() *string {
266+
return s.SystemReservedMemory
267+
}
268+
241269
func (s *Node) GetUsers() []*UserInfo {
242270
return s.Users
243271
}
@@ -251,6 +279,16 @@ func (s *Node) SetAcceleratorType(v string) *Node {
251279
return s
252280
}
253281

282+
func (s *Node) SetAllocatableCPU(v string) *Node {
283+
s.AllocatableCPU = &v
284+
return s
285+
}
286+
287+
func (s *Node) SetAllocatableMemory(v string) *Node {
288+
s.AllocatableMemory = &v
289+
return s
290+
}
291+
254292
func (s *Node) SetAvailabilityZone(v string) *Node {
255293
s.AvailabilityZone = &v
256294
return s
@@ -396,6 +434,16 @@ func (s *Node) SetResourceGroupName(v string) *Node {
396434
return s
397435
}
398436

437+
func (s *Node) SetSystemReservedCPU(v string) *Node {
438+
s.SystemReservedCPU = &v
439+
return s
440+
}
441+
442+
func (s *Node) SetSystemReservedMemory(v string) *Node {
443+
s.SystemReservedMemory = &v
444+
return s
445+
}
446+
399447
func (s *Node) SetUsers(v []*UserInfo) *Node {
400448
s.Users = v
401449
return s

0 commit comments

Comments
 (0)