diff --git a/.run/Argo Rollout .run.xml b/.run/Argo Rollout .run.xml new file mode 100644 index 0000000000..53d5445cf6 --- /dev/null +++ b/.run/Argo Rollout .run.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/pkg/apiclient/rollout/rollout.pb.go b/pkg/apiclient/rollout/rollout.pb.go index 4f36576290..5404e14f08 100644 --- a/pkg/apiclient/rollout/rollout.pb.go +++ b/pkg/apiclient/rollout/rollout.pb.go @@ -1384,14 +1384,16 @@ type AnalysisRunInfo struct { ObjectMeta *v1.ObjectMeta `protobuf:"bytes,1,opt,name=objectMeta,proto3" json:"objectMeta,omitempty"` Icon string `protobuf:"bytes,2,opt,name=icon,proto3" json:"icon,omitempty"` Revision int64 `protobuf:"varint,3,opt,name=revision,proto3" json:"revision,omitempty"` - Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` - Successful int32 `protobuf:"varint,5,opt,name=successful,proto3" json:"successful,omitempty"` - Failed int32 `protobuf:"varint,6,opt,name=failed,proto3" json:"failed,omitempty"` - Inconclusive int32 `protobuf:"varint,7,opt,name=inconclusive,proto3" json:"inconclusive,omitempty"` - Error int32 `protobuf:"varint,8,opt,name=error,proto3" json:"error,omitempty"` - Jobs []*JobInfo `protobuf:"bytes,9,rep,name=jobs,proto3" json:"jobs,omitempty"` - NonJobInfo []*NonJobInfo `protobuf:"bytes,10,rep,name=nonJobInfo,proto3" json:"nonJobInfo,omitempty"` - Metrics []*Metrics `protobuf:"bytes,11,rep,name=metrics,proto3" json:"metrics,omitempty"` + Message string `protobuf:"bytes,4,opt,name=message,proto3" json:"message,omitempty"` + Status string `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` + Successful int32 `protobuf:"varint,6,opt,name=successful,proto3" json:"successful,omitempty"` + Failed int32 `protobuf:"varint,7,opt,name=failed,proto3" json:"failed,omitempty"` + Inconclusive int32 `protobuf:"varint,8,opt,name=inconclusive,proto3" json:"inconclusive,omitempty"` + Error int32 `protobuf:"varint,9,opt,name=error,proto3" json:"error,omitempty"` + Jobs []*JobInfo `protobuf:"bytes,10,rep,name=jobs,proto3" json:"jobs,omitempty"` + NonJobInfo []*NonJobInfo `protobuf:"bytes,11,rep,name=nonJobInfo,proto3" json:"nonJobInfo,omitempty"` + Metrics []*Metrics `protobuf:"bytes,12,rep,name=metrics,proto3" json:"metrics,omitempty"` + StartedAt *v1.Time `protobuf:"bytes,13,opt,name=startedAt,proto3" json:"startedAt,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1451,6 +1453,13 @@ func (m *AnalysisRunInfo) GetRevision() int64 { return 0 } +func (m *AnalysisRunInfo) GetMessage() string { + if m != nil { + return m.Message + } + return "" +} + func (m *AnalysisRunInfo) GetStatus() string { if m != nil { return m.Status @@ -1507,11 +1516,25 @@ func (m *AnalysisRunInfo) GetMetrics() []*Metrics { return nil } +func (m *AnalysisRunInfo) GetStartedAt() *v1.Time { + if m != nil { + return m.StartedAt + } + return nil +} + type NonJobInfo struct { Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` MetricName string `protobuf:"bytes,3,opt,name=metricName,proto3" json:"metricName,omitempty"` - StartedAt *v1.Time `protobuf:"bytes,4,opt,name=startedAt,proto3" json:"startedAt,omitempty"` + Message string `protobuf:"bytes,4,opt,name=message,proto3" json:"message,omitempty"` + Phase string `protobuf:"bytes,5,opt,name=phase,proto3" json:"phase,omitempty"` + Successful int32 `protobuf:"varint,6,opt,name=successful,proto3" json:"successful,omitempty"` + Failed int32 `protobuf:"varint,7,opt,name=failed,proto3" json:"failed,omitempty"` + Inconclusive int32 `protobuf:"varint,8,opt,name=inconclusive,proto3" json:"inconclusive,omitempty"` + Error int32 `protobuf:"varint,9,opt,name=error,proto3" json:"error,omitempty"` + ConsecutiveError int32 `protobuf:"varint,10,opt,name=consecutiveError,proto3" json:"consecutiveError,omitempty"` + StartedAt *v1.Time `protobuf:"bytes,11,opt,name=startedAt,proto3" json:"startedAt,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1571,6 +1594,55 @@ func (m *NonJobInfo) GetMetricName() string { return "" } +func (m *NonJobInfo) GetMessage() string { + if m != nil { + return m.Message + } + return "" +} + +func (m *NonJobInfo) GetPhase() string { + if m != nil { + return m.Phase + } + return "" +} + +func (m *NonJobInfo) GetSuccessful() int32 { + if m != nil { + return m.Successful + } + return 0 +} + +func (m *NonJobInfo) GetFailed() int32 { + if m != nil { + return m.Failed + } + return 0 +} + +func (m *NonJobInfo) GetInconclusive() int32 { + if m != nil { + return m.Inconclusive + } + return 0 +} + +func (m *NonJobInfo) GetError() int32 { + if m != nil { + return m.Error + } + return 0 +} + +func (m *NonJobInfo) GetConsecutiveError() int32 { + if m != nil { + return m.ConsecutiveError + } + return 0 +} + func (m *NonJobInfo) GetStartedAt() *v1.Time { if m != nil { return m.StartedAt @@ -1579,14 +1651,18 @@ func (m *NonJobInfo) GetStartedAt() *v1.Time { } type Metrics struct { - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - SuccessCondition string `protobuf:"bytes,2,opt,name=successCondition,proto3" json:"successCondition,omitempty"` - Count int32 `protobuf:"varint,3,opt,name=count,proto3" json:"count,omitempty"` - InconclusiveLimit int32 `protobuf:"varint,4,opt,name=inconclusiveLimit,proto3" json:"inconclusiveLimit,omitempty"` - FailureLimit int32 `protobuf:"varint,5,opt,name=failureLimit,proto3" json:"failureLimit,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + SuccessCondition string `protobuf:"bytes,2,opt,name=successCondition,proto3" json:"successCondition,omitempty"` + FailedConditioned string `protobuf:"bytes,3,opt,name=failedConditioned,proto3" json:"failedConditioned,omitempty"` + Interval string `protobuf:"bytes,4,opt,name=interval,proto3" json:"interval,omitempty"` + Count int32 `protobuf:"varint,5,opt,name=count,proto3" json:"count,omitempty"` + InconclusiveLimit int32 `protobuf:"varint,6,opt,name=inconclusiveLimit,proto3" json:"inconclusiveLimit,omitempty"` + FailureLimit int32 `protobuf:"varint,7,opt,name=failureLimit,proto3" json:"failureLimit,omitempty"` + ConsecutiveErrorLimit int32 `protobuf:"varint,8,opt,name=consecutiveErrorLimit,proto3" json:"consecutiveErrorLimit,omitempty"` + Provider *v1alpha1.MetricProvider `protobuf:"bytes,9,opt,name=Provider,proto3" json:"Provider,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *Metrics) Reset() { *m = Metrics{} } @@ -1636,6 +1712,20 @@ func (m *Metrics) GetSuccessCondition() string { return "" } +func (m *Metrics) GetFailedConditioned() string { + if m != nil { + return m.FailedConditioned + } + return "" +} + +func (m *Metrics) GetInterval() string { + if m != nil { + return m.Interval + } + return "" +} + func (m *Metrics) GetCount() int32 { if m != nil { return m.Count @@ -1657,6 +1747,20 @@ func (m *Metrics) GetFailureLimit() int32 { return 0 } +func (m *Metrics) GetConsecutiveErrorLimit() int32 { + if m != nil { + return m.ConsecutiveErrorLimit + } + return 0 +} + +func (m *Metrics) GetProvider() *v1alpha1.MetricProvider { + if m != nil { + return m.Provider + } + return nil +} + func init() { proto.RegisterType((*RolloutInfoQuery)(nil), "rollout.RolloutInfoQuery") proto.RegisterType((*RolloutInfoListQuery)(nil), "rollout.RolloutInfoListQuery") @@ -1686,117 +1790,124 @@ func init() { } var fileDescriptor_99101d942e8912a7 = []byte{ - // 1751 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0xcd, 0x6f, 0x1c, 0x49, - 0x15, 0x57, 0x7b, 0x3c, 0xf6, 0xf8, 0x8d, 0x3f, 0xc6, 0xe5, 0x6c, 0xb6, 0x77, 0x36, 0x58, 0xa6, - 0x17, 0x09, 0xc7, 0x40, 0xb7, 0x93, 0x8d, 0xb2, 0x2c, 0x1f, 0x87, 0x90, 0x58, 0xde, 0xa0, 0xec, - 0x12, 0x3a, 0xc0, 0x0a, 0x24, 0x88, 0x6a, 0x7a, 0xca, 0xe3, 0x4e, 0x7a, 0xba, 0x9a, 0xae, 0xea, - 0x09, 0x23, 0x6b, 0x0e, 0xf0, 0x0f, 0x70, 0xe0, 0x5f, 0x58, 0x09, 0x71, 0x42, 0x48, 0x5c, 0x38, - 0x70, 0x45, 0x1c, 0x91, 0xf8, 0x07, 0x50, 0xc4, 0x85, 0x23, 0x17, 0xce, 0xa8, 0x5e, 0x57, 0x57, - 0x7f, 0x78, 0xec, 0x38, 0xb2, 0x21, 0x7b, 0x9a, 0x7a, 0xef, 0xd5, 0x7b, 0xef, 0x57, 0xf3, 0x3e, - 0xaa, 0xfa, 0xc1, 0x7b, 0xc9, 0xf3, 0x91, 0x47, 0x93, 0x30, 0x88, 0x42, 0x16, 0x4b, 0x2f, 0xe5, - 0x51, 0xc4, 0x33, 0xf3, 0xeb, 0x26, 0x29, 0x97, 0x9c, 0x2c, 0x6b, 0xb2, 0x7f, 0x63, 0xc4, 0xf9, - 0x28, 0x62, 0x4a, 0xc1, 0xa3, 0x71, 0xcc, 0x25, 0x95, 0x21, 0x8f, 0x45, 0xbe, 0xad, 0xff, 0x68, - 0x14, 0xca, 0xe3, 0x6c, 0xe0, 0x06, 0x7c, 0xec, 0xd1, 0x74, 0xc4, 0x93, 0x94, 0x3f, 0xc3, 0xc5, - 0xd7, 0xb4, 0xbe, 0xf0, 0xb4, 0x37, 0xe1, 0x19, 0xce, 0xe4, 0x16, 0x8d, 0x92, 0x63, 0x7a, 0xcb, - 0x1b, 0xb1, 0x98, 0xa5, 0x54, 0xb2, 0xa1, 0xb6, 0x76, 0xe7, 0xf9, 0xd7, 0x85, 0x1b, 0x72, 0xb5, - 0x7d, 0x4c, 0x83, 0xe3, 0x30, 0x66, 0xe9, 0xb4, 0xd4, 0x1f, 0x33, 0x49, 0xbd, 0xc9, 0x69, 0xad, - 0x77, 0x35, 0x42, 0xa4, 0x06, 0xd9, 0x91, 0xc7, 0xc6, 0x89, 0x9c, 0xe6, 0x42, 0xe7, 0x01, 0xf4, - 0xfc, 0xdc, 0xef, 0xc3, 0xf8, 0x88, 0x7f, 0x3f, 0x63, 0xe9, 0x94, 0x10, 0x58, 0x8c, 0xe9, 0x98, - 0xd9, 0xd6, 0x8e, 0xb5, 0xbb, 0xe2, 0xe3, 0x9a, 0xdc, 0x80, 0x15, 0xf5, 0x2b, 0x12, 0x1a, 0x30, - 0x7b, 0x01, 0x05, 0x25, 0xc3, 0xb9, 0x03, 0xd7, 0x2a, 0x56, 0x1e, 0x85, 0x42, 0xe6, 0x96, 0x6a, - 0x5a, 0x56, 0x53, 0xeb, 0xd7, 0x16, 0x6c, 0x3c, 0x61, 0xf2, 0xe1, 0x98, 0x8e, 0x98, 0xcf, 0x7e, - 0x9e, 0x31, 0x21, 0x89, 0x0d, 0xc5, 0x3f, 0xab, 0xf7, 0x17, 0xa4, 0xb2, 0x15, 0xf0, 0x58, 0x52, - 0x75, 0xea, 0x02, 0x81, 0x61, 0x90, 0x6b, 0xd0, 0x0e, 0x95, 0x1d, 0xbb, 0x85, 0x92, 0x9c, 0x20, - 0x3d, 0x68, 0x49, 0x3a, 0xb2, 0x17, 0x91, 0xa7, 0x96, 0x75, 0x44, 0xed, 0x26, 0xa2, 0x63, 0x20, - 0x3f, 0x8c, 0x87, 0x5c, 0x9f, 0xe5, 0xd5, 0x98, 0xfa, 0xd0, 0x49, 0xd9, 0x24, 0x14, 0x21, 0x8f, - 0x11, 0x52, 0xcb, 0x37, 0x74, 0xdd, 0x53, 0xab, 0xe9, 0xe9, 0x21, 0xbc, 0xe5, 0x33, 0x21, 0x69, - 0x2a, 0x1b, 0xce, 0x5e, 0xff, 0xcf, 0xff, 0x29, 0xbc, 0xf5, 0x38, 0xe5, 0x63, 0x2e, 0xd9, 0x65, - 0x4d, 0x29, 0x8d, 0xa3, 0x2c, 0x8a, 0x10, 0x6e, 0xc7, 0xc7, 0xb5, 0x73, 0x08, 0x5b, 0xf7, 0x06, - 0xfc, 0x0a, 0x70, 0x1e, 0xc2, 0x96, 0xcf, 0x64, 0x3a, 0xbd, 0xb4, 0xa1, 0xa7, 0xb0, 0xa9, 0x6d, - 0x7c, 0x4a, 0x65, 0x70, 0x7c, 0x30, 0x61, 0x31, 0x9a, 0x91, 0xd3, 0xc4, 0x98, 0x51, 0x6b, 0x72, - 0x17, 0xba, 0x69, 0x99, 0x96, 0x68, 0xa8, 0x7b, 0xfb, 0x9a, 0x5b, 0x54, 0x72, 0x25, 0x65, 0xfd, - 0xea, 0x46, 0xe7, 0x29, 0xac, 0x7d, 0x52, 0x78, 0x53, 0x8c, 0xf3, 0xf3, 0x98, 0xec, 0xc3, 0x16, - 0x9d, 0xd0, 0x30, 0xa2, 0x83, 0x88, 0x19, 0x3d, 0x61, 0x2f, 0xec, 0xb4, 0x76, 0x57, 0xfc, 0x79, - 0x22, 0xe7, 0x3e, 0x6c, 0x34, 0xea, 0x85, 0xec, 0x43, 0xa7, 0x68, 0x00, 0xb6, 0xb5, 0xd3, 0x3a, - 0x13, 0xa8, 0xd9, 0xe5, 0x7c, 0x00, 0xdd, 0x1f, 0xb1, 0x54, 0xe5, 0x1a, 0x62, 0xdc, 0x85, 0x8d, - 0x42, 0xa4, 0xd9, 0x1a, 0x69, 0x93, 0xed, 0xfc, 0x76, 0x09, 0xba, 0x15, 0x93, 0xe4, 0x31, 0x00, - 0x1f, 0x3c, 0x63, 0x81, 0xfc, 0x98, 0x49, 0x8a, 0x4a, 0xdd, 0xdb, 0xfb, 0x6e, 0xde, 0x6b, 0xdc, - 0x6a, 0xaf, 0x71, 0x93, 0xe7, 0x23, 0xc5, 0x10, 0xae, 0xea, 0x35, 0xee, 0xe4, 0x96, 0xfb, 0x3d, - 0xa3, 0xe7, 0x57, 0x6c, 0x90, 0xeb, 0xb0, 0x24, 0x24, 0x95, 0x99, 0xd0, 0xc1, 0xd3, 0x94, 0xaa, - 0xa4, 0x31, 0x13, 0xa2, 0xac, 0xd3, 0x82, 0x54, 0xe1, 0x0b, 0x03, 0x1e, 0xeb, 0x52, 0xc5, 0xb5, - 0xaa, 0x2e, 0x21, 0x55, 0x27, 0x1b, 0x4d, 0x75, 0xa9, 0x1a, 0x5a, 0xed, 0x17, 0x92, 0x25, 0xf6, - 0x52, 0xbe, 0x5f, 0xad, 0x55, 0x94, 0x04, 0x93, 0x9f, 0xb2, 0x70, 0x74, 0x2c, 0xed, 0xe5, 0x3c, - 0x4a, 0x86, 0x41, 0x1c, 0x58, 0xa5, 0x81, 0xcc, 0x68, 0xa4, 0x37, 0x74, 0x70, 0x43, 0x8d, 0xa7, - 0xba, 0x48, 0xca, 0xe8, 0x70, 0x6a, 0xaf, 0xec, 0x58, 0xbb, 0x6d, 0x3f, 0x27, 0x14, 0xea, 0x20, - 0x4b, 0x53, 0x16, 0x4b, 0x1b, 0x90, 0x5f, 0x90, 0x4a, 0x32, 0x64, 0x22, 0x4c, 0xd9, 0xd0, 0xee, - 0xe6, 0x12, 0x4d, 0x2a, 0x49, 0x96, 0x0c, 0x55, 0x17, 0xb6, 0x57, 0x73, 0x89, 0x26, 0x15, 0x4a, - 0x93, 0x12, 0xf6, 0x1a, 0xca, 0x4a, 0x06, 0xd9, 0x81, 0x6e, 0x9a, 0xf7, 0x05, 0x36, 0xbc, 0x27, - 0xed, 0x75, 0x04, 0x59, 0x65, 0x91, 0x6d, 0x00, 0xdd, 0xe1, 0x55, 0x88, 0x37, 0x70, 0x43, 0x85, - 0x43, 0x3e, 0x54, 0x16, 0x92, 0x28, 0x0c, 0xe8, 0x13, 0x26, 0x85, 0xdd, 0xc3, 0x5c, 0x7a, 0xbb, - 0xcc, 0x25, 0x23, 0xd3, 0x79, 0x5f, 0xee, 0x55, 0xaa, 0xec, 0x17, 0x09, 0x4b, 0xc3, 0x31, 0x8b, - 0xa5, 0xb0, 0x37, 0x1b, 0xaa, 0x07, 0x46, 0x96, 0xab, 0x56, 0xf6, 0x92, 0x6f, 0xc1, 0x2a, 0x8d, - 0x69, 0x34, 0x15, 0xa1, 0xf0, 0xb3, 0x58, 0xd8, 0x04, 0x75, 0x6d, 0xa3, 0x7b, 0xaf, 0x14, 0xa2, - 0x72, 0x6d, 0x37, 0xb9, 0x0b, 0x60, 0x5a, 0xb9, 0xb0, 0xb7, 0x50, 0xf7, 0xba, 0xd1, 0xbd, 0x5f, - 0x88, 0x50, 0xb3, 0xb2, 0x93, 0xfc, 0x0c, 0xda, 0x2a, 0xf2, 0xc2, 0xbe, 0x86, 0x2a, 0x1f, 0xb9, - 0xe5, 0x75, 0xeb, 0x16, 0xd7, 0x2d, 0x2e, 0x9e, 0x16, 0x35, 0x50, 0xa6, 0xb0, 0xe1, 0x14, 0xd7, - 0xad, 0x7b, 0x9f, 0xc6, 0x34, 0x9d, 0x3e, 0x91, 0x2c, 0xf1, 0x73, 0xb3, 0xce, 0x9f, 0x17, 0x60, - 0xbd, 0x7e, 0xea, 0xff, 0x41, 0xb1, 0x14, 0xa9, 0xbf, 0x50, 0x4f, 0x7d, 0x73, 0xb1, 0xb4, 0x1a, - 0x17, 0x4b, 0x59, 0x5c, 0x8b, 0x67, 0x15, 0x57, 0xbb, 0x5e, 0x5c, 0x8d, 0x94, 0x58, 0x7a, 0x8d, - 0x94, 0x68, 0xc6, 0x75, 0xf9, 0x75, 0xe2, 0xea, 0xfc, 0xa7, 0x05, 0xeb, 0x75, 0xeb, 0xff, 0xc7, - 0x66, 0x53, 0xfc, 0xaf, 0xad, 0x33, 0xfe, 0xd7, 0xc5, 0xb9, 0xff, 0xab, 0xaa, 0xca, 0x36, 0x5e, - 0x7f, 0x9a, 0x52, 0xfc, 0x00, 0x33, 0x03, 0x9b, 0x4d, 0xc7, 0xd7, 0x94, 0xe2, 0xd3, 0x40, 0x86, - 0x13, 0x86, 0xbd, 0xa6, 0xe3, 0x6b, 0x4a, 0xc5, 0x21, 0x51, 0x46, 0xd9, 0x0b, 0xec, 0x31, 0x1d, - 0xbf, 0x20, 0x73, 0xef, 0xf8, 0x6f, 0x08, 0xdd, 0x61, 0x0c, 0x5d, 0x6f, 0x0b, 0xd0, 0x6c, 0x0b, - 0x7d, 0xe8, 0x48, 0x36, 0x4e, 0x22, 0x2a, 0x19, 0x76, 0x9a, 0x15, 0xdf, 0xd0, 0xe4, 0xab, 0xb0, - 0x29, 0x02, 0x1a, 0xb1, 0x07, 0xfc, 0x45, 0xfc, 0x80, 0xd1, 0x61, 0x14, 0xc6, 0x0c, 0x9b, 0xce, - 0x8a, 0x7f, 0x5a, 0xa0, 0x50, 0xe3, 0xdb, 0x48, 0xd8, 0x6b, 0x78, 0x3f, 0x69, 0x8a, 0x7c, 0x09, - 0x16, 0x13, 0x3e, 0x14, 0xf6, 0x3a, 0x06, 0xb8, 0x67, 0x02, 0xfc, 0x98, 0x0f, 0x31, 0xb0, 0x28, - 0x55, 0xff, 0x69, 0x12, 0xc6, 0x23, 0x6c, 0x3b, 0x1d, 0x1f, 0xd7, 0xc8, 0xe3, 0xf1, 0xc8, 0xee, - 0x69, 0x1e, 0x8f, 0x47, 0xce, 0x9f, 0x2c, 0x58, 0xd6, 0x9a, 0x6f, 0x38, 0xe2, 0xa6, 0xa5, 0xe7, - 0xc5, 0xa2, 0x5b, 0x3a, 0x46, 0x02, 0x7b, 0xaa, 0xc0, 0x68, 0x63, 0x24, 0x72, 0xda, 0xf9, 0x10, - 0xd6, 0x6a, 0x1d, 0x67, 0xee, 0x0b, 0xc5, 0xbc, 0x37, 0x17, 0x2a, 0xef, 0x4d, 0xe7, 0xdf, 0x16, - 0x2c, 0x7f, 0x97, 0x0f, 0x3e, 0x07, 0xc7, 0xde, 0x06, 0x18, 0x33, 0x99, 0x86, 0x81, 0x7a, 0x75, - 0xe8, 0xb3, 0x57, 0x38, 0xe4, 0x23, 0x58, 0x29, 0x6f, 0x99, 0x36, 0x82, 0xdb, 0xbb, 0x18, 0xb8, - 0x1f, 0x84, 0x63, 0xe6, 0x97, 0xca, 0xce, 0x67, 0x2d, 0xd8, 0x68, 0x74, 0x81, 0xcf, 0x71, 0x93, - 0xdc, 0x06, 0x10, 0x59, 0x10, 0x30, 0x21, 0x8e, 0xb2, 0x48, 0x87, 0xbe, 0xc2, 0x51, 0x7a, 0x47, - 0x34, 0x8c, 0xd8, 0x10, 0x8b, 0xbd, 0xed, 0x6b, 0x4a, 0xbd, 0x1e, 0xc2, 0x38, 0xe0, 0x71, 0x10, - 0x65, 0xa2, 0x28, 0xf9, 0xb6, 0x5f, 0xe3, 0xa9, 0x9c, 0x60, 0x69, 0xca, 0x53, 0x2c, 0xfb, 0xb6, - 0x9f, 0x13, 0xaa, 0xb0, 0x9e, 0xf1, 0x81, 0x2a, 0xf8, 0x7a, 0x61, 0xe9, 0x3c, 0xf1, 0x51, 0x4a, - 0xde, 0x07, 0x88, 0x79, 0xac, 0x79, 0x36, 0xe0, 0xde, 0x2d, 0xb3, 0xf7, 0x13, 0x23, 0xf2, 0x2b, - 0xdb, 0xc8, 0x9e, 0xea, 0xf8, 0x2a, 0xa4, 0xc2, 0xee, 0x36, 0xac, 0x7f, 0x9c, 0xf3, 0xfd, 0x62, - 0x83, 0xf3, 0x99, 0x05, 0x50, 0x9a, 0x51, 0x58, 0x27, 0x34, 0xca, 0x8a, 0xa4, 0xce, 0x89, 0x33, - 0x33, 0xac, 0x9e, 0x4d, 0xad, 0xf3, 0xb3, 0x69, 0xf1, 0x32, 0xd9, 0xf4, 0x07, 0x0b, 0x96, 0x35, - 0xf6, 0xb9, 0x75, 0xb7, 0x07, 0x3d, 0x1d, 0xad, 0xfb, 0x3c, 0x1e, 0x86, 0x32, 0x34, 0x39, 0x71, - 0x8a, 0xaf, 0xce, 0x18, 0xf0, 0x2c, 0x96, 0x08, 0xb8, 0xed, 0xe7, 0x84, 0x6a, 0x97, 0xd5, 0xa8, - 0x3d, 0x0a, 0xc7, 0x61, 0x8e, 0xb9, 0xed, 0x9f, 0x16, 0xa8, 0xb8, 0xab, 0x0c, 0xc8, 0x52, 0xbd, - 0x31, 0xcf, 0x98, 0x1a, 0xef, 0xf6, 0xbf, 0xd6, 0x60, 0x5d, 0xbf, 0xa7, 0x9f, 0xb0, 0x74, 0x12, - 0x06, 0x8c, 0x08, 0x58, 0x3f, 0x64, 0xb2, 0xfa, 0xc8, 0x7e, 0x67, 0xde, 0x6b, 0x1e, 0xbf, 0x92, - 0xfb, 0x73, 0x1f, 0xfa, 0xce, 0xfe, 0xaf, 0xfe, 0xfe, 0xcf, 0xdf, 0x2c, 0xec, 0x91, 0x5d, 0x1c, - 0x2d, 0x4c, 0x6e, 0x95, 0xf3, 0x81, 0x13, 0xf3, 0xe9, 0x31, 0xcb, 0xd7, 0x33, 0x2f, 0x54, 0x2e, - 0x66, 0xd0, 0xc3, 0x0f, 0xa2, 0x4b, 0xb9, 0xbd, 0x8b, 0x6e, 0xf7, 0x89, 0x7b, 0x51, 0xb7, 0xde, - 0x0b, 0xe5, 0x73, 0xdf, 0x22, 0x13, 0xe8, 0xa9, 0x2f, 0x99, 0x8a, 0x31, 0x41, 0xbe, 0x30, 0xcf, - 0x87, 0x99, 0x0f, 0xf4, 0xed, 0xb3, 0xc4, 0xce, 0x4d, 0x84, 0xf1, 0x1e, 0xf9, 0xe2, 0xb9, 0x30, - 0xf0, 0xd8, 0xbf, 0xb4, 0x60, 0xb3, 0x79, 0xee, 0x57, 0x7a, 0xee, 0x37, 0xc5, 0xe5, 0xa7, 0xa4, - 0xe3, 0xa1, 0xef, 0x9b, 0xe4, 0xcb, 0xaf, 0xf4, 0x6d, 0xce, 0xfe, 0x63, 0x58, 0x3d, 0x64, 0xd2, - 0x7c, 0xe1, 0x91, 0xeb, 0x6e, 0x3e, 0x74, 0x71, 0x8b, 0xa1, 0x8b, 0x7b, 0x30, 0x4e, 0xe4, 0xb4, - 0x5f, 0x3e, 0x6a, 0x6b, 0x1f, 0x98, 0xce, 0x3b, 0xe8, 0x72, 0x8b, 0x6c, 0x16, 0x2e, 0xcb, 0xaf, - 0xcb, 0xdf, 0x5b, 0xea, 0x0d, 0x55, 0x1d, 0x15, 0x90, 0xed, 0xca, 0xd3, 0x6d, 0xce, 0x0c, 0xa1, - 0x7f, 0x70, 0xb9, 0x77, 0xb0, 0xb6, 0x56, 0xa4, 0x42, 0xff, 0x2b, 0x17, 0x49, 0x05, 0x7d, 0x7d, - 0x7e, 0xc3, 0xda, 0x43, 0xc4, 0xf5, 0x89, 0x44, 0x05, 0xf1, 0xdc, 0x51, 0xc5, 0x1b, 0x41, 0x9c, - 0xe4, 0x48, 0x14, 0xe2, 0xdf, 0x59, 0xb0, 0x5a, 0x1d, 0x72, 0x90, 0x1b, 0xe5, 0x03, 0xf7, 0xf4, - 0xec, 0xe3, 0xaa, 0xd0, 0xde, 0x41, 0xb4, 0x6e, 0xff, 0xe6, 0x45, 0xd0, 0x52, 0x85, 0x43, 0x61, - 0xfd, 0x4b, 0x3e, 0x35, 0x2b, 0xb2, 0x1a, 0xe7, 0x5c, 0x65, 0x1d, 0x35, 0xe6, 0x69, 0x57, 0x05, - 0xd5, 0x47, 0xa8, 0x8f, 0xfa, 0x87, 0xe7, 0x43, 0xd5, 0xdc, 0x99, 0x27, 0x98, 0xf4, 0x4e, 0xcc, - 0x87, 0xda, 0xcc, 0x3b, 0xc1, 0xf7, 0xd1, 0xb7, 0xf7, 0xf6, 0x66, 0xde, 0x89, 0xa4, 0xa3, 0x99, - 0x3a, 0xc8, 0x1f, 0x2d, 0xe8, 0x56, 0xa6, 0x6d, 0xe4, 0x5d, 0x73, 0x88, 0xd3, 0x33, 0xb8, 0xab, - 0x3a, 0xc7, 0x3d, 0x3c, 0xc7, 0x37, 0xfb, 0x77, 0x2f, 0x78, 0x8e, 0x2c, 0x1e, 0x72, 0xef, 0xa4, - 0x78, 0x55, 0xcc, 0x8a, 0x5c, 0xa9, 0xce, 0xb1, 0x2a, 0xb9, 0x32, 0x67, 0xbc, 0xf5, 0x46, 0x72, - 0x25, 0x55, 0x38, 0x14, 0xd6, 0xc7, 0xb0, 0xac, 0x87, 0x3e, 0x67, 0x76, 0xa4, 0xf2, 0x16, 0xa8, - 0x0c, 0x93, 0x9c, 0xb7, 0xd1, 0xdd, 0x26, 0xd9, 0x28, 0xdc, 0x4d, 0x72, 0xe1, 0x77, 0x0e, 0xfe, - 0xfa, 0x72, 0xdb, 0xfa, 0xdb, 0xcb, 0x6d, 0xeb, 0x1f, 0x2f, 0xb7, 0xad, 0x9f, 0x7c, 0x70, 0xe1, - 0xf1, 0x76, 0x7d, 0x98, 0x3e, 0x58, 0x42, 0x14, 0xef, 0xff, 0x37, 0x00, 0x00, 0xff, 0xff, 0xa1, - 0x08, 0xa7, 0x61, 0x6c, 0x17, 0x00, 0x00, + // 1857 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x19, 0x4d, 0x6f, 0x1c, 0x49, + 0x55, 0xed, 0xf1, 0xd8, 0xe3, 0x37, 0xfe, 0x18, 0x97, 0x9d, 0x6c, 0xef, 0x6c, 0xb0, 0x4c, 0x2f, + 0x12, 0x8e, 0x81, 0x6e, 0x27, 0x1b, 0x65, 0x59, 0x3e, 0x0e, 0x21, 0xb1, 0xbc, 0x41, 0xde, 0xc5, + 0x74, 0x80, 0x15, 0x48, 0x10, 0x95, 0x7b, 0xca, 0xe3, 0x4e, 0x7a, 0xba, 0x9a, 0xae, 0xea, 0x09, + 0x23, 0xcb, 0x07, 0x38, 0x71, 0xe3, 0xc0, 0x91, 0x1f, 0x80, 0x38, 0x71, 0xe1, 0xc2, 0x81, 0x2b, + 0xe2, 0x88, 0xc4, 0x1f, 0x40, 0x11, 0x17, 0x8e, 0x70, 0xe0, 0x8c, 0xea, 0x75, 0x75, 0xf5, 0xc7, + 0x8c, 0x13, 0x47, 0x0e, 0x24, 0xa7, 0xe9, 0xf7, 0xfd, 0xaa, 0xde, 0x47, 0x55, 0xbd, 0x81, 0xf7, + 0x93, 0xa7, 0x43, 0x8f, 0x26, 0x61, 0x10, 0x85, 0x2c, 0x96, 0x5e, 0xca, 0xa3, 0x88, 0x67, 0xe6, + 0xd7, 0x4d, 0x52, 0x2e, 0x39, 0x59, 0xd4, 0x60, 0xff, 0xc6, 0x90, 0xf3, 0x61, 0xc4, 0x94, 0x80, + 0x47, 0xe3, 0x98, 0x4b, 0x2a, 0x43, 0x1e, 0x8b, 0x9c, 0xad, 0x7f, 0x38, 0x0c, 0xe5, 0x69, 0x76, + 0xec, 0x06, 0x7c, 0xe4, 0xd1, 0x74, 0xc8, 0x93, 0x94, 0x3f, 0xc1, 0x8f, 0xaf, 0x68, 0x79, 0xe1, + 0x69, 0x6b, 0xc2, 0x33, 0x98, 0xf1, 0x2d, 0x1a, 0x25, 0xa7, 0xf4, 0x96, 0x37, 0x64, 0x31, 0x4b, + 0xa9, 0x64, 0x03, 0xad, 0xed, 0xce, 0xd3, 0xaf, 0x0a, 0x37, 0xe4, 0x8a, 0x7d, 0x44, 0x83, 0xd3, + 0x30, 0x66, 0xe9, 0xa4, 0x94, 0x1f, 0x31, 0x49, 0xbd, 0xf1, 0xb4, 0xd4, 0x7b, 0xda, 0x43, 0x84, + 0x8e, 0xb3, 0x13, 0x8f, 0x8d, 0x12, 0x39, 0xc9, 0x89, 0xce, 0x03, 0xe8, 0xf9, 0xb9, 0xdd, 0x87, + 0xf1, 0x09, 0xff, 0x6e, 0xc6, 0xd2, 0x09, 0x21, 0x30, 0x1f, 0xd3, 0x11, 0xb3, 0xad, 0x6d, 0x6b, + 0x67, 0xc9, 0xc7, 0x6f, 0x72, 0x03, 0x96, 0xd4, 0xaf, 0x48, 0x68, 0xc0, 0xec, 0x39, 0x24, 0x94, + 0x08, 0xe7, 0x0e, 0x6c, 0x56, 0xb4, 0x1c, 0x86, 0x42, 0xe6, 0x9a, 0x6a, 0x52, 0x56, 0x53, 0xea, + 0x57, 0x16, 0xac, 0x3d, 0x62, 0xf2, 0xe1, 0x88, 0x0e, 0x99, 0xcf, 0x7e, 0x9a, 0x31, 0x21, 0x89, + 0x0d, 0xc5, 0xce, 0x6a, 0xfe, 0x02, 0x54, 0xba, 0x02, 0x1e, 0x4b, 0xaa, 0x56, 0x5d, 0x78, 0x60, + 0x10, 0x64, 0x13, 0xda, 0xa1, 0xd2, 0x63, 0xb7, 0x90, 0x92, 0x03, 0xa4, 0x07, 0x2d, 0x49, 0x87, + 0xf6, 0x3c, 0xe2, 0xd4, 0x67, 0xdd, 0xa3, 0x76, 0xd3, 0xa3, 0x53, 0x20, 0xdf, 0x8f, 0x07, 0x5c, + 0xaf, 0xe5, 0xe5, 0x3e, 0xf5, 0xa1, 0x93, 0xb2, 0x71, 0x28, 0x42, 0x1e, 0xa3, 0x4b, 0x2d, 0xdf, + 0xc0, 0x75, 0x4b, 0xad, 0xa6, 0xa5, 0x87, 0x70, 0xcd, 0x67, 0x42, 0xd2, 0x54, 0x36, 0x8c, 0xbd, + 0xfa, 0xe6, 0xff, 0x18, 0xae, 0x1d, 0xa5, 0x7c, 0xc4, 0x25, 0xbb, 0xaa, 0x2a, 0x25, 0x71, 0x92, + 0x45, 0x11, 0xba, 0xdb, 0xf1, 0xf1, 0xdb, 0x39, 0x80, 0x8d, 0x7b, 0xc7, 0xfc, 0x35, 0xf8, 0x79, + 0x00, 0x1b, 0x3e, 0x93, 0xe9, 0xe4, 0xca, 0x8a, 0x1e, 0xc3, 0xba, 0xd6, 0xf1, 0x19, 0x95, 0xc1, + 0xe9, 0xfe, 0x98, 0xc5, 0xa8, 0x46, 0x4e, 0x12, 0xa3, 0x46, 0x7d, 0x93, 0xbb, 0xd0, 0x4d, 0xcb, + 0xb4, 0x44, 0x45, 0xdd, 0xdb, 0x9b, 0x6e, 0x51, 0xc9, 0x95, 0x94, 0xf5, 0xab, 0x8c, 0xce, 0x63, + 0x58, 0xf9, 0xb4, 0xb0, 0xa6, 0x10, 0x2f, 0xce, 0x63, 0xb2, 0x07, 0x1b, 0x74, 0x4c, 0xc3, 0x88, + 0x1e, 0x47, 0xcc, 0xc8, 0x09, 0x7b, 0x6e, 0xbb, 0xb5, 0xb3, 0xe4, 0xcf, 0x22, 0x39, 0xf7, 0x61, + 0xad, 0x51, 0x2f, 0x64, 0x0f, 0x3a, 0x45, 0x03, 0xb0, 0xad, 0xed, 0xd6, 0x85, 0x8e, 0x1a, 0x2e, + 0xe7, 0x43, 0xe8, 0xfe, 0x80, 0xa5, 0x2a, 0xd7, 0xd0, 0xc7, 0x1d, 0x58, 0x2b, 0x48, 0x1a, 0xad, + 0x3d, 0x6d, 0xa2, 0x9d, 0xdf, 0x2e, 0x40, 0xb7, 0xa2, 0x92, 0x1c, 0x01, 0xf0, 0xe3, 0x27, 0x2c, + 0x90, 0x9f, 0x30, 0x49, 0x51, 0xa8, 0x7b, 0x7b, 0xcf, 0xcd, 0x7b, 0x8d, 0x5b, 0xed, 0x35, 0x6e, + 0xf2, 0x74, 0xa8, 0x10, 0xc2, 0x55, 0xbd, 0xc6, 0x1d, 0xdf, 0x72, 0xbf, 0x63, 0xe4, 0xfc, 0x8a, + 0x0e, 0x72, 0x1d, 0x16, 0x84, 0xa4, 0x32, 0x13, 0x3a, 0x78, 0x1a, 0x52, 0x95, 0x34, 0x62, 0x42, + 0x94, 0x75, 0x5a, 0x80, 0x2a, 0x7c, 0x61, 0xc0, 0x63, 0x5d, 0xaa, 0xf8, 0xad, 0xaa, 0x4b, 0x48, + 0xd5, 0xc9, 0x86, 0x13, 0x5d, 0xaa, 0x06, 0x56, 0xfc, 0x42, 0xb2, 0xc4, 0x5e, 0xc8, 0xf9, 0xd5, + 0xb7, 0x8a, 0x92, 0x60, 0xf2, 0x33, 0x16, 0x0e, 0x4f, 0xa5, 0xbd, 0x98, 0x47, 0xc9, 0x20, 0x88, + 0x03, 0xcb, 0x34, 0x90, 0x19, 0x8d, 0x34, 0x43, 0x07, 0x19, 0x6a, 0x38, 0xd5, 0x45, 0x52, 0x46, + 0x07, 0x13, 0x7b, 0x69, 0xdb, 0xda, 0x69, 0xfb, 0x39, 0xa0, 0xbc, 0x0e, 0xb2, 0x34, 0x65, 0xb1, + 0xb4, 0x01, 0xf1, 0x05, 0xa8, 0x28, 0x03, 0x26, 0xc2, 0x94, 0x0d, 0xec, 0x6e, 0x4e, 0xd1, 0xa0, + 0xa2, 0x64, 0xc9, 0x40, 0x75, 0x61, 0x7b, 0x39, 0xa7, 0x68, 0x50, 0x79, 0x69, 0x52, 0xc2, 0x5e, + 0x41, 0x5a, 0x89, 0x20, 0xdb, 0xd0, 0x4d, 0xf3, 0xbe, 0xc0, 0x06, 0xf7, 0xa4, 0xbd, 0x8a, 0x4e, + 0x56, 0x51, 0x64, 0x0b, 0x40, 0x77, 0x78, 0x15, 0xe2, 0x35, 0x64, 0xa8, 0x60, 0xc8, 0x47, 0x4a, + 0x43, 0x12, 0x85, 0x01, 0x7d, 0xc4, 0xa4, 0xb0, 0x7b, 0x98, 0x4b, 0xef, 0x94, 0xb9, 0x64, 0x68, + 0x3a, 0xef, 0x4b, 0x5e, 0x25, 0xca, 0x7e, 0x96, 0xb0, 0x34, 0x1c, 0xb1, 0x58, 0x0a, 0x7b, 0xbd, + 0x21, 0xba, 0x6f, 0x68, 0xb9, 0x68, 0x85, 0x97, 0x7c, 0x03, 0x96, 0x69, 0x4c, 0xa3, 0x89, 0x08, + 0x85, 0x9f, 0xc5, 0xc2, 0x26, 0x28, 0x6b, 0x1b, 0xd9, 0x7b, 0x25, 0x11, 0x85, 0x6b, 0xdc, 0xe4, + 0x2e, 0x80, 0x69, 0xe5, 0xc2, 0xde, 0x40, 0xd9, 0xeb, 0x46, 0xf6, 0x7e, 0x41, 0x42, 0xc9, 0x0a, + 0x27, 0xf9, 0x09, 0xb4, 0x55, 0xe4, 0x85, 0xbd, 0x89, 0x22, 0x1f, 0xbb, 0xe5, 0x71, 0xeb, 0x16, + 0xc7, 0x2d, 0x7e, 0x3c, 0x2e, 0x6a, 0xa0, 0x4c, 0x61, 0x83, 0x29, 0x8e, 0x5b, 0xf7, 0x3e, 0x8d, + 0x69, 0x3a, 0x79, 0x24, 0x59, 0xe2, 0xe7, 0x6a, 0x9d, 0x3f, 0xcd, 0xc1, 0x6a, 0x7d, 0xd5, 0xff, + 0x83, 0x62, 0x29, 0x52, 0x7f, 0xae, 0x9e, 0xfa, 0xe6, 0x60, 0x69, 0x35, 0x0e, 0x96, 0xb2, 0xb8, + 0xe6, 0x2f, 0x2a, 0xae, 0x76, 0xbd, 0xb8, 0x1a, 0x29, 0xb1, 0xf0, 0x0a, 0x29, 0xd1, 0x8c, 0xeb, + 0xe2, 0xab, 0xc4, 0xd5, 0xf9, 0x4f, 0x0b, 0x56, 0xeb, 0xda, 0xff, 0x8f, 0xcd, 0xa6, 0xd8, 0xd7, + 0xd6, 0x05, 0xfb, 0x3a, 0x3f, 0x73, 0x5f, 0x55, 0x55, 0xb6, 0xf1, 0xf8, 0xd3, 0x90, 0xc2, 0x07, + 0x98, 0x19, 0xd8, 0x6c, 0x3a, 0xbe, 0x86, 0x14, 0x9e, 0x06, 0x32, 0x1c, 0x33, 0xec, 0x35, 0x1d, + 0x5f, 0x43, 0x2a, 0x0e, 0x89, 0x52, 0xca, 0x9e, 0x61, 0x8f, 0xe9, 0xf8, 0x05, 0x98, 0x5b, 0xc7, + 0xdd, 0x10, 0xba, 0xc3, 0x18, 0xb8, 0xde, 0x16, 0xa0, 0xd9, 0x16, 0xfa, 0xd0, 0x91, 0x6c, 0x94, + 0x44, 0x54, 0x32, 0xec, 0x34, 0x4b, 0xbe, 0x81, 0xc9, 0x97, 0x61, 0x5d, 0x04, 0x34, 0x62, 0x0f, + 0xf8, 0xb3, 0xf8, 0x01, 0xa3, 0x83, 0x28, 0x8c, 0x19, 0x36, 0x9d, 0x25, 0x7f, 0x9a, 0xa0, 0xbc, + 0xc6, 0xbb, 0x91, 0xb0, 0x57, 0xf0, 0x7c, 0xd2, 0x10, 0xf9, 0x02, 0xcc, 0x27, 0x7c, 0x20, 0xec, + 0x55, 0x0c, 0x70, 0xcf, 0x04, 0xf8, 0x88, 0x0f, 0x30, 0xb0, 0x48, 0x55, 0x7b, 0x9a, 0x84, 0xf1, + 0x10, 0xdb, 0x4e, 0xc7, 0xc7, 0x6f, 0xc4, 0xf1, 0x78, 0x68, 0xf7, 0x34, 0x8e, 0xc7, 0x43, 0xe7, + 0x8f, 0x16, 0x2c, 0x6a, 0xc9, 0x37, 0x1c, 0x71, 0xd3, 0xd2, 0xf3, 0x62, 0xd1, 0x2d, 0x1d, 0x23, + 0x81, 0x3d, 0x55, 0x60, 0xb4, 0x31, 0x12, 0x39, 0xec, 0x7c, 0x04, 0x2b, 0xb5, 0x8e, 0x33, 0xf3, + 0x86, 0x62, 0xee, 0x9b, 0x73, 0x95, 0xfb, 0xa6, 0xf3, 0x2f, 0x0b, 0x16, 0xbf, 0xcd, 0x8f, 0xdf, + 0x82, 0x65, 0x6f, 0x01, 0x8c, 0x98, 0x4c, 0xc3, 0x40, 0xdd, 0x3a, 0xf4, 0xda, 0x2b, 0x18, 0xf2, + 0x31, 0x2c, 0x95, 0xa7, 0x4c, 0x1b, 0x9d, 0xdb, 0xbd, 0x9c, 0x73, 0xdf, 0x0b, 0x47, 0xcc, 0x2f, + 0x85, 0x9d, 0x5f, 0xce, 0xc3, 0x5a, 0xa3, 0x0b, 0xbc, 0x05, 0x4d, 0xb2, 0xd2, 0x0c, 0xe7, 0xeb, + 0xcd, 0xb0, 0xdc, 0xc5, 0x76, 0x6d, 0x17, 0xb7, 0x00, 0x44, 0x16, 0x04, 0x4c, 0x88, 0x93, 0x2c, + 0xc2, 0x52, 0x6f, 0xfb, 0x15, 0x8c, 0x92, 0x3b, 0xa1, 0x61, 0xc4, 0x06, 0x58, 0xee, 0x6d, 0x5f, + 0x43, 0xea, 0x5e, 0x11, 0xc6, 0x01, 0x8f, 0x83, 0x28, 0x13, 0xaa, 0x19, 0x74, 0x90, 0x5a, 0xc3, + 0xa9, 0x6c, 0x61, 0x69, 0xca, 0xd3, 0xe2, 0x5e, 0x81, 0x80, 0x2a, 0xb9, 0x27, 0xfc, 0x58, 0xd8, + 0xd0, 0x28, 0x39, 0x9d, 0x41, 0x3e, 0x52, 0xc9, 0x07, 0x00, 0x31, 0x8f, 0x35, 0xce, 0xee, 0x22, + 0xef, 0x86, 0xe1, 0xfd, 0xd4, 0x90, 0xfc, 0x0a, 0x1b, 0xd9, 0x55, 0xcb, 0x57, 0xc1, 0x16, 0xf6, + 0x72, 0x43, 0xfb, 0x27, 0x39, 0xde, 0x2f, 0x18, 0xea, 0xa9, 0xb0, 0x72, 0x95, 0x54, 0xf8, 0xf7, + 0x1c, 0x40, 0xe9, 0x90, 0x5a, 0xf5, 0x98, 0x46, 0x59, 0x51, 0x38, 0x39, 0x70, 0x61, 0x16, 0xd7, + 0x33, 0xb6, 0x35, 0x95, 0xb1, 0x17, 0x47, 0x74, 0x13, 0xda, 0xc9, 0x29, 0x15, 0xc5, 0xb1, 0x97, + 0x03, 0x6f, 0x20, 0x9e, 0xbb, 0xd0, 0x0b, 0x78, 0x2c, 0x58, 0x90, 0xa9, 0x73, 0x60, 0x1f, 0x19, + 0xf2, 0x4e, 0x3e, 0x85, 0xaf, 0x6f, 0x7a, 0xf7, 0x2a, 0x9b, 0xfe, 0x9b, 0x16, 0x2c, 0xea, 0x98, + 0xce, 0xec, 0x54, 0xbb, 0xd0, 0xd3, 0xab, 0xbe, 0xcf, 0xe3, 0x41, 0x28, 0x43, 0x53, 0x45, 0x53, + 0x78, 0x75, 0x94, 0xe4, 0xbb, 0x60, 0x50, 0x6c, 0xa0, 0x43, 0x31, 0x4d, 0x50, 0xf5, 0x17, 0xc6, + 0x92, 0xa5, 0x63, 0x1a, 0xe9, 0x90, 0x18, 0x58, 0xed, 0x50, 0xc0, 0xb3, 0x58, 0xea, 0xee, 0x9a, + 0x03, 0x4a, 0x7f, 0x75, 0x1f, 0x0f, 0xc3, 0x51, 0x28, 0x75, 0x68, 0xa6, 0x09, 0x2a, 0x12, 0xca, + 0x68, 0x96, 0x6a, 0xc6, 0x3c, 0x4e, 0x35, 0x1c, 0xb9, 0x03, 0xd7, 0x9a, 0x7b, 0x9b, 0x33, 0xe7, + 0x61, 0x9b, 0x4d, 0x24, 0xa7, 0xd0, 0x39, 0x4a, 0xf9, 0x38, 0x1c, 0xb0, 0x3c, 0x84, 0xdd, 0xdb, + 0x87, 0x57, 0xbb, 0x3a, 0xe6, 0x01, 0x28, 0x74, 0xfa, 0x46, 0xfb, 0xed, 0x7f, 0xae, 0xc0, 0xaa, + 0x7e, 0x6b, 0x3d, 0x62, 0xe9, 0x38, 0x0c, 0x18, 0x11, 0xb0, 0x7a, 0xc0, 0x64, 0xf5, 0x01, 0xf6, + 0xee, 0xac, 0x97, 0x1e, 0x4e, 0x50, 0xfa, 0x33, 0x1f, 0x81, 0xce, 0xde, 0x2f, 0xfe, 0xf6, 0x8f, + 0x5f, 0xcf, 0xed, 0x92, 0x1d, 0x1c, 0x3b, 0x8d, 0x6f, 0x95, 0xb3, 0xa3, 0x33, 0xf3, 0x2c, 0x3d, + 0xcf, 0xbf, 0xcf, 0xbd, 0x50, 0x99, 0x38, 0x87, 0x1e, 0x3e, 0x96, 0xaf, 0x64, 0xf6, 0x2e, 0x9a, + 0xdd, 0x23, 0xee, 0x65, 0xcd, 0x7a, 0xcf, 0x94, 0xcd, 0x3d, 0x8b, 0x8c, 0xa1, 0xa7, 0x5e, 0xb9, + 0x15, 0x65, 0x82, 0x7c, 0x6e, 0x96, 0x0d, 0x33, 0x3b, 0xea, 0xdb, 0x17, 0x91, 0x9d, 0x9b, 0xe8, + 0xc6, 0xfb, 0xe4, 0xf3, 0x2f, 0x74, 0x03, 0x97, 0xfd, 0x73, 0x0b, 0xd6, 0x9b, 0xeb, 0x7e, 0xa9, + 0xe5, 0x7e, 0x93, 0x5c, 0x8e, 0x19, 0x1c, 0x0f, 0x6d, 0xdf, 0x24, 0x5f, 0x7c, 0xa9, 0x6d, 0xb3, + 0xf6, 0x1f, 0xc2, 0xf2, 0x01, 0x93, 0xe6, 0xf5, 0x4f, 0xae, 0xbb, 0xf9, 0x40, 0xce, 0x2d, 0x06, + 0x72, 0xee, 0xfe, 0x28, 0x91, 0x93, 0x7e, 0xf9, 0xe0, 0xa9, 0x0d, 0x1f, 0x9c, 0x77, 0xd1, 0xe4, + 0x06, 0x59, 0x2f, 0x4c, 0x96, 0x93, 0x87, 0xdf, 0x5b, 0xea, 0x7e, 0x5d, 0x1d, 0x23, 0x91, 0xad, + 0xca, 0xb5, 0x7e, 0xc6, 0x7c, 0xa9, 0xbf, 0x7f, 0xb5, 0x44, 0xd7, 0xda, 0x8a, 0x54, 0xe8, 0x7f, + 0xe9, 0x32, 0xa9, 0xa0, 0xaf, 0x56, 0x5f, 0xb3, 0x76, 0xd1, 0xe3, 0xfa, 0xb4, 0xaa, 0xe2, 0xf1, + 0xcc, 0x31, 0xd6, 0x1b, 0xf1, 0x38, 0xc9, 0x3d, 0x51, 0x1e, 0xff, 0xce, 0x82, 0xe5, 0xea, 0x00, + 0x8c, 0xdc, 0x28, 0x1f, 0x3f, 0xd3, 0x73, 0xb1, 0xd7, 0xe5, 0xed, 0x1d, 0xf4, 0xd6, 0xed, 0xdf, + 0xbc, 0x8c, 0xb7, 0x54, 0xf9, 0xa1, 0x7c, 0xfd, 0x73, 0x3e, 0x51, 0x2d, 0xb2, 0x1a, 0x67, 0xa0, + 0x65, 0x1d, 0x35, 0x66, 0xad, 0xaf, 0xcb, 0x55, 0x1f, 0x5d, 0x3d, 0xec, 0x1f, 0xbc, 0xd8, 0x55, + 0x8d, 0x3d, 0xf7, 0x04, 0x93, 0xde, 0x99, 0x79, 0xc4, 0x9f, 0x7b, 0x67, 0x78, 0x77, 0xfe, 0xe6, + 0xee, 0xee, 0xb9, 0x77, 0x26, 0xe9, 0xf0, 0x5c, 0x2d, 0xe4, 0x0f, 0x16, 0x74, 0x2b, 0x93, 0x58, + 0xf2, 0x9e, 0x59, 0xc4, 0xf4, 0x7c, 0xf6, 0x75, 0xad, 0xe3, 0x1e, 0xae, 0xe3, 0xeb, 0xfd, 0xbb, + 0x97, 0x5c, 0x47, 0x16, 0x0f, 0xb8, 0x77, 0x56, 0xdc, 0x38, 0xcf, 0x8b, 0x5c, 0xa9, 0xce, 0x38, + 0x2b, 0xb9, 0x32, 0x63, 0xf4, 0xf9, 0x46, 0x72, 0x25, 0x55, 0x7e, 0x28, 0x5f, 0x8f, 0x60, 0x51, + 0x0f, 0x04, 0x2f, 0xec, 0x48, 0xe5, 0x29, 0x50, 0x19, 0x34, 0x3a, 0xef, 0xa0, 0xb9, 0x75, 0xb2, + 0x56, 0x98, 0x1b, 0xe7, 0xc4, 0x6f, 0xed, 0xff, 0xe5, 0xf9, 0x96, 0xf5, 0xd7, 0xe7, 0x5b, 0xd6, + 0xdf, 0x9f, 0x6f, 0x59, 0x3f, 0xfa, 0xf0, 0xd2, 0x7f, 0x7d, 0xd4, 0xff, 0x68, 0x39, 0x5e, 0x40, + 0x2f, 0x3e, 0xf8, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xda, 0xb3, 0x69, 0x88, 0x19, 0x00, + 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -3520,6 +3631,18 @@ func (m *AnalysisRunInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } + if m.StartedAt != nil { + { + size, err := m.StartedAt.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintRollout(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x6a + } if len(m.Metrics) > 0 { for iNdEx := len(m.Metrics) - 1; iNdEx >= 0; iNdEx-- { { @@ -3531,7 +3654,7 @@ func (m *AnalysisRunInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintRollout(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x5a + dAtA[i] = 0x62 } } if len(m.NonJobInfo) > 0 { @@ -3545,7 +3668,7 @@ func (m *AnalysisRunInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintRollout(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x52 + dAtA[i] = 0x5a } } if len(m.Jobs) > 0 { @@ -3559,34 +3682,41 @@ func (m *AnalysisRunInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintRollout(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x4a + dAtA[i] = 0x52 } } if m.Error != 0 { i = encodeVarintRollout(dAtA, i, uint64(m.Error)) i-- - dAtA[i] = 0x40 + dAtA[i] = 0x48 } if m.Inconclusive != 0 { i = encodeVarintRollout(dAtA, i, uint64(m.Inconclusive)) i-- - dAtA[i] = 0x38 + dAtA[i] = 0x40 } if m.Failed != 0 { i = encodeVarintRollout(dAtA, i, uint64(m.Failed)) i-- - dAtA[i] = 0x30 + dAtA[i] = 0x38 } if m.Successful != 0 { i = encodeVarintRollout(dAtA, i, uint64(m.Successful)) i-- - dAtA[i] = 0x28 + dAtA[i] = 0x30 } if len(m.Status) > 0 { i -= len(m.Status) copy(dAtA[i:], m.Status) i = encodeVarintRollout(dAtA, i, uint64(len(m.Status))) i-- + dAtA[i] = 0x2a + } + if len(m.Message) > 0 { + i -= len(m.Message) + copy(dAtA[i:], m.Message) + i = encodeVarintRollout(dAtA, i, uint64(len(m.Message))) + i-- dAtA[i] = 0x22 } if m.Revision != 0 { @@ -3650,6 +3780,45 @@ func (m *NonJobInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintRollout(dAtA, i, uint64(size)) } i-- + dAtA[i] = 0x5a + } + if m.ConsecutiveError != 0 { + i = encodeVarintRollout(dAtA, i, uint64(m.ConsecutiveError)) + i-- + dAtA[i] = 0x50 + } + if m.Error != 0 { + i = encodeVarintRollout(dAtA, i, uint64(m.Error)) + i-- + dAtA[i] = 0x48 + } + if m.Inconclusive != 0 { + i = encodeVarintRollout(dAtA, i, uint64(m.Inconclusive)) + i-- + dAtA[i] = 0x40 + } + if m.Failed != 0 { + i = encodeVarintRollout(dAtA, i, uint64(m.Failed)) + i-- + dAtA[i] = 0x38 + } + if m.Successful != 0 { + i = encodeVarintRollout(dAtA, i, uint64(m.Successful)) + i-- + dAtA[i] = 0x30 + } + if len(m.Phase) > 0 { + i -= len(m.Phase) + copy(dAtA[i:], m.Phase) + i = encodeVarintRollout(dAtA, i, uint64(len(m.Phase))) + i-- + dAtA[i] = 0x2a + } + if len(m.Message) > 0 { + i -= len(m.Message) + copy(dAtA[i:], m.Message) + i = encodeVarintRollout(dAtA, i, uint64(len(m.Message))) + i-- dAtA[i] = 0x22 } if len(m.MetricName) > 0 { @@ -3700,20 +3869,51 @@ func (m *Metrics) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } + if m.Provider != nil { + { + size, err := m.Provider.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintRollout(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x4a + } + if m.ConsecutiveErrorLimit != 0 { + i = encodeVarintRollout(dAtA, i, uint64(m.ConsecutiveErrorLimit)) + i-- + dAtA[i] = 0x40 + } if m.FailureLimit != 0 { i = encodeVarintRollout(dAtA, i, uint64(m.FailureLimit)) i-- - dAtA[i] = 0x28 + dAtA[i] = 0x38 } if m.InconclusiveLimit != 0 { i = encodeVarintRollout(dAtA, i, uint64(m.InconclusiveLimit)) i-- - dAtA[i] = 0x20 + dAtA[i] = 0x30 } if m.Count != 0 { i = encodeVarintRollout(dAtA, i, uint64(m.Count)) i-- - dAtA[i] = 0x18 + dAtA[i] = 0x28 + } + if len(m.Interval) > 0 { + i -= len(m.Interval) + copy(dAtA[i:], m.Interval) + i = encodeVarintRollout(dAtA, i, uint64(len(m.Interval))) + i-- + dAtA[i] = 0x22 + } + if len(m.FailedConditioned) > 0 { + i -= len(m.FailedConditioned) + copy(dAtA[i:], m.FailedConditioned) + i = encodeVarintRollout(dAtA, i, uint64(len(m.FailedConditioned))) + i-- + dAtA[i] = 0x1a } if len(m.SuccessCondition) > 0 { i -= len(m.SuccessCondition) @@ -4304,6 +4504,10 @@ func (m *AnalysisRunInfo) Size() (n int) { if m.Revision != 0 { n += 1 + sovRollout(uint64(m.Revision)) } + l = len(m.Message) + if l > 0 { + n += 1 + l + sovRollout(uint64(l)) + } l = len(m.Status) if l > 0 { n += 1 + l + sovRollout(uint64(l)) @@ -4338,6 +4542,10 @@ func (m *AnalysisRunInfo) Size() (n int) { n += 1 + l + sovRollout(uint64(l)) } } + if m.StartedAt != nil { + l = m.StartedAt.Size() + n += 1 + l + sovRollout(uint64(l)) + } if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -4362,6 +4570,29 @@ func (m *NonJobInfo) Size() (n int) { if l > 0 { n += 1 + l + sovRollout(uint64(l)) } + l = len(m.Message) + if l > 0 { + n += 1 + l + sovRollout(uint64(l)) + } + l = len(m.Phase) + if l > 0 { + n += 1 + l + sovRollout(uint64(l)) + } + if m.Successful != 0 { + n += 1 + sovRollout(uint64(m.Successful)) + } + if m.Failed != 0 { + n += 1 + sovRollout(uint64(m.Failed)) + } + if m.Inconclusive != 0 { + n += 1 + sovRollout(uint64(m.Inconclusive)) + } + if m.Error != 0 { + n += 1 + sovRollout(uint64(m.Error)) + } + if m.ConsecutiveError != 0 { + n += 1 + sovRollout(uint64(m.ConsecutiveError)) + } if m.StartedAt != nil { l = m.StartedAt.Size() n += 1 + l + sovRollout(uint64(l)) @@ -4386,6 +4617,14 @@ func (m *Metrics) Size() (n int) { if l > 0 { n += 1 + l + sovRollout(uint64(l)) } + l = len(m.FailedConditioned) + if l > 0 { + n += 1 + l + sovRollout(uint64(l)) + } + l = len(m.Interval) + if l > 0 { + n += 1 + l + sovRollout(uint64(l)) + } if m.Count != 0 { n += 1 + sovRollout(uint64(m.Count)) } @@ -4395,6 +4634,13 @@ func (m *Metrics) Size() (n int) { if m.FailureLimit != 0 { n += 1 + sovRollout(uint64(m.FailureLimit)) } + if m.ConsecutiveErrorLimit != 0 { + n += 1 + sovRollout(uint64(m.ConsecutiveErrorLimit)) + } + if m.Provider != nil { + l = m.Provider.Size() + n += 1 + l + sovRollout(uint64(l)) + } if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -7853,6 +8099,38 @@ func (m *AnalysisRunInfo) Unmarshal(dAtA []byte) error { } } case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowRollout + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthRollout + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthRollout + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Message = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) } @@ -7884,7 +8162,7 @@ func (m *AnalysisRunInfo) Unmarshal(dAtA []byte) error { } m.Status = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 5: + case 6: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field Successful", wireType) } @@ -7903,7 +8181,7 @@ func (m *AnalysisRunInfo) Unmarshal(dAtA []byte) error { break } } - case 6: + case 7: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field Failed", wireType) } @@ -7922,7 +8200,7 @@ func (m *AnalysisRunInfo) Unmarshal(dAtA []byte) error { break } } - case 7: + case 8: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field Inconclusive", wireType) } @@ -7941,7 +8219,7 @@ func (m *AnalysisRunInfo) Unmarshal(dAtA []byte) error { break } } - case 8: + case 9: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field Error", wireType) } @@ -7960,7 +8238,7 @@ func (m *AnalysisRunInfo) Unmarshal(dAtA []byte) error { break } } - case 9: + case 10: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Jobs", wireType) } @@ -7994,7 +8272,7 @@ func (m *AnalysisRunInfo) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 10: + case 11: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field NonJobInfo", wireType) } @@ -8028,7 +8306,7 @@ func (m *AnalysisRunInfo) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 11: + case 12: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Metrics", wireType) } @@ -8062,14 +8340,50 @@ func (m *AnalysisRunInfo) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipRollout(dAtA[iNdEx:]) - if err != nil { - return err + case 13: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StartedAt", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthRollout + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowRollout + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthRollout + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthRollout + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.StartedAt == nil { + m.StartedAt = &v1.Time{} + } + if err := m.StartedAt.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipRollout(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthRollout } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF @@ -8210,6 +8524,165 @@ func (m *NonJobInfo) Unmarshal(dAtA []byte) error { m.MetricName = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowRollout + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthRollout + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthRollout + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Message = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Phase", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowRollout + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthRollout + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthRollout + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Phase = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Successful", wireType) + } + m.Successful = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowRollout + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Successful |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Failed", wireType) + } + m.Failed = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowRollout + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Failed |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Inconclusive", wireType) + } + m.Inconclusive = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowRollout + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Inconclusive |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Error", wireType) + } + m.Error = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowRollout + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Error |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ConsecutiveError", wireType) + } + m.ConsecutiveError = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowRollout + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ConsecutiveError |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 11: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field StartedAt", wireType) } @@ -8361,6 +8834,70 @@ func (m *Metrics) Unmarshal(dAtA []byte) error { m.SuccessCondition = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field FailedConditioned", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowRollout + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthRollout + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthRollout + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.FailedConditioned = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Interval", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowRollout + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthRollout + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthRollout + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Interval = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field Count", wireType) } @@ -8379,7 +8916,7 @@ func (m *Metrics) Unmarshal(dAtA []byte) error { break } } - case 4: + case 6: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field InconclusiveLimit", wireType) } @@ -8398,7 +8935,7 @@ func (m *Metrics) Unmarshal(dAtA []byte) error { break } } - case 5: + case 7: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field FailureLimit", wireType) } @@ -8417,6 +8954,61 @@ func (m *Metrics) Unmarshal(dAtA []byte) error { break } } + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ConsecutiveErrorLimit", wireType) + } + m.ConsecutiveErrorLimit = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowRollout + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ConsecutiveErrorLimit |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Provider", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowRollout + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthRollout + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthRollout + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Provider == nil { + m.Provider = &v1alpha1.MetricProvider{} + } + if err := m.Provider.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipRollout(dAtA[iNdEx:]) diff --git a/pkg/apiclient/rollout/rollout.proto b/pkg/apiclient/rollout/rollout.proto index 0d21c5d9d6..d09af38a23 100644 --- a/pkg/apiclient/rollout/rollout.proto +++ b/pkg/apiclient/rollout/rollout.proto @@ -152,30 +152,44 @@ message AnalysisRunInfo { k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta objectMeta = 1; string icon = 2; int64 revision = 3; - string status = 4; - int32 successful = 5; - int32 failed = 6; - int32 inconclusive = 7; - int32 error = 8; - repeated JobInfo jobs = 9; - repeated NonJobInfo nonJobInfo = 10; - repeated Metrics metrics = 11; + string message = 4; + string status = 5; + int32 successful = 6; + int32 failed = 7; + int32 inconclusive = 8; + int32 error = 9; + repeated JobInfo jobs = 10; + repeated NonJobInfo nonJobInfo = 11; + repeated Metrics metrics = 12; + k8s.io.apimachinery.pkg.apis.meta.v1.Time startedAt = 13; + } message NonJobInfo { string value = 1; string status = 2; string metricName = 3; - k8s.io.apimachinery.pkg.apis.meta.v1.Time startedAt =4; + string message = 4; + string phase = 5; + int32 successful= 6; + int32 failed= 7; + int32 inconclusive= 8; + int32 error = 9;; + int32 consecutiveError= 10; + k8s.io.apimachinery.pkg.apis.meta.v1.Time startedAt = 11; } message Metrics { string name=1; string successCondition = 2; - int32 count = 3; - int32 inconclusiveLimit = 4; - int32 failureLimit = 5; - } + string failedConditioned = 3; + string interval = 4; + int32 count = 5; + int32 inconclusiveLimit = 6; + int32 failureLimit = 7; + int32 consecutiveErrorLimit = 8; + github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.MetricProvider Provider = 9; +} service RolloutService { rpc GetRolloutInfo(RolloutInfoQuery) returns (RolloutInfo) { diff --git a/pkg/apiclient/rollout/rollout.swagger.json b/pkg/apiclient/rollout/rollout.swagger.json index fb30b4b62e..e35d7628dc 100755 --- a/pkg/apiclient/rollout/rollout.swagger.json +++ b/pkg/apiclient/rollout/rollout.swagger.json @@ -970,6 +970,105 @@ }, "title": "CanaryStrategy defines parameters for a Replica Based Canary" }, + "github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.CloudWatchMetric": { + "type": "object", + "properties": { + "interval": { + "type": "string" + }, + "metricDataQueries": { + "type": "array", + "items": { + "$ref": "#/definitions/github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.CloudWatchMetricDataQuery" + } + } + }, + "title": "CloudWatchMetric defines the cloudwatch query to perform canary analysis" + }, + "github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.CloudWatchMetricDataQuery": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "expression": { + "type": "string" + }, + "label": { + "type": "string" + }, + "metricStat": { + "$ref": "#/definitions/github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.CloudWatchMetricStat" + }, + "period": { + "$ref": "#/definitions/k8s.io.apimachinery.pkg.util.intstr.IntOrString" + }, + "returnData": { + "type": "boolean" + } + }, + "title": "CloudWatchMetricDataQuery defines the cloudwatch query" + }, + "github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.CloudWatchMetricStat": { + "type": "object", + "properties": { + "metric": { + "$ref": "#/definitions/github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.CloudWatchMetricStatMetric" + }, + "period": { + "$ref": "#/definitions/k8s.io.apimachinery.pkg.util.intstr.IntOrString" + }, + "stat": { + "type": "string" + }, + "unit": { + "type": "string" + } + } + }, + "github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.CloudWatchMetricStatMetric": { + "type": "object", + "properties": { + "dimensions": { + "type": "array", + "items": { + "$ref": "#/definitions/github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.CloudWatchMetricStatMetricDimension" + } + }, + "metricName": { + "type": "string" + }, + "namespace": { + "type": "string" + } + } + }, + "github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.CloudWatchMetricStatMetricDimension": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.DatadogMetric": { + "type": "object", + "properties": { + "interval": { + "type": "string" + }, + "query": { + "type": "string" + }, + "apiVersion": { + "type": "string", + "description": "ApiVersion refers to the Datadog API version being used (default: v1). v1 will eventually be deprecated." + } + } + }, "github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.DryRun": { "type": "object", "properties": { @@ -989,6 +1088,20 @@ } } }, + "github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.GraphiteMetric": { + "type": "object", + "properties": { + "address": { + "type": "string", + "title": "Address is the HTTP address and port of the Graphite server" + }, + "query": { + "type": "string", + "title": "Query is a raw Graphite query to perform" + } + }, + "title": "GraphiteMetric defines the Graphite query to perform canary analysis" + }, "github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.HeaderRoutingMatch": { "type": "object", "properties": { @@ -1002,6 +1115,20 @@ } } }, + "github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.InfluxdbMetric": { + "type": "object", + "properties": { + "profile": { + "type": "string", + "title": "Profile is the name of the secret holding InfluxDB account configuration" + }, + "query": { + "type": "string", + "title": "Query is a raw InfluxDB flux query to perform" + } + }, + "title": "InfluxdbMetric defines the InfluxDB Flux query to perform canary analysis" + }, "github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.IstioDestinationRule": { "type": "object", "properties": { @@ -1072,6 +1199,77 @@ }, "title": "IstioVirtualService holds information on the virtual service the rollout needs to modify" }, + "github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.JobMetric": { + "type": "object", + "properties": { + "metadata": { + "$ref": "#/definitions/k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/k8s.io.api.batch.v1.JobSpec" + } + }, + "title": "JobMetric defines a job to run which acts as a metric" + }, + "github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.KayentaMetric": { + "type": "object", + "properties": { + "address": { + "type": "string" + }, + "application": { + "type": "string" + }, + "canaryConfigName": { + "type": "string" + }, + "metricsAccountName": { + "type": "string" + }, + "configurationAccountName": { + "type": "string" + }, + "storageAccountName": { + "type": "string" + }, + "threshold": { + "$ref": "#/definitions/github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.KayentaThreshold" + }, + "scopes": { + "type": "array", + "items": { + "$ref": "#/definitions/github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.KayentaScope" + } + } + } + }, + "github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.KayentaScope": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "controlScope": { + "$ref": "#/definitions/github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.ScopeDetail" + }, + "experimentScope": { + "$ref": "#/definitions/github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.ScopeDetail" + } + } + }, + "github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.KayentaThreshold": { + "type": "object", + "properties": { + "pass": { + "type": "string", + "format": "int64" + }, + "marginal": { + "type": "string", + "format": "int64" + } + } + }, "github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.MangedRoutes": { "type": "object", "properties": { @@ -1095,6 +1293,78 @@ }, "description": "MeasurementRetention defines the settings for retaining the number of measurements during the analysis." }, + "github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.MetricProvider": { + "type": "object", + "properties": { + "prometheus": { + "$ref": "#/definitions/github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.PrometheusMetric", + "title": "Prometheus specifies the prometheus metric to query" + }, + "kayenta": { + "$ref": "#/definitions/github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.KayentaMetric", + "title": "Kayenta specifies a Kayenta metric" + }, + "web": { + "$ref": "#/definitions/github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.WebMetric", + "title": "Web specifies a generic HTTP web metric" + }, + "datadog": { + "$ref": "#/definitions/github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.DatadogMetric", + "title": "Datadog specifies a datadog metric to query" + }, + "wavefront": { + "$ref": "#/definitions/github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.WavefrontMetric", + "title": "Wavefront specifies the wavefront metric to query" + }, + "newRelic": { + "$ref": "#/definitions/github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.NewRelicMetric", + "title": "NewRelic specifies the newrelic metric to query" + }, + "job": { + "$ref": "#/definitions/github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.JobMetric", + "title": "Job specifies the job metric run" + }, + "cloudWatch": { + "$ref": "#/definitions/github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.CloudWatchMetric", + "title": "CloudWatch specifies the cloudWatch metric to query" + }, + "graphite": { + "$ref": "#/definitions/github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.GraphiteMetric", + "title": "Graphite specifies the Graphite metric to query" + }, + "influxdb": { + "$ref": "#/definitions/github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.InfluxdbMetric", + "title": "Influxdb specifies the influxdb metric to query" + }, + "skywalking": { + "$ref": "#/definitions/github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.SkyWalkingMetric", + "title": "SkyWalking specifies the skywalking metric to query" + }, + "plugin": { + "type": "object", + "additionalProperties": { + "type": "string", + "format": "byte" + }, + "title": "+kubebuilder:validation:Schemaless\n+kubebuilder:pruning:PreserveUnknownFields\n+kubebuilder:validation:Type=object\nPlugin specifies the hashicorp go-plugin metric to query" + } + }, + "title": "MetricProvider which external system to use to verify the analysis\nOnly one of the fields in this struct should be non-nil" + }, + "github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.NewRelicMetric": { + "type": "object", + "properties": { + "profile": { + "type": "string", + "title": "Profile is the name of the secret holding NR account configuration" + }, + "query": { + "type": "string", + "title": "Query is a raw newrelic NRQL query to perform" + } + }, + "title": "NewRelicMetric defines the newrelic query to perform canary analysis" + }, "github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.NginxTrafficRouting": { "type": "object", "properties": { @@ -1198,6 +1468,50 @@ }, "title": "PreferredDuringSchedulingIgnoredDuringExecution defines the weight of the anti-affinity injection" }, + "github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.PrometheusAuth": { + "type": "object", + "properties": { + "sigv4": { + "$ref": "#/definitions/github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.Sigv4Config", + "title": "+optional" + } + }, + "title": "PrometheusMetric defines the prometheus query to perform canary analysis" + }, + "github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.PrometheusMetric": { + "type": "object", + "properties": { + "address": { + "type": "string", + "title": "Address is the HTTP address and port of the prometheus server" + }, + "query": { + "type": "string", + "title": "Query is a raw prometheus query to perform" + }, + "authentication": { + "$ref": "#/definitions/github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.PrometheusAuth", + "title": "Sigv4 Config is the aws SigV4 configuration to use for SigV4 signing if using Amazon Managed Prometheus\n+optional" + }, + "timeout": { + "type": "string", + "format": "int64", + "title": "Timeout represents the duration within which a prometheus query should complete. It is expressed in seconds.\n+optional" + }, + "insecure": { + "type": "boolean", + "title": "Insecure skips host TLS verification" + }, + "headers": { + "type": "array", + "items": { + "$ref": "#/definitions/github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.WebMetricHeader" + }, + "title": "Headers are optional HTTP headers to use in the request\n+optional\n+patchMergeKey=key\n+patchStrategy=merge" + } + }, + "title": "PrometheusMetric defines the prometheus query to perform canary analysis" + }, "github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.RequiredDuringSchedulingIgnoredDuringExecution": { "type": "object", "title": "RequiredDuringSchedulingIgnoredDuringExecution defines inter-pod scheduling rule to be RequiredDuringSchedulingIgnoredDuringExecution" @@ -1722,6 +2036,27 @@ }, "title": "SMITrafficRouting configuration for TrafficSplit Custom Resource to control traffic routing" }, + "github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.ScopeDetail": { + "type": "object", + "properties": { + "scope": { + "type": "string" + }, + "region": { + "type": "string" + }, + "step": { + "type": "string", + "format": "int64" + }, + "start": { + "type": "string" + }, + "end": { + "type": "string" + } + } + }, "github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.SetCanaryScale": { "type": "object", "properties": { @@ -1779,6 +2114,37 @@ } } }, + "github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.Sigv4Config": { + "type": "object", + "properties": { + "address": { + "type": "string", + "title": "Region is the AWS Region to sign the SigV4 Request" + }, + "profile": { + "type": "string", + "title": "Profile is the Credential Profile used to sign the SigV4 Request" + }, + "roleArn": { + "type": "string", + "title": "RoleARN is the IAM role used to sign the SIgV4 Request" + } + } + }, + "github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.SkyWalkingMetric": { + "type": "object", + "properties": { + "address": { + "type": "string" + }, + "query": { + "type": "string" + }, + "interval": { + "type": "string" + } + } + }, "github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.StickinessConfig": { "type": "object", "properties": { @@ -1882,6 +2248,73 @@ }, "title": "TrafficWeights describes the current status of how traffic has been split" }, + "github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.WavefrontMetric": { + "type": "object", + "properties": { + "address": { + "type": "string", + "title": "Address is the HTTP address and port of the wavefront server" + }, + "query": { + "type": "string", + "title": "Query is a raw wavefront query to perform" + } + }, + "title": "WavefrontMetric defines the wavefront query to perform canary analysis" + }, + "github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.WebMetric": { + "type": "object", + "properties": { + "method": { + "type": "string", + "title": "Method is the method of the web metric (empty defaults to GET)" + }, + "url": { + "type": "string", + "title": "URL is the address of the web metric" + }, + "headers": { + "type": "array", + "items": { + "$ref": "#/definitions/github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.WebMetricHeader" + }, + "title": "+patchMergeKey=key\n+patchStrategy=merge\nHeaders are optional HTTP headers to use in the request" + }, + "body": { + "type": "string", + "title": "Body is the body of the web metric (must be POST/PUT)" + }, + "timeoutSeconds": { + "type": "string", + "format": "int64", + "title": "TimeoutSeconds is the timeout for the request in seconds (default: 10)" + }, + "jsonPath": { + "type": "string", + "title": "JSONPath is a JSON Path to use as the result variable (default: \"{$}\")" + }, + "insecure": { + "type": "boolean", + "title": "Insecure skips host TLS verification" + }, + "jsonBody": { + "type": "string", + "format": "byte", + "title": "+kubebuilder:validation:Schemaless\n+kubebuilder:pruning:PreserveUnknownFields\n+kubebuilder:validation:Type=object\nJSONBody is the body of the web metric in a json format (method must be POST/PUT)" + } + } + }, + "github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.WebMetricHeader": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, "github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.WeightDestination": { "type": "object", "properties": { @@ -1958,6 +2391,131 @@ } } }, + "k8s.io.api.batch.v1.JobSpec": { + "type": "object", + "properties": { + "parallelism": { + "type": "integer", + "format": "int32", + "title": "Specifies the maximum desired number of pods the job should\nrun at any given time. The actual number of pods running in steady state will\nbe less than this number when ((.spec.completions - .status.successful) \u003c .spec.parallelism),\ni.e. when the work left to do is less than max parallelism.\nMore info: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/\n+optional" + }, + "completions": { + "type": "integer", + "format": "int32", + "title": "Specifies the desired number of successfully finished pods the\njob should be run with. Setting to nil means that the success of any\npod signals the success of all pods, and allows parallelism to have any positive\nvalue. Setting to 1 means that parallelism is limited to 1 and the success of that\npod signals the success of the job.\nMore info: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/\n+optional" + }, + "activeDeadlineSeconds": { + "type": "string", + "format": "int64", + "title": "Specifies the duration in seconds relative to the startTime that the job\nmay be continuously active before the system tries to terminate it; value\nmust be positive integer. If a Job is suspended (at creation or through an\nupdate), this timer will effectively be stopped and reset when the Job is\nresumed again.\n+optional" + }, + "podFailurePolicy": { + "$ref": "#/definitions/k8s.io.api.batch.v1.PodFailurePolicy", + "description": "Specifies the policy of handling failed pods. In particular, it allows to\nspecify the set of actions and conditions which need to be\nsatisfied to take the associated action.\nIf empty, the default behaviour applies - the counter of failed pods,\nrepresented by the jobs's .status.failed field, is incremented and it is\nchecked against the backoffLimit. This field cannot be used in combination\nwith restartPolicy=OnFailure.\n\nThis field is alpha-level. To use this field, you must enable the\n`JobPodFailurePolicy` feature gate (disabled by default).\n+optional" + }, + "backoffLimit": { + "type": "integer", + "format": "int32", + "title": "Specifies the number of retries before marking this job failed.\nDefaults to 6\n+optional" + }, + "selector": { + "$ref": "#/definitions/k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector", + "title": "A label query over pods that should match the pod count.\nNormally, the system sets this field for you.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors\n+optional" + }, + "manualSelector": { + "type": "boolean", + "title": "manualSelector controls generation of pod labels and pod selectors.\nLeave `manualSelector` unset unless you are certain what you are doing.\nWhen false or unset, the system pick labels unique to this job\nand appends those labels to the pod template. When true,\nthe user is responsible for picking unique labels and specifying\nthe selector. Failure to pick a unique label may cause this\nand other jobs to not function correctly. However, You may see\n`manualSelector=true` in jobs that were created with the old `extensions/v1beta1`\nAPI.\nMore info: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/#specifying-your-own-pod-selector\n+optional" + }, + "template": { + "$ref": "#/definitions/k8s.io.api.core.v1.PodTemplateSpec", + "title": "Describes the pod that will be created when executing a job.\nMore info: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/" + }, + "ttlSecondsAfterFinished": { + "type": "integer", + "format": "int32", + "title": "ttlSecondsAfterFinished limits the lifetime of a Job that has finished\nexecution (either Complete or Failed). If this field is set,\nttlSecondsAfterFinished after the Job finishes, it is eligible to be\nautomatically deleted. When the Job is being deleted, its lifecycle\nguarantees (e.g. finalizers) will be honored. If this field is unset,\nthe Job won't be automatically deleted. If this field is set to zero,\nthe Job becomes eligible to be deleted immediately after it finishes.\n+optional" + }, + "completionMode": { + "type": "string", + "description": "CompletionMode specifies how Pod completions are tracked. It can be\n`NonIndexed` (default) or `Indexed`.\n\n`NonIndexed` means that the Job is considered complete when there have\nbeen .spec.completions successfully completed Pods. Each Pod completion is\nhomologous to each other.\n\n`Indexed` means that the Pods of a\nJob get an associated completion index from 0 to (.spec.completions - 1),\navailable in the annotation batch.kubernetes.io/job-completion-index.\nThe Job is considered complete when there is one successfully completed Pod\nfor each index.\nWhen value is `Indexed`, .spec.completions must be specified and\n`.spec.parallelism` must be less than or equal to 10^5.\nIn addition, The Pod name takes the form\n`$(job-name)-$(index)-$(random-string)`,\nthe Pod hostname takes the form `$(job-name)-$(index)`.\n\nMore completion modes can be added in the future.\nIf the Job controller observes a mode that it doesn't recognize, which\nis possible during upgrades due to version skew, the controller\nskips updates for the Job.\n+optional" + }, + "suspend": { + "type": "boolean", + "description": "Suspend specifies whether the Job controller should create Pods or not. If\na Job is created with suspend set to true, no Pods are created by the Job\ncontroller. If a Job is suspended after creation (i.e. the flag goes from\nfalse to true), the Job controller will delete all active Pods associated\nwith this Job. Users must design their workload to gracefully handle this.\nSuspending a Job will reset the StartTime field of the Job, effectively\nresetting the ActiveDeadlineSeconds timer too. Defaults to false.\n\n+optional" + } + }, + "description": "JobSpec describes how the job execution will look like." + }, + "k8s.io.api.batch.v1.PodFailurePolicy": { + "type": "object", + "properties": { + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/k8s.io.api.batch.v1.PodFailurePolicyRule" + }, + "title": "A list of pod failure policy rules. The rules are evaluated in order.\nOnce a rule matches a Pod failure, the remaining of the rules are ignored.\nWhen no rule matches the Pod failure, the default handling applies - the\ncounter of pod failures is incremented and it is checked against\nthe backoffLimit. At most 20 elements are allowed.\n+listType=atomic" + } + }, + "description": "PodFailurePolicy describes how failed pods influence the backoffLimit." + }, + "k8s.io.api.batch.v1.PodFailurePolicyOnExitCodesRequirement": { + "type": "object", + "properties": { + "containerName": { + "type": "string", + "title": "Restricts the check for exit codes to the container with the\nspecified name. When null, the rule applies to all containers.\nWhen specified, it should match one the container or initContainer\nnames in the pod template.\n+optional" + }, + "operator": { + "type": "string", + "description": "Represents the relationship between the container exit code(s) and the\nspecified values. Containers completed with success (exit code 0) are\nexcluded from the requirement check. Possible values are:\n- In: the requirement is satisfied if at least one container exit code\n (might be multiple if there are multiple containers not restricted\n by the 'containerName' field) is in the set of specified values.\n- NotIn: the requirement is satisfied if at least one container exit code\n (might be multiple if there are multiple containers not restricted\n by the 'containerName' field) is not in the set of specified values.\nAdditional values are considered to be added in the future. Clients should\nreact to an unknown operator by assuming the requirement is not satisfied." + }, + "values": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "title": "Specifies the set of values. Each returned container exit code (might be\nmultiple in case of multiple containers) is checked against this set of\nvalues with respect to the operator. The list of values must be ordered\nand must not contain duplicates. Value '0' cannot be used for the In operator.\nAt least one element is required. At most 255 elements are allowed.\n+listType=set" + } + }, + "description": "PodFailurePolicyOnExitCodesRequirement describes the requirement for handling\na failed pod based on its container exit codes. In particular, it lookups the\n.state.terminated.exitCode for each app container and init container status,\nrepresented by the .status.containerStatuses and .status.initContainerStatuses\nfields in the Pod status, respectively. Containers completed with success\n(exit code 0) are excluded from the requirement check." + }, + "k8s.io.api.batch.v1.PodFailurePolicyOnPodConditionsPattern": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Specifies the required Pod condition type. To match a pod condition\nit is required that specified type equals the pod condition type." + }, + "status": { + "type": "string", + "description": "Specifies the required Pod condition status. To match a pod condition\nit is required that the specified status equals the pod condition status.\nDefaults to True." + } + }, + "description": "PodFailurePolicyOnPodConditionsPattern describes a pattern for matching\nan actual pod condition type." + }, + "k8s.io.api.batch.v1.PodFailurePolicyRule": { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Specifies the action taken on a pod failure when the requirements are satisfied.\nPossible values are:\n- FailJob: indicates that the pod's job is marked as Failed and all\n running pods are terminated.\n- Ignore: indicates that the counter towards the .backoffLimit is not\n incremented and a replacement pod is created.\n- Count: indicates that the pod is handled in the default way - the\n counter towards the .backoffLimit is incremented.\nAdditional values are considered to be added in the future. Clients should\nreact to an unknown action by skipping the rule." + }, + "onExitCodes": { + "$ref": "#/definitions/k8s.io.api.batch.v1.PodFailurePolicyOnExitCodesRequirement", + "title": "Represents the requirement on the container exit codes.\n+optional" + }, + "onPodConditions": { + "type": "array", + "items": { + "$ref": "#/definitions/k8s.io.api.batch.v1.PodFailurePolicyOnPodConditionsPattern" + }, + "title": "Represents the requirement on the pod conditions. The requirement is represented\nas a list of pod condition patterns. The requirement is satisfied if at\nleast one pattern matches an actual pod condition. At most 20 elements are allowed.\n+listType=atomic" + } + }, + "description": "PodFailurePolicyRule describes how a pod failure is handled when the requirements are met.\nOne of OnExitCodes and onPodConditions, but not both, can be used in each rule." + }, "k8s.io.api.core.v1.AWSElasticBlockStoreVolumeSource": { "type": "object", "properties": { @@ -4683,6 +5241,9 @@ "type": "string", "format": "int64" }, + "message": { + "type": "string" + }, "status": { "type": "string" }, @@ -4719,6 +5280,9 @@ "items": { "$ref": "#/definitions/rollout.Metrics" } + }, + "startedAt": { + "$ref": "#/definitions/k8s.io.apimachinery.pkg.apis.meta.v1.Time" } } }, @@ -4795,6 +5359,12 @@ "successCondition": { "type": "string" }, + "failedConditioned": { + "type": "string" + }, + "interval": { + "type": "string" + }, "count": { "type": "integer", "format": "int32" @@ -4806,6 +5376,13 @@ "failureLimit": { "type": "integer", "format": "int32" + }, + "consecutiveErrorLimit": { + "type": "integer", + "format": "int32" + }, + "Provider": { + "$ref": "#/definitions/github.com.argoproj.argo_rollouts.pkg.apis.rollouts.v1alpha1.MetricProvider" } } }, @@ -4835,6 +5412,32 @@ "metricName": { "type": "string" }, + "message": { + "type": "string" + }, + "phase": { + "type": "string" + }, + "successful": { + "type": "integer", + "format": "int32" + }, + "failed": { + "type": "integer", + "format": "int32" + }, + "inconclusive": { + "type": "integer", + "format": "int32" + }, + "error": { + "type": "integer", + "format": "int32" + }, + "consecutiveError": { + "type": "integer", + "format": "int32" + }, "startedAt": { "$ref": "#/definitions/k8s.io.apimachinery.pkg.apis.meta.v1.Time" } diff --git a/pkg/kubectl-argo-rollouts/info/analysisrun_info.go b/pkg/kubectl-argo-rollouts/info/analysisrun_info.go index 9c60ccad87..da5e409744 100644 --- a/pkg/kubectl-argo-rollouts/info/analysisrun_info.go +++ b/pkg/kubectl-argo-rollouts/info/analysisrun_info.go @@ -29,33 +29,27 @@ func getAnalysisRunInfo(ownerUID types.UID, allAnalysisRuns []*v1alpha1.Analysis if run.Spec.Metrics != nil { for _, metric := range run.Spec.Metrics { - metrics := rollout.Metrics{ - Name: metric.Name, - SuccessCondition: metric.SuccessCondition, + arInfoMetric := rollout.Metrics{ + Name: metric.Name, + SuccessCondition: metric.SuccessCondition, + FailedConditioned: metric.FailureCondition, + Provider: &metric.Provider, } + m, err := analysisutil.ResolveMetricArgs(metric, run.Spec.Args) - if metric.InconclusiveLimit != nil { - metrics.InconclusiveLimit = metric.InconclusiveLimit.IntVal - } else { - metrics.InconclusiveLimit = 0 - } - - if metric.Count != nil { - metrics.Count = metric.Count.IntVal - } else { - metrics.Count = 0 + if err != nil { + arInfoMetric.InconclusiveLimit = m.InconclusiveLimit.IntVal + arInfoMetric.Count = m.Count.IntVal + arInfoMetric.FailureLimit = m.FailureLimit.IntVal + arInfoMetric.Interval = string(m.Interval) + arInfoMetric.ConsecutiveErrorLimit = m.ConsecutiveErrorLimit.IntVal } - - if metric.FailureLimit != nil { - metrics.FailureLimit = metric.FailureLimit.IntVal - } else { - metrics.FailureLimit = 0 - } - - arInfo.Metrics = append(arInfo.Metrics, &metrics) + arInfo.Metrics = append(arInfo.Metrics, &arInfoMetric) } } arInfo.Status = string(run.Status.Phase) + arInfo.Message = run.Status.Message + arInfo.StartedAt = run.Status.StartedAt for _, mr := range run.Status.MetricResults { arInfo.Successful += mr.Successful arInfo.Failed += mr.Failed @@ -80,10 +74,17 @@ func getAnalysisRunInfo(ownerUID types.UID, allAnalysisRuns []*v1alpha1.Analysis } } else { nonJobInfo := rollout.NonJobInfo{ - Value: measurement.Value, - Status: string(measurement.Phase), - StartedAt: measurement.StartedAt, - MetricName: mr.Name, + Value: measurement.Value, + Status: string(measurement.Phase), + StartedAt: measurement.StartedAt, + MetricName: mr.Name, + Successful: mr.Successful, + Error: mr.Error, + Failed: mr.Failed, + Inconclusive: mr.Inconclusive, + ConsecutiveError: mr.ConsecutiveError, + Message: mr.Message, + Phase: string(mr.Phase), } arInfo.NonJobInfo = append(arInfo.NonJobInfo, &nonJobInfo) } diff --git a/ui/src/models/rollout/generated/api.ts b/ui/src/models/rollout/generated/api.ts index 151eb4b672..2d05d01f82 100755 --- a/ui/src/models/rollout/generated/api.ts +++ b/ui/src/models/rollout/generated/api.ts @@ -709,6 +709,168 @@ export interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1CanaryStrat */ minPodsPerReplicaSet?: number; } +/** + * + * @export + * @interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1CloudWatchMetric + */ +export interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1CloudWatchMetric { + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1CloudWatchMetric + */ + interval?: string; + /** + * + * @type {Array} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1CloudWatchMetric + */ + metricDataQueries?: Array; +} +/** + * + * @export + * @interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1CloudWatchMetricDataQuery + */ +export interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1CloudWatchMetricDataQuery { + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1CloudWatchMetricDataQuery + */ + id?: string; + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1CloudWatchMetricDataQuery + */ + expression?: string; + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1CloudWatchMetricDataQuery + */ + label?: string; + /** + * + * @type {GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1CloudWatchMetricStat} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1CloudWatchMetricDataQuery + */ + metricStat?: GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1CloudWatchMetricStat; + /** + * + * @type {K8sIoApimachineryPkgUtilIntstrIntOrString} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1CloudWatchMetricDataQuery + */ + period?: K8sIoApimachineryPkgUtilIntstrIntOrString; + /** + * + * @type {boolean} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1CloudWatchMetricDataQuery + */ + returnData?: boolean; +} +/** + * + * @export + * @interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1CloudWatchMetricStat + */ +export interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1CloudWatchMetricStat { + /** + * + * @type {GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1CloudWatchMetricStatMetric} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1CloudWatchMetricStat + */ + metric?: GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1CloudWatchMetricStatMetric; + /** + * + * @type {K8sIoApimachineryPkgUtilIntstrIntOrString} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1CloudWatchMetricStat + */ + period?: K8sIoApimachineryPkgUtilIntstrIntOrString; + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1CloudWatchMetricStat + */ + stat?: string; + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1CloudWatchMetricStat + */ + unit?: string; +} +/** + * + * @export + * @interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1CloudWatchMetricStatMetric + */ +export interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1CloudWatchMetricStatMetric { + /** + * + * @type {Array} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1CloudWatchMetricStatMetric + */ + dimensions?: Array; + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1CloudWatchMetricStatMetric + */ + metricName?: string; + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1CloudWatchMetricStatMetric + */ + namespace?: string; +} +/** + * + * @export + * @interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1CloudWatchMetricStatMetricDimension + */ +export interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1CloudWatchMetricStatMetricDimension { + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1CloudWatchMetricStatMetricDimension + */ + name?: string; + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1CloudWatchMetricStatMetricDimension + */ + value?: string; +} +/** + * + * @export + * @interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1DatadogMetric + */ +export interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1DatadogMetric { + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1DatadogMetric + */ + interval?: string; + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1DatadogMetric + */ + query?: string; + /** + * ApiVersion refers to the Datadog API version being used (default: v1). v1 will eventually be deprecated. + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1DatadogMetric + */ + apiVersion?: string; +} /** * DryRun defines the settings for running the analysis in Dry-Run mode. * @export @@ -735,6 +897,25 @@ export interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1FieldRef { */ fieldPath?: string; } +/** + * + * @export + * @interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1GraphiteMetric + */ +export interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1GraphiteMetric { + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1GraphiteMetric + */ + address?: string; + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1GraphiteMetric + */ + query?: string; +} /** * * @export @@ -754,6 +935,25 @@ export interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1HeaderRouti */ headerValue?: GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1StringMatch; } +/** + * + * @export + * @interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1InfluxdbMetric + */ +export interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1InfluxdbMetric { + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1InfluxdbMetric + */ + profile?: string; + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1InfluxdbMetric + */ + query?: string; +} /** * * @export @@ -835,6 +1035,124 @@ export interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1IstioVirtua */ tcpRoutes?: Array; } +/** + * + * @export + * @interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1JobMetric + */ +export interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1JobMetric { + /** + * + * @type {K8sIoApimachineryPkgApisMetaV1ObjectMeta} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1JobMetric + */ + metadata?: K8sIoApimachineryPkgApisMetaV1ObjectMeta; + /** + * + * @type {K8sIoApiBatchV1JobSpec} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1JobMetric + */ + spec?: K8sIoApiBatchV1JobSpec; +} +/** + * + * @export + * @interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1KayentaMetric + */ +export interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1KayentaMetric { + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1KayentaMetric + */ + address?: string; + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1KayentaMetric + */ + application?: string; + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1KayentaMetric + */ + canaryConfigName?: string; + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1KayentaMetric + */ + metricsAccountName?: string; + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1KayentaMetric + */ + configurationAccountName?: string; + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1KayentaMetric + */ + storageAccountName?: string; + /** + * + * @type {GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1KayentaThreshold} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1KayentaMetric + */ + threshold?: GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1KayentaThreshold; + /** + * + * @type {Array} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1KayentaMetric + */ + scopes?: Array; +} +/** + * + * @export + * @interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1KayentaScope + */ +export interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1KayentaScope { + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1KayentaScope + */ + name?: string; + /** + * + * @type {GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1ScopeDetail} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1KayentaScope + */ + controlScope?: GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1ScopeDetail; + /** + * + * @type {GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1ScopeDetail} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1KayentaScope + */ + experimentScope?: GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1ScopeDetail; +} +/** + * + * @export + * @interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1KayentaThreshold + */ +export interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1KayentaThreshold { + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1KayentaThreshold + */ + pass?: string; + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1KayentaThreshold + */ + marginal?: string; +} /** * * @export @@ -867,6 +1185,104 @@ export interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1Measurement */ limit?: number; } +/** + * + * @export + * @interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1MetricProvider + */ +export interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1MetricProvider { + /** + * + * @type {GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1PrometheusMetric} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1MetricProvider + */ + prometheus?: GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1PrometheusMetric; + /** + * + * @type {GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1KayentaMetric} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1MetricProvider + */ + kayenta?: GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1KayentaMetric; + /** + * + * @type {GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1WebMetric} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1MetricProvider + */ + web?: GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1WebMetric; + /** + * + * @type {GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1DatadogMetric} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1MetricProvider + */ + datadog?: GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1DatadogMetric; + /** + * + * @type {GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1WavefrontMetric} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1MetricProvider + */ + wavefront?: GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1WavefrontMetric; + /** + * + * @type {GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1NewRelicMetric} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1MetricProvider + */ + newRelic?: GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1NewRelicMetric; + /** + * + * @type {GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1JobMetric} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1MetricProvider + */ + job?: GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1JobMetric; + /** + * + * @type {GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1CloudWatchMetric} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1MetricProvider + */ + cloudWatch?: GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1CloudWatchMetric; + /** + * + * @type {GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1GraphiteMetric} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1MetricProvider + */ + graphite?: GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1GraphiteMetric; + /** + * + * @type {GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1InfluxdbMetric} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1MetricProvider + */ + influxdb?: GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1InfluxdbMetric; + /** + * + * @type {GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1SkyWalkingMetric} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1MetricProvider + */ + skywalking?: GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1SkyWalkingMetric; + /** + * + * @type {{ [key: string]: string; }} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1MetricProvider + */ + plugin?: { [key: string]: string; }; +} +/** + * + * @export + * @interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1NewRelicMetric + */ +export interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1NewRelicMetric { + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1NewRelicMetric + */ + profile?: string; + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1NewRelicMetric + */ + query?: string; +} /** * * @export @@ -993,6 +1409,62 @@ export interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1PreferredDu */ weight?: number; } +/** + * + * @export + * @interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1PrometheusAuth + */ +export interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1PrometheusAuth { + /** + * + * @type {GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1Sigv4Config} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1PrometheusAuth + */ + sigv4?: GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1Sigv4Config; +} +/** + * + * @export + * @interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1PrometheusMetric + */ +export interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1PrometheusMetric { + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1PrometheusMetric + */ + address?: string; + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1PrometheusMetric + */ + query?: string; + /** + * + * @type {GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1PrometheusAuth} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1PrometheusMetric + */ + authentication?: GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1PrometheusAuth; + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1PrometheusMetric + */ + timeout?: string; + /** + * + * @type {boolean} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1PrometheusMetric + */ + insecure?: boolean; + /** + * + * @type {Array} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1PrometheusMetric + */ + headers?: Array; +} /** * * @export @@ -1683,6 +2155,43 @@ export interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1SMITrafficR */ trafficSplitName?: string; } +/** + * + * @export + * @interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1ScopeDetail + */ +export interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1ScopeDetail { + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1ScopeDetail + */ + scope?: string; + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1ScopeDetail + */ + region?: string; + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1ScopeDetail + */ + step?: string; + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1ScopeDetail + */ + start?: string; + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1ScopeDetail + */ + end?: string; +} /** * * @export @@ -1711,46 +2220,96 @@ export interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1SetCanarySc /** * * @export - * @interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1SetHeaderRoute + * @interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1SetHeaderRoute + */ +export interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1SetHeaderRoute { + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1SetHeaderRoute + */ + name?: string; + /** + * + * @type {Array} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1SetHeaderRoute + */ + match?: Array; +} +/** + * + * @export + * @interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1SetMirrorRoute + */ +export interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1SetMirrorRoute { + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1SetMirrorRoute + */ + name?: string; + /** + * + * @type {Array} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1SetMirrorRoute + */ + match?: Array; + /** + * + * @type {number} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1SetMirrorRoute + */ + percentage?: number; +} +/** + * + * @export + * @interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1Sigv4Config */ -export interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1SetHeaderRoute { +export interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1Sigv4Config { /** * * @type {string} - * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1SetHeaderRoute + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1Sigv4Config */ - name?: string; + address?: string; /** * - * @type {Array} - * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1SetHeaderRoute + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1Sigv4Config */ - match?: Array; + profile?: string; + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1Sigv4Config + */ + roleArn?: string; } /** * * @export - * @interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1SetMirrorRoute + * @interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1SkyWalkingMetric */ -export interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1SetMirrorRoute { +export interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1SkyWalkingMetric { /** * * @type {string} - * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1SetMirrorRoute + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1SkyWalkingMetric */ - name?: string; + address?: string; /** * - * @type {Array} - * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1SetMirrorRoute + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1SkyWalkingMetric */ - match?: Array; + query?: string; /** * - * @type {number} - * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1SetMirrorRoute + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1SkyWalkingMetric */ - percentage?: number; + interval?: string; } /** * @@ -1885,6 +2444,99 @@ export interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1TrafficWeig */ verified?: boolean; } +/** + * + * @export + * @interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1WavefrontMetric + */ +export interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1WavefrontMetric { + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1WavefrontMetric + */ + address?: string; + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1WavefrontMetric + */ + query?: string; +} +/** + * + * @export + * @interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1WebMetric + */ +export interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1WebMetric { + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1WebMetric + */ + method?: string; + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1WebMetric + */ + url?: string; + /** + * + * @type {Array} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1WebMetric + */ + headers?: Array; + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1WebMetric + */ + body?: string; + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1WebMetric + */ + timeoutSeconds?: string; + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1WebMetric + */ + jsonPath?: string; + /** + * + * @type {boolean} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1WebMetric + */ + insecure?: boolean; + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1WebMetric + */ + jsonBody?: string; +} +/** + * + * @export + * @interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1WebMetricHeader + */ +export interface GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1WebMetricHeader { + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1WebMetricHeader + */ + key?: string; + /** + * + * @type {string} + * @memberof GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1WebMetricHeader + */ + value?: string; +} /** * * @export @@ -1997,6 +2649,161 @@ export interface GrpcGatewayRuntimeStreamError { */ details?: Array; } +/** + * JobSpec describes how the job execution will look like. + * @export + * @interface K8sIoApiBatchV1JobSpec + */ +export interface K8sIoApiBatchV1JobSpec { + /** + * + * @type {number} + * @memberof K8sIoApiBatchV1JobSpec + */ + parallelism?: number; + /** + * + * @type {number} + * @memberof K8sIoApiBatchV1JobSpec + */ + completions?: number; + /** + * + * @type {string} + * @memberof K8sIoApiBatchV1JobSpec + */ + activeDeadlineSeconds?: string; + /** + * + * @type {K8sIoApiBatchV1PodFailurePolicy} + * @memberof K8sIoApiBatchV1JobSpec + */ + podFailurePolicy?: K8sIoApiBatchV1PodFailurePolicy; + /** + * + * @type {number} + * @memberof K8sIoApiBatchV1JobSpec + */ + backoffLimit?: number; + /** + * + * @type {K8sIoApimachineryPkgApisMetaV1LabelSelector} + * @memberof K8sIoApiBatchV1JobSpec + */ + selector?: K8sIoApimachineryPkgApisMetaV1LabelSelector; + /** + * + * @type {boolean} + * @memberof K8sIoApiBatchV1JobSpec + */ + manualSelector?: boolean; + /** + * + * @type {K8sIoApiCoreV1PodTemplateSpec} + * @memberof K8sIoApiBatchV1JobSpec + */ + template?: K8sIoApiCoreV1PodTemplateSpec; + /** + * + * @type {number} + * @memberof K8sIoApiBatchV1JobSpec + */ + ttlSecondsAfterFinished?: number; + /** + * CompletionMode specifies how Pod completions are tracked. It can be `NonIndexed` (default) or `Indexed`. `NonIndexed` means that the Job is considered complete when there have been .spec.completions successfully completed Pods. Each Pod completion is homologous to each other. `Indexed` means that the Pods of a Job get an associated completion index from 0 to (.spec.completions - 1), available in the annotation batch.kubernetes.io/job-completion-index. The Job is considered complete when there is one successfully completed Pod for each index. When value is `Indexed`, .spec.completions must be specified and `.spec.parallelism` must be less than or equal to 10^5. In addition, The Pod name takes the form `$(job-name)-$(index)-$(random-string)`, the Pod hostname takes the form `$(job-name)-$(index)`. More completion modes can be added in the future. If the Job controller observes a mode that it doesn't recognize, which is possible during upgrades due to version skew, the controller skips updates for the Job. +optional + * @type {string} + * @memberof K8sIoApiBatchV1JobSpec + */ + completionMode?: string; + /** + * Suspend specifies whether the Job controller should create Pods or not. If a Job is created with suspend set to true, no Pods are created by the Job controller. If a Job is suspended after creation (i.e. the flag goes from false to true), the Job controller will delete all active Pods associated with this Job. Users must design their workload to gracefully handle this. Suspending a Job will reset the StartTime field of the Job, effectively resetting the ActiveDeadlineSeconds timer too. Defaults to false. +optional + * @type {boolean} + * @memberof K8sIoApiBatchV1JobSpec + */ + suspend?: boolean; +} +/** + * PodFailurePolicy describes how failed pods influence the backoffLimit. + * @export + * @interface K8sIoApiBatchV1PodFailurePolicy + */ +export interface K8sIoApiBatchV1PodFailurePolicy { + /** + * + * @type {Array} + * @memberof K8sIoApiBatchV1PodFailurePolicy + */ + rules?: Array; +} +/** + * PodFailurePolicyOnExitCodesRequirement describes the requirement for handling a failed pod based on its container exit codes. In particular, it lookups the .state.terminated.exitCode for each app container and init container status, represented by the .status.containerStatuses and .status.initContainerStatuses fields in the Pod status, respectively. Containers completed with success (exit code 0) are excluded from the requirement check. + * @export + * @interface K8sIoApiBatchV1PodFailurePolicyOnExitCodesRequirement + */ +export interface K8sIoApiBatchV1PodFailurePolicyOnExitCodesRequirement { + /** + * + * @type {string} + * @memberof K8sIoApiBatchV1PodFailurePolicyOnExitCodesRequirement + */ + containerName?: string; + /** + * Represents the relationship between the container exit code(s) and the specified values. Containers completed with success (exit code 0) are excluded from the requirement check. Possible values are: - In: the requirement is satisfied if at least one container exit code (might be multiple if there are multiple containers not restricted by the 'containerName' field) is in the set of specified values. - NotIn: the requirement is satisfied if at least one container exit code (might be multiple if there are multiple containers not restricted by the 'containerName' field) is not in the set of specified values. Additional values are considered to be added in the future. Clients should react to an unknown operator by assuming the requirement is not satisfied. + * @type {string} + * @memberof K8sIoApiBatchV1PodFailurePolicyOnExitCodesRequirement + */ + operator?: string; + /** + * + * @type {Array} + * @memberof K8sIoApiBatchV1PodFailurePolicyOnExitCodesRequirement + */ + values?: Array; +} +/** + * PodFailurePolicyOnPodConditionsPattern describes a pattern for matching an actual pod condition type. + * @export + * @interface K8sIoApiBatchV1PodFailurePolicyOnPodConditionsPattern + */ +export interface K8sIoApiBatchV1PodFailurePolicyOnPodConditionsPattern { + /** + * Specifies the required Pod condition type. To match a pod condition it is required that specified type equals the pod condition type. + * @type {string} + * @memberof K8sIoApiBatchV1PodFailurePolicyOnPodConditionsPattern + */ + type?: string; + /** + * Specifies the required Pod condition status. To match a pod condition it is required that the specified status equals the pod condition status. Defaults to True. + * @type {string} + * @memberof K8sIoApiBatchV1PodFailurePolicyOnPodConditionsPattern + */ + status?: string; +} +/** + * PodFailurePolicyRule describes how a pod failure is handled when the requirements are met. One of OnExitCodes and onPodConditions, but not both, can be used in each rule. + * @export + * @interface K8sIoApiBatchV1PodFailurePolicyRule + */ +export interface K8sIoApiBatchV1PodFailurePolicyRule { + /** + * Specifies the action taken on a pod failure when the requirements are satisfied. Possible values are: - FailJob: indicates that the pod's job is marked as Failed and all running pods are terminated. - Ignore: indicates that the counter towards the .backoffLimit is not incremented and a replacement pod is created. - Count: indicates that the pod is handled in the default way - the counter towards the .backoffLimit is incremented. Additional values are considered to be added in the future. Clients should react to an unknown action by skipping the rule. + * @type {string} + * @memberof K8sIoApiBatchV1PodFailurePolicyRule + */ + action?: string; + /** + * + * @type {K8sIoApiBatchV1PodFailurePolicyOnExitCodesRequirement} + * @memberof K8sIoApiBatchV1PodFailurePolicyRule + */ + onExitCodes?: K8sIoApiBatchV1PodFailurePolicyOnExitCodesRequirement; + /** + * + * @type {Array} + * @memberof K8sIoApiBatchV1PodFailurePolicyRule + */ + onPodConditions?: Array; +} /** * Represents a Persistent Disk resource in AWS. An AWS EBS disk must exist before mounting to a container. The disk must also be in the same AWS zone as the kubelet. An AWS EBS disk can only be mounted as read/write once. AWS EBS volumes support ownership management and SELinux relabeling. * @export @@ -5514,6 +6321,12 @@ export interface RolloutAnalysisRunInfo { * @memberof RolloutAnalysisRunInfo */ revision?: string; + /** + * + * @type {string} + * @memberof RolloutAnalysisRunInfo + */ + message?: string; /** * * @type {string} @@ -5562,6 +6375,12 @@ export interface RolloutAnalysisRunInfo { * @memberof RolloutAnalysisRunInfo */ metrics?: Array; + /** + * + * @type {K8sIoApimachineryPkgApisMetaV1Time} + * @memberof RolloutAnalysisRunInfo + */ + startedAt?: K8sIoApimachineryPkgApisMetaV1Time; } /** * @@ -5686,6 +6505,18 @@ export interface RolloutMetrics { * @memberof RolloutMetrics */ successCondition?: string; + /** + * + * @type {string} + * @memberof RolloutMetrics + */ + failedConditioned?: string; + /** + * + * @type {string} + * @memberof RolloutMetrics + */ + interval?: string; /** * * @type {number} @@ -5704,6 +6535,18 @@ export interface RolloutMetrics { * @memberof RolloutMetrics */ failureLimit?: number; + /** + * + * @type {number} + * @memberof RolloutMetrics + */ + consecutiveErrorLimit?: number; + /** + * + * @type {GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1MetricProvider} + * @memberof RolloutMetrics + */ + provider?: GithubComArgoprojArgoRolloutsPkgApisRolloutsV1alpha1MetricProvider; } /** * @@ -5748,6 +6591,48 @@ export interface RolloutNonJobInfo { * @memberof RolloutNonJobInfo */ metricName?: string; + /** + * + * @type {string} + * @memberof RolloutNonJobInfo + */ + message?: string; + /** + * + * @type {string} + * @memberof RolloutNonJobInfo + */ + phase?: string; + /** + * + * @type {number} + * @memberof RolloutNonJobInfo + */ + successful?: number; + /** + * + * @type {number} + * @memberof RolloutNonJobInfo + */ + failed?: number; + /** + * + * @type {number} + * @memberof RolloutNonJobInfo + */ + inconclusive?: number; + /** + * + * @type {number} + * @memberof RolloutNonJobInfo + */ + error?: number; + /** + * + * @type {number} + * @memberof RolloutNonJobInfo + */ + consecutiveError?: number; /** * * @type {K8sIoApimachineryPkgApisMetaV1Time}