@@ -10,20 +10,21 @@ import (
1010)
1111
1212type MachinePolicy struct {
13- ConnectionConnectTimeout time.Duration `json:"ConnectionConnectTimeout" validate:"required,min=10s"`
14- ConnectionRetryCountLimit int32 `json:"ConnectionRetryCountLimit" validate:"required,gte=2"`
15- ConnectionRetrySleepInterval time.Duration `json:"ConnectionRetrySleepInterval" validate:"required"`
16- ConnectionRetryTimeLimit time.Duration `json:"ConnectionRetryTimeLimit" validate:"required,min=10s"`
17- Description string `json:"Description,omitempty"`
18- IsDefault bool `json:"IsDefault"`
19- MachineCleanupPolicy * MachineCleanupPolicy `json:"MachineCleanupPolicy"`
20- MachineConnectivityPolicy * MachineConnectivityPolicy `json:"MachineConnectivityPolicy"`
21- MachineHealthCheckPolicy * MachineHealthCheckPolicy `json:"MachineHealthCheckPolicy"`
22- MachineUpdatePolicy * MachineUpdatePolicy `json:"MachineUpdatePolicy"`
23- Name string `json:"Name" validate:"required,notblank"`
24- PollingRequestMaximumMessageProcessingTimeout time.Duration `json:"PollingRequestMaximumMessageProcessingTimeout,omitempty"`
25- PollingRequestQueueTimeout time.Duration `json:"PollingRequestQueueTimeout" validate:"required"`
26- SpaceID string `json:"SpaceId,omitempty"`
13+ ConnectionConnectTimeout time.Duration `json:"ConnectionConnectTimeout" validate:"required,min=10s"`
14+ ConnectionRetryCountLimit int32 `json:"ConnectionRetryCountLimit" validate:"required,gte=2"`
15+ ConnectionRetrySleepInterval time.Duration `json:"ConnectionRetrySleepInterval" validate:"required"`
16+ ConnectionRetryTimeLimit time.Duration `json:"ConnectionRetryTimeLimit" validate:"required,min=10s"`
17+ Description string `json:"Description,omitempty"`
18+ IsDefault bool `json:"IsDefault"`
19+ MachineCleanupPolicy * MachineCleanupPolicy `json:"MachineCleanupPolicy"`
20+ MachineConnectivityPolicy * MachineConnectivityPolicy `json:"MachineConnectivityPolicy"`
21+ MachineHealthCheckPolicy * MachineHealthCheckPolicy `json:"MachineHealthCheckPolicy"`
22+ MachineUpdatePolicy * MachineUpdatePolicy `json:"MachineUpdatePolicy"`
23+ MachinePackageCacheRetentionPolicy * MachinePackageCacheRetentionPolicy `json:"MachinePackageCacheRetentionPolicy"`
24+ Name string `json:"Name" validate:"required,notblank"`
25+ PollingRequestMaximumMessageProcessingTimeout time.Duration `json:"PollingRequestMaximumMessageProcessingTimeout,omitempty"`
26+ PollingRequestQueueTimeout time.Duration `json:"PollingRequestQueueTimeout" validate:"required"`
27+ SpaceID string `json:"SpaceId,omitempty"`
2728
2829 resources.Resource
2930}
@@ -38,6 +39,7 @@ func NewMachinePolicy(name string) *MachinePolicy {
3839 MachineConnectivityPolicy : NewMachineConnectivityPolicy (),
3940 MachineHealthCheckPolicy : NewMachineHealthCheckPolicy (),
4041 MachineUpdatePolicy : NewMachineUpdatePolicy (),
42+ MachinePackageCacheRetentionPolicy : NewDefaultMachinePackageCacheRetentionPolicy (),
4143 Name : name ,
4244 PollingRequestMaximumMessageProcessingTimeout : 10 * time .Minute ,
4345 PollingRequestQueueTimeout : 2 * time .Minute ,
@@ -48,33 +50,35 @@ func NewMachinePolicy(name string) *MachinePolicy {
4850// MarshalJSON returns a machine policy as its JSON encoding.
4951func (m * MachinePolicy ) MarshalJSON () ([]byte , error ) {
5052 machinePolicy := struct {
51- ConnectionConnectTimeout string `json:"ConnectionConnectTimeout" validate:"required"`
52- ConnectionRetryCountLimit int32 `json:"ConnectionRetryCountLimit" validate:"required"`
53- ConnectionRetrySleepInterval string `json:"ConnectionRetrySleepInterval" validate:"required"`
54- ConnectionRetryTimeLimit string `json:"ConnectionRetryTimeLimit" validate:"required"`
55- Description string `json:"Description,omitempty"`
56- IsDefault bool `json:"IsDefault"`
57- MachineCleanupPolicy * MachineCleanupPolicy `json:"MachineCleanupPolicy"`
58- MachineConnectivityPolicy * MachineConnectivityPolicy `json:"MachineConnectivityPolicy"`
59- MachineHealthCheckPolicy * MachineHealthCheckPolicy `json:"MachineHealthCheckPolicy"`
60- MachineUpdatePolicy * MachineUpdatePolicy `json:"MachineUpdatePolicy"`
61- Name string `json:"Name" validate:"required,notblank"`
62- PollingRequestMaximumMessageProcessingTimeout string `json:"PollingRequestMaximumMessageProcessingTimeout,omitempty"`
63- PollingRequestQueueTimeout string `json:"PollingRequestQueueTimeout" validate:"required"`
64- SpaceID string `json:"SpaceId,omitempty"`
53+ ConnectionConnectTimeout string `json:"ConnectionConnectTimeout" validate:"required"`
54+ ConnectionRetryCountLimit int32 `json:"ConnectionRetryCountLimit" validate:"required"`
55+ ConnectionRetrySleepInterval string `json:"ConnectionRetrySleepInterval" validate:"required"`
56+ ConnectionRetryTimeLimit string `json:"ConnectionRetryTimeLimit" validate:"required"`
57+ Description string `json:"Description,omitempty"`
58+ IsDefault bool `json:"IsDefault"`
59+ MachineCleanupPolicy * MachineCleanupPolicy `json:"MachineCleanupPolicy"`
60+ MachineConnectivityPolicy * MachineConnectivityPolicy `json:"MachineConnectivityPolicy"`
61+ MachineHealthCheckPolicy * MachineHealthCheckPolicy `json:"MachineHealthCheckPolicy"`
62+ MachineUpdatePolicy * MachineUpdatePolicy `json:"MachineUpdatePolicy"`
63+ MachinePackageCacheRetentionPolicy * MachinePackageCacheRetentionPolicy `json:"MachinePackageCacheRetentionPolicy"`
64+ Name string `json:"Name" validate:"required,notblank"`
65+ PollingRequestMaximumMessageProcessingTimeout string `json:"PollingRequestMaximumMessageProcessingTimeout,omitempty"`
66+ PollingRequestQueueTimeout string `json:"PollingRequestQueueTimeout" validate:"required"`
67+ SpaceID string `json:"SpaceId,omitempty"`
6568 resources.Resource
6669 }{
67- ConnectionConnectTimeout : ToTimeSpan (m .ConnectionConnectTimeout ),
68- ConnectionRetryCountLimit : m .ConnectionRetryCountLimit ,
69- ConnectionRetrySleepInterval : ToTimeSpan (m .ConnectionRetrySleepInterval ),
70- ConnectionRetryTimeLimit : ToTimeSpan (m .ConnectionRetryTimeLimit ),
71- Description : m .Description ,
72- IsDefault : m .IsDefault ,
73- MachineCleanupPolicy : m .MachineCleanupPolicy ,
74- MachineConnectivityPolicy : m .MachineConnectivityPolicy ,
75- MachineHealthCheckPolicy : m .MachineHealthCheckPolicy ,
76- MachineUpdatePolicy : m .MachineUpdatePolicy ,
77- Name : m .Name ,
70+ ConnectionConnectTimeout : ToTimeSpan (m .ConnectionConnectTimeout ),
71+ ConnectionRetryCountLimit : m .ConnectionRetryCountLimit ,
72+ ConnectionRetrySleepInterval : ToTimeSpan (m .ConnectionRetrySleepInterval ),
73+ ConnectionRetryTimeLimit : ToTimeSpan (m .ConnectionRetryTimeLimit ),
74+ Description : m .Description ,
75+ IsDefault : m .IsDefault ,
76+ MachineCleanupPolicy : m .MachineCleanupPolicy ,
77+ MachineConnectivityPolicy : m .MachineConnectivityPolicy ,
78+ MachineHealthCheckPolicy : m .MachineHealthCheckPolicy ,
79+ MachineUpdatePolicy : m .MachineUpdatePolicy ,
80+ MachinePackageCacheRetentionPolicy : m .MachinePackageCacheRetentionPolicy ,
81+ Name : m .Name ,
7882 PollingRequestMaximumMessageProcessingTimeout : ToTimeSpan (m .PollingRequestMaximumMessageProcessingTimeout ),
7983 PollingRequestQueueTimeout : ToTimeSpan (m .PollingRequestQueueTimeout ),
8084 SpaceID : m .SpaceID ,
@@ -87,20 +91,21 @@ func (m *MachinePolicy) MarshalJSON() ([]byte, error) {
8791// UnmarshalJSON sets this Kubernetes endpoint to its representation in JSON.
8892func (m * MachinePolicy ) UnmarshalJSON (data []byte ) error {
8993 var fields struct {
90- ConnectionConnectTimeout string `json:"ConnectionConnectTimeout" validate:"required"`
91- ConnectionRetryCountLimit int32 `json:"ConnectionRetryCountLimit" validate:"required"`
92- ConnectionRetrySleepInterval string `json:"ConnectionRetrySleepInterval" validate:"required"`
93- ConnectionRetryTimeLimit string `json:"ConnectionRetryTimeLimit" validate:"required"`
94- Description string `json:"Description,omitempty"`
95- IsDefault bool `json:"IsDefault"`
96- MachineCleanupPolicy * MachineCleanupPolicy `json:"MachineCleanupPolicy"`
97- MachineConnectivityPolicy * MachineConnectivityPolicy `json:"MachineConnectivityPolicy"`
98- MachineHealthCheckPolicy * MachineHealthCheckPolicy `json:"MachineHealthCheckPolicy"`
99- MachineUpdatePolicy * MachineUpdatePolicy `json:"MachineUpdatePolicy"`
100- Name string `json:"Name"`
101- PollingRequestMaximumMessageProcessingTimeout string `json:"PollingRequestMaximumMessageProcessingTimeout,omitempty"`
102- PollingRequestQueueTimeout string `json:"PollingRequestQueueTimeout" validate:"required"`
103- SpaceID string `json:"SpaceId,omitempty"`
94+ ConnectionConnectTimeout string `json:"ConnectionConnectTimeout" validate:"required"`
95+ ConnectionRetryCountLimit int32 `json:"ConnectionRetryCountLimit" validate:"required"`
96+ ConnectionRetrySleepInterval string `json:"ConnectionRetrySleepInterval" validate:"required"`
97+ ConnectionRetryTimeLimit string `json:"ConnectionRetryTimeLimit" validate:"required"`
98+ Description string `json:"Description,omitempty"`
99+ IsDefault bool `json:"IsDefault"`
100+ MachineCleanupPolicy * MachineCleanupPolicy `json:"MachineCleanupPolicy"`
101+ MachineConnectivityPolicy * MachineConnectivityPolicy `json:"MachineConnectivityPolicy"`
102+ MachineHealthCheckPolicy * MachineHealthCheckPolicy `json:"MachineHealthCheckPolicy"`
103+ MachineUpdatePolicy * MachineUpdatePolicy `json:"MachineUpdatePolicy"`
104+ MachinePackageCacheRetentionPolicy * MachinePackageCacheRetentionPolicy `json:"MachinePackageCacheRetentionPolicy"`
105+ Name string `json:"Name"`
106+ PollingRequestMaximumMessageProcessingTimeout string `json:"PollingRequestMaximumMessageProcessingTimeout,omitempty"`
107+ PollingRequestQueueTimeout string `json:"PollingRequestQueueTimeout" validate:"required"`
108+ SpaceID string `json:"SpaceId,omitempty"`
104109 resources.Resource
105110 }
106111 err := json .Unmarshal (data , & fields )
@@ -146,6 +151,7 @@ func (m *MachinePolicy) UnmarshalJSON(data []byte) error {
146151 m .MachineConnectivityPolicy = fields .MachineConnectivityPolicy
147152 m .MachineHealthCheckPolicy = fields .MachineHealthCheckPolicy
148153 m .MachineUpdatePolicy = fields .MachineUpdatePolicy
154+ m .MachinePackageCacheRetentionPolicy = fields .MachinePackageCacheRetentionPolicy
149155 m .Name = fields .Name
150156 m .SpaceID = fields .SpaceID
151157 m .Resource = fields .Resource
0 commit comments