mirror of
https://github.com/prometheus/prometheus.git
synced 2024-11-09 23:24:05 -08:00
update client-go,api,api-machinery and klog dependencies
Signed-off-by: Tariq Ibrahim <tariq181290@gmail.com>
This commit is contained in:
parent
7efb8e9480
commit
00036cd1e5
|
@ -18,6 +18,7 @@ import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/prometheus/client_golang/prometheus"
|
"github.com/prometheus/client_golang/prometheus"
|
||||||
|
|
||||||
"k8s.io/client-go/tools/cache"
|
"k8s.io/client-go/tools/cache"
|
||||||
"k8s.io/client-go/tools/metrics"
|
"k8s.io/client-go/tools/metrics"
|
||||||
"k8s.io/client-go/util/workqueue"
|
"k8s.io/client-go/util/workqueue"
|
||||||
|
@ -163,19 +164,13 @@ var (
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
// gaugeSetFunc is an adapter that allows the use of functions as gauge metric setters.
|
|
||||||
type gaugeSetFunc func(float64)
|
|
||||||
|
|
||||||
func (s gaugeSetFunc) Set(value float64) {
|
|
||||||
s(value)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Definition of dummy metric used as a placeholder if we don't want to observe some data.
|
// Definition of dummy metric used as a placeholder if we don't want to observe some data.
|
||||||
type noopMetric struct{}
|
type noopMetric struct{}
|
||||||
|
|
||||||
func (noopMetric) Inc() {}
|
func (noopMetric) Inc() {}
|
||||||
func (noopMetric) Dec() {}
|
func (noopMetric) Dec() {}
|
||||||
func (noopMetric) Observe(float64) {}
|
func (noopMetric) Observe(float64) {}
|
||||||
|
func (noopMetric) Set(float64) {}
|
||||||
|
|
||||||
// Definition of client-go metrics adapters for HTTP requests observation
|
// Definition of client-go metrics adapters for HTTP requests observation
|
||||||
type clientGoRequestMetricAdapter struct{}
|
type clientGoRequestMetricAdapter struct{}
|
||||||
|
@ -251,14 +246,14 @@ func (f *clientGoWorkqueueMetricsProvider) NewDepthMetric(name string) workqueue
|
||||||
func (f *clientGoWorkqueueMetricsProvider) NewAddsMetric(name string) workqueue.CounterMetric {
|
func (f *clientGoWorkqueueMetricsProvider) NewAddsMetric(name string) workqueue.CounterMetric {
|
||||||
return clientGoWorkqueueAddsMetricVec.WithLabelValues(name)
|
return clientGoWorkqueueAddsMetricVec.WithLabelValues(name)
|
||||||
}
|
}
|
||||||
func (f *clientGoWorkqueueMetricsProvider) NewLatencyMetric(name string) workqueue.SummaryMetric {
|
func (f *clientGoWorkqueueMetricsProvider) NewLatencyMetric(name string) workqueue.HistogramMetric {
|
||||||
metric := clientGoWorkqueueLatencyMetricVec.WithLabelValues(name)
|
metric := clientGoWorkqueueLatencyMetricVec.WithLabelValues(name)
|
||||||
// Convert microseconds to seconds for consistency across metrics.
|
// Convert microseconds to seconds for consistency across metrics.
|
||||||
return prometheus.ObserverFunc(func(v float64) {
|
return prometheus.ObserverFunc(func(v float64) {
|
||||||
metric.Observe(v / 1e6)
|
metric.Observe(v / 1e6)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
func (f *clientGoWorkqueueMetricsProvider) NewWorkDurationMetric(name string) workqueue.SummaryMetric {
|
func (f *clientGoWorkqueueMetricsProvider) NewWorkDurationMetric(name string) workqueue.HistogramMetric {
|
||||||
metric := clientGoWorkqueueWorkDurationMetricVec.WithLabelValues(name)
|
metric := clientGoWorkqueueWorkDurationMetricVec.WithLabelValues(name)
|
||||||
// Convert microseconds to seconds for consistency across metrics.
|
// Convert microseconds to seconds for consistency across metrics.
|
||||||
return prometheus.ObserverFunc(func(v float64) {
|
return prometheus.ObserverFunc(func(v float64) {
|
||||||
|
@ -268,14 +263,31 @@ func (f *clientGoWorkqueueMetricsProvider) NewWorkDurationMetric(name string) wo
|
||||||
func (f *clientGoWorkqueueMetricsProvider) NewUnfinishedWorkSecondsMetric(name string) workqueue.SettableGaugeMetric {
|
func (f *clientGoWorkqueueMetricsProvider) NewUnfinishedWorkSecondsMetric(name string) workqueue.SettableGaugeMetric {
|
||||||
return clientGoWorkqueueUnfinishedWorkSecondsMetricVec.WithLabelValues(name)
|
return clientGoWorkqueueUnfinishedWorkSecondsMetricVec.WithLabelValues(name)
|
||||||
}
|
}
|
||||||
func (f *clientGoWorkqueueMetricsProvider) NewLongestRunningProcessorMicrosecondsMetric(name string) workqueue.SettableGaugeMetric {
|
func (f *clientGoWorkqueueMetricsProvider) NewLongestRunningProcessorSecondsMetric(name string) workqueue.SettableGaugeMetric {
|
||||||
metric := clientGoWorkqueueLongestRunningProcessorMetricVec.WithLabelValues(name)
|
return clientGoWorkqueueLongestRunningProcessorMetricVec.WithLabelValues(name)
|
||||||
return gaugeSetFunc(func(v float64) {
|
|
||||||
metric.Set(v / 1e6)
|
|
||||||
})
|
|
||||||
|
|
||||||
}
|
}
|
||||||
func (clientGoWorkqueueMetricsProvider) NewRetriesMetric(name string) workqueue.CounterMetric {
|
func (clientGoWorkqueueMetricsProvider) NewRetriesMetric(name string) workqueue.CounterMetric {
|
||||||
// Retries are not used so the metric is omitted.
|
// Retries are not used so the metric is omitted.
|
||||||
return noopMetric{}
|
return noopMetric{}
|
||||||
}
|
}
|
||||||
|
func (clientGoWorkqueueMetricsProvider) NewDeprecatedDepthMetric(name string) workqueue.GaugeMetric {
|
||||||
|
return noopMetric{}
|
||||||
|
}
|
||||||
|
func (clientGoWorkqueueMetricsProvider) NewDeprecatedAddsMetric(name string) workqueue.CounterMetric {
|
||||||
|
return noopMetric{}
|
||||||
|
}
|
||||||
|
func (clientGoWorkqueueMetricsProvider) NewDeprecatedLatencyMetric(name string) workqueue.SummaryMetric {
|
||||||
|
return noopMetric{}
|
||||||
|
}
|
||||||
|
func (f *clientGoWorkqueueMetricsProvider) NewDeprecatedWorkDurationMetric(name string) workqueue.SummaryMetric {
|
||||||
|
return noopMetric{}
|
||||||
|
}
|
||||||
|
func (f *clientGoWorkqueueMetricsProvider) NewDeprecatedUnfinishedWorkSecondsMetric(name string) workqueue.SettableGaugeMetric {
|
||||||
|
return noopMetric{}
|
||||||
|
}
|
||||||
|
func (f *clientGoWorkqueueMetricsProvider) NewDeprecatedLongestRunningProcessorMicrosecondsMetric(name string) workqueue.SettableGaugeMetric {
|
||||||
|
return noopMetric{}
|
||||||
|
}
|
||||||
|
func (clientGoWorkqueueMetricsProvider) NewDeprecatedRetriesMetric(name string) workqueue.CounterMetric {
|
||||||
|
return noopMetric{}
|
||||||
|
}
|
||||||
|
|
11
go.mod
11
go.mod
|
@ -39,7 +39,6 @@ require (
|
||||||
github.com/googleapis/gnostic v0.0.0-20180520015035-48a0ecefe2e4 // indirect
|
github.com/googleapis/gnostic v0.0.0-20180520015035-48a0ecefe2e4 // indirect
|
||||||
github.com/gophercloud/gophercloud v0.0.0-20190301152420-fca40860790e
|
github.com/gophercloud/gophercloud v0.0.0-20190301152420-fca40860790e
|
||||||
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 // indirect
|
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 // indirect
|
||||||
github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 // indirect
|
|
||||||
github.com/grpc-ecosystem/grpc-gateway v1.8.5
|
github.com/grpc-ecosystem/grpc-gateway v1.8.5
|
||||||
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect
|
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect
|
||||||
github.com/hashicorp/consul v1.4.4
|
github.com/hashicorp/consul v1.4.4
|
||||||
|
@ -72,7 +71,6 @@ require (
|
||||||
github.com/opentracing-contrib/go-stdlib v0.0.0-20170113013457-1de4cc2120e7
|
github.com/opentracing-contrib/go-stdlib v0.0.0-20170113013457-1de4cc2120e7
|
||||||
github.com/opentracing/basictracer-go v1.0.0 // indirect
|
github.com/opentracing/basictracer-go v1.0.0 // indirect
|
||||||
github.com/opentracing/opentracing-go v1.0.2
|
github.com/opentracing/opentracing-go v1.0.2
|
||||||
github.com/peterbourgon/diskv v0.0.0-20180312054125-0646ccaebea1 // indirect
|
|
||||||
github.com/peterbourgon/g2s v0.0.0-20170223122336-d4e7ad98afea // indirect
|
github.com/peterbourgon/g2s v0.0.0-20170223122336-d4e7ad98afea // indirect
|
||||||
github.com/petermattis/goid v0.0.0-20170504144140-0ded85884ba5 // indirect
|
github.com/petermattis/goid v0.0.0-20170504144140-0ded85884ba5 // indirect
|
||||||
github.com/pkg/errors v0.8.1
|
github.com/pkg/errors v0.8.1
|
||||||
|
@ -105,11 +103,12 @@ require (
|
||||||
gopkg.in/fsnotify/fsnotify.v1 v1.3.1
|
gopkg.in/fsnotify/fsnotify.v1 v1.3.1
|
||||||
gopkg.in/inf.v0 v0.9.1 // indirect
|
gopkg.in/inf.v0 v0.9.1 // indirect
|
||||||
gopkg.in/yaml.v2 v2.2.2
|
gopkg.in/yaml.v2 v2.2.2
|
||||||
k8s.io/api v0.0.0-20181213150558-05914d821849
|
k8s.io/api v0.0.0-20190409021203-6e4e0e4f393b
|
||||||
k8s.io/apimachinery v0.0.0-20181127025237-2b1284ed4c93
|
k8s.io/apimachinery v0.0.0-20190404173353-6a84e37a896d
|
||||||
k8s.io/client-go v2.0.0-alpha.0.0.20181121191925-a47917edff34+incompatible
|
k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible
|
||||||
k8s.io/klog v0.1.0
|
k8s.io/klog v0.3.0
|
||||||
k8s.io/kube-openapi v0.0.0-20180629012420-d83b052f768a // indirect
|
k8s.io/kube-openapi v0.0.0-20180629012420-d83b052f768a // indirect
|
||||||
|
k8s.io/utils v0.0.0-20190308190857-21c4ce38f2a7 // indirect
|
||||||
sigs.k8s.io/yaml v1.1.0 // indirect
|
sigs.k8s.io/yaml v1.1.0 // indirect
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
18
go.sum
18
go.sum
|
@ -127,8 +127,6 @@ github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGa
|
||||||
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
|
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
|
||||||
github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg=
|
github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg=
|
||||||
github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
|
github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
|
||||||
github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 h1:pdN6V1QBWetyv/0+wjACpqVH+eVULgEjkurDLq3goeM=
|
|
||||||
github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
|
|
||||||
github.com/grpc-ecosystem/grpc-gateway v1.8.5 h1:2+KSC78XiO6Qy0hIjfc1OD9H+hsaJdJlb8Kqsd41CTE=
|
github.com/grpc-ecosystem/grpc-gateway v1.8.5 h1:2+KSC78XiO6Qy0hIjfc1OD9H+hsaJdJlb8Kqsd41CTE=
|
||||||
github.com/grpc-ecosystem/grpc-gateway v1.8.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
|
github.com/grpc-ecosystem/grpc-gateway v1.8.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
|
||||||
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1:MJG/KsmcqMwFAkh8mTnAwhyKoB+sTAnY4CACC110tbU=
|
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1:MJG/KsmcqMwFAkh8mTnAwhyKoB+sTAnY4CACC110tbU=
|
||||||
|
@ -249,8 +247,6 @@ github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFSt
|
||||||
github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw=
|
github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw=
|
||||||
github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c h1:Lgl0gzECD8GnQ5QCWA8o6BtfL6mDH5rQgM4/fX3avOs=
|
github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c h1:Lgl0gzECD8GnQ5QCWA8o6BtfL6mDH5rQgM4/fX3avOs=
|
||||||
github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
|
github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
|
||||||
github.com/peterbourgon/diskv v0.0.0-20180312054125-0646ccaebea1 h1:k/dnb0bixQwWsDLxwr6/w7rtZCVDKdbQnGQkeZGYsws=
|
|
||||||
github.com/peterbourgon/diskv v0.0.0-20180312054125-0646ccaebea1/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU=
|
|
||||||
github.com/peterbourgon/g2s v0.0.0-20170223122336-d4e7ad98afea h1:sKwxy1H95npauwu8vtF95vG/syrL0p8fSZo/XlDg5gk=
|
github.com/peterbourgon/g2s v0.0.0-20170223122336-d4e7ad98afea h1:sKwxy1H95npauwu8vtF95vG/syrL0p8fSZo/XlDg5gk=
|
||||||
github.com/peterbourgon/g2s v0.0.0-20170223122336-d4e7ad98afea/go.mod h1:1VcHEd3ro4QMoHfiNl/j7Jkln9+KQuorp0PItHMJYNg=
|
github.com/peterbourgon/g2s v0.0.0-20170223122336-d4e7ad98afea/go.mod h1:1VcHEd3ro4QMoHfiNl/j7Jkln9+KQuorp0PItHMJYNg=
|
||||||
github.com/petermattis/goid v0.0.0-20170504144140-0ded85884ba5 h1:rUMC+oZ89Om6l9wvUNjzI0ZrKrSnXzV+opsgAohYUNc=
|
github.com/petermattis/goid v0.0.0-20170504144140-0ded85884ba5 h1:rUMC+oZ89Om6l9wvUNjzI0ZrKrSnXzV+opsgAohYUNc=
|
||||||
|
@ -414,13 +410,15 @@ gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
|
||||||
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||||
honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||||
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||||
k8s.io/api v0.0.0-20181213150558-05914d821849 h1:WZFcFPXmLR7g5CxQNmjWv0mg8qulJLxDghbzS4pQtzY=
|
k8s.io/api v0.0.0-20190409021203-6e4e0e4f393b h1:aBGgKJUM9Hk/3AE8WaZIApnTxG35kbuQba2w+SXqezo=
|
||||||
k8s.io/api v0.0.0-20181213150558-05914d821849/go.mod h1:iuAfoD4hCxJ8Onx9kaTIt30j7jUFS00AXQi6QMi99vA=
|
k8s.io/api v0.0.0-20190409021203-6e4e0e4f393b/go.mod h1:iuAfoD4hCxJ8Onx9kaTIt30j7jUFS00AXQi6QMi99vA=
|
||||||
k8s.io/apimachinery v0.0.0-20181127025237-2b1284ed4c93 h1:tT6oQBi0qwLbbZSfDkdIsb23EwaLY85hoAV4SpXfdao=
|
k8s.io/apimachinery v0.0.0-20190404173353-6a84e37a896d h1:Jmdtdt1ZnoGfWWIIik61Z7nKYgO3J+swQJtPYsP9wHA=
|
||||||
k8s.io/apimachinery v0.0.0-20181127025237-2b1284ed4c93/go.mod h1:ccL7Eh7zubPUSh9A3USN90/OzHNSVN6zxzde07TDCL0=
|
k8s.io/apimachinery v0.0.0-20190404173353-6a84e37a896d/go.mod h1:ccL7Eh7zubPUSh9A3USN90/OzHNSVN6zxzde07TDCL0=
|
||||||
k8s.io/client-go v2.0.0-alpha.0.0.20181121191925-a47917edff34+incompatible h1:7JnS1I1KbtbearjSCrycUhHSob+KjG6HDWY1GhjkAIU=
|
k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible h1:U5Bt+dab9K8qaUmXINrkXO135kA11/i5Kg1RUydgaMQ=
|
||||||
k8s.io/client-go v2.0.0-alpha.0.0.20181121191925-a47917edff34+incompatible/go.mod h1:7vJpHMYJwNQCWgzmNV+VYUl1zCObLyodBc8nIyt8L5s=
|
k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible/go.mod h1:7vJpHMYJwNQCWgzmNV+VYUl1zCObLyodBc8nIyt8L5s=
|
||||||
k8s.io/kube-openapi v0.0.0-20180629012420-d83b052f768a h1:tHgpQvrWaYfrnC8G4N0Oszw5HHCsZxKilDi2R7HuCSM=
|
k8s.io/kube-openapi v0.0.0-20180629012420-d83b052f768a h1:tHgpQvrWaYfrnC8G4N0Oszw5HHCsZxKilDi2R7HuCSM=
|
||||||
k8s.io/kube-openapi v0.0.0-20180629012420-d83b052f768a/go.mod h1:BXM9ceUBTj2QnfH2MK1odQs778ajze1RxcmP6S8RVVc=
|
k8s.io/kube-openapi v0.0.0-20180629012420-d83b052f768a/go.mod h1:BXM9ceUBTj2QnfH2MK1odQs778ajze1RxcmP6S8RVVc=
|
||||||
|
k8s.io/utils v0.0.0-20190308190857-21c4ce38f2a7 h1:8r+l4bNWjRlsFYlQJnKJ2p7s1YQPj4XyXiJVqDHRx7c=
|
||||||
|
k8s.io/utils v0.0.0-20190308190857-21c4ce38f2a7/go.mod h1:8k8uAuAQ0rXslZKaEWd0c3oVhZz7sSzSiPnVZayjIX0=
|
||||||
sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs=
|
sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs=
|
||||||
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
|
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
|
||||||
|
|
1
vendor/github.com/google/btree/.travis.yml
generated
vendored
1
vendor/github.com/google/btree/.travis.yml
generated
vendored
|
@ -1 +0,0 @@
|
||||||
language: go
|
|
12
vendor/github.com/google/btree/README.md
generated
vendored
12
vendor/github.com/google/btree/README.md
generated
vendored
|
@ -1,12 +0,0 @@
|
||||||
# BTree implementation for Go
|
|
||||||
|
|
||||||
![Travis CI Build Status](https://api.travis-ci.org/google/btree.svg?branch=master)
|
|
||||||
|
|
||||||
This package provides an in-memory B-Tree implementation for Go, useful as
|
|
||||||
an ordered, mutable data structure.
|
|
||||||
|
|
||||||
The API is based off of the wonderful
|
|
||||||
http://godoc.org/github.com/petar/GoLLRB/llrb, and is meant to allow btree to
|
|
||||||
act as a drop-in replacement for gollrb trees.
|
|
||||||
|
|
||||||
See http://godoc.org/github.com/google/btree for documentation.
|
|
890
vendor/github.com/google/btree/btree.go
generated
vendored
890
vendor/github.com/google/btree/btree.go
generated
vendored
|
@ -1,890 +0,0 @@
|
||||||
// Copyright 2014 Google Inc.
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
// Package btree implements in-memory B-Trees of arbitrary degree.
|
|
||||||
//
|
|
||||||
// btree implements an in-memory B-Tree for use as an ordered data structure.
|
|
||||||
// It is not meant for persistent storage solutions.
|
|
||||||
//
|
|
||||||
// It has a flatter structure than an equivalent red-black or other binary tree,
|
|
||||||
// which in some cases yields better memory usage and/or performance.
|
|
||||||
// See some discussion on the matter here:
|
|
||||||
// http://google-opensource.blogspot.com/2013/01/c-containers-that-save-memory-and-time.html
|
|
||||||
// Note, though, that this project is in no way related to the C++ B-Tree
|
|
||||||
// implementation written about there.
|
|
||||||
//
|
|
||||||
// Within this tree, each node contains a slice of items and a (possibly nil)
|
|
||||||
// slice of children. For basic numeric values or raw structs, this can cause
|
|
||||||
// efficiency differences when compared to equivalent C++ template code that
|
|
||||||
// stores values in arrays within the node:
|
|
||||||
// * Due to the overhead of storing values as interfaces (each
|
|
||||||
// value needs to be stored as the value itself, then 2 words for the
|
|
||||||
// interface pointing to that value and its type), resulting in higher
|
|
||||||
// memory use.
|
|
||||||
// * Since interfaces can point to values anywhere in memory, values are
|
|
||||||
// most likely not stored in contiguous blocks, resulting in a higher
|
|
||||||
// number of cache misses.
|
|
||||||
// These issues don't tend to matter, though, when working with strings or other
|
|
||||||
// heap-allocated structures, since C++-equivalent structures also must store
|
|
||||||
// pointers and also distribute their values across the heap.
|
|
||||||
//
|
|
||||||
// This implementation is designed to be a drop-in replacement to gollrb.LLRB
|
|
||||||
// trees, (http://github.com/petar/gollrb), an excellent and probably the most
|
|
||||||
// widely used ordered tree implementation in the Go ecosystem currently.
|
|
||||||
// Its functions, therefore, exactly mirror those of
|
|
||||||
// llrb.LLRB where possible. Unlike gollrb, though, we currently don't
|
|
||||||
// support storing multiple equivalent values.
|
|
||||||
package btree
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"io"
|
|
||||||
"sort"
|
|
||||||
"strings"
|
|
||||||
"sync"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Item represents a single object in the tree.
|
|
||||||
type Item interface {
|
|
||||||
// Less tests whether the current item is less than the given argument.
|
|
||||||
//
|
|
||||||
// This must provide a strict weak ordering.
|
|
||||||
// If !a.Less(b) && !b.Less(a), we treat this to mean a == b (i.e. we can only
|
|
||||||
// hold one of either a or b in the tree).
|
|
||||||
Less(than Item) bool
|
|
||||||
}
|
|
||||||
|
|
||||||
const (
|
|
||||||
DefaultFreeListSize = 32
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
nilItems = make(items, 16)
|
|
||||||
nilChildren = make(children, 16)
|
|
||||||
)
|
|
||||||
|
|
||||||
// FreeList represents a free list of btree nodes. By default each
|
|
||||||
// BTree has its own FreeList, but multiple BTrees can share the same
|
|
||||||
// FreeList.
|
|
||||||
// Two Btrees using the same freelist are safe for concurrent write access.
|
|
||||||
type FreeList struct {
|
|
||||||
mu sync.Mutex
|
|
||||||
freelist []*node
|
|
||||||
}
|
|
||||||
|
|
||||||
// NewFreeList creates a new free list.
|
|
||||||
// size is the maximum size of the returned free list.
|
|
||||||
func NewFreeList(size int) *FreeList {
|
|
||||||
return &FreeList{freelist: make([]*node, 0, size)}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (f *FreeList) newNode() (n *node) {
|
|
||||||
f.mu.Lock()
|
|
||||||
index := len(f.freelist) - 1
|
|
||||||
if index < 0 {
|
|
||||||
f.mu.Unlock()
|
|
||||||
return new(node)
|
|
||||||
}
|
|
||||||
n = f.freelist[index]
|
|
||||||
f.freelist[index] = nil
|
|
||||||
f.freelist = f.freelist[:index]
|
|
||||||
f.mu.Unlock()
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// freeNode adds the given node to the list, returning true if it was added
|
|
||||||
// and false if it was discarded.
|
|
||||||
func (f *FreeList) freeNode(n *node) (out bool) {
|
|
||||||
f.mu.Lock()
|
|
||||||
if len(f.freelist) < cap(f.freelist) {
|
|
||||||
f.freelist = append(f.freelist, n)
|
|
||||||
out = true
|
|
||||||
}
|
|
||||||
f.mu.Unlock()
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// ItemIterator allows callers of Ascend* to iterate in-order over portions of
|
|
||||||
// the tree. When this function returns false, iteration will stop and the
|
|
||||||
// associated Ascend* function will immediately return.
|
|
||||||
type ItemIterator func(i Item) bool
|
|
||||||
|
|
||||||
// New creates a new B-Tree with the given degree.
|
|
||||||
//
|
|
||||||
// New(2), for example, will create a 2-3-4 tree (each node contains 1-3 items
|
|
||||||
// and 2-4 children).
|
|
||||||
func New(degree int) *BTree {
|
|
||||||
return NewWithFreeList(degree, NewFreeList(DefaultFreeListSize))
|
|
||||||
}
|
|
||||||
|
|
||||||
// NewWithFreeList creates a new B-Tree that uses the given node free list.
|
|
||||||
func NewWithFreeList(degree int, f *FreeList) *BTree {
|
|
||||||
if degree <= 1 {
|
|
||||||
panic("bad degree")
|
|
||||||
}
|
|
||||||
return &BTree{
|
|
||||||
degree: degree,
|
|
||||||
cow: ©OnWriteContext{freelist: f},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// items stores items in a node.
|
|
||||||
type items []Item
|
|
||||||
|
|
||||||
// insertAt inserts a value into the given index, pushing all subsequent values
|
|
||||||
// forward.
|
|
||||||
func (s *items) insertAt(index int, item Item) {
|
|
||||||
*s = append(*s, nil)
|
|
||||||
if index < len(*s) {
|
|
||||||
copy((*s)[index+1:], (*s)[index:])
|
|
||||||
}
|
|
||||||
(*s)[index] = item
|
|
||||||
}
|
|
||||||
|
|
||||||
// removeAt removes a value at a given index, pulling all subsequent values
|
|
||||||
// back.
|
|
||||||
func (s *items) removeAt(index int) Item {
|
|
||||||
item := (*s)[index]
|
|
||||||
copy((*s)[index:], (*s)[index+1:])
|
|
||||||
(*s)[len(*s)-1] = nil
|
|
||||||
*s = (*s)[:len(*s)-1]
|
|
||||||
return item
|
|
||||||
}
|
|
||||||
|
|
||||||
// pop removes and returns the last element in the list.
|
|
||||||
func (s *items) pop() (out Item) {
|
|
||||||
index := len(*s) - 1
|
|
||||||
out = (*s)[index]
|
|
||||||
(*s)[index] = nil
|
|
||||||
*s = (*s)[:index]
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// truncate truncates this instance at index so that it contains only the
|
|
||||||
// first index items. index must be less than or equal to length.
|
|
||||||
func (s *items) truncate(index int) {
|
|
||||||
var toClear items
|
|
||||||
*s, toClear = (*s)[:index], (*s)[index:]
|
|
||||||
for len(toClear) > 0 {
|
|
||||||
toClear = toClear[copy(toClear, nilItems):]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// find returns the index where the given item should be inserted into this
|
|
||||||
// list. 'found' is true if the item already exists in the list at the given
|
|
||||||
// index.
|
|
||||||
func (s items) find(item Item) (index int, found bool) {
|
|
||||||
i := sort.Search(len(s), func(i int) bool {
|
|
||||||
return item.Less(s[i])
|
|
||||||
})
|
|
||||||
if i > 0 && !s[i-1].Less(item) {
|
|
||||||
return i - 1, true
|
|
||||||
}
|
|
||||||
return i, false
|
|
||||||
}
|
|
||||||
|
|
||||||
// children stores child nodes in a node.
|
|
||||||
type children []*node
|
|
||||||
|
|
||||||
// insertAt inserts a value into the given index, pushing all subsequent values
|
|
||||||
// forward.
|
|
||||||
func (s *children) insertAt(index int, n *node) {
|
|
||||||
*s = append(*s, nil)
|
|
||||||
if index < len(*s) {
|
|
||||||
copy((*s)[index+1:], (*s)[index:])
|
|
||||||
}
|
|
||||||
(*s)[index] = n
|
|
||||||
}
|
|
||||||
|
|
||||||
// removeAt removes a value at a given index, pulling all subsequent values
|
|
||||||
// back.
|
|
||||||
func (s *children) removeAt(index int) *node {
|
|
||||||
n := (*s)[index]
|
|
||||||
copy((*s)[index:], (*s)[index+1:])
|
|
||||||
(*s)[len(*s)-1] = nil
|
|
||||||
*s = (*s)[:len(*s)-1]
|
|
||||||
return n
|
|
||||||
}
|
|
||||||
|
|
||||||
// pop removes and returns the last element in the list.
|
|
||||||
func (s *children) pop() (out *node) {
|
|
||||||
index := len(*s) - 1
|
|
||||||
out = (*s)[index]
|
|
||||||
(*s)[index] = nil
|
|
||||||
*s = (*s)[:index]
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// truncate truncates this instance at index so that it contains only the
|
|
||||||
// first index children. index must be less than or equal to length.
|
|
||||||
func (s *children) truncate(index int) {
|
|
||||||
var toClear children
|
|
||||||
*s, toClear = (*s)[:index], (*s)[index:]
|
|
||||||
for len(toClear) > 0 {
|
|
||||||
toClear = toClear[copy(toClear, nilChildren):]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// node is an internal node in a tree.
|
|
||||||
//
|
|
||||||
// It must at all times maintain the invariant that either
|
|
||||||
// * len(children) == 0, len(items) unconstrained
|
|
||||||
// * len(children) == len(items) + 1
|
|
||||||
type node struct {
|
|
||||||
items items
|
|
||||||
children children
|
|
||||||
cow *copyOnWriteContext
|
|
||||||
}
|
|
||||||
|
|
||||||
func (n *node) mutableFor(cow *copyOnWriteContext) *node {
|
|
||||||
if n.cow == cow {
|
|
||||||
return n
|
|
||||||
}
|
|
||||||
out := cow.newNode()
|
|
||||||
if cap(out.items) >= len(n.items) {
|
|
||||||
out.items = out.items[:len(n.items)]
|
|
||||||
} else {
|
|
||||||
out.items = make(items, len(n.items), cap(n.items))
|
|
||||||
}
|
|
||||||
copy(out.items, n.items)
|
|
||||||
// Copy children
|
|
||||||
if cap(out.children) >= len(n.children) {
|
|
||||||
out.children = out.children[:len(n.children)]
|
|
||||||
} else {
|
|
||||||
out.children = make(children, len(n.children), cap(n.children))
|
|
||||||
}
|
|
||||||
copy(out.children, n.children)
|
|
||||||
return out
|
|
||||||
}
|
|
||||||
|
|
||||||
func (n *node) mutableChild(i int) *node {
|
|
||||||
c := n.children[i].mutableFor(n.cow)
|
|
||||||
n.children[i] = c
|
|
||||||
return c
|
|
||||||
}
|
|
||||||
|
|
||||||
// split splits the given node at the given index. The current node shrinks,
|
|
||||||
// and this function returns the item that existed at that index and a new node
|
|
||||||
// containing all items/children after it.
|
|
||||||
func (n *node) split(i int) (Item, *node) {
|
|
||||||
item := n.items[i]
|
|
||||||
next := n.cow.newNode()
|
|
||||||
next.items = append(next.items, n.items[i+1:]...)
|
|
||||||
n.items.truncate(i)
|
|
||||||
if len(n.children) > 0 {
|
|
||||||
next.children = append(next.children, n.children[i+1:]...)
|
|
||||||
n.children.truncate(i + 1)
|
|
||||||
}
|
|
||||||
return item, next
|
|
||||||
}
|
|
||||||
|
|
||||||
// maybeSplitChild checks if a child should be split, and if so splits it.
|
|
||||||
// Returns whether or not a split occurred.
|
|
||||||
func (n *node) maybeSplitChild(i, maxItems int) bool {
|
|
||||||
if len(n.children[i].items) < maxItems {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
first := n.mutableChild(i)
|
|
||||||
item, second := first.split(maxItems / 2)
|
|
||||||
n.items.insertAt(i, item)
|
|
||||||
n.children.insertAt(i+1, second)
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
// insert inserts an item into the subtree rooted at this node, making sure
|
|
||||||
// no nodes in the subtree exceed maxItems items. Should an equivalent item be
|
|
||||||
// be found/replaced by insert, it will be returned.
|
|
||||||
func (n *node) insert(item Item, maxItems int) Item {
|
|
||||||
i, found := n.items.find(item)
|
|
||||||
if found {
|
|
||||||
out := n.items[i]
|
|
||||||
n.items[i] = item
|
|
||||||
return out
|
|
||||||
}
|
|
||||||
if len(n.children) == 0 {
|
|
||||||
n.items.insertAt(i, item)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
if n.maybeSplitChild(i, maxItems) {
|
|
||||||
inTree := n.items[i]
|
|
||||||
switch {
|
|
||||||
case item.Less(inTree):
|
|
||||||
// no change, we want first split node
|
|
||||||
case inTree.Less(item):
|
|
||||||
i++ // we want second split node
|
|
||||||
default:
|
|
||||||
out := n.items[i]
|
|
||||||
n.items[i] = item
|
|
||||||
return out
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return n.mutableChild(i).insert(item, maxItems)
|
|
||||||
}
|
|
||||||
|
|
||||||
// get finds the given key in the subtree and returns it.
|
|
||||||
func (n *node) get(key Item) Item {
|
|
||||||
i, found := n.items.find(key)
|
|
||||||
if found {
|
|
||||||
return n.items[i]
|
|
||||||
} else if len(n.children) > 0 {
|
|
||||||
return n.children[i].get(key)
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// min returns the first item in the subtree.
|
|
||||||
func min(n *node) Item {
|
|
||||||
if n == nil {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
for len(n.children) > 0 {
|
|
||||||
n = n.children[0]
|
|
||||||
}
|
|
||||||
if len(n.items) == 0 {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
return n.items[0]
|
|
||||||
}
|
|
||||||
|
|
||||||
// max returns the last item in the subtree.
|
|
||||||
func max(n *node) Item {
|
|
||||||
if n == nil {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
for len(n.children) > 0 {
|
|
||||||
n = n.children[len(n.children)-1]
|
|
||||||
}
|
|
||||||
if len(n.items) == 0 {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
return n.items[len(n.items)-1]
|
|
||||||
}
|
|
||||||
|
|
||||||
// toRemove details what item to remove in a node.remove call.
|
|
||||||
type toRemove int
|
|
||||||
|
|
||||||
const (
|
|
||||||
removeItem toRemove = iota // removes the given item
|
|
||||||
removeMin // removes smallest item in the subtree
|
|
||||||
removeMax // removes largest item in the subtree
|
|
||||||
)
|
|
||||||
|
|
||||||
// remove removes an item from the subtree rooted at this node.
|
|
||||||
func (n *node) remove(item Item, minItems int, typ toRemove) Item {
|
|
||||||
var i int
|
|
||||||
var found bool
|
|
||||||
switch typ {
|
|
||||||
case removeMax:
|
|
||||||
if len(n.children) == 0 {
|
|
||||||
return n.items.pop()
|
|
||||||
}
|
|
||||||
i = len(n.items)
|
|
||||||
case removeMin:
|
|
||||||
if len(n.children) == 0 {
|
|
||||||
return n.items.removeAt(0)
|
|
||||||
}
|
|
||||||
i = 0
|
|
||||||
case removeItem:
|
|
||||||
i, found = n.items.find(item)
|
|
||||||
if len(n.children) == 0 {
|
|
||||||
if found {
|
|
||||||
return n.items.removeAt(i)
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
default:
|
|
||||||
panic("invalid type")
|
|
||||||
}
|
|
||||||
// If we get to here, we have children.
|
|
||||||
if len(n.children[i].items) <= minItems {
|
|
||||||
return n.growChildAndRemove(i, item, minItems, typ)
|
|
||||||
}
|
|
||||||
child := n.mutableChild(i)
|
|
||||||
// Either we had enough items to begin with, or we've done some
|
|
||||||
// merging/stealing, because we've got enough now and we're ready to return
|
|
||||||
// stuff.
|
|
||||||
if found {
|
|
||||||
// The item exists at index 'i', and the child we've selected can give us a
|
|
||||||
// predecessor, since if we've gotten here it's got > minItems items in it.
|
|
||||||
out := n.items[i]
|
|
||||||
// We use our special-case 'remove' call with typ=maxItem to pull the
|
|
||||||
// predecessor of item i (the rightmost leaf of our immediate left child)
|
|
||||||
// and set it into where we pulled the item from.
|
|
||||||
n.items[i] = child.remove(nil, minItems, removeMax)
|
|
||||||
return out
|
|
||||||
}
|
|
||||||
// Final recursive call. Once we're here, we know that the item isn't in this
|
|
||||||
// node and that the child is big enough to remove from.
|
|
||||||
return child.remove(item, minItems, typ)
|
|
||||||
}
|
|
||||||
|
|
||||||
// growChildAndRemove grows child 'i' to make sure it's possible to remove an
|
|
||||||
// item from it while keeping it at minItems, then calls remove to actually
|
|
||||||
// remove it.
|
|
||||||
//
|
|
||||||
// Most documentation says we have to do two sets of special casing:
|
|
||||||
// 1) item is in this node
|
|
||||||
// 2) item is in child
|
|
||||||
// In both cases, we need to handle the two subcases:
|
|
||||||
// A) node has enough values that it can spare one
|
|
||||||
// B) node doesn't have enough values
|
|
||||||
// For the latter, we have to check:
|
|
||||||
// a) left sibling has node to spare
|
|
||||||
// b) right sibling has node to spare
|
|
||||||
// c) we must merge
|
|
||||||
// To simplify our code here, we handle cases #1 and #2 the same:
|
|
||||||
// If a node doesn't have enough items, we make sure it does (using a,b,c).
|
|
||||||
// We then simply redo our remove call, and the second time (regardless of
|
|
||||||
// whether we're in case 1 or 2), we'll have enough items and can guarantee
|
|
||||||
// that we hit case A.
|
|
||||||
func (n *node) growChildAndRemove(i int, item Item, minItems int, typ toRemove) Item {
|
|
||||||
if i > 0 && len(n.children[i-1].items) > minItems {
|
|
||||||
// Steal from left child
|
|
||||||
child := n.mutableChild(i)
|
|
||||||
stealFrom := n.mutableChild(i - 1)
|
|
||||||
stolenItem := stealFrom.items.pop()
|
|
||||||
child.items.insertAt(0, n.items[i-1])
|
|
||||||
n.items[i-1] = stolenItem
|
|
||||||
if len(stealFrom.children) > 0 {
|
|
||||||
child.children.insertAt(0, stealFrom.children.pop())
|
|
||||||
}
|
|
||||||
} else if i < len(n.items) && len(n.children[i+1].items) > minItems {
|
|
||||||
// steal from right child
|
|
||||||
child := n.mutableChild(i)
|
|
||||||
stealFrom := n.mutableChild(i + 1)
|
|
||||||
stolenItem := stealFrom.items.removeAt(0)
|
|
||||||
child.items = append(child.items, n.items[i])
|
|
||||||
n.items[i] = stolenItem
|
|
||||||
if len(stealFrom.children) > 0 {
|
|
||||||
child.children = append(child.children, stealFrom.children.removeAt(0))
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if i >= len(n.items) {
|
|
||||||
i--
|
|
||||||
}
|
|
||||||
child := n.mutableChild(i)
|
|
||||||
// merge with right child
|
|
||||||
mergeItem := n.items.removeAt(i)
|
|
||||||
mergeChild := n.children.removeAt(i + 1)
|
|
||||||
child.items = append(child.items, mergeItem)
|
|
||||||
child.items = append(child.items, mergeChild.items...)
|
|
||||||
child.children = append(child.children, mergeChild.children...)
|
|
||||||
n.cow.freeNode(mergeChild)
|
|
||||||
}
|
|
||||||
return n.remove(item, minItems, typ)
|
|
||||||
}
|
|
||||||
|
|
||||||
type direction int
|
|
||||||
|
|
||||||
const (
|
|
||||||
descend = direction(-1)
|
|
||||||
ascend = direction(+1)
|
|
||||||
)
|
|
||||||
|
|
||||||
// iterate provides a simple method for iterating over elements in the tree.
|
|
||||||
//
|
|
||||||
// When ascending, the 'start' should be less than 'stop' and when descending,
|
|
||||||
// the 'start' should be greater than 'stop'. Setting 'includeStart' to true
|
|
||||||
// will force the iterator to include the first item when it equals 'start',
|
|
||||||
// thus creating a "greaterOrEqual" or "lessThanEqual" rather than just a
|
|
||||||
// "greaterThan" or "lessThan" queries.
|
|
||||||
func (n *node) iterate(dir direction, start, stop Item, includeStart bool, hit bool, iter ItemIterator) (bool, bool) {
|
|
||||||
var ok, found bool
|
|
||||||
var index int
|
|
||||||
switch dir {
|
|
||||||
case ascend:
|
|
||||||
if start != nil {
|
|
||||||
index, _ = n.items.find(start)
|
|
||||||
}
|
|
||||||
for i := index; i < len(n.items); i++ {
|
|
||||||
if len(n.children) > 0 {
|
|
||||||
if hit, ok = n.children[i].iterate(dir, start, stop, includeStart, hit, iter); !ok {
|
|
||||||
return hit, false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if !includeStart && !hit && start != nil && !start.Less(n.items[i]) {
|
|
||||||
hit = true
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
hit = true
|
|
||||||
if stop != nil && !n.items[i].Less(stop) {
|
|
||||||
return hit, false
|
|
||||||
}
|
|
||||||
if !iter(n.items[i]) {
|
|
||||||
return hit, false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if len(n.children) > 0 {
|
|
||||||
if hit, ok = n.children[len(n.children)-1].iterate(dir, start, stop, includeStart, hit, iter); !ok {
|
|
||||||
return hit, false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
case descend:
|
|
||||||
if start != nil {
|
|
||||||
index, found = n.items.find(start)
|
|
||||||
if !found {
|
|
||||||
index = index - 1
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
index = len(n.items) - 1
|
|
||||||
}
|
|
||||||
for i := index; i >= 0; i-- {
|
|
||||||
if start != nil && !n.items[i].Less(start) {
|
|
||||||
if !includeStart || hit || start.Less(n.items[i]) {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if len(n.children) > 0 {
|
|
||||||
if hit, ok = n.children[i+1].iterate(dir, start, stop, includeStart, hit, iter); !ok {
|
|
||||||
return hit, false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if stop != nil && !stop.Less(n.items[i]) {
|
|
||||||
return hit, false // continue
|
|
||||||
}
|
|
||||||
hit = true
|
|
||||||
if !iter(n.items[i]) {
|
|
||||||
return hit, false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if len(n.children) > 0 {
|
|
||||||
if hit, ok = n.children[0].iterate(dir, start, stop, includeStart, hit, iter); !ok {
|
|
||||||
return hit, false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return hit, true
|
|
||||||
}
|
|
||||||
|
|
||||||
// Used for testing/debugging purposes.
|
|
||||||
func (n *node) print(w io.Writer, level int) {
|
|
||||||
fmt.Fprintf(w, "%sNODE:%v\n", strings.Repeat(" ", level), n.items)
|
|
||||||
for _, c := range n.children {
|
|
||||||
c.print(w, level+1)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// BTree is an implementation of a B-Tree.
|
|
||||||
//
|
|
||||||
// BTree stores Item instances in an ordered structure, allowing easy insertion,
|
|
||||||
// removal, and iteration.
|
|
||||||
//
|
|
||||||
// Write operations are not safe for concurrent mutation by multiple
|
|
||||||
// goroutines, but Read operations are.
|
|
||||||
type BTree struct {
|
|
||||||
degree int
|
|
||||||
length int
|
|
||||||
root *node
|
|
||||||
cow *copyOnWriteContext
|
|
||||||
}
|
|
||||||
|
|
||||||
// copyOnWriteContext pointers determine node ownership... a tree with a write
|
|
||||||
// context equivalent to a node's write context is allowed to modify that node.
|
|
||||||
// A tree whose write context does not match a node's is not allowed to modify
|
|
||||||
// it, and must create a new, writable copy (IE: it's a Clone).
|
|
||||||
//
|
|
||||||
// When doing any write operation, we maintain the invariant that the current
|
|
||||||
// node's context is equal to the context of the tree that requested the write.
|
|
||||||
// We do this by, before we descend into any node, creating a copy with the
|
|
||||||
// correct context if the contexts don't match.
|
|
||||||
//
|
|
||||||
// Since the node we're currently visiting on any write has the requesting
|
|
||||||
// tree's context, that node is modifiable in place. Children of that node may
|
|
||||||
// not share context, but before we descend into them, we'll make a mutable
|
|
||||||
// copy.
|
|
||||||
type copyOnWriteContext struct {
|
|
||||||
freelist *FreeList
|
|
||||||
}
|
|
||||||
|
|
||||||
// Clone clones the btree, lazily. Clone should not be called concurrently,
|
|
||||||
// but the original tree (t) and the new tree (t2) can be used concurrently
|
|
||||||
// once the Clone call completes.
|
|
||||||
//
|
|
||||||
// The internal tree structure of b is marked read-only and shared between t and
|
|
||||||
// t2. Writes to both t and t2 use copy-on-write logic, creating new nodes
|
|
||||||
// whenever one of b's original nodes would have been modified. Read operations
|
|
||||||
// should have no performance degredation. Write operations for both t and t2
|
|
||||||
// will initially experience minor slow-downs caused by additional allocs and
|
|
||||||
// copies due to the aforementioned copy-on-write logic, but should converge to
|
|
||||||
// the original performance characteristics of the original tree.
|
|
||||||
func (t *BTree) Clone() (t2 *BTree) {
|
|
||||||
// Create two entirely new copy-on-write contexts.
|
|
||||||
// This operation effectively creates three trees:
|
|
||||||
// the original, shared nodes (old b.cow)
|
|
||||||
// the new b.cow nodes
|
|
||||||
// the new out.cow nodes
|
|
||||||
cow1, cow2 := *t.cow, *t.cow
|
|
||||||
out := *t
|
|
||||||
t.cow = &cow1
|
|
||||||
out.cow = &cow2
|
|
||||||
return &out
|
|
||||||
}
|
|
||||||
|
|
||||||
// maxItems returns the max number of items to allow per node.
|
|
||||||
func (t *BTree) maxItems() int {
|
|
||||||
return t.degree*2 - 1
|
|
||||||
}
|
|
||||||
|
|
||||||
// minItems returns the min number of items to allow per node (ignored for the
|
|
||||||
// root node).
|
|
||||||
func (t *BTree) minItems() int {
|
|
||||||
return t.degree - 1
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *copyOnWriteContext) newNode() (n *node) {
|
|
||||||
n = c.freelist.newNode()
|
|
||||||
n.cow = c
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
type freeType int
|
|
||||||
|
|
||||||
const (
|
|
||||||
ftFreelistFull freeType = iota // node was freed (available for GC, not stored in freelist)
|
|
||||||
ftStored // node was stored in the freelist for later use
|
|
||||||
ftNotOwned // node was ignored by COW, since it's owned by another one
|
|
||||||
)
|
|
||||||
|
|
||||||
// freeNode frees a node within a given COW context, if it's owned by that
|
|
||||||
// context. It returns what happened to the node (see freeType const
|
|
||||||
// documentation).
|
|
||||||
func (c *copyOnWriteContext) freeNode(n *node) freeType {
|
|
||||||
if n.cow == c {
|
|
||||||
// clear to allow GC
|
|
||||||
n.items.truncate(0)
|
|
||||||
n.children.truncate(0)
|
|
||||||
n.cow = nil
|
|
||||||
if c.freelist.freeNode(n) {
|
|
||||||
return ftStored
|
|
||||||
} else {
|
|
||||||
return ftFreelistFull
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
return ftNotOwned
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// ReplaceOrInsert adds the given item to the tree. If an item in the tree
|
|
||||||
// already equals the given one, it is removed from the tree and returned.
|
|
||||||
// Otherwise, nil is returned.
|
|
||||||
//
|
|
||||||
// nil cannot be added to the tree (will panic).
|
|
||||||
func (t *BTree) ReplaceOrInsert(item Item) Item {
|
|
||||||
if item == nil {
|
|
||||||
panic("nil item being added to BTree")
|
|
||||||
}
|
|
||||||
if t.root == nil {
|
|
||||||
t.root = t.cow.newNode()
|
|
||||||
t.root.items = append(t.root.items, item)
|
|
||||||
t.length++
|
|
||||||
return nil
|
|
||||||
} else {
|
|
||||||
t.root = t.root.mutableFor(t.cow)
|
|
||||||
if len(t.root.items) >= t.maxItems() {
|
|
||||||
item2, second := t.root.split(t.maxItems() / 2)
|
|
||||||
oldroot := t.root
|
|
||||||
t.root = t.cow.newNode()
|
|
||||||
t.root.items = append(t.root.items, item2)
|
|
||||||
t.root.children = append(t.root.children, oldroot, second)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
out := t.root.insert(item, t.maxItems())
|
|
||||||
if out == nil {
|
|
||||||
t.length++
|
|
||||||
}
|
|
||||||
return out
|
|
||||||
}
|
|
||||||
|
|
||||||
// Delete removes an item equal to the passed in item from the tree, returning
|
|
||||||
// it. If no such item exists, returns nil.
|
|
||||||
func (t *BTree) Delete(item Item) Item {
|
|
||||||
return t.deleteItem(item, removeItem)
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeleteMin removes the smallest item in the tree and returns it.
|
|
||||||
// If no such item exists, returns nil.
|
|
||||||
func (t *BTree) DeleteMin() Item {
|
|
||||||
return t.deleteItem(nil, removeMin)
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeleteMax removes the largest item in the tree and returns it.
|
|
||||||
// If no such item exists, returns nil.
|
|
||||||
func (t *BTree) DeleteMax() Item {
|
|
||||||
return t.deleteItem(nil, removeMax)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *BTree) deleteItem(item Item, typ toRemove) Item {
|
|
||||||
if t.root == nil || len(t.root.items) == 0 {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
t.root = t.root.mutableFor(t.cow)
|
|
||||||
out := t.root.remove(item, t.minItems(), typ)
|
|
||||||
if len(t.root.items) == 0 && len(t.root.children) > 0 {
|
|
||||||
oldroot := t.root
|
|
||||||
t.root = t.root.children[0]
|
|
||||||
t.cow.freeNode(oldroot)
|
|
||||||
}
|
|
||||||
if out != nil {
|
|
||||||
t.length--
|
|
||||||
}
|
|
||||||
return out
|
|
||||||
}
|
|
||||||
|
|
||||||
// AscendRange calls the iterator for every value in the tree within the range
|
|
||||||
// [greaterOrEqual, lessThan), until iterator returns false.
|
|
||||||
func (t *BTree) AscendRange(greaterOrEqual, lessThan Item, iterator ItemIterator) {
|
|
||||||
if t.root == nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
t.root.iterate(ascend, greaterOrEqual, lessThan, true, false, iterator)
|
|
||||||
}
|
|
||||||
|
|
||||||
// AscendLessThan calls the iterator for every value in the tree within the range
|
|
||||||
// [first, pivot), until iterator returns false.
|
|
||||||
func (t *BTree) AscendLessThan(pivot Item, iterator ItemIterator) {
|
|
||||||
if t.root == nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
t.root.iterate(ascend, nil, pivot, false, false, iterator)
|
|
||||||
}
|
|
||||||
|
|
||||||
// AscendGreaterOrEqual calls the iterator for every value in the tree within
|
|
||||||
// the range [pivot, last], until iterator returns false.
|
|
||||||
func (t *BTree) AscendGreaterOrEqual(pivot Item, iterator ItemIterator) {
|
|
||||||
if t.root == nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
t.root.iterate(ascend, pivot, nil, true, false, iterator)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Ascend calls the iterator for every value in the tree within the range
|
|
||||||
// [first, last], until iterator returns false.
|
|
||||||
func (t *BTree) Ascend(iterator ItemIterator) {
|
|
||||||
if t.root == nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
t.root.iterate(ascend, nil, nil, false, false, iterator)
|
|
||||||
}
|
|
||||||
|
|
||||||
// DescendRange calls the iterator for every value in the tree within the range
|
|
||||||
// [lessOrEqual, greaterThan), until iterator returns false.
|
|
||||||
func (t *BTree) DescendRange(lessOrEqual, greaterThan Item, iterator ItemIterator) {
|
|
||||||
if t.root == nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
t.root.iterate(descend, lessOrEqual, greaterThan, true, false, iterator)
|
|
||||||
}
|
|
||||||
|
|
||||||
// DescendLessOrEqual calls the iterator for every value in the tree within the range
|
|
||||||
// [pivot, first], until iterator returns false.
|
|
||||||
func (t *BTree) DescendLessOrEqual(pivot Item, iterator ItemIterator) {
|
|
||||||
if t.root == nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
t.root.iterate(descend, pivot, nil, true, false, iterator)
|
|
||||||
}
|
|
||||||
|
|
||||||
// DescendGreaterThan calls the iterator for every value in the tree within
|
|
||||||
// the range (pivot, last], until iterator returns false.
|
|
||||||
func (t *BTree) DescendGreaterThan(pivot Item, iterator ItemIterator) {
|
|
||||||
if t.root == nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
t.root.iterate(descend, nil, pivot, false, false, iterator)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Descend calls the iterator for every value in the tree within the range
|
|
||||||
// [last, first], until iterator returns false.
|
|
||||||
func (t *BTree) Descend(iterator ItemIterator) {
|
|
||||||
if t.root == nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
t.root.iterate(descend, nil, nil, false, false, iterator)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get looks for the key item in the tree, returning it. It returns nil if
|
|
||||||
// unable to find that item.
|
|
||||||
func (t *BTree) Get(key Item) Item {
|
|
||||||
if t.root == nil {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
return t.root.get(key)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Min returns the smallest item in the tree, or nil if the tree is empty.
|
|
||||||
func (t *BTree) Min() Item {
|
|
||||||
return min(t.root)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Max returns the largest item in the tree, or nil if the tree is empty.
|
|
||||||
func (t *BTree) Max() Item {
|
|
||||||
return max(t.root)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Has returns true if the given key is in the tree.
|
|
||||||
func (t *BTree) Has(key Item) bool {
|
|
||||||
return t.Get(key) != nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Len returns the number of items currently in the tree.
|
|
||||||
func (t *BTree) Len() int {
|
|
||||||
return t.length
|
|
||||||
}
|
|
||||||
|
|
||||||
// Clear removes all items from the btree. If addNodesToFreelist is true,
|
|
||||||
// t's nodes are added to its freelist as part of this call, until the freelist
|
|
||||||
// is full. Otherwise, the root node is simply dereferenced and the subtree
|
|
||||||
// left to Go's normal GC processes.
|
|
||||||
//
|
|
||||||
// This can be much faster
|
|
||||||
// than calling Delete on all elements, because that requires finding/removing
|
|
||||||
// each element in the tree and updating the tree accordingly. It also is
|
|
||||||
// somewhat faster than creating a new tree to replace the old one, because
|
|
||||||
// nodes from the old tree are reclaimed into the freelist for use by the new
|
|
||||||
// one, instead of being lost to the garbage collector.
|
|
||||||
//
|
|
||||||
// This call takes:
|
|
||||||
// O(1): when addNodesToFreelist is false, this is a single operation.
|
|
||||||
// O(1): when the freelist is already full, it breaks out immediately
|
|
||||||
// O(freelist size): when the freelist is empty and the nodes are all owned
|
|
||||||
// by this tree, nodes are added to the freelist until full.
|
|
||||||
// O(tree size): when all nodes are owned by another tree, all nodes are
|
|
||||||
// iterated over looking for nodes to add to the freelist, and due to
|
|
||||||
// ownership, none are.
|
|
||||||
func (t *BTree) Clear(addNodesToFreelist bool) {
|
|
||||||
if t.root != nil && addNodesToFreelist {
|
|
||||||
t.root.reset(t.cow)
|
|
||||||
}
|
|
||||||
t.root, t.length = nil, 0
|
|
||||||
}
|
|
||||||
|
|
||||||
// reset returns a subtree to the freelist. It breaks out immediately if the
|
|
||||||
// freelist is full, since the only benefit of iterating is to fill that
|
|
||||||
// freelist up. Returns true if parent reset call should continue.
|
|
||||||
func (n *node) reset(c *copyOnWriteContext) bool {
|
|
||||||
for _, child := range n.children {
|
|
||||||
if !child.reset(c) {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return c.freeNode(n) != ftFreelistFull
|
|
||||||
}
|
|
||||||
|
|
||||||
// Int implements the Item interface for integers.
|
|
||||||
type Int int
|
|
||||||
|
|
||||||
// Less returns true if int(a) < int(b).
|
|
||||||
func (a Int) Less(b Item) bool {
|
|
||||||
return a < b.(Int)
|
|
||||||
}
|
|
76
vendor/github.com/google/btree/btree_mem.go
generated
vendored
76
vendor/github.com/google/btree/btree_mem.go
generated
vendored
|
@ -1,76 +0,0 @@
|
||||||
// Copyright 2014 Google Inc.
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
// +build ignore
|
|
||||||
|
|
||||||
// This binary compares memory usage between btree and gollrb.
|
|
||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"flag"
|
|
||||||
"fmt"
|
|
||||||
"math/rand"
|
|
||||||
"runtime"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/google/btree"
|
|
||||||
"github.com/petar/GoLLRB/llrb"
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
size = flag.Int("size", 1000000, "size of the tree to build")
|
|
||||||
degree = flag.Int("degree", 8, "degree of btree")
|
|
||||||
gollrb = flag.Bool("llrb", false, "use llrb instead of btree")
|
|
||||||
)
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
flag.Parse()
|
|
||||||
vals := rand.Perm(*size)
|
|
||||||
var t, v interface{}
|
|
||||||
v = vals
|
|
||||||
var stats runtime.MemStats
|
|
||||||
for i := 0; i < 10; i++ {
|
|
||||||
runtime.GC()
|
|
||||||
}
|
|
||||||
fmt.Println("-------- BEFORE ----------")
|
|
||||||
runtime.ReadMemStats(&stats)
|
|
||||||
fmt.Printf("%+v\n", stats)
|
|
||||||
start := time.Now()
|
|
||||||
if *gollrb {
|
|
||||||
tr := llrb.New()
|
|
||||||
for _, v := range vals {
|
|
||||||
tr.ReplaceOrInsert(llrb.Int(v))
|
|
||||||
}
|
|
||||||
t = tr // keep it around
|
|
||||||
} else {
|
|
||||||
tr := btree.New(*degree)
|
|
||||||
for _, v := range vals {
|
|
||||||
tr.ReplaceOrInsert(btree.Int(v))
|
|
||||||
}
|
|
||||||
t = tr // keep it around
|
|
||||||
}
|
|
||||||
fmt.Printf("%v inserts in %v\n", *size, time.Since(start))
|
|
||||||
fmt.Println("-------- AFTER ----------")
|
|
||||||
runtime.ReadMemStats(&stats)
|
|
||||||
fmt.Printf("%+v\n", stats)
|
|
||||||
for i := 0; i < 10; i++ {
|
|
||||||
runtime.GC()
|
|
||||||
}
|
|
||||||
fmt.Println("-------- AFTER GC ----------")
|
|
||||||
runtime.ReadMemStats(&stats)
|
|
||||||
fmt.Printf("%+v\n", stats)
|
|
||||||
if t == v {
|
|
||||||
fmt.Println("to make sure vals and tree aren't GC'd")
|
|
||||||
}
|
|
||||||
}
|
|
19
vendor/github.com/gregjones/httpcache/.travis.yml
generated
vendored
19
vendor/github.com/gregjones/httpcache/.travis.yml
generated
vendored
|
@ -1,19 +0,0 @@
|
||||||
sudo: false
|
|
||||||
language: go
|
|
||||||
go:
|
|
||||||
- 1.6.x
|
|
||||||
- 1.7.x
|
|
||||||
- 1.8.x
|
|
||||||
- 1.9.x
|
|
||||||
- master
|
|
||||||
matrix:
|
|
||||||
allow_failures:
|
|
||||||
- go: master
|
|
||||||
fast_finish: true
|
|
||||||
install:
|
|
||||||
- # Do nothing. This is needed to prevent default install action "go get -t -v ./..." from happening here (we want it to happen inside script step).
|
|
||||||
script:
|
|
||||||
- go get -t -v ./...
|
|
||||||
- diff -u <(echo -n) <(gofmt -d .)
|
|
||||||
- go tool vet .
|
|
||||||
- go test -v -race ./...
|
|
7
vendor/github.com/gregjones/httpcache/LICENSE.txt
generated
vendored
7
vendor/github.com/gregjones/httpcache/LICENSE.txt
generated
vendored
|
@ -1,7 +0,0 @@
|
||||||
Copyright © 2012 Greg Jones (greg.jones@gmail.com)
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
25
vendor/github.com/gregjones/httpcache/README.md
generated
vendored
25
vendor/github.com/gregjones/httpcache/README.md
generated
vendored
|
@ -1,25 +0,0 @@
|
||||||
httpcache
|
|
||||||
=========
|
|
||||||
|
|
||||||
[![Build Status](https://travis-ci.org/gregjones/httpcache.svg?branch=master)](https://travis-ci.org/gregjones/httpcache) [![GoDoc](https://godoc.org/github.com/gregjones/httpcache?status.svg)](https://godoc.org/github.com/gregjones/httpcache)
|
|
||||||
|
|
||||||
Package httpcache provides a http.RoundTripper implementation that works as a mostly [RFC 7234](https://tools.ietf.org/html/rfc7234) compliant cache for http responses.
|
|
||||||
|
|
||||||
It is only suitable for use as a 'private' cache (i.e. for a web-browser or an API-client and not for a shared proxy).
|
|
||||||
|
|
||||||
Cache Backends
|
|
||||||
--------------
|
|
||||||
|
|
||||||
- The built-in 'memory' cache stores responses in an in-memory map.
|
|
||||||
- [`github.com/gregjones/httpcache/diskcache`](https://github.com/gregjones/httpcache/tree/master/diskcache) provides a filesystem-backed cache using the [diskv](https://github.com/peterbourgon/diskv) library.
|
|
||||||
- [`github.com/gregjones/httpcache/memcache`](https://github.com/gregjones/httpcache/tree/master/memcache) provides memcache implementations, for both App Engine and 'normal' memcache servers.
|
|
||||||
- [`sourcegraph.com/sourcegraph/s3cache`](https://sourcegraph.com/github.com/sourcegraph/s3cache) uses Amazon S3 for storage.
|
|
||||||
- [`github.com/gregjones/httpcache/leveldbcache`](https://github.com/gregjones/httpcache/tree/master/leveldbcache) provides a filesystem-backed cache using [leveldb](https://github.com/syndtr/goleveldb/leveldb).
|
|
||||||
- [`github.com/die-net/lrucache`](https://github.com/die-net/lrucache) provides an in-memory cache that will evict least-recently used entries.
|
|
||||||
- [`github.com/die-net/lrucache/twotier`](https://github.com/die-net/lrucache/tree/master/twotier) allows caches to be combined, for example to use lrucache above with a persistent disk-cache.
|
|
||||||
- [`github.com/birkelund/boltdbcache`](https://github.com/birkelund/boltdbcache) provides a BoltDB implementation (based on the [bbolt](https://github.com/coreos/bbolt) fork).
|
|
||||||
|
|
||||||
License
|
|
||||||
-------
|
|
||||||
|
|
||||||
- [MIT License](LICENSE.txt)
|
|
61
vendor/github.com/gregjones/httpcache/diskcache/diskcache.go
generated
vendored
61
vendor/github.com/gregjones/httpcache/diskcache/diskcache.go
generated
vendored
|
@ -1,61 +0,0 @@
|
||||||
// Package diskcache provides an implementation of httpcache.Cache that uses the diskv package
|
|
||||||
// to supplement an in-memory map with persistent storage
|
|
||||||
//
|
|
||||||
package diskcache
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bytes"
|
|
||||||
"crypto/md5"
|
|
||||||
"encoding/hex"
|
|
||||||
"github.com/peterbourgon/diskv"
|
|
||||||
"io"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Cache is an implementation of httpcache.Cache that supplements the in-memory map with persistent storage
|
|
||||||
type Cache struct {
|
|
||||||
d *diskv.Diskv
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get returns the response corresponding to key if present
|
|
||||||
func (c *Cache) Get(key string) (resp []byte, ok bool) {
|
|
||||||
key = keyToFilename(key)
|
|
||||||
resp, err := c.d.Read(key)
|
|
||||||
if err != nil {
|
|
||||||
return []byte{}, false
|
|
||||||
}
|
|
||||||
return resp, true
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set saves a response to the cache as key
|
|
||||||
func (c *Cache) Set(key string, resp []byte) {
|
|
||||||
key = keyToFilename(key)
|
|
||||||
c.d.WriteStream(key, bytes.NewReader(resp), true)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Delete removes the response with key from the cache
|
|
||||||
func (c *Cache) Delete(key string) {
|
|
||||||
key = keyToFilename(key)
|
|
||||||
c.d.Erase(key)
|
|
||||||
}
|
|
||||||
|
|
||||||
func keyToFilename(key string) string {
|
|
||||||
h := md5.New()
|
|
||||||
io.WriteString(h, key)
|
|
||||||
return hex.EncodeToString(h.Sum(nil))
|
|
||||||
}
|
|
||||||
|
|
||||||
// New returns a new Cache that will store files in basePath
|
|
||||||
func New(basePath string) *Cache {
|
|
||||||
return &Cache{
|
|
||||||
d: diskv.New(diskv.Options{
|
|
||||||
BasePath: basePath,
|
|
||||||
CacheSizeMax: 100 * 1024 * 1024, // 100MB
|
|
||||||
}),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// NewWithDiskv returns a new Cache using the provided Diskv as underlying
|
|
||||||
// storage.
|
|
||||||
func NewWithDiskv(d *diskv.Diskv) *Cache {
|
|
||||||
return &Cache{d}
|
|
||||||
}
|
|
551
vendor/github.com/gregjones/httpcache/httpcache.go
generated
vendored
551
vendor/github.com/gregjones/httpcache/httpcache.go
generated
vendored
|
@ -1,551 +0,0 @@
|
||||||
// Package httpcache provides a http.RoundTripper implementation that works as a
|
|
||||||
// mostly RFC-compliant cache for http responses.
|
|
||||||
//
|
|
||||||
// It is only suitable for use as a 'private' cache (i.e. for a web-browser or an API-client
|
|
||||||
// and not for a shared proxy).
|
|
||||||
//
|
|
||||||
package httpcache
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bufio"
|
|
||||||
"bytes"
|
|
||||||
"errors"
|
|
||||||
"io"
|
|
||||||
"io/ioutil"
|
|
||||||
"net/http"
|
|
||||||
"net/http/httputil"
|
|
||||||
"strings"
|
|
||||||
"sync"
|
|
||||||
"time"
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
stale = iota
|
|
||||||
fresh
|
|
||||||
transparent
|
|
||||||
// XFromCache is the header added to responses that are returned from the cache
|
|
||||||
XFromCache = "X-From-Cache"
|
|
||||||
)
|
|
||||||
|
|
||||||
// A Cache interface is used by the Transport to store and retrieve responses.
|
|
||||||
type Cache interface {
|
|
||||||
// Get returns the []byte representation of a cached response and a bool
|
|
||||||
// set to true if the value isn't empty
|
|
||||||
Get(key string) (responseBytes []byte, ok bool)
|
|
||||||
// Set stores the []byte representation of a response against a key
|
|
||||||
Set(key string, responseBytes []byte)
|
|
||||||
// Delete removes the value associated with the key
|
|
||||||
Delete(key string)
|
|
||||||
}
|
|
||||||
|
|
||||||
// cacheKey returns the cache key for req.
|
|
||||||
func cacheKey(req *http.Request) string {
|
|
||||||
if req.Method == http.MethodGet {
|
|
||||||
return req.URL.String()
|
|
||||||
} else {
|
|
||||||
return req.Method + " " + req.URL.String()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// CachedResponse returns the cached http.Response for req if present, and nil
|
|
||||||
// otherwise.
|
|
||||||
func CachedResponse(c Cache, req *http.Request) (resp *http.Response, err error) {
|
|
||||||
cachedVal, ok := c.Get(cacheKey(req))
|
|
||||||
if !ok {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
b := bytes.NewBuffer(cachedVal)
|
|
||||||
return http.ReadResponse(bufio.NewReader(b), req)
|
|
||||||
}
|
|
||||||
|
|
||||||
// MemoryCache is an implemtation of Cache that stores responses in an in-memory map.
|
|
||||||
type MemoryCache struct {
|
|
||||||
mu sync.RWMutex
|
|
||||||
items map[string][]byte
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get returns the []byte representation of the response and true if present, false if not
|
|
||||||
func (c *MemoryCache) Get(key string) (resp []byte, ok bool) {
|
|
||||||
c.mu.RLock()
|
|
||||||
resp, ok = c.items[key]
|
|
||||||
c.mu.RUnlock()
|
|
||||||
return resp, ok
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set saves response resp to the cache with key
|
|
||||||
func (c *MemoryCache) Set(key string, resp []byte) {
|
|
||||||
c.mu.Lock()
|
|
||||||
c.items[key] = resp
|
|
||||||
c.mu.Unlock()
|
|
||||||
}
|
|
||||||
|
|
||||||
// Delete removes key from the cache
|
|
||||||
func (c *MemoryCache) Delete(key string) {
|
|
||||||
c.mu.Lock()
|
|
||||||
delete(c.items, key)
|
|
||||||
c.mu.Unlock()
|
|
||||||
}
|
|
||||||
|
|
||||||
// NewMemoryCache returns a new Cache that will store items in an in-memory map
|
|
||||||
func NewMemoryCache() *MemoryCache {
|
|
||||||
c := &MemoryCache{items: map[string][]byte{}}
|
|
||||||
return c
|
|
||||||
}
|
|
||||||
|
|
||||||
// Transport is an implementation of http.RoundTripper that will return values from a cache
|
|
||||||
// where possible (avoiding a network request) and will additionally add validators (etag/if-modified-since)
|
|
||||||
// to repeated requests allowing servers to return 304 / Not Modified
|
|
||||||
type Transport struct {
|
|
||||||
// The RoundTripper interface actually used to make requests
|
|
||||||
// If nil, http.DefaultTransport is used
|
|
||||||
Transport http.RoundTripper
|
|
||||||
Cache Cache
|
|
||||||
// If true, responses returned from the cache will be given an extra header, X-From-Cache
|
|
||||||
MarkCachedResponses bool
|
|
||||||
}
|
|
||||||
|
|
||||||
// NewTransport returns a new Transport with the
|
|
||||||
// provided Cache implementation and MarkCachedResponses set to true
|
|
||||||
func NewTransport(c Cache) *Transport {
|
|
||||||
return &Transport{Cache: c, MarkCachedResponses: true}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Client returns an *http.Client that caches responses.
|
|
||||||
func (t *Transport) Client() *http.Client {
|
|
||||||
return &http.Client{Transport: t}
|
|
||||||
}
|
|
||||||
|
|
||||||
// varyMatches will return false unless all of the cached values for the headers listed in Vary
|
|
||||||
// match the new request
|
|
||||||
func varyMatches(cachedResp *http.Response, req *http.Request) bool {
|
|
||||||
for _, header := range headerAllCommaSepValues(cachedResp.Header, "vary") {
|
|
||||||
header = http.CanonicalHeaderKey(header)
|
|
||||||
if header != "" && req.Header.Get(header) != cachedResp.Header.Get("X-Varied-"+header) {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
// RoundTrip takes a Request and returns a Response
|
|
||||||
//
|
|
||||||
// If there is a fresh Response already in cache, then it will be returned without connecting to
|
|
||||||
// the server.
|
|
||||||
//
|
|
||||||
// If there is a stale Response, then any validators it contains will be set on the new request
|
|
||||||
// to give the server a chance to respond with NotModified. If this happens, then the cached Response
|
|
||||||
// will be returned.
|
|
||||||
func (t *Transport) RoundTrip(req *http.Request) (resp *http.Response, err error) {
|
|
||||||
cacheKey := cacheKey(req)
|
|
||||||
cacheable := (req.Method == "GET" || req.Method == "HEAD") && req.Header.Get("range") == ""
|
|
||||||
var cachedResp *http.Response
|
|
||||||
if cacheable {
|
|
||||||
cachedResp, err = CachedResponse(t.Cache, req)
|
|
||||||
} else {
|
|
||||||
// Need to invalidate an existing value
|
|
||||||
t.Cache.Delete(cacheKey)
|
|
||||||
}
|
|
||||||
|
|
||||||
transport := t.Transport
|
|
||||||
if transport == nil {
|
|
||||||
transport = http.DefaultTransport
|
|
||||||
}
|
|
||||||
|
|
||||||
if cacheable && cachedResp != nil && err == nil {
|
|
||||||
if t.MarkCachedResponses {
|
|
||||||
cachedResp.Header.Set(XFromCache, "1")
|
|
||||||
}
|
|
||||||
|
|
||||||
if varyMatches(cachedResp, req) {
|
|
||||||
// Can only use cached value if the new request doesn't Vary significantly
|
|
||||||
freshness := getFreshness(cachedResp.Header, req.Header)
|
|
||||||
if freshness == fresh {
|
|
||||||
return cachedResp, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
if freshness == stale {
|
|
||||||
var req2 *http.Request
|
|
||||||
// Add validators if caller hasn't already done so
|
|
||||||
etag := cachedResp.Header.Get("etag")
|
|
||||||
if etag != "" && req.Header.Get("etag") == "" {
|
|
||||||
req2 = cloneRequest(req)
|
|
||||||
req2.Header.Set("if-none-match", etag)
|
|
||||||
}
|
|
||||||
lastModified := cachedResp.Header.Get("last-modified")
|
|
||||||
if lastModified != "" && req.Header.Get("last-modified") == "" {
|
|
||||||
if req2 == nil {
|
|
||||||
req2 = cloneRequest(req)
|
|
||||||
}
|
|
||||||
req2.Header.Set("if-modified-since", lastModified)
|
|
||||||
}
|
|
||||||
if req2 != nil {
|
|
||||||
req = req2
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
resp, err = transport.RoundTrip(req)
|
|
||||||
if err == nil && req.Method == "GET" && resp.StatusCode == http.StatusNotModified {
|
|
||||||
// Replace the 304 response with the one from cache, but update with some new headers
|
|
||||||
endToEndHeaders := getEndToEndHeaders(resp.Header)
|
|
||||||
for _, header := range endToEndHeaders {
|
|
||||||
cachedResp.Header[header] = resp.Header[header]
|
|
||||||
}
|
|
||||||
resp = cachedResp
|
|
||||||
} else if (err != nil || (cachedResp != nil && resp.StatusCode >= 500)) &&
|
|
||||||
req.Method == "GET" && canStaleOnError(cachedResp.Header, req.Header) {
|
|
||||||
// In case of transport failure and stale-if-error activated, returns cached content
|
|
||||||
// when available
|
|
||||||
return cachedResp, nil
|
|
||||||
} else {
|
|
||||||
if err != nil || resp.StatusCode != http.StatusOK {
|
|
||||||
t.Cache.Delete(cacheKey)
|
|
||||||
}
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
reqCacheControl := parseCacheControl(req.Header)
|
|
||||||
if _, ok := reqCacheControl["only-if-cached"]; ok {
|
|
||||||
resp = newGatewayTimeoutResponse(req)
|
|
||||||
} else {
|
|
||||||
resp, err = transport.RoundTrip(req)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if cacheable && canStore(parseCacheControl(req.Header), parseCacheControl(resp.Header)) {
|
|
||||||
for _, varyKey := range headerAllCommaSepValues(resp.Header, "vary") {
|
|
||||||
varyKey = http.CanonicalHeaderKey(varyKey)
|
|
||||||
fakeHeader := "X-Varied-" + varyKey
|
|
||||||
reqValue := req.Header.Get(varyKey)
|
|
||||||
if reqValue != "" {
|
|
||||||
resp.Header.Set(fakeHeader, reqValue)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
switch req.Method {
|
|
||||||
case "GET":
|
|
||||||
// Delay caching until EOF is reached.
|
|
||||||
resp.Body = &cachingReadCloser{
|
|
||||||
R: resp.Body,
|
|
||||||
OnEOF: func(r io.Reader) {
|
|
||||||
resp := *resp
|
|
||||||
resp.Body = ioutil.NopCloser(r)
|
|
||||||
respBytes, err := httputil.DumpResponse(&resp, true)
|
|
||||||
if err == nil {
|
|
||||||
t.Cache.Set(cacheKey, respBytes)
|
|
||||||
}
|
|
||||||
},
|
|
||||||
}
|
|
||||||
default:
|
|
||||||
respBytes, err := httputil.DumpResponse(resp, true)
|
|
||||||
if err == nil {
|
|
||||||
t.Cache.Set(cacheKey, respBytes)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
t.Cache.Delete(cacheKey)
|
|
||||||
}
|
|
||||||
return resp, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// ErrNoDateHeader indicates that the HTTP headers contained no Date header.
|
|
||||||
var ErrNoDateHeader = errors.New("no Date header")
|
|
||||||
|
|
||||||
// Date parses and returns the value of the Date header.
|
|
||||||
func Date(respHeaders http.Header) (date time.Time, err error) {
|
|
||||||
dateHeader := respHeaders.Get("date")
|
|
||||||
if dateHeader == "" {
|
|
||||||
err = ErrNoDateHeader
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
return time.Parse(time.RFC1123, dateHeader)
|
|
||||||
}
|
|
||||||
|
|
||||||
type realClock struct{}
|
|
||||||
|
|
||||||
func (c *realClock) since(d time.Time) time.Duration {
|
|
||||||
return time.Since(d)
|
|
||||||
}
|
|
||||||
|
|
||||||
type timer interface {
|
|
||||||
since(d time.Time) time.Duration
|
|
||||||
}
|
|
||||||
|
|
||||||
var clock timer = &realClock{}
|
|
||||||
|
|
||||||
// getFreshness will return one of fresh/stale/transparent based on the cache-control
|
|
||||||
// values of the request and the response
|
|
||||||
//
|
|
||||||
// fresh indicates the response can be returned
|
|
||||||
// stale indicates that the response needs validating before it is returned
|
|
||||||
// transparent indicates the response should not be used to fulfil the request
|
|
||||||
//
|
|
||||||
// Because this is only a private cache, 'public' and 'private' in cache-control aren't
|
|
||||||
// signficant. Similarly, smax-age isn't used.
|
|
||||||
func getFreshness(respHeaders, reqHeaders http.Header) (freshness int) {
|
|
||||||
respCacheControl := parseCacheControl(respHeaders)
|
|
||||||
reqCacheControl := parseCacheControl(reqHeaders)
|
|
||||||
if _, ok := reqCacheControl["no-cache"]; ok {
|
|
||||||
return transparent
|
|
||||||
}
|
|
||||||
if _, ok := respCacheControl["no-cache"]; ok {
|
|
||||||
return stale
|
|
||||||
}
|
|
||||||
if _, ok := reqCacheControl["only-if-cached"]; ok {
|
|
||||||
return fresh
|
|
||||||
}
|
|
||||||
|
|
||||||
date, err := Date(respHeaders)
|
|
||||||
if err != nil {
|
|
||||||
return stale
|
|
||||||
}
|
|
||||||
currentAge := clock.since(date)
|
|
||||||
|
|
||||||
var lifetime time.Duration
|
|
||||||
var zeroDuration time.Duration
|
|
||||||
|
|
||||||
// If a response includes both an Expires header and a max-age directive,
|
|
||||||
// the max-age directive overrides the Expires header, even if the Expires header is more restrictive.
|
|
||||||
if maxAge, ok := respCacheControl["max-age"]; ok {
|
|
||||||
lifetime, err = time.ParseDuration(maxAge + "s")
|
|
||||||
if err != nil {
|
|
||||||
lifetime = zeroDuration
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
expiresHeader := respHeaders.Get("Expires")
|
|
||||||
if expiresHeader != "" {
|
|
||||||
expires, err := time.Parse(time.RFC1123, expiresHeader)
|
|
||||||
if err != nil {
|
|
||||||
lifetime = zeroDuration
|
|
||||||
} else {
|
|
||||||
lifetime = expires.Sub(date)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if maxAge, ok := reqCacheControl["max-age"]; ok {
|
|
||||||
// the client is willing to accept a response whose age is no greater than the specified time in seconds
|
|
||||||
lifetime, err = time.ParseDuration(maxAge + "s")
|
|
||||||
if err != nil {
|
|
||||||
lifetime = zeroDuration
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if minfresh, ok := reqCacheControl["min-fresh"]; ok {
|
|
||||||
// the client wants a response that will still be fresh for at least the specified number of seconds.
|
|
||||||
minfreshDuration, err := time.ParseDuration(minfresh + "s")
|
|
||||||
if err == nil {
|
|
||||||
currentAge = time.Duration(currentAge + minfreshDuration)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if maxstale, ok := reqCacheControl["max-stale"]; ok {
|
|
||||||
// Indicates that the client is willing to accept a response that has exceeded its expiration time.
|
|
||||||
// If max-stale is assigned a value, then the client is willing to accept a response that has exceeded
|
|
||||||
// its expiration time by no more than the specified number of seconds.
|
|
||||||
// If no value is assigned to max-stale, then the client is willing to accept a stale response of any age.
|
|
||||||
//
|
|
||||||
// Responses served only because of a max-stale value are supposed to have a Warning header added to them,
|
|
||||||
// but that seems like a hassle, and is it actually useful? If so, then there needs to be a different
|
|
||||||
// return-value available here.
|
|
||||||
if maxstale == "" {
|
|
||||||
return fresh
|
|
||||||
}
|
|
||||||
maxstaleDuration, err := time.ParseDuration(maxstale + "s")
|
|
||||||
if err == nil {
|
|
||||||
currentAge = time.Duration(currentAge - maxstaleDuration)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if lifetime > currentAge {
|
|
||||||
return fresh
|
|
||||||
}
|
|
||||||
|
|
||||||
return stale
|
|
||||||
}
|
|
||||||
|
|
||||||
// Returns true if either the request or the response includes the stale-if-error
|
|
||||||
// cache control extension: https://tools.ietf.org/html/rfc5861
|
|
||||||
func canStaleOnError(respHeaders, reqHeaders http.Header) bool {
|
|
||||||
respCacheControl := parseCacheControl(respHeaders)
|
|
||||||
reqCacheControl := parseCacheControl(reqHeaders)
|
|
||||||
|
|
||||||
var err error
|
|
||||||
lifetime := time.Duration(-1)
|
|
||||||
|
|
||||||
if staleMaxAge, ok := respCacheControl["stale-if-error"]; ok {
|
|
||||||
if staleMaxAge != "" {
|
|
||||||
lifetime, err = time.ParseDuration(staleMaxAge + "s")
|
|
||||||
if err != nil {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if staleMaxAge, ok := reqCacheControl["stale-if-error"]; ok {
|
|
||||||
if staleMaxAge != "" {
|
|
||||||
lifetime, err = time.ParseDuration(staleMaxAge + "s")
|
|
||||||
if err != nil {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if lifetime >= 0 {
|
|
||||||
date, err := Date(respHeaders)
|
|
||||||
if err != nil {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
currentAge := clock.since(date)
|
|
||||||
if lifetime > currentAge {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
func getEndToEndHeaders(respHeaders http.Header) []string {
|
|
||||||
// These headers are always hop-by-hop
|
|
||||||
hopByHopHeaders := map[string]struct{}{
|
|
||||||
"Connection": struct{}{},
|
|
||||||
"Keep-Alive": struct{}{},
|
|
||||||
"Proxy-Authenticate": struct{}{},
|
|
||||||
"Proxy-Authorization": struct{}{},
|
|
||||||
"Te": struct{}{},
|
|
||||||
"Trailers": struct{}{},
|
|
||||||
"Transfer-Encoding": struct{}{},
|
|
||||||
"Upgrade": struct{}{},
|
|
||||||
}
|
|
||||||
|
|
||||||
for _, extra := range strings.Split(respHeaders.Get("connection"), ",") {
|
|
||||||
// any header listed in connection, if present, is also considered hop-by-hop
|
|
||||||
if strings.Trim(extra, " ") != "" {
|
|
||||||
hopByHopHeaders[http.CanonicalHeaderKey(extra)] = struct{}{}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
endToEndHeaders := []string{}
|
|
||||||
for respHeader, _ := range respHeaders {
|
|
||||||
if _, ok := hopByHopHeaders[respHeader]; !ok {
|
|
||||||
endToEndHeaders = append(endToEndHeaders, respHeader)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return endToEndHeaders
|
|
||||||
}
|
|
||||||
|
|
||||||
func canStore(reqCacheControl, respCacheControl cacheControl) (canStore bool) {
|
|
||||||
if _, ok := respCacheControl["no-store"]; ok {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
if _, ok := reqCacheControl["no-store"]; ok {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
func newGatewayTimeoutResponse(req *http.Request) *http.Response {
|
|
||||||
var braw bytes.Buffer
|
|
||||||
braw.WriteString("HTTP/1.1 504 Gateway Timeout\r\n\r\n")
|
|
||||||
resp, err := http.ReadResponse(bufio.NewReader(&braw), req)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
return resp
|
|
||||||
}
|
|
||||||
|
|
||||||
// cloneRequest returns a clone of the provided *http.Request.
|
|
||||||
// The clone is a shallow copy of the struct and its Header map.
|
|
||||||
// (This function copyright goauth2 authors: https://code.google.com/p/goauth2)
|
|
||||||
func cloneRequest(r *http.Request) *http.Request {
|
|
||||||
// shallow copy of the struct
|
|
||||||
r2 := new(http.Request)
|
|
||||||
*r2 = *r
|
|
||||||
// deep copy of the Header
|
|
||||||
r2.Header = make(http.Header)
|
|
||||||
for k, s := range r.Header {
|
|
||||||
r2.Header[k] = s
|
|
||||||
}
|
|
||||||
return r2
|
|
||||||
}
|
|
||||||
|
|
||||||
type cacheControl map[string]string
|
|
||||||
|
|
||||||
func parseCacheControl(headers http.Header) cacheControl {
|
|
||||||
cc := cacheControl{}
|
|
||||||
ccHeader := headers.Get("Cache-Control")
|
|
||||||
for _, part := range strings.Split(ccHeader, ",") {
|
|
||||||
part = strings.Trim(part, " ")
|
|
||||||
if part == "" {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
if strings.ContainsRune(part, '=') {
|
|
||||||
keyval := strings.Split(part, "=")
|
|
||||||
cc[strings.Trim(keyval[0], " ")] = strings.Trim(keyval[1], ",")
|
|
||||||
} else {
|
|
||||||
cc[part] = ""
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return cc
|
|
||||||
}
|
|
||||||
|
|
||||||
// headerAllCommaSepValues returns all comma-separated values (each
|
|
||||||
// with whitespace trimmed) for header name in headers. According to
|
|
||||||
// Section 4.2 of the HTTP/1.1 spec
|
|
||||||
// (http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2),
|
|
||||||
// values from multiple occurrences of a header should be concatenated, if
|
|
||||||
// the header's value is a comma-separated list.
|
|
||||||
func headerAllCommaSepValues(headers http.Header, name string) []string {
|
|
||||||
var vals []string
|
|
||||||
for _, val := range headers[http.CanonicalHeaderKey(name)] {
|
|
||||||
fields := strings.Split(val, ",")
|
|
||||||
for i, f := range fields {
|
|
||||||
fields[i] = strings.TrimSpace(f)
|
|
||||||
}
|
|
||||||
vals = append(vals, fields...)
|
|
||||||
}
|
|
||||||
return vals
|
|
||||||
}
|
|
||||||
|
|
||||||
// cachingReadCloser is a wrapper around ReadCloser R that calls OnEOF
|
|
||||||
// handler with a full copy of the content read from R when EOF is
|
|
||||||
// reached.
|
|
||||||
type cachingReadCloser struct {
|
|
||||||
// Underlying ReadCloser.
|
|
||||||
R io.ReadCloser
|
|
||||||
// OnEOF is called with a copy of the content of R when EOF is reached.
|
|
||||||
OnEOF func(io.Reader)
|
|
||||||
|
|
||||||
buf bytes.Buffer // buf stores a copy of the content of R.
|
|
||||||
}
|
|
||||||
|
|
||||||
// Read reads the next len(p) bytes from R or until R is drained. The
|
|
||||||
// return value n is the number of bytes read. If R has no data to
|
|
||||||
// return, err is io.EOF and OnEOF is called with a full copy of what
|
|
||||||
// has been read so far.
|
|
||||||
func (r *cachingReadCloser) Read(p []byte) (n int, err error) {
|
|
||||||
n, err = r.R.Read(p)
|
|
||||||
r.buf.Write(p[:n])
|
|
||||||
if err == io.EOF {
|
|
||||||
r.OnEOF(bytes.NewReader(r.buf.Bytes()))
|
|
||||||
}
|
|
||||||
return n, err
|
|
||||||
}
|
|
||||||
|
|
||||||
func (r *cachingReadCloser) Close() error {
|
|
||||||
return r.R.Close()
|
|
||||||
}
|
|
||||||
|
|
||||||
// NewMemoryCacheTransport returns a new Transport using the in-memory cache implementation
|
|
||||||
func NewMemoryCacheTransport() *Transport {
|
|
||||||
c := NewMemoryCache()
|
|
||||||
t := NewTransport(c)
|
|
||||||
return t
|
|
||||||
}
|
|
19
vendor/github.com/peterbourgon/diskv/LICENSE
generated
vendored
19
vendor/github.com/peterbourgon/diskv/LICENSE
generated
vendored
|
@ -1,19 +0,0 @@
|
||||||
Copyright (c) 2011-2012 Peter Bourgon
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in
|
|
||||||
all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
||||||
THE SOFTWARE.
|
|
191
vendor/github.com/peterbourgon/diskv/README.md
generated
vendored
191
vendor/github.com/peterbourgon/diskv/README.md
generated
vendored
|
@ -1,191 +0,0 @@
|
||||||
# What is diskv?
|
|
||||||
|
|
||||||
Diskv (disk-vee) is a simple, persistent key-value store written in the Go
|
|
||||||
language. It starts with an incredibly simple API for storing arbitrary data on
|
|
||||||
a filesystem by key, and builds several layers of performance-enhancing
|
|
||||||
abstraction on top. The end result is a conceptually simple, but highly
|
|
||||||
performant, disk-backed storage system.
|
|
||||||
|
|
||||||
[![Build Status][1]][2]
|
|
||||||
|
|
||||||
[1]: https://drone.io/github.com/peterbourgon/diskv/status.png
|
|
||||||
[2]: https://drone.io/github.com/peterbourgon/diskv/latest
|
|
||||||
|
|
||||||
|
|
||||||
# Installing
|
|
||||||
|
|
||||||
Install [Go 1][3], either [from source][4] or [with a prepackaged binary][5].
|
|
||||||
Then,
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ go get github.com/peterbourgon/diskv
|
|
||||||
```
|
|
||||||
|
|
||||||
[3]: http://golang.org
|
|
||||||
[4]: http://golang.org/doc/install/source
|
|
||||||
[5]: http://golang.org/doc/install
|
|
||||||
|
|
||||||
|
|
||||||
# Usage
|
|
||||||
|
|
||||||
```go
|
|
||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"github.com/peterbourgon/diskv"
|
|
||||||
)
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
// Simplest transform function: put all the data files into the base dir.
|
|
||||||
flatTransform := func(s string) []string { return []string{} }
|
|
||||||
|
|
||||||
// Initialize a new diskv store, rooted at "my-data-dir", with a 1MB cache.
|
|
||||||
d := diskv.New(diskv.Options{
|
|
||||||
BasePath: "my-data-dir",
|
|
||||||
Transform: flatTransform,
|
|
||||||
CacheSizeMax: 1024 * 1024,
|
|
||||||
})
|
|
||||||
|
|
||||||
// Write three bytes to the key "alpha".
|
|
||||||
key := "alpha"
|
|
||||||
d.Write(key, []byte{'1', '2', '3'})
|
|
||||||
|
|
||||||
// Read the value back out of the store.
|
|
||||||
value, _ := d.Read(key)
|
|
||||||
fmt.Printf("%v\n", value)
|
|
||||||
|
|
||||||
// Erase the key+value from the store (and the disk).
|
|
||||||
d.Erase(key)
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
More complex examples can be found in the "examples" subdirectory.
|
|
||||||
|
|
||||||
|
|
||||||
# Theory
|
|
||||||
|
|
||||||
## Basic idea
|
|
||||||
|
|
||||||
At its core, diskv is a map of a key (`string`) to arbitrary data (`[]byte`).
|
|
||||||
The data is written to a single file on disk, with the same name as the key.
|
|
||||||
The key determines where that file will be stored, via a user-provided
|
|
||||||
`TransformFunc`, which takes a key and returns a slice (`[]string`)
|
|
||||||
corresponding to a path list where the key file will be stored. The simplest
|
|
||||||
TransformFunc,
|
|
||||||
|
|
||||||
```go
|
|
||||||
func SimpleTransform (key string) []string {
|
|
||||||
return []string{}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
will place all keys in the same, base directory. The design is inspired by
|
|
||||||
[Redis diskstore][6]; a TransformFunc which emulates the default diskstore
|
|
||||||
behavior is available in the content-addressable-storage example.
|
|
||||||
|
|
||||||
[6]: http://groups.google.com/group/redis-db/browse_thread/thread/d444bc786689bde9?pli=1
|
|
||||||
|
|
||||||
**Note** that your TransformFunc should ensure that one valid key doesn't
|
|
||||||
transform to a subset of another valid key. That is, it shouldn't be possible
|
|
||||||
to construct valid keys that resolve to directory names. As a concrete example,
|
|
||||||
if your TransformFunc splits on every 3 characters, then
|
|
||||||
|
|
||||||
```go
|
|
||||||
d.Write("abcabc", val) // OK: written to <base>/abc/abc/abcabc
|
|
||||||
d.Write("abc", val) // Error: attempted write to <base>/abc/abc, but it's a directory
|
|
||||||
```
|
|
||||||
|
|
||||||
This will be addressed in an upcoming version of diskv.
|
|
||||||
|
|
||||||
Probably the most important design principle behind diskv is that your data is
|
|
||||||
always flatly available on the disk. diskv will never do anything that would
|
|
||||||
prevent you from accessing, copying, backing up, or otherwise interacting with
|
|
||||||
your data via common UNIX commandline tools.
|
|
||||||
|
|
||||||
## Advanced path transformation
|
|
||||||
|
|
||||||
If you need more control over the file name written to disk or if you want to support
|
|
||||||
slashes in your key name or special characters in the keys, you can use the
|
|
||||||
AdvancedTransform property. You must supply a function that returns
|
|
||||||
a special PathKey structure, which is a breakdown of a path and a file name. Strings
|
|
||||||
returned must be clean of any slashes or special characters:
|
|
||||||
|
|
||||||
```go
|
|
||||||
func AdvancedTransformExample(key string) *diskv.PathKey {
|
|
||||||
path := strings.Split(key, "/")
|
|
||||||
last := len(path) - 1
|
|
||||||
return &diskv.PathKey{
|
|
||||||
Path: path[:last],
|
|
||||||
FileName: path[last] + ".txt",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// If you provide an AdvancedTransform, you must also provide its
|
|
||||||
// inverse:
|
|
||||||
|
|
||||||
func InverseTransformExample(pathKey *diskv.PathKey) (key string) {
|
|
||||||
txt := pathKey.FileName[len(pathKey.FileName)-4:]
|
|
||||||
if txt != ".txt" {
|
|
||||||
panic("Invalid file found in storage folder!")
|
|
||||||
}
|
|
||||||
return strings.Join(pathKey.Path, "/") + pathKey.FileName[:len(pathKey.FileName)-4]
|
|
||||||
}
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
d := diskv.New(diskv.Options{
|
|
||||||
BasePath: "my-data-dir",
|
|
||||||
AdvancedTransform: AdvancedTransformExample,
|
|
||||||
InverseTransform: InverseTransformExample,
|
|
||||||
CacheSizeMax: 1024 * 1024,
|
|
||||||
})
|
|
||||||
// Write some text to the key "alpha/beta/gamma".
|
|
||||||
key := "alpha/beta/gamma"
|
|
||||||
d.WriteString(key, "¡Hola!") // will be stored in "<basedir>/alpha/beta/gamma.txt"
|
|
||||||
fmt.Println(d.ReadString("alpha/beta/gamma"))
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
## Adding a cache
|
|
||||||
|
|
||||||
An in-memory caching layer is provided by combining the BasicStore
|
|
||||||
functionality with a simple map structure, and keeping it up-to-date as
|
|
||||||
appropriate. Since the map structure in Go is not threadsafe, it's combined
|
|
||||||
with a RWMutex to provide safe concurrent access.
|
|
||||||
|
|
||||||
## Adding order
|
|
||||||
|
|
||||||
diskv is a key-value store and therefore inherently unordered. An ordering
|
|
||||||
system can be injected into the store by passing something which satisfies the
|
|
||||||
diskv.Index interface. (A default implementation, using Google's
|
|
||||||
[btree][7] package, is provided.) Basically, diskv keeps an ordered (by a
|
|
||||||
user-provided Less function) index of the keys, which can be queried.
|
|
||||||
|
|
||||||
[7]: https://github.com/google/btree
|
|
||||||
|
|
||||||
## Adding compression
|
|
||||||
|
|
||||||
Something which implements the diskv.Compression interface may be passed
|
|
||||||
during store creation, so that all Writes and Reads are filtered through
|
|
||||||
a compression/decompression pipeline. Several default implementations,
|
|
||||||
using stdlib compression algorithms, are provided. Note that data is cached
|
|
||||||
compressed; the cost of decompression is borne with each Read.
|
|
||||||
|
|
||||||
## Streaming
|
|
||||||
|
|
||||||
diskv also now provides ReadStream and WriteStream methods, to allow very large
|
|
||||||
data to be handled efficiently.
|
|
||||||
|
|
||||||
|
|
||||||
# Future plans
|
|
||||||
|
|
||||||
* Needs plenty of robust testing: huge datasets, etc...
|
|
||||||
* More thorough benchmarking
|
|
||||||
* Your suggestions for use-cases I haven't thought of
|
|
||||||
|
|
||||||
|
|
||||||
# Credits and contributions
|
|
||||||
|
|
||||||
Original idea, design and implementation: [Peter Bourgon](https://github.com/peterbourgon)
|
|
||||||
Other collaborations: [Javier Peletier](https://github.com/jpeletier) ([Epic Labs](https://www.epiclabs.io))
|
|
64
vendor/github.com/peterbourgon/diskv/compression.go
generated
vendored
64
vendor/github.com/peterbourgon/diskv/compression.go
generated
vendored
|
@ -1,64 +0,0 @@
|
||||||
package diskv
|
|
||||||
|
|
||||||
import (
|
|
||||||
"compress/flate"
|
|
||||||
"compress/gzip"
|
|
||||||
"compress/zlib"
|
|
||||||
"io"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Compression is an interface that Diskv uses to implement compression of
|
|
||||||
// data. Writer takes a destination io.Writer and returns a WriteCloser that
|
|
||||||
// compresses all data written through it. Reader takes a source io.Reader and
|
|
||||||
// returns a ReadCloser that decompresses all data read through it. You may
|
|
||||||
// define these methods on your own type, or use one of the NewCompression
|
|
||||||
// helpers.
|
|
||||||
type Compression interface {
|
|
||||||
Writer(dst io.Writer) (io.WriteCloser, error)
|
|
||||||
Reader(src io.Reader) (io.ReadCloser, error)
|
|
||||||
}
|
|
||||||
|
|
||||||
// NewGzipCompression returns a Gzip-based Compression.
|
|
||||||
func NewGzipCompression() Compression {
|
|
||||||
return NewGzipCompressionLevel(flate.DefaultCompression)
|
|
||||||
}
|
|
||||||
|
|
||||||
// NewGzipCompressionLevel returns a Gzip-based Compression with the given level.
|
|
||||||
func NewGzipCompressionLevel(level int) Compression {
|
|
||||||
return &genericCompression{
|
|
||||||
wf: func(w io.Writer) (io.WriteCloser, error) { return gzip.NewWriterLevel(w, level) },
|
|
||||||
rf: func(r io.Reader) (io.ReadCloser, error) { return gzip.NewReader(r) },
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// NewZlibCompression returns a Zlib-based Compression.
|
|
||||||
func NewZlibCompression() Compression {
|
|
||||||
return NewZlibCompressionLevel(flate.DefaultCompression)
|
|
||||||
}
|
|
||||||
|
|
||||||
// NewZlibCompressionLevel returns a Zlib-based Compression with the given level.
|
|
||||||
func NewZlibCompressionLevel(level int) Compression {
|
|
||||||
return NewZlibCompressionLevelDict(level, nil)
|
|
||||||
}
|
|
||||||
|
|
||||||
// NewZlibCompressionLevelDict returns a Zlib-based Compression with the given
|
|
||||||
// level, based on the given dictionary.
|
|
||||||
func NewZlibCompressionLevelDict(level int, dict []byte) Compression {
|
|
||||||
return &genericCompression{
|
|
||||||
func(w io.Writer) (io.WriteCloser, error) { return zlib.NewWriterLevelDict(w, level, dict) },
|
|
||||||
func(r io.Reader) (io.ReadCloser, error) { return zlib.NewReaderDict(r, dict) },
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
type genericCompression struct {
|
|
||||||
wf func(w io.Writer) (io.WriteCloser, error)
|
|
||||||
rf func(r io.Reader) (io.ReadCloser, error)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (g *genericCompression) Writer(dst io.Writer) (io.WriteCloser, error) {
|
|
||||||
return g.wf(dst)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (g *genericCompression) Reader(src io.Reader) (io.ReadCloser, error) {
|
|
||||||
return g.rf(src)
|
|
||||||
}
|
|
726
vendor/github.com/peterbourgon/diskv/diskv.go
generated
vendored
726
vendor/github.com/peterbourgon/diskv/diskv.go
generated
vendored
|
@ -1,726 +0,0 @@
|
||||||
// Diskv (disk-vee) is a simple, persistent, key-value store.
|
|
||||||
// It stores all data flatly on the filesystem.
|
|
||||||
|
|
||||||
package diskv
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bytes"
|
|
||||||
"errors"
|
|
||||||
"fmt"
|
|
||||||
"io"
|
|
||||||
"io/ioutil"
|
|
||||||
"os"
|
|
||||||
"path/filepath"
|
|
||||||
"strings"
|
|
||||||
"sync"
|
|
||||||
"syscall"
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
defaultBasePath = "diskv"
|
|
||||||
defaultFilePerm os.FileMode = 0666
|
|
||||||
defaultPathPerm os.FileMode = 0777
|
|
||||||
)
|
|
||||||
|
|
||||||
// PathKey represents a string key that has been transformed to
|
|
||||||
// a directory and file name where the content will eventually
|
|
||||||
// be stored
|
|
||||||
type PathKey struct {
|
|
||||||
Path []string
|
|
||||||
FileName string
|
|
||||||
originalKey string
|
|
||||||
}
|
|
||||||
|
|
||||||
var (
|
|
||||||
defaultAdvancedTransform = func(s string) *PathKey { return &PathKey{Path: []string{}, FileName: s} }
|
|
||||||
defaultInverseTransform = func(pathKey *PathKey) string { return pathKey.FileName }
|
|
||||||
errCanceled = errors.New("canceled")
|
|
||||||
errEmptyKey = errors.New("empty key")
|
|
||||||
errBadKey = errors.New("bad key")
|
|
||||||
errImportDirectory = errors.New("can't import a directory")
|
|
||||||
)
|
|
||||||
|
|
||||||
// TransformFunction transforms a key into a slice of strings, with each
|
|
||||||
// element in the slice representing a directory in the file path where the
|
|
||||||
// key's entry will eventually be stored.
|
|
||||||
//
|
|
||||||
// For example, if TransformFunc transforms "abcdef" to ["ab", "cde", "f"],
|
|
||||||
// the final location of the data file will be <basedir>/ab/cde/f/abcdef
|
|
||||||
type TransformFunction func(s string) []string
|
|
||||||
|
|
||||||
// AdvancedTransformFunction transforms a key into a PathKey.
|
|
||||||
//
|
|
||||||
// A PathKey contains a slice of strings, where each element in the slice
|
|
||||||
// represents a directory in the file path where the key's entry will eventually
|
|
||||||
// be stored, as well as the filename.
|
|
||||||
//
|
|
||||||
// For example, if AdvancedTransformFunc transforms "abcdef/file.txt" to the
|
|
||||||
// PathKey {Path: ["ab", "cde", "f"], FileName: "file.txt"}, the final location
|
|
||||||
// of the data file will be <basedir>/ab/cde/f/file.txt.
|
|
||||||
//
|
|
||||||
// You must provide an InverseTransformFunction if you use an
|
|
||||||
// AdvancedTransformFunction.
|
|
||||||
type AdvancedTransformFunction func(s string) *PathKey
|
|
||||||
|
|
||||||
// InverseTransformFunction takes a PathKey and converts it back to a Diskv key.
|
|
||||||
// In effect, it's the opposite of an AdvancedTransformFunction.
|
|
||||||
type InverseTransformFunction func(pathKey *PathKey) string
|
|
||||||
|
|
||||||
// Options define a set of properties that dictate Diskv behavior.
|
|
||||||
// All values are optional.
|
|
||||||
type Options struct {
|
|
||||||
BasePath string
|
|
||||||
Transform TransformFunction
|
|
||||||
AdvancedTransform AdvancedTransformFunction
|
|
||||||
InverseTransform InverseTransformFunction
|
|
||||||
CacheSizeMax uint64 // bytes
|
|
||||||
PathPerm os.FileMode
|
|
||||||
FilePerm os.FileMode
|
|
||||||
// If TempDir is set, it will enable filesystem atomic writes by
|
|
||||||
// writing temporary files to that location before being moved
|
|
||||||
// to BasePath.
|
|
||||||
// Note that TempDir MUST be on the same device/partition as
|
|
||||||
// BasePath.
|
|
||||||
TempDir string
|
|
||||||
|
|
||||||
Index Index
|
|
||||||
IndexLess LessFunction
|
|
||||||
|
|
||||||
Compression Compression
|
|
||||||
}
|
|
||||||
|
|
||||||
// Diskv implements the Diskv interface. You shouldn't construct Diskv
|
|
||||||
// structures directly; instead, use the New constructor.
|
|
||||||
type Diskv struct {
|
|
||||||
Options
|
|
||||||
mu sync.RWMutex
|
|
||||||
cache map[string][]byte
|
|
||||||
cacheSize uint64
|
|
||||||
}
|
|
||||||
|
|
||||||
// New returns an initialized Diskv structure, ready to use.
|
|
||||||
// If the path identified by baseDir already contains data,
|
|
||||||
// it will be accessible, but not yet cached.
|
|
||||||
func New(o Options) *Diskv {
|
|
||||||
if o.BasePath == "" {
|
|
||||||
o.BasePath = defaultBasePath
|
|
||||||
}
|
|
||||||
|
|
||||||
if o.AdvancedTransform == nil {
|
|
||||||
if o.Transform == nil {
|
|
||||||
o.AdvancedTransform = defaultAdvancedTransform
|
|
||||||
} else {
|
|
||||||
o.AdvancedTransform = convertToAdvancedTransform(o.Transform)
|
|
||||||
}
|
|
||||||
if o.InverseTransform == nil {
|
|
||||||
o.InverseTransform = defaultInverseTransform
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if o.InverseTransform == nil {
|
|
||||||
panic("You must provide an InverseTransform function in advanced mode")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if o.PathPerm == 0 {
|
|
||||||
o.PathPerm = defaultPathPerm
|
|
||||||
}
|
|
||||||
if o.FilePerm == 0 {
|
|
||||||
o.FilePerm = defaultFilePerm
|
|
||||||
}
|
|
||||||
|
|
||||||
d := &Diskv{
|
|
||||||
Options: o,
|
|
||||||
cache: map[string][]byte{},
|
|
||||||
cacheSize: 0,
|
|
||||||
}
|
|
||||||
|
|
||||||
if d.Index != nil && d.IndexLess != nil {
|
|
||||||
d.Index.Initialize(d.IndexLess, d.Keys(nil))
|
|
||||||
}
|
|
||||||
|
|
||||||
return d
|
|
||||||
}
|
|
||||||
|
|
||||||
// convertToAdvancedTransform takes a classic Transform function and
|
|
||||||
// converts it to the new AdvancedTransform
|
|
||||||
func convertToAdvancedTransform(oldFunc func(s string) []string) AdvancedTransformFunction {
|
|
||||||
return func(s string) *PathKey {
|
|
||||||
return &PathKey{Path: oldFunc(s), FileName: s}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Write synchronously writes the key-value pair to disk, making it immediately
|
|
||||||
// available for reads. Write relies on the filesystem to perform an eventual
|
|
||||||
// sync to physical media. If you need stronger guarantees, see WriteStream.
|
|
||||||
func (d *Diskv) Write(key string, val []byte) error {
|
|
||||||
return d.WriteStream(key, bytes.NewReader(val), false)
|
|
||||||
}
|
|
||||||
|
|
||||||
// WriteString writes a string key-value pair to disk
|
|
||||||
func (d *Diskv) WriteString(key string, val string) error {
|
|
||||||
return d.Write(key, []byte(val))
|
|
||||||
}
|
|
||||||
|
|
||||||
func (d *Diskv) transform(key string) (pathKey *PathKey) {
|
|
||||||
pathKey = d.AdvancedTransform(key)
|
|
||||||
pathKey.originalKey = key
|
|
||||||
return pathKey
|
|
||||||
}
|
|
||||||
|
|
||||||
// WriteStream writes the data represented by the io.Reader to the disk, under
|
|
||||||
// the provided key. If sync is true, WriteStream performs an explicit sync on
|
|
||||||
// the file as soon as it's written.
|
|
||||||
//
|
|
||||||
// bytes.Buffer provides io.Reader semantics for basic data types.
|
|
||||||
func (d *Diskv) WriteStream(key string, r io.Reader, sync bool) error {
|
|
||||||
if len(key) <= 0 {
|
|
||||||
return errEmptyKey
|
|
||||||
}
|
|
||||||
|
|
||||||
pathKey := d.transform(key)
|
|
||||||
|
|
||||||
// Ensure keys cannot evaluate to paths that would not exist
|
|
||||||
for _, pathPart := range pathKey.Path {
|
|
||||||
if strings.ContainsRune(pathPart, os.PathSeparator) {
|
|
||||||
return errBadKey
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if strings.ContainsRune(pathKey.FileName, os.PathSeparator) {
|
|
||||||
return errBadKey
|
|
||||||
}
|
|
||||||
|
|
||||||
d.mu.Lock()
|
|
||||||
defer d.mu.Unlock()
|
|
||||||
|
|
||||||
return d.writeStreamWithLock(pathKey, r, sync)
|
|
||||||
}
|
|
||||||
|
|
||||||
// createKeyFileWithLock either creates the key file directly, or
|
|
||||||
// creates a temporary file in TempDir if it is set.
|
|
||||||
func (d *Diskv) createKeyFileWithLock(pathKey *PathKey) (*os.File, error) {
|
|
||||||
if d.TempDir != "" {
|
|
||||||
if err := os.MkdirAll(d.TempDir, d.PathPerm); err != nil {
|
|
||||||
return nil, fmt.Errorf("temp mkdir: %s", err)
|
|
||||||
}
|
|
||||||
f, err := ioutil.TempFile(d.TempDir, "")
|
|
||||||
if err != nil {
|
|
||||||
return nil, fmt.Errorf("temp file: %s", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
if err := f.Chmod(d.FilePerm); err != nil {
|
|
||||||
f.Close() // error deliberately ignored
|
|
||||||
os.Remove(f.Name()) // error deliberately ignored
|
|
||||||
return nil, fmt.Errorf("chmod: %s", err)
|
|
||||||
}
|
|
||||||
return f, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
mode := os.O_WRONLY | os.O_CREATE | os.O_TRUNC // overwrite if exists
|
|
||||||
f, err := os.OpenFile(d.completeFilename(pathKey), mode, d.FilePerm)
|
|
||||||
if err != nil {
|
|
||||||
return nil, fmt.Errorf("open file: %s", err)
|
|
||||||
}
|
|
||||||
return f, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// writeStream does no input validation checking.
|
|
||||||
func (d *Diskv) writeStreamWithLock(pathKey *PathKey, r io.Reader, sync bool) error {
|
|
||||||
if err := d.ensurePathWithLock(pathKey); err != nil {
|
|
||||||
return fmt.Errorf("ensure path: %s", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
f, err := d.createKeyFileWithLock(pathKey)
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("create key file: %s", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
wc := io.WriteCloser(&nopWriteCloser{f})
|
|
||||||
if d.Compression != nil {
|
|
||||||
wc, err = d.Compression.Writer(f)
|
|
||||||
if err != nil {
|
|
||||||
f.Close() // error deliberately ignored
|
|
||||||
os.Remove(f.Name()) // error deliberately ignored
|
|
||||||
return fmt.Errorf("compression writer: %s", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if _, err := io.Copy(wc, r); err != nil {
|
|
||||||
f.Close() // error deliberately ignored
|
|
||||||
os.Remove(f.Name()) // error deliberately ignored
|
|
||||||
return fmt.Errorf("i/o copy: %s", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
if err := wc.Close(); err != nil {
|
|
||||||
f.Close() // error deliberately ignored
|
|
||||||
os.Remove(f.Name()) // error deliberately ignored
|
|
||||||
return fmt.Errorf("compression close: %s", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
if sync {
|
|
||||||
if err := f.Sync(); err != nil {
|
|
||||||
f.Close() // error deliberately ignored
|
|
||||||
os.Remove(f.Name()) // error deliberately ignored
|
|
||||||
return fmt.Errorf("file sync: %s", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if err := f.Close(); err != nil {
|
|
||||||
return fmt.Errorf("file close: %s", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
fullPath := d.completeFilename(pathKey)
|
|
||||||
if f.Name() != fullPath {
|
|
||||||
if err := os.Rename(f.Name(), fullPath); err != nil {
|
|
||||||
os.Remove(f.Name()) // error deliberately ignored
|
|
||||||
return fmt.Errorf("rename: %s", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if d.Index != nil {
|
|
||||||
d.Index.Insert(pathKey.originalKey)
|
|
||||||
}
|
|
||||||
|
|
||||||
d.bustCacheWithLock(pathKey.originalKey) // cache only on read
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Import imports the source file into diskv under the destination key. If the
|
|
||||||
// destination key already exists, it's overwritten. If move is true, the
|
|
||||||
// source file is removed after a successful import.
|
|
||||||
func (d *Diskv) Import(srcFilename, dstKey string, move bool) (err error) {
|
|
||||||
if dstKey == "" {
|
|
||||||
return errEmptyKey
|
|
||||||
}
|
|
||||||
|
|
||||||
if fi, err := os.Stat(srcFilename); err != nil {
|
|
||||||
return err
|
|
||||||
} else if fi.IsDir() {
|
|
||||||
return errImportDirectory
|
|
||||||
}
|
|
||||||
|
|
||||||
dstPathKey := d.transform(dstKey)
|
|
||||||
|
|
||||||
d.mu.Lock()
|
|
||||||
defer d.mu.Unlock()
|
|
||||||
|
|
||||||
if err := d.ensurePathWithLock(dstPathKey); err != nil {
|
|
||||||
return fmt.Errorf("ensure path: %s", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
if move {
|
|
||||||
if err := syscall.Rename(srcFilename, d.completeFilename(dstPathKey)); err == nil {
|
|
||||||
d.bustCacheWithLock(dstPathKey.originalKey)
|
|
||||||
return nil
|
|
||||||
} else if err != syscall.EXDEV {
|
|
||||||
// If it failed due to being on a different device, fall back to copying
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
f, err := os.Open(srcFilename)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
defer f.Close()
|
|
||||||
err = d.writeStreamWithLock(dstPathKey, f, false)
|
|
||||||
if err == nil && move {
|
|
||||||
err = os.Remove(srcFilename)
|
|
||||||
}
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
// Read reads the key and returns the value.
|
|
||||||
// If the key is available in the cache, Read won't touch the disk.
|
|
||||||
// If the key is not in the cache, Read will have the side-effect of
|
|
||||||
// lazily caching the value.
|
|
||||||
func (d *Diskv) Read(key string) ([]byte, error) {
|
|
||||||
rc, err := d.ReadStream(key, false)
|
|
||||||
if err != nil {
|
|
||||||
return []byte{}, err
|
|
||||||
}
|
|
||||||
defer rc.Close()
|
|
||||||
return ioutil.ReadAll(rc)
|
|
||||||
}
|
|
||||||
|
|
||||||
// ReadString reads the key and returns a string value
|
|
||||||
// In case of error, an empty string is returned
|
|
||||||
func (d *Diskv) ReadString(key string) string {
|
|
||||||
value, _ := d.Read(key)
|
|
||||||
return string(value)
|
|
||||||
}
|
|
||||||
|
|
||||||
// ReadStream reads the key and returns the value (data) as an io.ReadCloser.
|
|
||||||
// If the value is cached from a previous read, and direct is false,
|
|
||||||
// ReadStream will use the cached value. Otherwise, it will return a handle to
|
|
||||||
// the file on disk, and cache the data on read.
|
|
||||||
//
|
|
||||||
// If direct is true, ReadStream will lazily delete any cached value for the
|
|
||||||
// key, and return a direct handle to the file on disk.
|
|
||||||
//
|
|
||||||
// If compression is enabled, ReadStream taps into the io.Reader stream prior
|
|
||||||
// to decompression, and caches the compressed data.
|
|
||||||
func (d *Diskv) ReadStream(key string, direct bool) (io.ReadCloser, error) {
|
|
||||||
|
|
||||||
pathKey := d.transform(key)
|
|
||||||
d.mu.RLock()
|
|
||||||
defer d.mu.RUnlock()
|
|
||||||
|
|
||||||
if val, ok := d.cache[key]; ok {
|
|
||||||
if !direct {
|
|
||||||
buf := bytes.NewReader(val)
|
|
||||||
if d.Compression != nil {
|
|
||||||
return d.Compression.Reader(buf)
|
|
||||||
}
|
|
||||||
return ioutil.NopCloser(buf), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
go func() {
|
|
||||||
d.mu.Lock()
|
|
||||||
defer d.mu.Unlock()
|
|
||||||
d.uncacheWithLock(key, uint64(len(val)))
|
|
||||||
}()
|
|
||||||
}
|
|
||||||
|
|
||||||
return d.readWithRLock(pathKey)
|
|
||||||
}
|
|
||||||
|
|
||||||
// read ignores the cache, and returns an io.ReadCloser representing the
|
|
||||||
// decompressed data for the given key, streamed from the disk. Clients should
|
|
||||||
// acquire a read lock on the Diskv and check the cache themselves before
|
|
||||||
// calling read.
|
|
||||||
func (d *Diskv) readWithRLock(pathKey *PathKey) (io.ReadCloser, error) {
|
|
||||||
filename := d.completeFilename(pathKey)
|
|
||||||
|
|
||||||
fi, err := os.Stat(filename)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if fi.IsDir() {
|
|
||||||
return nil, os.ErrNotExist
|
|
||||||
}
|
|
||||||
|
|
||||||
f, err := os.Open(filename)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
var r io.Reader
|
|
||||||
if d.CacheSizeMax > 0 {
|
|
||||||
r = newSiphon(f, d, pathKey.originalKey)
|
|
||||||
} else {
|
|
||||||
r = &closingReader{f}
|
|
||||||
}
|
|
||||||
|
|
||||||
var rc = io.ReadCloser(ioutil.NopCloser(r))
|
|
||||||
if d.Compression != nil {
|
|
||||||
rc, err = d.Compression.Reader(r)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return rc, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// closingReader provides a Reader that automatically closes the
|
|
||||||
// embedded ReadCloser when it reaches EOF
|
|
||||||
type closingReader struct {
|
|
||||||
rc io.ReadCloser
|
|
||||||
}
|
|
||||||
|
|
||||||
func (cr closingReader) Read(p []byte) (int, error) {
|
|
||||||
n, err := cr.rc.Read(p)
|
|
||||||
if err == io.EOF {
|
|
||||||
if closeErr := cr.rc.Close(); closeErr != nil {
|
|
||||||
return n, closeErr // close must succeed for Read to succeed
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return n, err
|
|
||||||
}
|
|
||||||
|
|
||||||
// siphon is like a TeeReader: it copies all data read through it to an
|
|
||||||
// internal buffer, and moves that buffer to the cache at EOF.
|
|
||||||
type siphon struct {
|
|
||||||
f *os.File
|
|
||||||
d *Diskv
|
|
||||||
key string
|
|
||||||
buf *bytes.Buffer
|
|
||||||
}
|
|
||||||
|
|
||||||
// newSiphon constructs a siphoning reader that represents the passed file.
|
|
||||||
// When a successful series of reads ends in an EOF, the siphon will write
|
|
||||||
// the buffered data to Diskv's cache under the given key.
|
|
||||||
func newSiphon(f *os.File, d *Diskv, key string) io.Reader {
|
|
||||||
return &siphon{
|
|
||||||
f: f,
|
|
||||||
d: d,
|
|
||||||
key: key,
|
|
||||||
buf: &bytes.Buffer{},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Read implements the io.Reader interface for siphon.
|
|
||||||
func (s *siphon) Read(p []byte) (int, error) {
|
|
||||||
n, err := s.f.Read(p)
|
|
||||||
|
|
||||||
if err == nil {
|
|
||||||
return s.buf.Write(p[0:n]) // Write must succeed for Read to succeed
|
|
||||||
}
|
|
||||||
|
|
||||||
if err == io.EOF {
|
|
||||||
s.d.cacheWithoutLock(s.key, s.buf.Bytes()) // cache may fail
|
|
||||||
if closeErr := s.f.Close(); closeErr != nil {
|
|
||||||
return n, closeErr // close must succeed for Read to succeed
|
|
||||||
}
|
|
||||||
return n, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return n, err
|
|
||||||
}
|
|
||||||
|
|
||||||
// Erase synchronously erases the given key from the disk and the cache.
|
|
||||||
func (d *Diskv) Erase(key string) error {
|
|
||||||
pathKey := d.transform(key)
|
|
||||||
d.mu.Lock()
|
|
||||||
defer d.mu.Unlock()
|
|
||||||
|
|
||||||
d.bustCacheWithLock(key)
|
|
||||||
|
|
||||||
// erase from index
|
|
||||||
if d.Index != nil {
|
|
||||||
d.Index.Delete(key)
|
|
||||||
}
|
|
||||||
|
|
||||||
// erase from disk
|
|
||||||
filename := d.completeFilename(pathKey)
|
|
||||||
if s, err := os.Stat(filename); err == nil {
|
|
||||||
if s.IsDir() {
|
|
||||||
return errBadKey
|
|
||||||
}
|
|
||||||
if err = os.Remove(filename); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// Return err as-is so caller can do os.IsNotExist(err).
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
// clean up and return
|
|
||||||
d.pruneDirsWithLock(key)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// EraseAll will delete all of the data from the store, both in the cache and on
|
|
||||||
// the disk. Note that EraseAll doesn't distinguish diskv-related data from non-
|
|
||||||
// diskv-related data. Care should be taken to always specify a diskv base
|
|
||||||
// directory that is exclusively for diskv data.
|
|
||||||
func (d *Diskv) EraseAll() error {
|
|
||||||
d.mu.Lock()
|
|
||||||
defer d.mu.Unlock()
|
|
||||||
d.cache = make(map[string][]byte)
|
|
||||||
d.cacheSize = 0
|
|
||||||
if d.TempDir != "" {
|
|
||||||
os.RemoveAll(d.TempDir) // errors ignored
|
|
||||||
}
|
|
||||||
return os.RemoveAll(d.BasePath)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Has returns true if the given key exists.
|
|
||||||
func (d *Diskv) Has(key string) bool {
|
|
||||||
pathKey := d.transform(key)
|
|
||||||
d.mu.Lock()
|
|
||||||
defer d.mu.Unlock()
|
|
||||||
|
|
||||||
if _, ok := d.cache[key]; ok {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
filename := d.completeFilename(pathKey)
|
|
||||||
s, err := os.Stat(filename)
|
|
||||||
if err != nil {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
if s.IsDir() {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
// Keys returns a channel that will yield every key accessible by the store,
|
|
||||||
// in undefined order. If a cancel channel is provided, closing it will
|
|
||||||
// terminate and close the keys channel.
|
|
||||||
func (d *Diskv) Keys(cancel <-chan struct{}) <-chan string {
|
|
||||||
return d.KeysPrefix("", cancel)
|
|
||||||
}
|
|
||||||
|
|
||||||
// KeysPrefix returns a channel that will yield every key accessible by the
|
|
||||||
// store with the given prefix, in undefined order. If a cancel channel is
|
|
||||||
// provided, closing it will terminate and close the keys channel. If the
|
|
||||||
// provided prefix is the empty string, all keys will be yielded.
|
|
||||||
func (d *Diskv) KeysPrefix(prefix string, cancel <-chan struct{}) <-chan string {
|
|
||||||
var prepath string
|
|
||||||
if prefix == "" {
|
|
||||||
prepath = d.BasePath
|
|
||||||
} else {
|
|
||||||
prefixKey := d.transform(prefix)
|
|
||||||
prepath = d.pathFor(prefixKey)
|
|
||||||
}
|
|
||||||
c := make(chan string)
|
|
||||||
go func() {
|
|
||||||
filepath.Walk(prepath, d.walker(c, prefix, cancel))
|
|
||||||
close(c)
|
|
||||||
}()
|
|
||||||
return c
|
|
||||||
}
|
|
||||||
|
|
||||||
// walker returns a function which satisfies the filepath.WalkFunc interface.
|
|
||||||
// It sends every non-directory file entry down the channel c.
|
|
||||||
func (d *Diskv) walker(c chan<- string, prefix string, cancel <-chan struct{}) filepath.WalkFunc {
|
|
||||||
return func(path string, info os.FileInfo, err error) error {
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
relPath, _ := filepath.Rel(d.BasePath, path)
|
|
||||||
dir, file := filepath.Split(relPath)
|
|
||||||
pathSplit := strings.Split(dir, string(filepath.Separator))
|
|
||||||
pathSplit = pathSplit[:len(pathSplit)-1]
|
|
||||||
|
|
||||||
pathKey := &PathKey{
|
|
||||||
Path: pathSplit,
|
|
||||||
FileName: file,
|
|
||||||
}
|
|
||||||
|
|
||||||
key := d.InverseTransform(pathKey)
|
|
||||||
|
|
||||||
if info.IsDir() || !strings.HasPrefix(key, prefix) {
|
|
||||||
return nil // "pass"
|
|
||||||
}
|
|
||||||
|
|
||||||
select {
|
|
||||||
case c <- key:
|
|
||||||
case <-cancel:
|
|
||||||
return errCanceled
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// pathFor returns the absolute path for location on the filesystem where the
|
|
||||||
// data for the given key will be stored.
|
|
||||||
func (d *Diskv) pathFor(pathKey *PathKey) string {
|
|
||||||
return filepath.Join(d.BasePath, filepath.Join(pathKey.Path...))
|
|
||||||
}
|
|
||||||
|
|
||||||
// ensurePathWithLock is a helper function that generates all necessary
|
|
||||||
// directories on the filesystem for the given key.
|
|
||||||
func (d *Diskv) ensurePathWithLock(pathKey *PathKey) error {
|
|
||||||
return os.MkdirAll(d.pathFor(pathKey), d.PathPerm)
|
|
||||||
}
|
|
||||||
|
|
||||||
// completeFilename returns the absolute path to the file for the given key.
|
|
||||||
func (d *Diskv) completeFilename(pathKey *PathKey) string {
|
|
||||||
return filepath.Join(d.pathFor(pathKey), pathKey.FileName)
|
|
||||||
}
|
|
||||||
|
|
||||||
// cacheWithLock attempts to cache the given key-value pair in the store's
|
|
||||||
// cache. It can fail if the value is larger than the cache's maximum size.
|
|
||||||
func (d *Diskv) cacheWithLock(key string, val []byte) error {
|
|
||||||
valueSize := uint64(len(val))
|
|
||||||
if err := d.ensureCacheSpaceWithLock(valueSize); err != nil {
|
|
||||||
return fmt.Errorf("%s; not caching", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
// be very strict about memory guarantees
|
|
||||||
if (d.cacheSize + valueSize) > d.CacheSizeMax {
|
|
||||||
panic(fmt.Sprintf("failed to make room for value (%d/%d)", valueSize, d.CacheSizeMax))
|
|
||||||
}
|
|
||||||
|
|
||||||
d.cache[key] = val
|
|
||||||
d.cacheSize += valueSize
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// cacheWithoutLock acquires the store's (write) mutex and calls cacheWithLock.
|
|
||||||
func (d *Diskv) cacheWithoutLock(key string, val []byte) error {
|
|
||||||
d.mu.Lock()
|
|
||||||
defer d.mu.Unlock()
|
|
||||||
return d.cacheWithLock(key, val)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (d *Diskv) bustCacheWithLock(key string) {
|
|
||||||
if val, ok := d.cache[key]; ok {
|
|
||||||
d.uncacheWithLock(key, uint64(len(val)))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (d *Diskv) uncacheWithLock(key string, sz uint64) {
|
|
||||||
d.cacheSize -= sz
|
|
||||||
delete(d.cache, key)
|
|
||||||
}
|
|
||||||
|
|
||||||
// pruneDirsWithLock deletes empty directories in the path walk leading to the
|
|
||||||
// key k. Typically this function is called after an Erase is made.
|
|
||||||
func (d *Diskv) pruneDirsWithLock(key string) error {
|
|
||||||
pathlist := d.transform(key).Path
|
|
||||||
for i := range pathlist {
|
|
||||||
dir := filepath.Join(d.BasePath, filepath.Join(pathlist[:len(pathlist)-i]...))
|
|
||||||
|
|
||||||
// thanks to Steven Blenkinsop for this snippet
|
|
||||||
switch fi, err := os.Stat(dir); true {
|
|
||||||
case err != nil:
|
|
||||||
return err
|
|
||||||
case !fi.IsDir():
|
|
||||||
panic(fmt.Sprintf("corrupt dirstate at %s", dir))
|
|
||||||
}
|
|
||||||
|
|
||||||
nlinks, err := filepath.Glob(filepath.Join(dir, "*"))
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
} else if len(nlinks) > 0 {
|
|
||||||
return nil // has subdirs -- do not prune
|
|
||||||
}
|
|
||||||
if err = os.Remove(dir); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// ensureCacheSpaceWithLock deletes entries from the cache in arbitrary order
|
|
||||||
// until the cache has at least valueSize bytes available.
|
|
||||||
func (d *Diskv) ensureCacheSpaceWithLock(valueSize uint64) error {
|
|
||||||
if valueSize > d.CacheSizeMax {
|
|
||||||
return fmt.Errorf("value size (%d bytes) too large for cache (%d bytes)", valueSize, d.CacheSizeMax)
|
|
||||||
}
|
|
||||||
|
|
||||||
safe := func() bool { return (d.cacheSize + valueSize) <= d.CacheSizeMax }
|
|
||||||
|
|
||||||
for key, val := range d.cache {
|
|
||||||
if safe() {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
|
|
||||||
d.uncacheWithLock(key, uint64(len(val)))
|
|
||||||
}
|
|
||||||
|
|
||||||
if !safe() {
|
|
||||||
panic(fmt.Sprintf("%d bytes still won't fit in the cache! (max %d bytes)", valueSize, d.CacheSizeMax))
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// nopWriteCloser wraps an io.Writer and provides a no-op Close method to
|
|
||||||
// satisfy the io.WriteCloser interface.
|
|
||||||
type nopWriteCloser struct {
|
|
||||||
io.Writer
|
|
||||||
}
|
|
||||||
|
|
||||||
func (wc *nopWriteCloser) Write(p []byte) (int, error) { return wc.Writer.Write(p) }
|
|
||||||
func (wc *nopWriteCloser) Close() error { return nil }
|
|
115
vendor/github.com/peterbourgon/diskv/index.go
generated
vendored
115
vendor/github.com/peterbourgon/diskv/index.go
generated
vendored
|
@ -1,115 +0,0 @@
|
||||||
package diskv
|
|
||||||
|
|
||||||
import (
|
|
||||||
"sync"
|
|
||||||
|
|
||||||
"github.com/google/btree"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Index is a generic interface for things that can
|
|
||||||
// provide an ordered list of keys.
|
|
||||||
type Index interface {
|
|
||||||
Initialize(less LessFunction, keys <-chan string)
|
|
||||||
Insert(key string)
|
|
||||||
Delete(key string)
|
|
||||||
Keys(from string, n int) []string
|
|
||||||
}
|
|
||||||
|
|
||||||
// LessFunction is used to initialize an Index of keys in a specific order.
|
|
||||||
type LessFunction func(string, string) bool
|
|
||||||
|
|
||||||
// btreeString is a custom data type that satisfies the BTree Less interface,
|
|
||||||
// making the strings it wraps sortable by the BTree package.
|
|
||||||
type btreeString struct {
|
|
||||||
s string
|
|
||||||
l LessFunction
|
|
||||||
}
|
|
||||||
|
|
||||||
// Less satisfies the BTree.Less interface using the btreeString's LessFunction.
|
|
||||||
func (s btreeString) Less(i btree.Item) bool {
|
|
||||||
return s.l(s.s, i.(btreeString).s)
|
|
||||||
}
|
|
||||||
|
|
||||||
// BTreeIndex is an implementation of the Index interface using google/btree.
|
|
||||||
type BTreeIndex struct {
|
|
||||||
sync.RWMutex
|
|
||||||
LessFunction
|
|
||||||
*btree.BTree
|
|
||||||
}
|
|
||||||
|
|
||||||
// Initialize populates the BTree tree with data from the keys channel,
|
|
||||||
// according to the passed less function. It's destructive to the BTreeIndex.
|
|
||||||
func (i *BTreeIndex) Initialize(less LessFunction, keys <-chan string) {
|
|
||||||
i.Lock()
|
|
||||||
defer i.Unlock()
|
|
||||||
i.LessFunction = less
|
|
||||||
i.BTree = rebuild(less, keys)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Insert inserts the given key (only) into the BTree tree.
|
|
||||||
func (i *BTreeIndex) Insert(key string) {
|
|
||||||
i.Lock()
|
|
||||||
defer i.Unlock()
|
|
||||||
if i.BTree == nil || i.LessFunction == nil {
|
|
||||||
panic("uninitialized index")
|
|
||||||
}
|
|
||||||
i.BTree.ReplaceOrInsert(btreeString{s: key, l: i.LessFunction})
|
|
||||||
}
|
|
||||||
|
|
||||||
// Delete removes the given key (only) from the BTree tree.
|
|
||||||
func (i *BTreeIndex) Delete(key string) {
|
|
||||||
i.Lock()
|
|
||||||
defer i.Unlock()
|
|
||||||
if i.BTree == nil || i.LessFunction == nil {
|
|
||||||
panic("uninitialized index")
|
|
||||||
}
|
|
||||||
i.BTree.Delete(btreeString{s: key, l: i.LessFunction})
|
|
||||||
}
|
|
||||||
|
|
||||||
// Keys yields a maximum of n keys in order. If the passed 'from' key is empty,
|
|
||||||
// Keys will return the first n keys. If the passed 'from' key is non-empty, the
|
|
||||||
// first key in the returned slice will be the key that immediately follows the
|
|
||||||
// passed key, in key order.
|
|
||||||
func (i *BTreeIndex) Keys(from string, n int) []string {
|
|
||||||
i.RLock()
|
|
||||||
defer i.RUnlock()
|
|
||||||
|
|
||||||
if i.BTree == nil || i.LessFunction == nil {
|
|
||||||
panic("uninitialized index")
|
|
||||||
}
|
|
||||||
|
|
||||||
if i.BTree.Len() <= 0 {
|
|
||||||
return []string{}
|
|
||||||
}
|
|
||||||
|
|
||||||
btreeFrom := btreeString{s: from, l: i.LessFunction}
|
|
||||||
skipFirst := true
|
|
||||||
if len(from) <= 0 || !i.BTree.Has(btreeFrom) {
|
|
||||||
// no such key, so fabricate an always-smallest item
|
|
||||||
btreeFrom = btreeString{s: "", l: func(string, string) bool { return true }}
|
|
||||||
skipFirst = false
|
|
||||||
}
|
|
||||||
|
|
||||||
keys := []string{}
|
|
||||||
iterator := func(i btree.Item) bool {
|
|
||||||
keys = append(keys, i.(btreeString).s)
|
|
||||||
return len(keys) < n
|
|
||||||
}
|
|
||||||
i.BTree.AscendGreaterOrEqual(btreeFrom, iterator)
|
|
||||||
|
|
||||||
if skipFirst && len(keys) > 0 {
|
|
||||||
keys = keys[1:]
|
|
||||||
}
|
|
||||||
|
|
||||||
return keys
|
|
||||||
}
|
|
||||||
|
|
||||||
// rebuildIndex does the work of regenerating the index
|
|
||||||
// with the given keys.
|
|
||||||
func rebuild(less LessFunction, keys <-chan string) *btree.BTree {
|
|
||||||
tree := btree.New(2)
|
|
||||||
for key := range keys {
|
|
||||||
tree.ReplaceOrInsert(btreeString{s: key, l: less})
|
|
||||||
}
|
|
||||||
return tree
|
|
||||||
}
|
|
107
vendor/k8s.io/api/admissionregistration/v1alpha1/generated.proto
generated
vendored
107
vendor/k8s.io/api/admissionregistration/v1alpha1/generated.proto
generated
vendored
|
@ -1,107 +0,0 @@
|
||||||
/*
|
|
||||||
Copyright The Kubernetes Authors.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
// This file was autogenerated by go-to-protobuf. Do not edit it manually!
|
|
||||||
|
|
||||||
syntax = 'proto2';
|
|
||||||
|
|
||||||
package k8s.io.api.admissionregistration.v1alpha1;
|
|
||||||
|
|
||||||
import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto";
|
|
||||||
import "k8s.io/apimachinery/pkg/runtime/generated.proto";
|
|
||||||
import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto";
|
|
||||||
|
|
||||||
// Package-wide variables from generator "generated".
|
|
||||||
option go_package = "v1alpha1";
|
|
||||||
|
|
||||||
// Initializer describes the name and the failure policy of an initializer, and
|
|
||||||
// what resources it applies to.
|
|
||||||
message Initializer {
|
|
||||||
// Name is the identifier of the initializer. It will be added to the
|
|
||||||
// object that needs to be initialized.
|
|
||||||
// Name should be fully qualified, e.g., alwayspullimages.kubernetes.io, where
|
|
||||||
// "alwayspullimages" is the name of the webhook, and kubernetes.io is the name
|
|
||||||
// of the organization.
|
|
||||||
// Required
|
|
||||||
optional string name = 1;
|
|
||||||
|
|
||||||
// Rules describes what resources/subresources the initializer cares about.
|
|
||||||
// The initializer cares about an operation if it matches _any_ Rule.
|
|
||||||
// Rule.Resources must not include subresources.
|
|
||||||
repeated Rule rules = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
// InitializerConfiguration describes the configuration of initializers.
|
|
||||||
message InitializerConfiguration {
|
|
||||||
// Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata.
|
|
||||||
// +optional
|
|
||||||
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
|
||||||
|
|
||||||
// Initializers is a list of resources and their default initializers
|
|
||||||
// Order-sensitive.
|
|
||||||
// When merging multiple InitializerConfigurations, we sort the initializers
|
|
||||||
// from different InitializerConfigurations by the name of the
|
|
||||||
// InitializerConfigurations; the order of the initializers from the same
|
|
||||||
// InitializerConfiguration is preserved.
|
|
||||||
// +patchMergeKey=name
|
|
||||||
// +patchStrategy=merge
|
|
||||||
// +optional
|
|
||||||
repeated Initializer initializers = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
// InitializerConfigurationList is a list of InitializerConfiguration.
|
|
||||||
message InitializerConfigurationList {
|
|
||||||
// Standard list metadata.
|
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
|
|
||||||
// +optional
|
|
||||||
optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
|
|
||||||
|
|
||||||
// List of InitializerConfiguration.
|
|
||||||
repeated InitializerConfiguration items = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Rule is a tuple of APIGroups, APIVersion, and Resources.It is recommended
|
|
||||||
// to make sure that all the tuple expansions are valid.
|
|
||||||
message Rule {
|
|
||||||
// APIGroups is the API groups the resources belong to. '*' is all groups.
|
|
||||||
// If '*' is present, the length of the slice must be one.
|
|
||||||
// Required.
|
|
||||||
repeated string apiGroups = 1;
|
|
||||||
|
|
||||||
// APIVersions is the API versions the resources belong to. '*' is all versions.
|
|
||||||
// If '*' is present, the length of the slice must be one.
|
|
||||||
// Required.
|
|
||||||
repeated string apiVersions = 2;
|
|
||||||
|
|
||||||
// Resources is a list of resources this rule applies to.
|
|
||||||
//
|
|
||||||
// For example:
|
|
||||||
// 'pods' means pods.
|
|
||||||
// 'pods/log' means the log subresource of pods.
|
|
||||||
// '*' means all resources, but not subresources.
|
|
||||||
// 'pods/*' means all subresources of pods.
|
|
||||||
// '*/scale' means all scale subresources.
|
|
||||||
// '*/*' means all resources and their subresources.
|
|
||||||
//
|
|
||||||
// If wildcard is present, the validation rule will ensure resources do not
|
|
||||||
// overlap with each other.
|
|
||||||
//
|
|
||||||
// Depending on the enclosing object, subresources might not be allowed.
|
|
||||||
// Required.
|
|
||||||
repeated string resources = 3;
|
|
||||||
}
|
|
||||||
|
|
106
vendor/k8s.io/api/admissionregistration/v1alpha1/types.go
generated
vendored
106
vendor/k8s.io/api/admissionregistration/v1alpha1/types.go
generated
vendored
|
@ -1,106 +0,0 @@
|
||||||
/*
|
|
||||||
Copyright 2017 The Kubernetes Authors.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package v1alpha1
|
|
||||||
|
|
||||||
import (
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
|
||||||
)
|
|
||||||
|
|
||||||
// +genclient
|
|
||||||
// +genclient:nonNamespaced
|
|
||||||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
|
||||||
|
|
||||||
// InitializerConfiguration describes the configuration of initializers.
|
|
||||||
type InitializerConfiguration struct {
|
|
||||||
metav1.TypeMeta `json:",inline"`
|
|
||||||
// Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata.
|
|
||||||
// +optional
|
|
||||||
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
|
||||||
|
|
||||||
// Initializers is a list of resources and their default initializers
|
|
||||||
// Order-sensitive.
|
|
||||||
// When merging multiple InitializerConfigurations, we sort the initializers
|
|
||||||
// from different InitializerConfigurations by the name of the
|
|
||||||
// InitializerConfigurations; the order of the initializers from the same
|
|
||||||
// InitializerConfiguration is preserved.
|
|
||||||
// +patchMergeKey=name
|
|
||||||
// +patchStrategy=merge
|
|
||||||
// +optional
|
|
||||||
Initializers []Initializer `json:"initializers,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,2,rep,name=initializers"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
|
||||||
|
|
||||||
// InitializerConfigurationList is a list of InitializerConfiguration.
|
|
||||||
type InitializerConfigurationList struct {
|
|
||||||
metav1.TypeMeta `json:",inline"`
|
|
||||||
// Standard list metadata.
|
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
|
|
||||||
// +optional
|
|
||||||
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
|
||||||
|
|
||||||
// List of InitializerConfiguration.
|
|
||||||
Items []InitializerConfiguration `json:"items" protobuf:"bytes,2,rep,name=items"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// Initializer describes the name and the failure policy of an initializer, and
|
|
||||||
// what resources it applies to.
|
|
||||||
type Initializer struct {
|
|
||||||
// Name is the identifier of the initializer. It will be added to the
|
|
||||||
// object that needs to be initialized.
|
|
||||||
// Name should be fully qualified, e.g., alwayspullimages.kubernetes.io, where
|
|
||||||
// "alwayspullimages" is the name of the webhook, and kubernetes.io is the name
|
|
||||||
// of the organization.
|
|
||||||
// Required
|
|
||||||
Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
|
|
||||||
|
|
||||||
// Rules describes what resources/subresources the initializer cares about.
|
|
||||||
// The initializer cares about an operation if it matches _any_ Rule.
|
|
||||||
// Rule.Resources must not include subresources.
|
|
||||||
Rules []Rule `json:"rules,omitempty" protobuf:"bytes,2,rep,name=rules"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// Rule is a tuple of APIGroups, APIVersion, and Resources.It is recommended
|
|
||||||
// to make sure that all the tuple expansions are valid.
|
|
||||||
type Rule struct {
|
|
||||||
// APIGroups is the API groups the resources belong to. '*' is all groups.
|
|
||||||
// If '*' is present, the length of the slice must be one.
|
|
||||||
// Required.
|
|
||||||
APIGroups []string `json:"apiGroups,omitempty" protobuf:"bytes,1,rep,name=apiGroups"`
|
|
||||||
|
|
||||||
// APIVersions is the API versions the resources belong to. '*' is all versions.
|
|
||||||
// If '*' is present, the length of the slice must be one.
|
|
||||||
// Required.
|
|
||||||
APIVersions []string `json:"apiVersions,omitempty" protobuf:"bytes,2,rep,name=apiVersions"`
|
|
||||||
|
|
||||||
// Resources is a list of resources this rule applies to.
|
|
||||||
//
|
|
||||||
// For example:
|
|
||||||
// 'pods' means pods.
|
|
||||||
// 'pods/log' means the log subresource of pods.
|
|
||||||
// '*' means all resources, but not subresources.
|
|
||||||
// 'pods/*' means all subresources of pods.
|
|
||||||
// '*/scale' means all scale subresources.
|
|
||||||
// '*/*' means all resources and their subresources.
|
|
||||||
//
|
|
||||||
// If wildcard is present, the validation rule will ensure resources do not
|
|
||||||
// overlap with each other.
|
|
||||||
//
|
|
||||||
// Depending on the enclosing object, subresources might not be allowed.
|
|
||||||
// Required.
|
|
||||||
Resources []string `json:"resources,omitempty" protobuf:"bytes,3,rep,name=resources"`
|
|
||||||
}
|
|
71
vendor/k8s.io/api/admissionregistration/v1alpha1/types_swagger_doc_generated.go
generated
vendored
71
vendor/k8s.io/api/admissionregistration/v1alpha1/types_swagger_doc_generated.go
generated
vendored
|
@ -1,71 +0,0 @@
|
||||||
/*
|
|
||||||
Copyright The Kubernetes Authors.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package v1alpha1
|
|
||||||
|
|
||||||
// This file contains a collection of methods that can be used from go-restful to
|
|
||||||
// generate Swagger API documentation for its models. Please read this PR for more
|
|
||||||
// information on the implementation: https://github.com/emicklei/go-restful/pull/215
|
|
||||||
//
|
|
||||||
// TODOs are ignored from the parser (e.g. TODO(andronat):... || TODO:...) if and only if
|
|
||||||
// they are on one line! For multiple line or blocks that you want to ignore use ---.
|
|
||||||
// Any context after a --- is ignored.
|
|
||||||
//
|
|
||||||
// Those methods can be generated by using hack/update-generated-swagger-docs.sh
|
|
||||||
|
|
||||||
// AUTO-GENERATED FUNCTIONS START HERE. DO NOT EDIT.
|
|
||||||
var map_Initializer = map[string]string{
|
|
||||||
"": "Initializer describes the name and the failure policy of an initializer, and what resources it applies to.",
|
|
||||||
"name": "Name is the identifier of the initializer. It will be added to the object that needs to be initialized. Name should be fully qualified, e.g., alwayspullimages.kubernetes.io, where \"alwayspullimages\" is the name of the webhook, and kubernetes.io is the name of the organization. Required",
|
|
||||||
"rules": "Rules describes what resources/subresources the initializer cares about. The initializer cares about an operation if it matches _any_ Rule. Rule.Resources must not include subresources.",
|
|
||||||
}
|
|
||||||
|
|
||||||
func (Initializer) SwaggerDoc() map[string]string {
|
|
||||||
return map_Initializer
|
|
||||||
}
|
|
||||||
|
|
||||||
var map_InitializerConfiguration = map[string]string{
|
|
||||||
"": "InitializerConfiguration describes the configuration of initializers.",
|
|
||||||
"metadata": "Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata.",
|
|
||||||
"initializers": "Initializers is a list of resources and their default initializers Order-sensitive. When merging multiple InitializerConfigurations, we sort the initializers from different InitializerConfigurations by the name of the InitializerConfigurations; the order of the initializers from the same InitializerConfiguration is preserved.",
|
|
||||||
}
|
|
||||||
|
|
||||||
func (InitializerConfiguration) SwaggerDoc() map[string]string {
|
|
||||||
return map_InitializerConfiguration
|
|
||||||
}
|
|
||||||
|
|
||||||
var map_InitializerConfigurationList = map[string]string{
|
|
||||||
"": "InitializerConfigurationList is a list of InitializerConfiguration.",
|
|
||||||
"metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds",
|
|
||||||
"items": "List of InitializerConfiguration.",
|
|
||||||
}
|
|
||||||
|
|
||||||
func (InitializerConfigurationList) SwaggerDoc() map[string]string {
|
|
||||||
return map_InitializerConfigurationList
|
|
||||||
}
|
|
||||||
|
|
||||||
var map_Rule = map[string]string{
|
|
||||||
"": "Rule is a tuple of APIGroups, APIVersion, and Resources.It is recommended to make sure that all the tuple expansions are valid.",
|
|
||||||
"apiGroups": "APIGroups is the API groups the resources belong to. '*' is all groups. If '*' is present, the length of the slice must be one. Required.",
|
|
||||||
"apiVersions": "APIVersions is the API versions the resources belong to. '*' is all versions. If '*' is present, the length of the slice must be one. Required.",
|
|
||||||
"resources": "Resources is a list of resources this rule applies to.\n\nFor example: 'pods' means pods. 'pods/log' means the log subresource of pods. '*' means all resources, but not subresources. 'pods/*' means all subresources of pods. '*/scale' means all scale subresources. '*/*' means all resources and their subresources.\n\nIf wildcard is present, the validation rule will ensure resources do not overlap with each other.\n\nDepending on the enclosing object, subresources might not be allowed. Required.",
|
|
||||||
}
|
|
||||||
|
|
||||||
func (Rule) SwaggerDoc() map[string]string {
|
|
||||||
return map_Rule
|
|
||||||
}
|
|
||||||
|
|
||||||
// AUTO-GENERATED FUNCTIONS END HERE
|
|
3
vendor/k8s.io/api/admissionregistration/v1beta1/doc.go
generated
vendored
3
vendor/k8s.io/api/admissionregistration/v1beta1/doc.go
generated
vendored
|
@ -15,11 +15,12 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// +k8s:deepcopy-gen=package
|
// +k8s:deepcopy-gen=package
|
||||||
|
// +k8s:protobuf-gen=package
|
||||||
// +k8s:openapi-gen=true
|
// +k8s:openapi-gen=true
|
||||||
// +groupName=admissionregistration.k8s.io
|
// +groupName=admissionregistration.k8s.io
|
||||||
|
|
||||||
// Package v1beta1 is the v1beta1 version of the API.
|
// Package v1beta1 is the v1beta1 version of the API.
|
||||||
// AdmissionConfiguration and AdmissionPluginConfiguration are legacy static admission plugin configuration
|
// AdmissionConfiguration and AdmissionPluginConfiguration are legacy static admission plugin configuration
|
||||||
// InitializerConfiguration and validatingWebhookConfiguration is for the
|
// MutatingWebhookConfiguration and ValidatingWebhookConfiguration are for the
|
||||||
// new dynamic admission controller configuration.
|
// new dynamic admission controller configuration.
|
||||||
package v1beta1 // import "k8s.io/api/admissionregistration/v1beta1"
|
package v1beta1 // import "k8s.io/api/admissionregistration/v1beta1"
|
||||||
|
|
242
vendor/k8s.io/api/admissionregistration/v1beta1/generated.pb.go
generated
vendored
242
vendor/k8s.io/api/admissionregistration/v1beta1/generated.pb.go
generated
vendored
|
@ -249,6 +249,12 @@ func (m *Rule) MarshalTo(dAtA []byte) (int, error) {
|
||||||
i += copy(dAtA[i:], s)
|
i += copy(dAtA[i:], s)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if m.Scope != nil {
|
||||||
|
dAtA[i] = 0x22
|
||||||
|
i++
|
||||||
|
i = encodeVarintGenerated(dAtA, i, uint64(len(*m.Scope)))
|
||||||
|
i += copy(dAtA[i:], *m.Scope)
|
||||||
|
}
|
||||||
return i, nil
|
return i, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -462,6 +468,26 @@ func (m *Webhook) MarshalTo(dAtA []byte) (int, error) {
|
||||||
i = encodeVarintGenerated(dAtA, i, uint64(len(*m.SideEffects)))
|
i = encodeVarintGenerated(dAtA, i, uint64(len(*m.SideEffects)))
|
||||||
i += copy(dAtA[i:], *m.SideEffects)
|
i += copy(dAtA[i:], *m.SideEffects)
|
||||||
}
|
}
|
||||||
|
if m.TimeoutSeconds != nil {
|
||||||
|
dAtA[i] = 0x38
|
||||||
|
i++
|
||||||
|
i = encodeVarintGenerated(dAtA, i, uint64(*m.TimeoutSeconds))
|
||||||
|
}
|
||||||
|
if len(m.AdmissionReviewVersions) > 0 {
|
||||||
|
for _, s := range m.AdmissionReviewVersions {
|
||||||
|
dAtA[i] = 0x42
|
||||||
|
i++
|
||||||
|
l = len(s)
|
||||||
|
for l >= 1<<7 {
|
||||||
|
dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
|
||||||
|
l >>= 7
|
||||||
|
i++
|
||||||
|
}
|
||||||
|
dAtA[i] = uint8(l)
|
||||||
|
i++
|
||||||
|
i += copy(dAtA[i:], s)
|
||||||
|
}
|
||||||
|
}
|
||||||
return i, nil
|
return i, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -563,6 +589,10 @@ func (m *Rule) Size() (n int) {
|
||||||
n += 1 + l + sovGenerated(uint64(l))
|
n += 1 + l + sovGenerated(uint64(l))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if m.Scope != nil {
|
||||||
|
l = len(*m.Scope)
|
||||||
|
n += 1 + l + sovGenerated(uint64(l))
|
||||||
|
}
|
||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -647,6 +677,15 @@ func (m *Webhook) Size() (n int) {
|
||||||
l = len(*m.SideEffects)
|
l = len(*m.SideEffects)
|
||||||
n += 1 + l + sovGenerated(uint64(l))
|
n += 1 + l + sovGenerated(uint64(l))
|
||||||
}
|
}
|
||||||
|
if m.TimeoutSeconds != nil {
|
||||||
|
n += 1 + sovGenerated(uint64(*m.TimeoutSeconds))
|
||||||
|
}
|
||||||
|
if len(m.AdmissionReviewVersions) > 0 {
|
||||||
|
for _, s := range m.AdmissionReviewVersions {
|
||||||
|
l = len(s)
|
||||||
|
n += 1 + l + sovGenerated(uint64(l))
|
||||||
|
}
|
||||||
|
}
|
||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -711,6 +750,7 @@ func (this *Rule) String() string {
|
||||||
`APIGroups:` + fmt.Sprintf("%v", this.APIGroups) + `,`,
|
`APIGroups:` + fmt.Sprintf("%v", this.APIGroups) + `,`,
|
||||||
`APIVersions:` + fmt.Sprintf("%v", this.APIVersions) + `,`,
|
`APIVersions:` + fmt.Sprintf("%v", this.APIVersions) + `,`,
|
||||||
`Resources:` + fmt.Sprintf("%v", this.Resources) + `,`,
|
`Resources:` + fmt.Sprintf("%v", this.Resources) + `,`,
|
||||||
|
`Scope:` + valueToStringGenerated(this.Scope) + `,`,
|
||||||
`}`,
|
`}`,
|
||||||
}, "")
|
}, "")
|
||||||
return s
|
return s
|
||||||
|
@ -771,6 +811,8 @@ func (this *Webhook) String() string {
|
||||||
`FailurePolicy:` + valueToStringGenerated(this.FailurePolicy) + `,`,
|
`FailurePolicy:` + valueToStringGenerated(this.FailurePolicy) + `,`,
|
||||||
`NamespaceSelector:` + strings.Replace(fmt.Sprintf("%v", this.NamespaceSelector), "LabelSelector", "k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector", 1) + `,`,
|
`NamespaceSelector:` + strings.Replace(fmt.Sprintf("%v", this.NamespaceSelector), "LabelSelector", "k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector", 1) + `,`,
|
||||||
`SideEffects:` + valueToStringGenerated(this.SideEffects) + `,`,
|
`SideEffects:` + valueToStringGenerated(this.SideEffects) + `,`,
|
||||||
|
`TimeoutSeconds:` + valueToStringGenerated(this.TimeoutSeconds) + `,`,
|
||||||
|
`AdmissionReviewVersions:` + fmt.Sprintf("%v", this.AdmissionReviewVersions) + `,`,
|
||||||
`}`,
|
`}`,
|
||||||
}, "")
|
}, "")
|
||||||
return s
|
return s
|
||||||
|
@ -1133,6 +1175,36 @@ func (m *Rule) Unmarshal(dAtA []byte) error {
|
||||||
}
|
}
|
||||||
m.Resources = append(m.Resources, string(dAtA[iNdEx:postIndex]))
|
m.Resources = append(m.Resources, string(dAtA[iNdEx:postIndex]))
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
|
case 4:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field Scope", wireType)
|
||||||
|
}
|
||||||
|
var stringLen uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
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 ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + intStringLen
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
s := ScopeType(dAtA[iNdEx:postIndex])
|
||||||
|
m.Scope = &s
|
||||||
|
iNdEx = postIndex
|
||||||
default:
|
default:
|
||||||
iNdEx = preIndex
|
iNdEx = preIndex
|
||||||
skippy, err := skipGenerated(dAtA[iNdEx:])
|
skippy, err := skipGenerated(dAtA[iNdEx:])
|
||||||
|
@ -1835,6 +1907,55 @@ func (m *Webhook) Unmarshal(dAtA []byte) error {
|
||||||
s := SideEffectClass(dAtA[iNdEx:postIndex])
|
s := SideEffectClass(dAtA[iNdEx:postIndex])
|
||||||
m.SideEffects = &s
|
m.SideEffects = &s
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
|
case 7:
|
||||||
|
if wireType != 0 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field TimeoutSeconds", wireType)
|
||||||
|
}
|
||||||
|
var v int32
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
v |= (int32(b) & 0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
m.TimeoutSeconds = &v
|
||||||
|
case 8:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field AdmissionReviewVersions", wireType)
|
||||||
|
}
|
||||||
|
var stringLen uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
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 ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + intStringLen
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
m.AdmissionReviewVersions = append(m.AdmissionReviewVersions, string(dAtA[iNdEx:postIndex]))
|
||||||
|
iNdEx = postIndex
|
||||||
default:
|
default:
|
||||||
iNdEx = preIndex
|
iNdEx = preIndex
|
||||||
skippy, err := skipGenerated(dAtA[iNdEx:])
|
skippy, err := skipGenerated(dAtA[iNdEx:])
|
||||||
|
@ -2110,62 +2231,67 @@ func init() {
|
||||||
}
|
}
|
||||||
|
|
||||||
var fileDescriptorGenerated = []byte{
|
var fileDescriptorGenerated = []byte{
|
||||||
// 906 bytes of a gzipped FileDescriptorProto
|
// 989 bytes of a gzipped FileDescriptorProto
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x54, 0xcf, 0x6f, 0xe3, 0x44,
|
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x55, 0x4f, 0x6f, 0xe3, 0x44,
|
||||||
0x14, 0x8e, 0x37, 0x29, 0x49, 0x26, 0x89, 0x76, 0x3b, 0x80, 0x14, 0xaa, 0x95, 0x1d, 0xe5, 0x80,
|
0x14, 0xaf, 0x37, 0x09, 0x49, 0x26, 0xed, 0xee, 0x76, 0xf8, 0xb3, 0xa1, 0xac, 0xec, 0x28, 0x07,
|
||||||
0x22, 0xa1, 0xb5, 0x49, 0x41, 0x08, 0x21, 0x10, 0xaa, 0x0b, 0x0b, 0x95, 0xba, 0xbb, 0x61, 0x0a,
|
0x14, 0x09, 0xd6, 0xa6, 0x05, 0x21, 0xb4, 0x02, 0xa1, 0xba, 0xb0, 0x50, 0xa9, 0xbb, 0x5b, 0x26,
|
||||||
0xbb, 0x12, 0xe2, 0xc0, 0xc4, 0x79, 0x49, 0x86, 0xf8, 0x97, 0x66, 0xc6, 0x59, 0x7a, 0x43, 0xe2,
|
0xfb, 0x47, 0x42, 0x1c, 0x98, 0x38, 0x2f, 0xc9, 0x10, 0xc7, 0x63, 0x79, 0xc6, 0x29, 0xbd, 0x21,
|
||||||
0x1f, 0x40, 0x42, 0xfc, 0x0d, 0xfc, 0x15, 0xdc, 0x7b, 0xdc, 0x0b, 0x62, 0x4f, 0x16, 0x35, 0x67,
|
0xf1, 0x05, 0xf8, 0x16, 0xf0, 0x25, 0x38, 0x70, 0xeb, 0x71, 0x2f, 0x88, 0x3d, 0x59, 0xd4, 0x9c,
|
||||||
0x0e, 0x5c, 0x7b, 0x42, 0x63, 0x3b, 0x71, 0xd2, 0x6c, 0xbb, 0xe9, 0x85, 0x03, 0x37, 0xcf, 0xf7,
|
0x39, 0x70, 0xed, 0x09, 0x8d, 0xed, 0xd8, 0x49, 0xd3, 0x76, 0xb3, 0x17, 0x0e, 0xdc, 0x3c, 0xbf,
|
||||||
0xe6, 0xfb, 0xde, 0xfb, 0x9e, 0xdf, 0x1b, 0xf4, 0xc5, 0xec, 0x7d, 0x61, 0xb2, 0xc0, 0x9a, 0x45,
|
0xf7, 0x7e, 0xef, 0xbd, 0xdf, 0xcc, 0x7b, 0xcf, 0xe8, 0xab, 0xf1, 0x47, 0xc2, 0x64, 0xdc, 0x1a,
|
||||||
0x43, 0xe0, 0x3e, 0x48, 0x10, 0xd6, 0x1c, 0xfc, 0x51, 0xc0, 0xad, 0x3c, 0x40, 0x43, 0x66, 0xd1,
|
0x87, 0x3d, 0x08, 0x3c, 0x90, 0x20, 0xac, 0x29, 0x78, 0x7d, 0x1e, 0x58, 0x99, 0x81, 0xfa, 0xcc,
|
||||||
0x91, 0xc7, 0x84, 0x60, 0x81, 0xcf, 0x61, 0xc2, 0x84, 0xe4, 0x54, 0xb2, 0xc0, 0xb7, 0xe6, 0xfd,
|
0xa2, 0xfd, 0x09, 0x13, 0x82, 0x71, 0x2f, 0x80, 0x21, 0x13, 0x32, 0xa0, 0x92, 0x71, 0xcf, 0x9a,
|
||||||
0x21, 0x48, 0xda, 0xb7, 0x26, 0xe0, 0x03, 0xa7, 0x12, 0x46, 0x66, 0xc8, 0x03, 0x19, 0xe0, 0x5e,
|
0x6e, 0xf7, 0x40, 0xd2, 0x6d, 0x6b, 0x08, 0x1e, 0x04, 0x54, 0x42, 0xdf, 0xf4, 0x03, 0x2e, 0x39,
|
||||||
0xc6, 0x34, 0x69, 0xc8, 0xcc, 0x17, 0x32, 0xcd, 0x9c, 0xb9, 0x77, 0x6f, 0xc2, 0xe4, 0x34, 0x1a,
|
0xee, 0xa4, 0x4c, 0x93, 0xfa, 0xcc, 0xbc, 0x90, 0x69, 0x66, 0xcc, 0xad, 0x3b, 0x43, 0x26, 0x47,
|
||||||
0x9a, 0x4e, 0xe0, 0x59, 0x93, 0x60, 0x12, 0x58, 0xa9, 0xc0, 0x30, 0x1a, 0xa7, 0xa7, 0xf4, 0x90,
|
0x61, 0xcf, 0x74, 0xf8, 0xc4, 0x1a, 0xf2, 0x21, 0xb7, 0x92, 0x00, 0xbd, 0x70, 0x90, 0x9c, 0x92,
|
||||||
0x7e, 0x65, 0xc2, 0x7b, 0xef, 0x16, 0x25, 0x79, 0xd4, 0x99, 0x32, 0x1f, 0xf8, 0xa9, 0x15, 0xce,
|
0x43, 0xf2, 0x95, 0x06, 0xde, 0xfa, 0xa0, 0x28, 0x69, 0x42, 0x9d, 0x11, 0xf3, 0x20, 0x38, 0xb6,
|
||||||
0x26, 0x0a, 0x10, 0x96, 0x07, 0x92, 0x5a, 0xf3, 0x8d, 0x72, 0xf6, 0xac, 0xab, 0x58, 0x3c, 0xf2,
|
0xfc, 0xf1, 0x50, 0x01, 0xc2, 0x9a, 0x80, 0xa4, 0xd6, 0x74, 0xa9, 0x9c, 0x2d, 0xeb, 0x32, 0x56,
|
||||||
0x25, 0xf3, 0x60, 0x83, 0xf0, 0xde, 0xcb, 0x08, 0xc2, 0x99, 0x82, 0x47, 0x2f, 0xf3, 0xba, 0xbf,
|
0x10, 0x7a, 0x92, 0x4d, 0x60, 0x89, 0xf0, 0xe1, 0x8b, 0x08, 0xc2, 0x19, 0xc1, 0x84, 0x9e, 0xe7,
|
||||||
0x6b, 0xe8, 0xee, 0x83, 0x48, 0x52, 0xc9, 0xfc, 0xc9, 0x13, 0x18, 0x4e, 0x83, 0x60, 0x76, 0x18,
|
0xb5, 0x7f, 0xd7, 0xd0, 0xed, 0xfb, 0xa1, 0xa4, 0x92, 0x79, 0xc3, 0xa7, 0xd0, 0x1b, 0x71, 0x3e,
|
||||||
0xf8, 0x63, 0x36, 0x89, 0x32, 0xdb, 0xf8, 0x5b, 0x54, 0x53, 0x45, 0x8e, 0xa8, 0xa4, 0x6d, 0xad,
|
0xde, 0xe3, 0xde, 0x80, 0x0d, 0xc3, 0x54, 0x36, 0xfe, 0x16, 0xd5, 0x54, 0x91, 0x7d, 0x2a, 0x69,
|
||||||
0xa3, 0xf5, 0x1a, 0xfb, 0x6f, 0x9b, 0x45, 0xaf, 0x96, 0xb9, 0xcc, 0x70, 0x36, 0x51, 0x80, 0x30,
|
0x53, 0x6b, 0x69, 0x9d, 0xc6, 0xce, 0x7b, 0x66, 0x71, 0x57, 0x79, 0x2e, 0xd3, 0x1f, 0x0f, 0x15,
|
||||||
0xd5, 0x6d, 0x73, 0xde, 0x37, 0x1f, 0x0d, 0xbf, 0x03, 0x47, 0x3e, 0x00, 0x49, 0x6d, 0x7c, 0x16,
|
0x20, 0x4c, 0xe5, 0x6d, 0x4e, 0xb7, 0xcd, 0x87, 0xbd, 0xef, 0xc0, 0x91, 0xf7, 0x41, 0x52, 0x1b,
|
||||||
0x1b, 0xa5, 0x24, 0x36, 0x50, 0x81, 0x91, 0xa5, 0x2a, 0x3e, 0x41, 0xb5, 0x3c, 0xb3, 0x68, 0xdf,
|
0x9f, 0x44, 0xc6, 0x5a, 0x1c, 0x19, 0xa8, 0xc0, 0x48, 0x1e, 0x15, 0x77, 0x51, 0x2d, 0xcb, 0x2c,
|
||||||
0xea, 0x94, 0x7b, 0x8d, 0xfd, 0xbe, 0xb9, 0xed, 0xdf, 0x30, 0x73, 0xa6, 0x5d, 0x51, 0x29, 0x48,
|
0x9a, 0xd7, 0x5a, 0xa5, 0x4e, 0x63, 0x67, 0xdb, 0x5c, 0xf5, 0x35, 0xcc, 0x8c, 0x69, 0x97, 0x55,
|
||||||
0xed, 0x69, 0x2e, 0xd4, 0xfd, 0x5b, 0x43, 0x9d, 0xeb, 0x7c, 0x1d, 0x33, 0x21, 0xf1, 0x37, 0x1b,
|
0x0a, 0x52, 0x3b, 0xca, 0x02, 0xb5, 0xff, 0xd6, 0x50, 0xeb, 0x2a, 0x5d, 0x07, 0x4c, 0x48, 0xfc,
|
||||||
0xde, 0xcc, 0xed, 0xbc, 0x29, 0x76, 0xea, 0xec, 0x4e, 0xee, 0xac, 0xb6, 0x40, 0x56, 0x7c, 0xcd,
|
0xcd, 0x92, 0x36, 0x73, 0x35, 0x6d, 0x8a, 0x9d, 0x28, 0xbb, 0x99, 0x29, 0xab, 0xcd, 0x90, 0x39,
|
||||||
0xd0, 0x0e, 0x93, 0xe0, 0x2d, 0x4c, 0xdd, 0xdf, 0xde, 0xd4, 0x75, 0x85, 0xdb, 0xad, 0x3c, 0xe5,
|
0x5d, 0x63, 0x54, 0x61, 0x12, 0x26, 0x33, 0x51, 0xf7, 0x56, 0x17, 0x75, 0x55, 0xe1, 0xf6, 0x46,
|
||||||
0xce, 0x91, 0x12, 0x27, 0x59, 0x8e, 0xee, 0xcf, 0x1a, 0xaa, 0x90, 0xc8, 0x05, 0xfc, 0x16, 0xaa,
|
0x96, 0xb2, 0xb2, 0xaf, 0x82, 0x93, 0x34, 0x47, 0xfb, 0x37, 0x0d, 0x95, 0x49, 0xe8, 0x02, 0x7e,
|
||||||
0xd3, 0x90, 0x7d, 0xc6, 0x83, 0x28, 0x14, 0x6d, 0xad, 0x53, 0xee, 0xd5, 0xed, 0x56, 0x12, 0x1b,
|
0x07, 0xd5, 0xa9, 0xcf, 0xbe, 0x08, 0x78, 0xe8, 0x8b, 0xa6, 0xd6, 0x2a, 0x75, 0xea, 0xf6, 0x46,
|
||||||
0xf5, 0x83, 0xc1, 0x51, 0x06, 0x92, 0x22, 0x8e, 0xfb, 0xa8, 0x41, 0x43, 0xf6, 0x18, 0xb8, 0x2a,
|
0x1c, 0x19, 0xf5, 0xdd, 0xc3, 0xfd, 0x14, 0x24, 0x85, 0x1d, 0x6f, 0xa3, 0x06, 0xf5, 0xd9, 0x13,
|
||||||
0x25, 0x2b, 0xb4, 0x6e, 0xdf, 0x4e, 0x62, 0xa3, 0x71, 0x30, 0x38, 0x5a, 0xc0, 0x64, 0xf5, 0x8e,
|
0x08, 0x54, 0x29, 0x69, 0xa1, 0x75, 0xfb, 0x46, 0x1c, 0x19, 0x8d, 0xdd, 0xc3, 0xfd, 0x19, 0x4c,
|
||||||
0xd2, 0xe7, 0x20, 0x82, 0x88, 0x3b, 0x20, 0xda, 0xe5, 0x42, 0x9f, 0x2c, 0x40, 0x52, 0xc4, 0xbb,
|
0xe6, 0x7d, 0x54, 0xfc, 0x00, 0x04, 0x0f, 0x03, 0x07, 0x44, 0xb3, 0x54, 0xc4, 0x27, 0x33, 0x90,
|
||||||
0xbf, 0x6a, 0x08, 0xab, 0xaa, 0x9e, 0x30, 0x39, 0x7d, 0x14, 0x42, 0xe6, 0x40, 0xe0, 0x8f, 0x11,
|
0x14, 0x76, 0xfc, 0x2e, 0xaa, 0x08, 0x87, 0xfb, 0xd0, 0x2c, 0xb7, 0xb4, 0x4e, 0xdd, 0x7e, 0x43,
|
||||||
0x0a, 0x96, 0xa7, 0xbc, 0x48, 0x23, 0x9d, 0x8f, 0x25, 0x7a, 0x11, 0x1b, 0xad, 0xe5, 0xe9, 0xcb,
|
0x95, 0xdd, 0x55, 0xc0, 0x59, 0x64, 0xd4, 0x93, 0x8f, 0x47, 0xc7, 0x3e, 0x90, 0xd4, 0xa9, 0xfd,
|
||||||
0xd3, 0x10, 0xc8, 0x0a, 0x05, 0x0f, 0x50, 0x85, 0x47, 0x2e, 0xb4, 0x6f, 0x6d, 0xfc, 0xb4, 0x97,
|
0xb3, 0x86, 0xb0, 0xd2, 0xf0, 0x94, 0xc9, 0xd1, 0x43, 0x1f, 0x52, 0xbd, 0x02, 0x7f, 0x8a, 0x10,
|
||||||
0x74, 0x56, 0x15, 0x63, 0x37, 0xf3, 0x0e, 0xa6, 0x0d, 0x23, 0xa9, 0x52, 0xf7, 0x47, 0x0d, 0xdd,
|
0xcf, 0x4f, 0x99, 0x24, 0x23, 0xe9, 0xa6, 0x1c, 0x3d, 0x8b, 0x8c, 0x8d, 0xfc, 0x94, 0x84, 0x9c,
|
||||||
0x39, 0x01, 0x3e, 0x67, 0x0e, 0x10, 0x18, 0x03, 0x07, 0xdf, 0x01, 0x6c, 0xa1, 0xba, 0x4f, 0x3d,
|
0xa3, 0xe0, 0x43, 0x54, 0x0e, 0x42, 0x17, 0x9a, 0xd7, 0x96, 0x9e, 0xf8, 0x05, 0xef, 0xa0, 0x8a,
|
||||||
0x10, 0x21, 0x75, 0x20, 0x1d, 0x90, 0xba, 0xbd, 0x9b, 0x73, 0xeb, 0x0f, 0x17, 0x01, 0x52, 0xdc,
|
0xb1, 0xd7, 0xb3, 0xfb, 0x4e, 0xae, 0x97, 0x24, 0x91, 0xda, 0x3f, 0x6a, 0xe8, 0x66, 0x17, 0x82,
|
||||||
0xc1, 0x1d, 0x54, 0x51, 0x87, 0xb4, 0xae, 0x7a, 0x91, 0x47, 0xdd, 0x25, 0x69, 0x04, 0xdf, 0x45,
|
0x29, 0x73, 0x80, 0xc0, 0x00, 0x02, 0xf0, 0x1c, 0xc0, 0x16, 0xaa, 0x7b, 0x74, 0x02, 0xc2, 0xa7,
|
||||||
0x95, 0x90, 0xca, 0x69, 0xbb, 0x9c, 0xde, 0xa8, 0xa9, 0xe8, 0x80, 0xca, 0x29, 0x49, 0xd1, 0xee,
|
0x0e, 0x24, 0xed, 0x54, 0xb7, 0x37, 0x33, 0x6e, 0xfd, 0xc1, 0xcc, 0x40, 0x0a, 0x1f, 0xdc, 0x42,
|
||||||
0x1f, 0x1a, 0xd2, 0x1f, 0x53, 0x97, 0x8d, 0xfe, 0x77, 0xfb, 0xf8, 0x8f, 0x86, 0xba, 0xd7, 0x3b,
|
0x65, 0x75, 0x48, 0xea, 0xaa, 0x17, 0x79, 0x94, 0x2f, 0x49, 0x2c, 0xf8, 0x36, 0x2a, 0xfb, 0x54,
|
||||||
0xfb, 0x0f, 0x36, 0xd2, 0x5b, 0xdf, 0xc8, 0xcf, 0xb7, 0xb7, 0x75, 0x7d, 0xe9, 0x57, 0xec, 0xe4,
|
0x8e, 0x9a, 0xa5, 0xc4, 0xa3, 0xa6, 0xac, 0x87, 0x54, 0x8e, 0x48, 0x82, 0xb6, 0xff, 0xd0, 0x90,
|
||||||
0x2f, 0x15, 0x54, 0xcd, 0xaf, 0x2f, 0x27, 0x43, 0xbb, 0x72, 0x32, 0x9e, 0xa2, 0xa6, 0xe3, 0x32,
|
0xfe, 0x84, 0xba, 0xac, 0xff, 0xbf, 0x9b, 0xde, 0x7f, 0x34, 0xd4, 0xbe, 0x5a, 0xd9, 0x7f, 0x30,
|
||||||
0xf0, 0x65, 0x26, 0x9d, 0xcf, 0xf6, 0x47, 0x37, 0x6e, 0xfd, 0xe1, 0x8a, 0x88, 0xfd, 0x5a, 0x9e,
|
0xbf, 0x93, 0xc5, 0xf9, 0xfd, 0x72, 0x75, 0x59, 0x57, 0x97, 0x7e, 0xc9, 0x04, 0xff, 0x52, 0x41,
|
||||||
0xa8, 0xb9, 0x8a, 0x92, 0xb5, 0x44, 0x98, 0xa2, 0x1d, 0xb5, 0x02, 0xd9, 0x36, 0x37, 0xf6, 0x3f,
|
0xd5, 0xcc, 0x3d, 0xef, 0x0c, 0xed, 0xd2, 0xce, 0x38, 0x42, 0xeb, 0x8e, 0xcb, 0xc0, 0x93, 0x69,
|
||||||
0xbc, 0xd9, 0x36, 0xad, 0xaf, 0x76, 0xd1, 0x09, 0x15, 0x13, 0x24, 0x53, 0xc6, 0xc7, 0xa8, 0x35,
|
0xe8, 0xac, 0xb7, 0x3f, 0x79, 0xe9, 0xab, 0xdf, 0x9b, 0x0b, 0x62, 0xbf, 0x96, 0x25, 0x5a, 0x9f,
|
||||||
0xa6, 0xcc, 0x8d, 0x38, 0x0c, 0x02, 0x97, 0x39, 0xa7, 0xed, 0x4a, 0xda, 0x86, 0x37, 0x93, 0xd8,
|
0x47, 0xc9, 0x42, 0x22, 0x4c, 0x51, 0x45, 0x8d, 0x40, 0x3a, 0xfb, 0x8d, 0x9d, 0x8f, 0x5f, 0x6e,
|
||||||
0x68, 0xdd, 0x5f, 0x0d, 0x5c, 0xc4, 0xc6, 0xee, 0x1a, 0x90, 0xae, 0xfe, 0x3a, 0x19, 0x7f, 0x8f,
|
0x9a, 0x16, 0x47, 0xbb, 0xb8, 0x09, 0x65, 0x13, 0x24, 0x8d, 0x8c, 0x0f, 0xd0, 0xc6, 0x80, 0x32,
|
||||||
0x76, 0x97, 0x2b, 0x77, 0x02, 0x2e, 0x38, 0x32, 0xe0, 0xed, 0x9d, 0xb4, 0x5d, 0xef, 0x6c, 0x39,
|
0x37, 0x0c, 0xe0, 0x90, 0xbb, 0xcc, 0x39, 0xce, 0xb6, 0xc7, 0xdb, 0x71, 0x64, 0x6c, 0xdc, 0x9b,
|
||||||
0x2d, 0x74, 0x08, 0xee, 0x82, 0x6a, 0xbf, 0x9e, 0xc4, 0xc6, 0xee, 0xc3, 0xcb, 0x8a, 0x64, 0x33,
|
0x37, 0x9c, 0x45, 0xc6, 0xe6, 0x02, 0x90, 0x8c, 0xfe, 0x22, 0x19, 0x7f, 0x8f, 0x36, 0xf3, 0x91,
|
||||||
0x09, 0xfe, 0x04, 0x35, 0x04, 0x1b, 0xc1, 0xa7, 0xe3, 0x31, 0x38, 0x52, 0xb4, 0x5f, 0x49, 0x5d,
|
0xeb, 0x82, 0x0b, 0x8e, 0xe4, 0x41, 0xb3, 0x92, 0x5c, 0xd7, 0xfb, 0x2b, 0x76, 0x0b, 0xed, 0x81,
|
||||||
0x74, 0xd5, 0x7b, 0x79, 0x52, 0xc0, 0x17, 0xb1, 0x71, 0xbb, 0x38, 0x1e, 0xba, 0x54, 0x08, 0xb2,
|
0x3b, 0xa3, 0xda, 0xaf, 0xc7, 0x91, 0xb1, 0xf9, 0xe0, 0x7c, 0x44, 0xb2, 0x9c, 0x04, 0x7f, 0x86,
|
||||||
0x4a, 0xeb, 0xfe, 0xa6, 0xa1, 0x57, 0x5f, 0xf0, 0xb3, 0x30, 0x45, 0x55, 0x91, 0x3d, 0x41, 0xf9,
|
0x1a, 0x82, 0xf5, 0xe1, 0xf3, 0xc1, 0x00, 0x1c, 0x29, 0x9a, 0xaf, 0x24, 0x2a, 0xda, 0x6a, 0xbb,
|
||||||
0xec, 0x7f, 0xb0, 0xfd, 0xaf, 0xb8, 0xfc, 0x76, 0xd9, 0x8d, 0x24, 0x36, 0xaa, 0x0b, 0x74, 0xa1,
|
0x76, 0x0b, 0xf8, 0x2c, 0x32, 0x6e, 0x14, 0xc7, 0x3d, 0x97, 0x0a, 0x41, 0xe6, 0x69, 0xf8, 0x2e,
|
||||||
0x8b, 0x7b, 0xa8, 0xe6, 0x50, 0x3b, 0xf2, 0x47, 0xf9, 0xe3, 0xd9, 0xb4, 0x9b, 0x6a, 0x57, 0x0e,
|
0xba, 0xae, 0x7e, 0xe0, 0x3c, 0x94, 0x5d, 0x70, 0xb8, 0xd7, 0x17, 0xcd, 0x6a, 0x4b, 0xeb, 0x54,
|
||||||
0x0f, 0x32, 0x8c, 0x2c, 0xa3, 0xf8, 0x0d, 0x54, 0x8e, 0xb8, 0x9b, 0xbf, 0x53, 0xd5, 0x24, 0x36,
|
0x6c, 0x1c, 0x47, 0xc6, 0xf5, 0x47, 0x0b, 0x16, 0x72, 0xce, 0x13, 0x3f, 0x46, 0xb7, 0xf2, 0x37,
|
||||||
0xca, 0x5f, 0x91, 0x63, 0xa2, 0x30, 0xfb, 0xde, 0xd9, 0xb9, 0x5e, 0x7a, 0x76, 0xae, 0x97, 0x9e,
|
0x21, 0x30, 0x65, 0x70, 0x94, 0xef, 0xfa, 0x5a, 0xb2, 0x47, 0xdf, 0x8a, 0x23, 0xe3, 0xd6, 0xee,
|
||||||
0x9f, 0xeb, 0xa5, 0x1f, 0x12, 0x5d, 0x3b, 0x4b, 0x74, 0xed, 0x59, 0xa2, 0x6b, 0xcf, 0x13, 0x5d,
|
0xc5, 0x2e, 0xe4, 0x32, 0x6e, 0xfb, 0x57, 0x0d, 0xbd, 0x7a, 0x41, 0xff, 0x60, 0x8a, 0xaa, 0x22,
|
||||||
0xfb, 0x33, 0xd1, 0xb5, 0x9f, 0xfe, 0xd2, 0x4b, 0x5f, 0x57, 0xf3, 0xd2, 0xfe, 0x0d, 0x00, 0x00,
|
0xdd, 0x8a, 0xd9, 0x38, 0xde, 0x5d, 0xbd, 0x3b, 0xce, 0xaf, 0x53, 0xbb, 0x11, 0x47, 0x46, 0x75,
|
||||||
0xff, 0xff, 0x85, 0x06, 0x8c, 0x7f, 0xae, 0x09, 0x00, 0x00,
|
0x86, 0xce, 0xe2, 0xe2, 0x0e, 0xaa, 0x39, 0xd4, 0x0e, 0xbd, 0x7e, 0xb6, 0xcf, 0xd7, 0xed, 0x75,
|
||||||
|
0x35, 0xbe, 0x7b, 0xbb, 0x29, 0x46, 0x72, 0x2b, 0x7e, 0x13, 0x95, 0xc2, 0xc0, 0xcd, 0x56, 0x67,
|
||||||
|
0x35, 0x8e, 0x8c, 0xd2, 0x63, 0x72, 0x40, 0x14, 0x66, 0xdf, 0x39, 0x39, 0xd5, 0xd7, 0x9e, 0x9d,
|
||||||
|
0xea, 0x6b, 0xcf, 0x4f, 0xf5, 0xb5, 0x1f, 0x62, 0x5d, 0x3b, 0x89, 0x75, 0xed, 0x59, 0xac, 0x6b,
|
||||||
|
0xcf, 0x63, 0x5d, 0xfb, 0x33, 0xd6, 0xb5, 0x9f, 0xfe, 0xd2, 0xd7, 0xbe, 0xae, 0x66, 0xa5, 0xfd,
|
||||||
|
0x1b, 0x00, 0x00, 0xff, 0xff, 0xbb, 0xc0, 0x7c, 0xc4, 0x6f, 0x0a, 0x00, 0x00,
|
||||||
}
|
}
|
||||||
|
|
31
vendor/k8s.io/api/admissionregistration/v1beta1/generated.proto
generated
vendored
31
vendor/k8s.io/api/admissionregistration/v1beta1/generated.proto
generated
vendored
|
@ -81,6 +81,18 @@ message Rule {
|
||||||
// Depending on the enclosing object, subresources might not be allowed.
|
// Depending on the enclosing object, subresources might not be allowed.
|
||||||
// Required.
|
// Required.
|
||||||
repeated string resources = 3;
|
repeated string resources = 3;
|
||||||
|
|
||||||
|
// scope specifies the scope of this rule.
|
||||||
|
// Valid values are "Cluster", "Namespaced", and "*"
|
||||||
|
// "Cluster" means that only cluster-scoped resources will match this rule.
|
||||||
|
// Namespace API objects are cluster-scoped.
|
||||||
|
// "Namespaced" means that only namespaced resources will match this rule.
|
||||||
|
// "*" means that there are no scope restrictions.
|
||||||
|
// Subresources match the scope of their parent resource.
|
||||||
|
// Default is "*".
|
||||||
|
//
|
||||||
|
// +optional
|
||||||
|
optional string scope = 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
// RuleWithOperations is a tuple of Operations and Resources. It is recommended to make
|
// RuleWithOperations is a tuple of Operations and Resources. It is recommended to make
|
||||||
|
@ -217,6 +229,25 @@ message Webhook {
|
||||||
// sideEffects == Unknown or Some. Defaults to Unknown.
|
// sideEffects == Unknown or Some. Defaults to Unknown.
|
||||||
// +optional
|
// +optional
|
||||||
optional string sideEffects = 6;
|
optional string sideEffects = 6;
|
||||||
|
|
||||||
|
// TimeoutSeconds specifies the timeout for this webhook. After the timeout passes,
|
||||||
|
// the webhook call will be ignored or the API call will fail based on the
|
||||||
|
// failure policy.
|
||||||
|
// The timeout value must be between 1 and 30 seconds.
|
||||||
|
// Default to 30 seconds.
|
||||||
|
// +optional
|
||||||
|
optional int32 timeoutSeconds = 7;
|
||||||
|
|
||||||
|
// AdmissionReviewVersions is an ordered list of preferred `AdmissionReview`
|
||||||
|
// versions the Webhook expects. API server will try to use first version in
|
||||||
|
// the list which it supports. If none of the versions specified in this list
|
||||||
|
// supported by API server, validation will fail for this object.
|
||||||
|
// If a persisted webhook configuration specifies allowed versions and does not
|
||||||
|
// include any versions known to the API Server, calls to the webhook will fail
|
||||||
|
// and be subject to the failure policy.
|
||||||
|
// Default to `['v1beta1']`.
|
||||||
|
// +optional
|
||||||
|
repeated string admissionReviewVersions = 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
// WebhookClientConfig contains the information to make a TLS
|
// WebhookClientConfig contains the information to make a TLS
|
||||||
|
|
43
vendor/k8s.io/api/admissionregistration/v1beta1/types.go
generated
vendored
43
vendor/k8s.io/api/admissionregistration/v1beta1/types.go
generated
vendored
|
@ -49,8 +49,32 @@ type Rule struct {
|
||||||
// Depending on the enclosing object, subresources might not be allowed.
|
// Depending on the enclosing object, subresources might not be allowed.
|
||||||
// Required.
|
// Required.
|
||||||
Resources []string `json:"resources,omitempty" protobuf:"bytes,3,rep,name=resources"`
|
Resources []string `json:"resources,omitempty" protobuf:"bytes,3,rep,name=resources"`
|
||||||
|
|
||||||
|
// scope specifies the scope of this rule.
|
||||||
|
// Valid values are "Cluster", "Namespaced", and "*"
|
||||||
|
// "Cluster" means that only cluster-scoped resources will match this rule.
|
||||||
|
// Namespace API objects are cluster-scoped.
|
||||||
|
// "Namespaced" means that only namespaced resources will match this rule.
|
||||||
|
// "*" means that there are no scope restrictions.
|
||||||
|
// Subresources match the scope of their parent resource.
|
||||||
|
// Default is "*".
|
||||||
|
//
|
||||||
|
// +optional
|
||||||
|
Scope *ScopeType `json:"scope,omitempty" protobuf:"bytes,4,rep,name=scope"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type ScopeType string
|
||||||
|
|
||||||
|
const (
|
||||||
|
// ClusterScope means that scope is limited to cluster-scoped objects.
|
||||||
|
// Namespace objects are cluster-scoped.
|
||||||
|
ClusterScope ScopeType = "Cluster"
|
||||||
|
// NamespacedScope means that scope is limited to namespaced objects.
|
||||||
|
NamespacedScope ScopeType = "Namespaced"
|
||||||
|
// AllScopes means that all scopes are included.
|
||||||
|
AllScopes ScopeType = "*"
|
||||||
|
)
|
||||||
|
|
||||||
type FailurePolicyType string
|
type FailurePolicyType string
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -216,6 +240,25 @@ type Webhook struct {
|
||||||
// sideEffects == Unknown or Some. Defaults to Unknown.
|
// sideEffects == Unknown or Some. Defaults to Unknown.
|
||||||
// +optional
|
// +optional
|
||||||
SideEffects *SideEffectClass `json:"sideEffects,omitempty" protobuf:"bytes,6,opt,name=sideEffects,casttype=SideEffectClass"`
|
SideEffects *SideEffectClass `json:"sideEffects,omitempty" protobuf:"bytes,6,opt,name=sideEffects,casttype=SideEffectClass"`
|
||||||
|
|
||||||
|
// TimeoutSeconds specifies the timeout for this webhook. After the timeout passes,
|
||||||
|
// the webhook call will be ignored or the API call will fail based on the
|
||||||
|
// failure policy.
|
||||||
|
// The timeout value must be between 1 and 30 seconds.
|
||||||
|
// Default to 30 seconds.
|
||||||
|
// +optional
|
||||||
|
TimeoutSeconds *int32 `json:"timeoutSeconds,omitempty" protobuf:"varint,7,opt,name=timeoutSeconds"`
|
||||||
|
|
||||||
|
// AdmissionReviewVersions is an ordered list of preferred `AdmissionReview`
|
||||||
|
// versions the Webhook expects. API server will try to use first version in
|
||||||
|
// the list which it supports. If none of the versions specified in this list
|
||||||
|
// supported by API server, validation will fail for this object.
|
||||||
|
// If a persisted webhook configuration specifies allowed versions and does not
|
||||||
|
// include any versions known to the API Server, calls to the webhook will fail
|
||||||
|
// and be subject to the failure policy.
|
||||||
|
// Default to `['v1beta1']`.
|
||||||
|
// +optional
|
||||||
|
AdmissionReviewVersions []string `json:"admissionReviewVersions,omitempty" protobuf:"bytes,8,rep,name=admissionReviewVersions"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// RuleWithOperations is a tuple of Operations and Resources. It is recommended to make
|
// RuleWithOperations is a tuple of Operations and Resources. It is recommended to make
|
||||||
|
|
3
vendor/k8s.io/api/admissionregistration/v1beta1/types_swagger_doc_generated.go
generated
vendored
3
vendor/k8s.io/api/admissionregistration/v1beta1/types_swagger_doc_generated.go
generated
vendored
|
@ -52,6 +52,7 @@ var map_Rule = map[string]string{
|
||||||
"apiGroups": "APIGroups is the API groups the resources belong to. '*' is all groups. If '*' is present, the length of the slice must be one. Required.",
|
"apiGroups": "APIGroups is the API groups the resources belong to. '*' is all groups. If '*' is present, the length of the slice must be one. Required.",
|
||||||
"apiVersions": "APIVersions is the API versions the resources belong to. '*' is all versions. If '*' is present, the length of the slice must be one. Required.",
|
"apiVersions": "APIVersions is the API versions the resources belong to. '*' is all versions. If '*' is present, the length of the slice must be one. Required.",
|
||||||
"resources": "Resources is a list of resources this rule applies to.\n\nFor example: 'pods' means pods. 'pods/log' means the log subresource of pods. '*' means all resources, but not subresources. 'pods/*' means all subresources of pods. '*/scale' means all scale subresources. '*/*' means all resources and their subresources.\n\nIf wildcard is present, the validation rule will ensure resources do not overlap with each other.\n\nDepending on the enclosing object, subresources might not be allowed. Required.",
|
"resources": "Resources is a list of resources this rule applies to.\n\nFor example: 'pods' means pods. 'pods/log' means the log subresource of pods. '*' means all resources, but not subresources. 'pods/*' means all subresources of pods. '*/scale' means all scale subresources. '*/*' means all resources and their subresources.\n\nIf wildcard is present, the validation rule will ensure resources do not overlap with each other.\n\nDepending on the enclosing object, subresources might not be allowed. Required.",
|
||||||
|
"scope": "scope specifies the scope of this rule. Valid values are \"Cluster\", \"Namespaced\", and \"*\" \"Cluster\" means that only cluster-scoped resources will match this rule. Namespace API objects are cluster-scoped. \"Namespaced\" means that only namespaced resources will match this rule. \"*\" means that there are no scope restrictions. Subresources match the scope of their parent resource. Default is \"*\".",
|
||||||
}
|
}
|
||||||
|
|
||||||
func (Rule) SwaggerDoc() map[string]string {
|
func (Rule) SwaggerDoc() map[string]string {
|
||||||
|
@ -106,6 +107,8 @@ var map_Webhook = map[string]string{
|
||||||
"failurePolicy": "FailurePolicy defines how unrecognized errors from the admission endpoint are handled - allowed values are Ignore or Fail. Defaults to Ignore.",
|
"failurePolicy": "FailurePolicy defines how unrecognized errors from the admission endpoint are handled - allowed values are Ignore or Fail. Defaults to Ignore.",
|
||||||
"namespaceSelector": "NamespaceSelector decides whether to run the webhook on an object based on whether the namespace for that object matches the selector. If the object itself is a namespace, the matching is performed on object.metadata.labels. If the object is another cluster scoped resource, it never skips the webhook.\n\nFor example, to run the webhook on any objects whose namespace is not associated with \"runlevel\" of \"0\" or \"1\"; you will set the selector as follows: \"namespaceSelector\": {\n \"matchExpressions\": [\n {\n \"key\": \"runlevel\",\n \"operator\": \"NotIn\",\n \"values\": [\n \"0\",\n \"1\"\n ]\n }\n ]\n}\n\nIf instead you want to only run the webhook on any objects whose namespace is associated with the \"environment\" of \"prod\" or \"staging\"; you will set the selector as follows: \"namespaceSelector\": {\n \"matchExpressions\": [\n {\n \"key\": \"environment\",\n \"operator\": \"In\",\n \"values\": [\n \"prod\",\n \"staging\"\n ]\n }\n ]\n}\n\nSee https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ for more examples of label selectors.\n\nDefault to the empty LabelSelector, which matches everything.",
|
"namespaceSelector": "NamespaceSelector decides whether to run the webhook on an object based on whether the namespace for that object matches the selector. If the object itself is a namespace, the matching is performed on object.metadata.labels. If the object is another cluster scoped resource, it never skips the webhook.\n\nFor example, to run the webhook on any objects whose namespace is not associated with \"runlevel\" of \"0\" or \"1\"; you will set the selector as follows: \"namespaceSelector\": {\n \"matchExpressions\": [\n {\n \"key\": \"runlevel\",\n \"operator\": \"NotIn\",\n \"values\": [\n \"0\",\n \"1\"\n ]\n }\n ]\n}\n\nIf instead you want to only run the webhook on any objects whose namespace is associated with the \"environment\" of \"prod\" or \"staging\"; you will set the selector as follows: \"namespaceSelector\": {\n \"matchExpressions\": [\n {\n \"key\": \"environment\",\n \"operator\": \"In\",\n \"values\": [\n \"prod\",\n \"staging\"\n ]\n }\n ]\n}\n\nSee https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ for more examples of label selectors.\n\nDefault to the empty LabelSelector, which matches everything.",
|
||||||
"sideEffects": "SideEffects states whether this webhookk has side effects. Acceptable values are: Unknown, None, Some, NoneOnDryRun Webhooks with side effects MUST implement a reconciliation system, since a request may be rejected by a future step in the admission change and the side effects therefore need to be undone. Requests with the dryRun attribute will be auto-rejected if they match a webhook with sideEffects == Unknown or Some. Defaults to Unknown.",
|
"sideEffects": "SideEffects states whether this webhookk has side effects. Acceptable values are: Unknown, None, Some, NoneOnDryRun Webhooks with side effects MUST implement a reconciliation system, since a request may be rejected by a future step in the admission change and the side effects therefore need to be undone. Requests with the dryRun attribute will be auto-rejected if they match a webhook with sideEffects == Unknown or Some. Defaults to Unknown.",
|
||||||
|
"timeoutSeconds": "TimeoutSeconds specifies the timeout for this webhook. After the timeout passes, the webhook call will be ignored or the API call will fail based on the failure policy. The timeout value must be between 1 and 30 seconds. Default to 30 seconds.",
|
||||||
|
"admissionReviewVersions": "AdmissionReviewVersions is an ordered list of preferred `AdmissionReview` versions the Webhook expects. API server will try to use first version in the list which it supports. If none of the versions specified in this list supported by API server, validation will fail for this object. If a persisted webhook configuration specifies allowed versions and does not include any versions known to the API Server, calls to the webhook will fail and be subject to the failure policy. Default to `['v1beta1']`.",
|
||||||
}
|
}
|
||||||
|
|
||||||
func (Webhook) SwaggerDoc() map[string]string {
|
func (Webhook) SwaggerDoc() map[string]string {
|
||||||
|
|
15
vendor/k8s.io/api/admissionregistration/v1beta1/zz_generated.deepcopy.go
generated
vendored
15
vendor/k8s.io/api/admissionregistration/v1beta1/zz_generated.deepcopy.go
generated
vendored
|
@ -109,6 +109,11 @@ func (in *Rule) DeepCopyInto(out *Rule) {
|
||||||
*out = make([]string, len(*in))
|
*out = make([]string, len(*in))
|
||||||
copy(*out, *in)
|
copy(*out, *in)
|
||||||
}
|
}
|
||||||
|
if in.Scope != nil {
|
||||||
|
in, out := &in.Scope, &out.Scope
|
||||||
|
*out = new(ScopeType)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -257,6 +262,16 @@ func (in *Webhook) DeepCopyInto(out *Webhook) {
|
||||||
*out = new(SideEffectClass)
|
*out = new(SideEffectClass)
|
||||||
**out = **in
|
**out = **in
|
||||||
}
|
}
|
||||||
|
if in.TimeoutSeconds != nil {
|
||||||
|
in, out := &in.TimeoutSeconds, &out.TimeoutSeconds
|
||||||
|
*out = new(int32)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
if in.AdmissionReviewVersions != nil {
|
||||||
|
in, out := &in.AdmissionReviewVersions, &out.AdmissionReviewVersions
|
||||||
|
*out = make([]string, len(*in))
|
||||||
|
copy(*out, *in)
|
||||||
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
1
vendor/k8s.io/api/apps/v1/doc.go
generated
vendored
1
vendor/k8s.io/api/apps/v1/doc.go
generated
vendored
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// +k8s:deepcopy-gen=package
|
// +k8s:deepcopy-gen=package
|
||||||
|
// +k8s:protobuf-gen=package
|
||||||
// +k8s:openapi-gen=true
|
// +k8s:openapi-gen=true
|
||||||
|
|
||||||
package v1 // import "k8s.io/api/apps/v1"
|
package v1 // import "k8s.io/api/apps/v1"
|
||||||
|
|
2
vendor/k8s.io/api/apps/v1/types.go
generated
vendored
2
vendor/k8s.io/api/apps/v1/types.go
generated
vendored
|
@ -69,7 +69,7 @@ const (
|
||||||
// ParallelPodManagement will create and delete pods as soon as the stateful set
|
// ParallelPodManagement will create and delete pods as soon as the stateful set
|
||||||
// replica count is changed, and will not wait for pods to be ready or complete
|
// replica count is changed, and will not wait for pods to be ready or complete
|
||||||
// termination.
|
// termination.
|
||||||
ParallelPodManagement = "Parallel"
|
ParallelPodManagement PodManagementPolicyType = "Parallel"
|
||||||
)
|
)
|
||||||
|
|
||||||
// StatefulSetUpdateStrategy indicates the strategy that the StatefulSet
|
// StatefulSetUpdateStrategy indicates the strategy that the StatefulSet
|
||||||
|
|
1
vendor/k8s.io/api/apps/v1beta1/doc.go
generated
vendored
1
vendor/k8s.io/api/apps/v1beta1/doc.go
generated
vendored
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// +k8s:deepcopy-gen=package
|
// +k8s:deepcopy-gen=package
|
||||||
|
// +k8s:protobuf-gen=package
|
||||||
// +k8s:openapi-gen=true
|
// +k8s:openapi-gen=true
|
||||||
|
|
||||||
package v1beta1 // import "k8s.io/api/apps/v1beta1"
|
package v1beta1 // import "k8s.io/api/apps/v1beta1"
|
||||||
|
|
4
vendor/k8s.io/api/apps/v1beta1/types.go
generated
vendored
4
vendor/k8s.io/api/apps/v1beta1/types.go
generated
vendored
|
@ -17,7 +17,7 @@ limitations under the License.
|
||||||
package v1beta1
|
package v1beta1
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/runtime"
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/intstr"
|
"k8s.io/apimachinery/pkg/util/intstr"
|
||||||
|
@ -111,7 +111,7 @@ const (
|
||||||
// ParallelPodManagement will create and delete pods as soon as the stateful set
|
// ParallelPodManagement will create and delete pods as soon as the stateful set
|
||||||
// replica count is changed, and will not wait for pods to be ready or complete
|
// replica count is changed, and will not wait for pods to be ready or complete
|
||||||
// termination.
|
// termination.
|
||||||
ParallelPodManagement = "Parallel"
|
ParallelPodManagement PodManagementPolicyType = "Parallel"
|
||||||
)
|
)
|
||||||
|
|
||||||
// StatefulSetUpdateStrategy indicates the strategy that the StatefulSet
|
// StatefulSetUpdateStrategy indicates the strategy that the StatefulSet
|
||||||
|
|
1
vendor/k8s.io/api/apps/v1beta2/doc.go
generated
vendored
1
vendor/k8s.io/api/apps/v1beta2/doc.go
generated
vendored
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// +k8s:deepcopy-gen=package
|
// +k8s:deepcopy-gen=package
|
||||||
|
// +k8s:protobuf-gen=package
|
||||||
// +k8s:openapi-gen=true
|
// +k8s:openapi-gen=true
|
||||||
|
|
||||||
package v1beta2 // import "k8s.io/api/apps/v1beta2"
|
package v1beta2 // import "k8s.io/api/apps/v1beta2"
|
||||||
|
|
26
vendor/k8s.io/api/apps/v1beta2/generated.proto
generated
vendored
26
vendor/k8s.io/api/apps/v1beta2/generated.proto
generated
vendored
|
@ -43,7 +43,7 @@ option go_package = "v1beta2";
|
||||||
// depend on its stability. It is primarily for internal use by controllers.
|
// depend on its stability. It is primarily for internal use by controllers.
|
||||||
message ControllerRevision {
|
message ControllerRevision {
|
||||||
// Standard object's metadata.
|
// Standard object's metadata.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
// +optional
|
// +optional
|
||||||
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
||||||
|
|
||||||
|
@ -56,7 +56,7 @@ message ControllerRevision {
|
||||||
|
|
||||||
// ControllerRevisionList is a resource containing a list of ControllerRevision objects.
|
// ControllerRevisionList is a resource containing a list of ControllerRevision objects.
|
||||||
message ControllerRevisionList {
|
message ControllerRevisionList {
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
// +optional
|
// +optional
|
||||||
optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
|
||||||
|
|
||||||
|
@ -69,12 +69,12 @@ message ControllerRevisionList {
|
||||||
// DaemonSet represents the configuration of a daemon set.
|
// DaemonSet represents the configuration of a daemon set.
|
||||||
message DaemonSet {
|
message DaemonSet {
|
||||||
// Standard object's metadata.
|
// Standard object's metadata.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
// +optional
|
// +optional
|
||||||
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
||||||
|
|
||||||
// The desired behavior of this daemon set.
|
// The desired behavior of this daemon set.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
|
||||||
// +optional
|
// +optional
|
||||||
optional DaemonSetSpec spec = 2;
|
optional DaemonSetSpec spec = 2;
|
||||||
|
|
||||||
|
@ -82,7 +82,7 @@ message DaemonSet {
|
||||||
// out of date by some window of time.
|
// out of date by some window of time.
|
||||||
// Populated by the system.
|
// Populated by the system.
|
||||||
// Read-only.
|
// Read-only.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
|
||||||
// +optional
|
// +optional
|
||||||
optional DaemonSetStatus status = 3;
|
optional DaemonSetStatus status = 3;
|
||||||
}
|
}
|
||||||
|
@ -111,7 +111,7 @@ message DaemonSetCondition {
|
||||||
// DaemonSetList is a collection of daemon sets.
|
// DaemonSetList is a collection of daemon sets.
|
||||||
message DaemonSetList {
|
message DaemonSetList {
|
||||||
// Standard list metadata.
|
// Standard list metadata.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
// +optional
|
// +optional
|
||||||
optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
|
||||||
|
|
||||||
|
@ -374,12 +374,12 @@ message DeploymentStrategy {
|
||||||
message ReplicaSet {
|
message ReplicaSet {
|
||||||
// If the Labels of a ReplicaSet are empty, they are defaulted to
|
// If the Labels of a ReplicaSet are empty, they are defaulted to
|
||||||
// be the same as the Pod(s) that the ReplicaSet manages.
|
// be the same as the Pod(s) that the ReplicaSet manages.
|
||||||
// Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
// Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
// +optional
|
// +optional
|
||||||
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
||||||
|
|
||||||
// Spec defines the specification of the desired behavior of the ReplicaSet.
|
// Spec defines the specification of the desired behavior of the ReplicaSet.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
|
||||||
// +optional
|
// +optional
|
||||||
optional ReplicaSetSpec spec = 2;
|
optional ReplicaSetSpec spec = 2;
|
||||||
|
|
||||||
|
@ -387,7 +387,7 @@ message ReplicaSet {
|
||||||
// This data may be out of date by some window of time.
|
// This data may be out of date by some window of time.
|
||||||
// Populated by the system.
|
// Populated by the system.
|
||||||
// Read-only.
|
// Read-only.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
|
||||||
// +optional
|
// +optional
|
||||||
optional ReplicaSetStatus status = 3;
|
optional ReplicaSetStatus status = 3;
|
||||||
}
|
}
|
||||||
|
@ -416,7 +416,7 @@ message ReplicaSetCondition {
|
||||||
// ReplicaSetList is a collection of ReplicaSets.
|
// ReplicaSetList is a collection of ReplicaSets.
|
||||||
message ReplicaSetList {
|
message ReplicaSetList {
|
||||||
// Standard list metadata.
|
// Standard list metadata.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
||||||
// +optional
|
// +optional
|
||||||
optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
|
||||||
|
|
||||||
|
@ -543,15 +543,15 @@ message RollingUpdateStatefulSetStrategy {
|
||||||
|
|
||||||
// Scale represents a scaling request for a resource.
|
// Scale represents a scaling request for a resource.
|
||||||
message Scale {
|
message Scale {
|
||||||
// Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata.
|
// Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
|
||||||
// +optional
|
// +optional
|
||||||
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
||||||
|
|
||||||
// defines the behavior of the scale. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status.
|
// defines the behavior of the scale. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.
|
||||||
// +optional
|
// +optional
|
||||||
optional ScaleSpec spec = 2;
|
optional ScaleSpec spec = 2;
|
||||||
|
|
||||||
// current status of the scale. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status. Read-only.
|
// current status of the scale. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status. Read-only.
|
||||||
// +optional
|
// +optional
|
||||||
optional ScaleStatus status = 3;
|
optional ScaleStatus status = 3;
|
||||||
}
|
}
|
||||||
|
|
30
vendor/k8s.io/api/apps/v1beta2/types.go
generated
vendored
30
vendor/k8s.io/api/apps/v1beta2/types.go
generated
vendored
|
@ -17,7 +17,7 @@ limitations under the License.
|
||||||
package v1beta2
|
package v1beta2
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
runtime "k8s.io/apimachinery/pkg/runtime"
|
runtime "k8s.io/apimachinery/pkg/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/intstr"
|
"k8s.io/apimachinery/pkg/util/intstr"
|
||||||
|
@ -62,15 +62,15 @@ type ScaleStatus struct {
|
||||||
// Scale represents a scaling request for a resource.
|
// Scale represents a scaling request for a resource.
|
||||||
type Scale struct {
|
type Scale struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
// Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata.
|
// Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
|
||||||
// +optional
|
// +optional
|
||||||
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||||
|
|
||||||
// defines the behavior of the scale. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status.
|
// defines the behavior of the scale. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.
|
||||||
// +optional
|
// +optional
|
||||||
Spec ScaleSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
|
Spec ScaleSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
|
||||||
|
|
||||||
// current status of the scale. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status. Read-only.
|
// current status of the scale. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status. Read-only.
|
||||||
// +optional
|
// +optional
|
||||||
Status ScaleStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
|
Status ScaleStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
|
||||||
}
|
}
|
||||||
|
@ -115,7 +115,7 @@ const (
|
||||||
// ParallelPodManagement will create and delete pods as soon as the stateful set
|
// ParallelPodManagement will create and delete pods as soon as the stateful set
|
||||||
// replica count is changed, and will not wait for pods to be ready or complete
|
// replica count is changed, and will not wait for pods to be ready or complete
|
||||||
// termination.
|
// termination.
|
||||||
ParallelPodManagement = "Parallel"
|
ParallelPodManagement PodManagementPolicyType = "Parallel"
|
||||||
)
|
)
|
||||||
|
|
||||||
// StatefulSetUpdateStrategy indicates the strategy that the StatefulSet
|
// StatefulSetUpdateStrategy indicates the strategy that the StatefulSet
|
||||||
|
@ -666,12 +666,12 @@ type DaemonSetCondition struct {
|
||||||
type DaemonSet struct {
|
type DaemonSet struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
// Standard object's metadata.
|
// Standard object's metadata.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
// +optional
|
// +optional
|
||||||
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||||
|
|
||||||
// The desired behavior of this daemon set.
|
// The desired behavior of this daemon set.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
|
||||||
// +optional
|
// +optional
|
||||||
Spec DaemonSetSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
|
Spec DaemonSetSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
|
||||||
|
|
||||||
|
@ -679,7 +679,7 @@ type DaemonSet struct {
|
||||||
// out of date by some window of time.
|
// out of date by some window of time.
|
||||||
// Populated by the system.
|
// Populated by the system.
|
||||||
// Read-only.
|
// Read-only.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
|
||||||
// +optional
|
// +optional
|
||||||
Status DaemonSetStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
|
Status DaemonSetStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
|
||||||
}
|
}
|
||||||
|
@ -697,7 +697,7 @@ const (
|
||||||
type DaemonSetList struct {
|
type DaemonSetList struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
// Standard list metadata.
|
// Standard list metadata.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
// +optional
|
// +optional
|
||||||
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||||
|
|
||||||
|
@ -716,12 +716,12 @@ type ReplicaSet struct {
|
||||||
|
|
||||||
// If the Labels of a ReplicaSet are empty, they are defaulted to
|
// If the Labels of a ReplicaSet are empty, they are defaulted to
|
||||||
// be the same as the Pod(s) that the ReplicaSet manages.
|
// be the same as the Pod(s) that the ReplicaSet manages.
|
||||||
// Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
// Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
// +optional
|
// +optional
|
||||||
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||||
|
|
||||||
// Spec defines the specification of the desired behavior of the ReplicaSet.
|
// Spec defines the specification of the desired behavior of the ReplicaSet.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
|
||||||
// +optional
|
// +optional
|
||||||
Spec ReplicaSetSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
|
Spec ReplicaSetSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
|
||||||
|
|
||||||
|
@ -729,7 +729,7 @@ type ReplicaSet struct {
|
||||||
// This data may be out of date by some window of time.
|
// This data may be out of date by some window of time.
|
||||||
// Populated by the system.
|
// Populated by the system.
|
||||||
// Read-only.
|
// Read-only.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
|
||||||
// +optional
|
// +optional
|
||||||
Status ReplicaSetStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
|
Status ReplicaSetStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
|
||||||
}
|
}
|
||||||
|
@ -740,7 +740,7 @@ type ReplicaSet struct {
|
||||||
type ReplicaSetList struct {
|
type ReplicaSetList struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
// Standard list metadata.
|
// Standard list metadata.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
||||||
// +optional
|
// +optional
|
||||||
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||||
|
|
||||||
|
@ -850,7 +850,7 @@ type ReplicaSetCondition struct {
|
||||||
type ControllerRevision struct {
|
type ControllerRevision struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
// Standard object's metadata.
|
// Standard object's metadata.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
// +optional
|
// +optional
|
||||||
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||||
|
|
||||||
|
@ -867,7 +867,7 @@ type ControllerRevision struct {
|
||||||
type ControllerRevisionList struct {
|
type ControllerRevisionList struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
|
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
// +optional
|
// +optional
|
||||||
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||||
|
|
||||||
|
|
26
vendor/k8s.io/api/apps/v1beta2/types_swagger_doc_generated.go
generated
vendored
26
vendor/k8s.io/api/apps/v1beta2/types_swagger_doc_generated.go
generated
vendored
|
@ -29,7 +29,7 @@ package v1beta2
|
||||||
// AUTO-GENERATED FUNCTIONS START HERE. DO NOT EDIT.
|
// AUTO-GENERATED FUNCTIONS START HERE. DO NOT EDIT.
|
||||||
var map_ControllerRevision = map[string]string{
|
var map_ControllerRevision = map[string]string{
|
||||||
"": "DEPRECATED - This group version of ControllerRevision is deprecated by apps/v1/ControllerRevision. See the release notes for more information. ControllerRevision implements an immutable snapshot of state data. Clients are responsible for serializing and deserializing the objects that contain their internal state. Once a ControllerRevision has been successfully created, it can not be updated. The API Server will fail validation of all requests that attempt to mutate the Data field. ControllerRevisions may, however, be deleted. Note that, due to its use by both the DaemonSet and StatefulSet controllers for update and rollback, this object is beta. However, it may be subject to name and representation changes in future releases, and clients should not depend on its stability. It is primarily for internal use by controllers.",
|
"": "DEPRECATED - This group version of ControllerRevision is deprecated by apps/v1/ControllerRevision. See the release notes for more information. ControllerRevision implements an immutable snapshot of state data. Clients are responsible for serializing and deserializing the objects that contain their internal state. Once a ControllerRevision has been successfully created, it can not be updated. The API Server will fail validation of all requests that attempt to mutate the Data field. ControllerRevisions may, however, be deleted. Note that, due to its use by both the DaemonSet and StatefulSet controllers for update and rollback, this object is beta. However, it may be subject to name and representation changes in future releases, and clients should not depend on its stability. It is primarily for internal use by controllers.",
|
||||||
"metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
|
"metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
|
||||||
"data": "Data is the serialized representation of the state.",
|
"data": "Data is the serialized representation of the state.",
|
||||||
"revision": "Revision indicates the revision of the state represented by Data.",
|
"revision": "Revision indicates the revision of the state represented by Data.",
|
||||||
}
|
}
|
||||||
|
@ -40,7 +40,7 @@ func (ControllerRevision) SwaggerDoc() map[string]string {
|
||||||
|
|
||||||
var map_ControllerRevisionList = map[string]string{
|
var map_ControllerRevisionList = map[string]string{
|
||||||
"": "ControllerRevisionList is a resource containing a list of ControllerRevision objects.",
|
"": "ControllerRevisionList is a resource containing a list of ControllerRevision objects.",
|
||||||
"metadata": "More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
|
"metadata": "More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
|
||||||
"items": "Items is the list of ControllerRevisions",
|
"items": "Items is the list of ControllerRevisions",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,9 +50,9 @@ func (ControllerRevisionList) SwaggerDoc() map[string]string {
|
||||||
|
|
||||||
var map_DaemonSet = map[string]string{
|
var map_DaemonSet = map[string]string{
|
||||||
"": "DEPRECATED - This group version of DaemonSet is deprecated by apps/v1/DaemonSet. See the release notes for more information. DaemonSet represents the configuration of a daemon set.",
|
"": "DEPRECATED - This group version of DaemonSet is deprecated by apps/v1/DaemonSet. See the release notes for more information. DaemonSet represents the configuration of a daemon set.",
|
||||||
"metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
|
"metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
|
||||||
"spec": "The desired behavior of this daemon set. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status",
|
"spec": "The desired behavior of this daemon set. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status",
|
||||||
"status": "The current status of this daemon set. This data may be out of date by some window of time. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status",
|
"status": "The current status of this daemon set. This data may be out of date by some window of time. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status",
|
||||||
}
|
}
|
||||||
|
|
||||||
func (DaemonSet) SwaggerDoc() map[string]string {
|
func (DaemonSet) SwaggerDoc() map[string]string {
|
||||||
|
@ -74,7 +74,7 @@ func (DaemonSetCondition) SwaggerDoc() map[string]string {
|
||||||
|
|
||||||
var map_DaemonSetList = map[string]string{
|
var map_DaemonSetList = map[string]string{
|
||||||
"": "DaemonSetList is a collection of daemon sets.",
|
"": "DaemonSetList is a collection of daemon sets.",
|
||||||
"metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
|
"metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
|
||||||
"items": "A list of daemon sets.",
|
"items": "A list of daemon sets.",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -202,9 +202,9 @@ func (DeploymentStrategy) SwaggerDoc() map[string]string {
|
||||||
|
|
||||||
var map_ReplicaSet = map[string]string{
|
var map_ReplicaSet = map[string]string{
|
||||||
"": "DEPRECATED - This group version of ReplicaSet is deprecated by apps/v1/ReplicaSet. See the release notes for more information. ReplicaSet ensures that a specified number of pod replicas are running at any given time.",
|
"": "DEPRECATED - This group version of ReplicaSet is deprecated by apps/v1/ReplicaSet. See the release notes for more information. ReplicaSet ensures that a specified number of pod replicas are running at any given time.",
|
||||||
"metadata": "If the Labels of a ReplicaSet are empty, they are defaulted to be the same as the Pod(s) that the ReplicaSet manages. Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
|
"metadata": "If the Labels of a ReplicaSet are empty, they are defaulted to be the same as the Pod(s) that the ReplicaSet manages. Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
|
||||||
"spec": "Spec defines the specification of the desired behavior of the ReplicaSet. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status",
|
"spec": "Spec defines the specification of the desired behavior of the ReplicaSet. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status",
|
||||||
"status": "Status is the most recently observed status of the ReplicaSet. This data may be out of date by some window of time. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status",
|
"status": "Status is the most recently observed status of the ReplicaSet. This data may be out of date by some window of time. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status",
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ReplicaSet) SwaggerDoc() map[string]string {
|
func (ReplicaSet) SwaggerDoc() map[string]string {
|
||||||
|
@ -226,7 +226,7 @@ func (ReplicaSetCondition) SwaggerDoc() map[string]string {
|
||||||
|
|
||||||
var map_ReplicaSetList = map[string]string{
|
var map_ReplicaSetList = map[string]string{
|
||||||
"": "ReplicaSetList is a collection of ReplicaSets.",
|
"": "ReplicaSetList is a collection of ReplicaSets.",
|
||||||
"metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds",
|
"metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
|
||||||
"items": "List of ReplicaSets. More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller",
|
"items": "List of ReplicaSets. More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -290,9 +290,9 @@ func (RollingUpdateStatefulSetStrategy) SwaggerDoc() map[string]string {
|
||||||
|
|
||||||
var map_Scale = map[string]string{
|
var map_Scale = map[string]string{
|
||||||
"": "Scale represents a scaling request for a resource.",
|
"": "Scale represents a scaling request for a resource.",
|
||||||
"metadata": "Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata.",
|
"metadata": "Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
|
||||||
"spec": "defines the behavior of the scale. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status.",
|
"spec": "defines the behavior of the scale. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.",
|
||||||
"status": "current status of the scale. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status. Read-only.",
|
"status": "current status of the scale. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status. Read-only.",
|
||||||
}
|
}
|
||||||
|
|
||||||
func (Scale) SwaggerDoc() map[string]string {
|
func (Scale) SwaggerDoc() map[string]string {
|
||||||
|
|
1
vendor/k8s.io/api/auditregistration/v1alpha1/doc.go
generated
vendored
1
vendor/k8s.io/api/auditregistration/v1alpha1/doc.go
generated
vendored
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// +k8s:deepcopy-gen=package
|
// +k8s:deepcopy-gen=package
|
||||||
|
// +k8s:protobuf-gen=package
|
||||||
// +k8s:openapi-gen=true
|
// +k8s:openapi-gen=true
|
||||||
|
|
||||||
// +groupName=auditregistration.k8s.io
|
// +groupName=auditregistration.k8s.io
|
||||||
|
|
1
vendor/k8s.io/api/authentication/v1/doc.go
generated
vendored
1
vendor/k8s.io/api/authentication/v1/doc.go
generated
vendored
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// +k8s:deepcopy-gen=package
|
// +k8s:deepcopy-gen=package
|
||||||
|
// +k8s:protobuf-gen=package
|
||||||
// +groupName=authentication.k8s.io
|
// +groupName=authentication.k8s.io
|
||||||
// +k8s:openapi-gen=true
|
// +k8s:openapi-gen=true
|
||||||
|
|
||||||
|
|
5
vendor/k8s.io/api/authentication/v1/generated.proto
generated
vendored
5
vendor/k8s.io/api/authentication/v1/generated.proto
generated
vendored
|
@ -84,7 +84,10 @@ message TokenRequestSpec {
|
||||||
optional int64 expirationSeconds = 4;
|
optional int64 expirationSeconds = 4;
|
||||||
|
|
||||||
// BoundObjectRef is a reference to an object that the token will be bound to.
|
// BoundObjectRef is a reference to an object that the token will be bound to.
|
||||||
// The token will only be valid for as long as the bound objet exists.
|
// The token will only be valid for as long as the bound object exists.
|
||||||
|
// NOTE: The API server's TokenReview endpoint will validate the
|
||||||
|
// BoundObjectRef, but other audiences may not. Keep ExpirationSeconds
|
||||||
|
// small if you want prompt revocation.
|
||||||
// +optional
|
// +optional
|
||||||
optional BoundObjectReference boundObjectRef = 3;
|
optional BoundObjectReference boundObjectRef = 3;
|
||||||
}
|
}
|
||||||
|
|
5
vendor/k8s.io/api/authentication/v1/types.go
generated
vendored
5
vendor/k8s.io/api/authentication/v1/types.go
generated
vendored
|
@ -155,7 +155,10 @@ type TokenRequestSpec struct {
|
||||||
ExpirationSeconds *int64 `json:"expirationSeconds" protobuf:"varint,4,opt,name=expirationSeconds"`
|
ExpirationSeconds *int64 `json:"expirationSeconds" protobuf:"varint,4,opt,name=expirationSeconds"`
|
||||||
|
|
||||||
// BoundObjectRef is a reference to an object that the token will be bound to.
|
// BoundObjectRef is a reference to an object that the token will be bound to.
|
||||||
// The token will only be valid for as long as the bound objet exists.
|
// The token will only be valid for as long as the bound object exists.
|
||||||
|
// NOTE: The API server's TokenReview endpoint will validate the
|
||||||
|
// BoundObjectRef, but other audiences may not. Keep ExpirationSeconds
|
||||||
|
// small if you want prompt revocation.
|
||||||
// +optional
|
// +optional
|
||||||
BoundObjectRef *BoundObjectReference `json:"boundObjectRef" protobuf:"bytes,3,opt,name=boundObjectRef"`
|
BoundObjectRef *BoundObjectReference `json:"boundObjectRef" protobuf:"bytes,3,opt,name=boundObjectRef"`
|
||||||
}
|
}
|
||||||
|
|
2
vendor/k8s.io/api/authentication/v1/types_swagger_doc_generated.go
generated
vendored
2
vendor/k8s.io/api/authentication/v1/types_swagger_doc_generated.go
generated
vendored
|
@ -51,7 +51,7 @@ var map_TokenRequestSpec = map[string]string{
|
||||||
"": "TokenRequestSpec contains client provided parameters of a token request.",
|
"": "TokenRequestSpec contains client provided parameters of a token request.",
|
||||||
"audiences": "Audiences are the intendend audiences of the token. A recipient of a token must identitfy themself with an identifier in the list of audiences of the token, and otherwise should reject the token. A token issued for multiple audiences may be used to authenticate against any of the audiences listed but implies a high degree of trust between the target audiences.",
|
"audiences": "Audiences are the intendend audiences of the token. A recipient of a token must identitfy themself with an identifier in the list of audiences of the token, and otherwise should reject the token. A token issued for multiple audiences may be used to authenticate against any of the audiences listed but implies a high degree of trust between the target audiences.",
|
||||||
"expirationSeconds": "ExpirationSeconds is the requested duration of validity of the request. The token issuer may return a token with a different validity duration so a client needs to check the 'expiration' field in a response.",
|
"expirationSeconds": "ExpirationSeconds is the requested duration of validity of the request. The token issuer may return a token with a different validity duration so a client needs to check the 'expiration' field in a response.",
|
||||||
"boundObjectRef": "BoundObjectRef is a reference to an object that the token will be bound to. The token will only be valid for as long as the bound objet exists.",
|
"boundObjectRef": "BoundObjectRef is a reference to an object that the token will be bound to. The token will only be valid for as long as the bound object exists. NOTE: The API server's TokenReview endpoint will validate the BoundObjectRef, but other audiences may not. Keep ExpirationSeconds small if you want prompt revocation.",
|
||||||
}
|
}
|
||||||
|
|
||||||
func (TokenRequestSpec) SwaggerDoc() map[string]string {
|
func (TokenRequestSpec) SwaggerDoc() map[string]string {
|
||||||
|
|
1
vendor/k8s.io/api/authentication/v1beta1/doc.go
generated
vendored
1
vendor/k8s.io/api/authentication/v1beta1/doc.go
generated
vendored
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// +k8s:deepcopy-gen=package
|
// +k8s:deepcopy-gen=package
|
||||||
|
// +k8s:protobuf-gen=package
|
||||||
// +groupName=authentication.k8s.io
|
// +groupName=authentication.k8s.io
|
||||||
// +k8s:openapi-gen=true
|
// +k8s:openapi-gen=true
|
||||||
|
|
||||||
|
|
1
vendor/k8s.io/api/authorization/v1/doc.go
generated
vendored
1
vendor/k8s.io/api/authorization/v1/doc.go
generated
vendored
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// +k8s:deepcopy-gen=package
|
// +k8s:deepcopy-gen=package
|
||||||
|
// +k8s:protobuf-gen=package
|
||||||
// +k8s:openapi-gen=true
|
// +k8s:openapi-gen=true
|
||||||
|
|
||||||
// +groupName=authorization.k8s.io
|
// +groupName=authorization.k8s.io
|
||||||
|
|
1
vendor/k8s.io/api/authorization/v1beta1/doc.go
generated
vendored
1
vendor/k8s.io/api/authorization/v1beta1/doc.go
generated
vendored
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// +k8s:deepcopy-gen=package
|
// +k8s:deepcopy-gen=package
|
||||||
|
// +k8s:protobuf-gen=package
|
||||||
// +k8s:openapi-gen=true
|
// +k8s:openapi-gen=true
|
||||||
|
|
||||||
// +groupName=authorization.k8s.io
|
// +groupName=authorization.k8s.io
|
||||||
|
|
1
vendor/k8s.io/api/autoscaling/v1/doc.go
generated
vendored
1
vendor/k8s.io/api/autoscaling/v1/doc.go
generated
vendored
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// +k8s:deepcopy-gen=package
|
// +k8s:deepcopy-gen=package
|
||||||
|
// +k8s:protobuf-gen=package
|
||||||
// +k8s:openapi-gen=true
|
// +k8s:openapi-gen=true
|
||||||
|
|
||||||
package v1 // import "k8s.io/api/autoscaling/v1"
|
package v1 // import "k8s.io/api/autoscaling/v1"
|
||||||
|
|
1
vendor/k8s.io/api/autoscaling/v2beta1/doc.go
generated
vendored
1
vendor/k8s.io/api/autoscaling/v2beta1/doc.go
generated
vendored
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// +k8s:deepcopy-gen=package
|
// +k8s:deepcopy-gen=package
|
||||||
|
// +k8s:protobuf-gen=package
|
||||||
// +k8s:openapi-gen=true
|
// +k8s:openapi-gen=true
|
||||||
|
|
||||||
package v2beta1 // import "k8s.io/api/autoscaling/v2beta1"
|
package v2beta1 // import "k8s.io/api/autoscaling/v2beta1"
|
||||||
|
|
1
vendor/k8s.io/api/autoscaling/v2beta2/doc.go
generated
vendored
1
vendor/k8s.io/api/autoscaling/v2beta2/doc.go
generated
vendored
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// +k8s:deepcopy-gen=package
|
// +k8s:deepcopy-gen=package
|
||||||
|
// +k8s:protobuf-gen=package
|
||||||
// +k8s:openapi-gen=true
|
// +k8s:openapi-gen=true
|
||||||
|
|
||||||
package v2beta2 // import "k8s.io/api/autoscaling/v2beta2"
|
package v2beta2 // import "k8s.io/api/autoscaling/v2beta2"
|
||||||
|
|
1
vendor/k8s.io/api/batch/v1/doc.go
generated
vendored
1
vendor/k8s.io/api/batch/v1/doc.go
generated
vendored
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// +k8s:deepcopy-gen=package
|
// +k8s:deepcopy-gen=package
|
||||||
|
// +k8s:protobuf-gen=package
|
||||||
// +k8s:openapi-gen=true
|
// +k8s:openapi-gen=true
|
||||||
|
|
||||||
package v1 // import "k8s.io/api/batch/v1"
|
package v1 // import "k8s.io/api/batch/v1"
|
||||||
|
|
1
vendor/k8s.io/api/batch/v1beta1/doc.go
generated
vendored
1
vendor/k8s.io/api/batch/v1beta1/doc.go
generated
vendored
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// +k8s:deepcopy-gen=package
|
// +k8s:deepcopy-gen=package
|
||||||
|
// +k8s:protobuf-gen=package
|
||||||
// +k8s:openapi-gen=true
|
// +k8s:openapi-gen=true
|
||||||
|
|
||||||
package v1beta1 // import "k8s.io/api/batch/v1beta1"
|
package v1beta1 // import "k8s.io/api/batch/v1beta1"
|
||||||
|
|
1
vendor/k8s.io/api/batch/v2alpha1/doc.go
generated
vendored
1
vendor/k8s.io/api/batch/v2alpha1/doc.go
generated
vendored
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// +k8s:deepcopy-gen=package
|
// +k8s:deepcopy-gen=package
|
||||||
|
// +k8s:protobuf-gen=package
|
||||||
// +k8s:openapi-gen=true
|
// +k8s:openapi-gen=true
|
||||||
|
|
||||||
package v2alpha1 // import "k8s.io/api/batch/v2alpha1"
|
package v2alpha1 // import "k8s.io/api/batch/v2alpha1"
|
||||||
|
|
1
vendor/k8s.io/api/certificates/v1beta1/doc.go
generated
vendored
1
vendor/k8s.io/api/certificates/v1beta1/doc.go
generated
vendored
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// +k8s:deepcopy-gen=package
|
// +k8s:deepcopy-gen=package
|
||||||
|
// +k8s:protobuf-gen=package
|
||||||
// +k8s:openapi-gen=true
|
// +k8s:openapi-gen=true
|
||||||
|
|
||||||
// +groupName=certificates.k8s.io
|
// +groupName=certificates.k8s.io
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
Copyright 2017 The Kubernetes Authors.
|
Copyright 2018 The Kubernetes Authors.
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
|
@ -15,11 +15,9 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// +k8s:deepcopy-gen=package
|
// +k8s:deepcopy-gen=package
|
||||||
|
// +k8s:protobuf-gen=package
|
||||||
// +k8s:openapi-gen=true
|
// +k8s:openapi-gen=true
|
||||||
// +groupName=admissionregistration.k8s.io
|
|
||||||
|
|
||||||
// Package v1alpha1 is the v1alpha1 version of the API.
|
// +groupName=coordination.k8s.io
|
||||||
// AdmissionConfiguration and AdmissionPluginConfiguration are legacy static admission plugin configuration
|
|
||||||
// InitializerConfiguration and validatingWebhookConfiguration is for the
|
package v1 // import "k8s.io/api/coordination/v1"
|
||||||
// new dynamic admission controller configuration.
|
|
||||||
package v1alpha1 // import "k8s.io/api/admissionregistration/v1alpha1"
|
|
|
@ -15,26 +15,27 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Code generated by protoc-gen-gogo. DO NOT EDIT.
|
// Code generated by protoc-gen-gogo. DO NOT EDIT.
|
||||||
// source: k8s.io/kubernetes/vendor/k8s.io/api/admissionregistration/v1alpha1/generated.proto
|
// source: k8s.io/kubernetes/vendor/k8s.io/api/coordination/v1/generated.proto
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Package v1alpha1 is a generated protocol buffer package.
|
Package v1 is a generated protocol buffer package.
|
||||||
|
|
||||||
It is generated from these files:
|
It is generated from these files:
|
||||||
k8s.io/kubernetes/vendor/k8s.io/api/admissionregistration/v1alpha1/generated.proto
|
k8s.io/kubernetes/vendor/k8s.io/api/coordination/v1/generated.proto
|
||||||
|
|
||||||
It has these top-level messages:
|
It has these top-level messages:
|
||||||
Initializer
|
Lease
|
||||||
InitializerConfiguration
|
LeaseList
|
||||||
InitializerConfigurationList
|
LeaseSpec
|
||||||
Rule
|
|
||||||
*/
|
*/
|
||||||
package v1alpha1
|
package v1
|
||||||
|
|
||||||
import proto "github.com/gogo/protobuf/proto"
|
import proto "github.com/gogo/protobuf/proto"
|
||||||
import fmt "fmt"
|
import fmt "fmt"
|
||||||
import math "math"
|
import math "math"
|
||||||
|
|
||||||
|
import k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
|
||||||
import strings "strings"
|
import strings "strings"
|
||||||
import reflect "reflect"
|
import reflect "reflect"
|
||||||
|
|
||||||
|
@ -51,33 +52,24 @@ var _ = math.Inf
|
||||||
// proto package needs to be updated.
|
// proto package needs to be updated.
|
||||||
const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
|
const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
|
||||||
|
|
||||||
func (m *Initializer) Reset() { *m = Initializer{} }
|
func (m *Lease) Reset() { *m = Lease{} }
|
||||||
func (*Initializer) ProtoMessage() {}
|
func (*Lease) ProtoMessage() {}
|
||||||
func (*Initializer) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{0} }
|
func (*Lease) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{0} }
|
||||||
|
|
||||||
func (m *InitializerConfiguration) Reset() { *m = InitializerConfiguration{} }
|
func (m *LeaseList) Reset() { *m = LeaseList{} }
|
||||||
func (*InitializerConfiguration) ProtoMessage() {}
|
func (*LeaseList) ProtoMessage() {}
|
||||||
func (*InitializerConfiguration) Descriptor() ([]byte, []int) {
|
func (*LeaseList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{1} }
|
||||||
return fileDescriptorGenerated, []int{1}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *InitializerConfigurationList) Reset() { *m = InitializerConfigurationList{} }
|
func (m *LeaseSpec) Reset() { *m = LeaseSpec{} }
|
||||||
func (*InitializerConfigurationList) ProtoMessage() {}
|
func (*LeaseSpec) ProtoMessage() {}
|
||||||
func (*InitializerConfigurationList) Descriptor() ([]byte, []int) {
|
func (*LeaseSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{2} }
|
||||||
return fileDescriptorGenerated, []int{2}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *Rule) Reset() { *m = Rule{} }
|
|
||||||
func (*Rule) ProtoMessage() {}
|
|
||||||
func (*Rule) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{3} }
|
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
proto.RegisterType((*Initializer)(nil), "k8s.io.api.admissionregistration.v1alpha1.Initializer")
|
proto.RegisterType((*Lease)(nil), "k8s.io.api.coordination.v1.Lease")
|
||||||
proto.RegisterType((*InitializerConfiguration)(nil), "k8s.io.api.admissionregistration.v1alpha1.InitializerConfiguration")
|
proto.RegisterType((*LeaseList)(nil), "k8s.io.api.coordination.v1.LeaseList")
|
||||||
proto.RegisterType((*InitializerConfigurationList)(nil), "k8s.io.api.admissionregistration.v1alpha1.InitializerConfigurationList")
|
proto.RegisterType((*LeaseSpec)(nil), "k8s.io.api.coordination.v1.LeaseSpec")
|
||||||
proto.RegisterType((*Rule)(nil), "k8s.io.api.admissionregistration.v1alpha1.Rule")
|
|
||||||
}
|
}
|
||||||
func (m *Initializer) Marshal() (dAtA []byte, err error) {
|
func (m *Lease) Marshal() (dAtA []byte, err error) {
|
||||||
size := m.Size()
|
size := m.Size()
|
||||||
dAtA = make([]byte, size)
|
dAtA = make([]byte, size)
|
||||||
n, err := m.MarshalTo(dAtA)
|
n, err := m.MarshalTo(dAtA)
|
||||||
|
@ -87,41 +79,7 @@ func (m *Initializer) Marshal() (dAtA []byte, err error) {
|
||||||
return dAtA[:n], nil
|
return dAtA[:n], nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Initializer) MarshalTo(dAtA []byte) (int, error) {
|
func (m *Lease) MarshalTo(dAtA []byte) (int, error) {
|
||||||
var i int
|
|
||||||
_ = i
|
|
||||||
var l int
|
|
||||||
_ = l
|
|
||||||
dAtA[i] = 0xa
|
|
||||||
i++
|
|
||||||
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
|
|
||||||
i += copy(dAtA[i:], m.Name)
|
|
||||||
if len(m.Rules) > 0 {
|
|
||||||
for _, msg := range m.Rules {
|
|
||||||
dAtA[i] = 0x12
|
|
||||||
i++
|
|
||||||
i = encodeVarintGenerated(dAtA, i, uint64(msg.Size()))
|
|
||||||
n, err := msg.MarshalTo(dAtA[i:])
|
|
||||||
if err != nil {
|
|
||||||
return 0, err
|
|
||||||
}
|
|
||||||
i += n
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return i, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *InitializerConfiguration) Marshal() (dAtA []byte, err error) {
|
|
||||||
size := m.Size()
|
|
||||||
dAtA = make([]byte, size)
|
|
||||||
n, err := m.MarshalTo(dAtA)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return dAtA[:n], nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *InitializerConfiguration) MarshalTo(dAtA []byte) (int, error) {
|
|
||||||
var i int
|
var i int
|
||||||
_ = i
|
_ = i
|
||||||
var l int
|
var l int
|
||||||
|
@ -134,22 +92,18 @@ func (m *InitializerConfiguration) MarshalTo(dAtA []byte) (int, error) {
|
||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
i += n1
|
i += n1
|
||||||
if len(m.Initializers) > 0 {
|
|
||||||
for _, msg := range m.Initializers {
|
|
||||||
dAtA[i] = 0x12
|
dAtA[i] = 0x12
|
||||||
i++
|
i++
|
||||||
i = encodeVarintGenerated(dAtA, i, uint64(msg.Size()))
|
i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size()))
|
||||||
n, err := msg.MarshalTo(dAtA[i:])
|
n2, err := m.Spec.MarshalTo(dAtA[i:])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
i += n
|
i += n2
|
||||||
}
|
|
||||||
}
|
|
||||||
return i, nil
|
return i, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *InitializerConfigurationList) Marshal() (dAtA []byte, err error) {
|
func (m *LeaseList) Marshal() (dAtA []byte, err error) {
|
||||||
size := m.Size()
|
size := m.Size()
|
||||||
dAtA = make([]byte, size)
|
dAtA = make([]byte, size)
|
||||||
n, err := m.MarshalTo(dAtA)
|
n, err := m.MarshalTo(dAtA)
|
||||||
|
@ -159,7 +113,7 @@ func (m *InitializerConfigurationList) Marshal() (dAtA []byte, err error) {
|
||||||
return dAtA[:n], nil
|
return dAtA[:n], nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *InitializerConfigurationList) MarshalTo(dAtA []byte) (int, error) {
|
func (m *LeaseList) MarshalTo(dAtA []byte) (int, error) {
|
||||||
var i int
|
var i int
|
||||||
_ = i
|
_ = i
|
||||||
var l int
|
var l int
|
||||||
|
@ -167,11 +121,11 @@ func (m *InitializerConfigurationList) MarshalTo(dAtA []byte) (int, error) {
|
||||||
dAtA[i] = 0xa
|
dAtA[i] = 0xa
|
||||||
i++
|
i++
|
||||||
i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size()))
|
i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size()))
|
||||||
n2, err := m.ListMeta.MarshalTo(dAtA[i:])
|
n3, err := m.ListMeta.MarshalTo(dAtA[i:])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
i += n2
|
i += n3
|
||||||
if len(m.Items) > 0 {
|
if len(m.Items) > 0 {
|
||||||
for _, msg := range m.Items {
|
for _, msg := range m.Items {
|
||||||
dAtA[i] = 0x12
|
dAtA[i] = 0x12
|
||||||
|
@ -187,7 +141,7 @@ func (m *InitializerConfigurationList) MarshalTo(dAtA []byte) (int, error) {
|
||||||
return i, nil
|
return i, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Rule) Marshal() (dAtA []byte, err error) {
|
func (m *LeaseSpec) Marshal() (dAtA []byte, err error) {
|
||||||
size := m.Size()
|
size := m.Size()
|
||||||
dAtA = make([]byte, size)
|
dAtA = make([]byte, size)
|
||||||
n, err := m.MarshalTo(dAtA)
|
n, err := m.MarshalTo(dAtA)
|
||||||
|
@ -197,55 +151,46 @@ func (m *Rule) Marshal() (dAtA []byte, err error) {
|
||||||
return dAtA[:n], nil
|
return dAtA[:n], nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Rule) MarshalTo(dAtA []byte) (int, error) {
|
func (m *LeaseSpec) MarshalTo(dAtA []byte) (int, error) {
|
||||||
var i int
|
var i int
|
||||||
_ = i
|
_ = i
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
if len(m.APIGroups) > 0 {
|
if m.HolderIdentity != nil {
|
||||||
for _, s := range m.APIGroups {
|
|
||||||
dAtA[i] = 0xa
|
dAtA[i] = 0xa
|
||||||
i++
|
i++
|
||||||
l = len(s)
|
i = encodeVarintGenerated(dAtA, i, uint64(len(*m.HolderIdentity)))
|
||||||
for l >= 1<<7 {
|
i += copy(dAtA[i:], *m.HolderIdentity)
|
||||||
dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
|
}
|
||||||
l >>= 7
|
if m.LeaseDurationSeconds != nil {
|
||||||
|
dAtA[i] = 0x10
|
||||||
i++
|
i++
|
||||||
|
i = encodeVarintGenerated(dAtA, i, uint64(*m.LeaseDurationSeconds))
|
||||||
}
|
}
|
||||||
dAtA[i] = uint8(l)
|
if m.AcquireTime != nil {
|
||||||
i++
|
|
||||||
i += copy(dAtA[i:], s)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if len(m.APIVersions) > 0 {
|
|
||||||
for _, s := range m.APIVersions {
|
|
||||||
dAtA[i] = 0x12
|
|
||||||
i++
|
|
||||||
l = len(s)
|
|
||||||
for l >= 1<<7 {
|
|
||||||
dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
|
|
||||||
l >>= 7
|
|
||||||
i++
|
|
||||||
}
|
|
||||||
dAtA[i] = uint8(l)
|
|
||||||
i++
|
|
||||||
i += copy(dAtA[i:], s)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if len(m.Resources) > 0 {
|
|
||||||
for _, s := range m.Resources {
|
|
||||||
dAtA[i] = 0x1a
|
dAtA[i] = 0x1a
|
||||||
i++
|
i++
|
||||||
l = len(s)
|
i = encodeVarintGenerated(dAtA, i, uint64(m.AcquireTime.Size()))
|
||||||
for l >= 1<<7 {
|
n4, err := m.AcquireTime.MarshalTo(dAtA[i:])
|
||||||
dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
|
if err != nil {
|
||||||
l >>= 7
|
return 0, err
|
||||||
i++
|
|
||||||
}
|
}
|
||||||
dAtA[i] = uint8(l)
|
i += n4
|
||||||
i++
|
|
||||||
i += copy(dAtA[i:], s)
|
|
||||||
}
|
}
|
||||||
|
if m.RenewTime != nil {
|
||||||
|
dAtA[i] = 0x22
|
||||||
|
i++
|
||||||
|
i = encodeVarintGenerated(dAtA, i, uint64(m.RenewTime.Size()))
|
||||||
|
n5, err := m.RenewTime.MarshalTo(dAtA[i:])
|
||||||
|
if err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
i += n5
|
||||||
|
}
|
||||||
|
if m.LeaseTransitions != nil {
|
||||||
|
dAtA[i] = 0x28
|
||||||
|
i++
|
||||||
|
i = encodeVarintGenerated(dAtA, i, uint64(*m.LeaseTransitions))
|
||||||
}
|
}
|
||||||
return i, nil
|
return i, nil
|
||||||
}
|
}
|
||||||
|
@ -259,35 +204,17 @@ func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int {
|
||||||
dAtA[offset] = uint8(v)
|
dAtA[offset] = uint8(v)
|
||||||
return offset + 1
|
return offset + 1
|
||||||
}
|
}
|
||||||
func (m *Initializer) Size() (n int) {
|
func (m *Lease) Size() (n int) {
|
||||||
var l int
|
|
||||||
_ = l
|
|
||||||
l = len(m.Name)
|
|
||||||
n += 1 + l + sovGenerated(uint64(l))
|
|
||||||
if len(m.Rules) > 0 {
|
|
||||||
for _, e := range m.Rules {
|
|
||||||
l = e.Size()
|
|
||||||
n += 1 + l + sovGenerated(uint64(l))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return n
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *InitializerConfiguration) Size() (n int) {
|
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
l = m.ObjectMeta.Size()
|
l = m.ObjectMeta.Size()
|
||||||
n += 1 + l + sovGenerated(uint64(l))
|
n += 1 + l + sovGenerated(uint64(l))
|
||||||
if len(m.Initializers) > 0 {
|
l = m.Spec.Size()
|
||||||
for _, e := range m.Initializers {
|
|
||||||
l = e.Size()
|
|
||||||
n += 1 + l + sovGenerated(uint64(l))
|
n += 1 + l + sovGenerated(uint64(l))
|
||||||
}
|
|
||||||
}
|
|
||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *InitializerConfigurationList) Size() (n int) {
|
func (m *LeaseList) Size() (n int) {
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
l = m.ListMeta.Size()
|
l = m.ListMeta.Size()
|
||||||
|
@ -301,26 +228,26 @@ func (m *InitializerConfigurationList) Size() (n int) {
|
||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Rule) Size() (n int) {
|
func (m *LeaseSpec) Size() (n int) {
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
if len(m.APIGroups) > 0 {
|
if m.HolderIdentity != nil {
|
||||||
for _, s := range m.APIGroups {
|
l = len(*m.HolderIdentity)
|
||||||
l = len(s)
|
|
||||||
n += 1 + l + sovGenerated(uint64(l))
|
n += 1 + l + sovGenerated(uint64(l))
|
||||||
}
|
}
|
||||||
|
if m.LeaseDurationSeconds != nil {
|
||||||
|
n += 1 + sovGenerated(uint64(*m.LeaseDurationSeconds))
|
||||||
}
|
}
|
||||||
if len(m.APIVersions) > 0 {
|
if m.AcquireTime != nil {
|
||||||
for _, s := range m.APIVersions {
|
l = m.AcquireTime.Size()
|
||||||
l = len(s)
|
|
||||||
n += 1 + l + sovGenerated(uint64(l))
|
n += 1 + l + sovGenerated(uint64(l))
|
||||||
}
|
}
|
||||||
}
|
if m.RenewTime != nil {
|
||||||
if len(m.Resources) > 0 {
|
l = m.RenewTime.Size()
|
||||||
for _, s := range m.Resources {
|
|
||||||
l = len(s)
|
|
||||||
n += 1 + l + sovGenerated(uint64(l))
|
n += 1 + l + sovGenerated(uint64(l))
|
||||||
}
|
}
|
||||||
|
if m.LeaseTransitions != nil {
|
||||||
|
n += 1 + sovGenerated(uint64(*m.LeaseTransitions))
|
||||||
}
|
}
|
||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
|
@ -338,47 +265,38 @@ func sovGenerated(x uint64) (n int) {
|
||||||
func sozGenerated(x uint64) (n int) {
|
func sozGenerated(x uint64) (n int) {
|
||||||
return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63))))
|
return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63))))
|
||||||
}
|
}
|
||||||
func (this *Initializer) String() string {
|
func (this *Lease) String() string {
|
||||||
if this == nil {
|
if this == nil {
|
||||||
return "nil"
|
return "nil"
|
||||||
}
|
}
|
||||||
s := strings.Join([]string{`&Initializer{`,
|
s := strings.Join([]string{`&Lease{`,
|
||||||
`Name:` + fmt.Sprintf("%v", this.Name) + `,`,
|
|
||||||
`Rules:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Rules), "Rule", "Rule", 1), `&`, ``, 1) + `,`,
|
|
||||||
`}`,
|
|
||||||
}, "")
|
|
||||||
return s
|
|
||||||
}
|
|
||||||
func (this *InitializerConfiguration) String() string {
|
|
||||||
if this == nil {
|
|
||||||
return "nil"
|
|
||||||
}
|
|
||||||
s := strings.Join([]string{`&InitializerConfiguration{`,
|
|
||||||
`ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
|
`ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
|
||||||
`Initializers:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Initializers), "Initializer", "Initializer", 1), `&`, ``, 1) + `,`,
|
`Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "LeaseSpec", "LeaseSpec", 1), `&`, ``, 1) + `,`,
|
||||||
`}`,
|
`}`,
|
||||||
}, "")
|
}, "")
|
||||||
return s
|
return s
|
||||||
}
|
}
|
||||||
func (this *InitializerConfigurationList) String() string {
|
func (this *LeaseList) String() string {
|
||||||
if this == nil {
|
if this == nil {
|
||||||
return "nil"
|
return "nil"
|
||||||
}
|
}
|
||||||
s := strings.Join([]string{`&InitializerConfigurationList{`,
|
s := strings.Join([]string{`&LeaseList{`,
|
||||||
`ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`,
|
`ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`,
|
||||||
`Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "InitializerConfiguration", "InitializerConfiguration", 1), `&`, ``, 1) + `,`,
|
`Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "Lease", "Lease", 1), `&`, ``, 1) + `,`,
|
||||||
`}`,
|
`}`,
|
||||||
}, "")
|
}, "")
|
||||||
return s
|
return s
|
||||||
}
|
}
|
||||||
func (this *Rule) String() string {
|
func (this *LeaseSpec) String() string {
|
||||||
if this == nil {
|
if this == nil {
|
||||||
return "nil"
|
return "nil"
|
||||||
}
|
}
|
||||||
s := strings.Join([]string{`&Rule{`,
|
s := strings.Join([]string{`&LeaseSpec{`,
|
||||||
`APIGroups:` + fmt.Sprintf("%v", this.APIGroups) + `,`,
|
`HolderIdentity:` + valueToStringGenerated(this.HolderIdentity) + `,`,
|
||||||
`APIVersions:` + fmt.Sprintf("%v", this.APIVersions) + `,`,
|
`LeaseDurationSeconds:` + valueToStringGenerated(this.LeaseDurationSeconds) + `,`,
|
||||||
`Resources:` + fmt.Sprintf("%v", this.Resources) + `,`,
|
`AcquireTime:` + strings.Replace(fmt.Sprintf("%v", this.AcquireTime), "MicroTime", "k8s_io_apimachinery_pkg_apis_meta_v1.MicroTime", 1) + `,`,
|
||||||
|
`RenewTime:` + strings.Replace(fmt.Sprintf("%v", this.RenewTime), "MicroTime", "k8s_io_apimachinery_pkg_apis_meta_v1.MicroTime", 1) + `,`,
|
||||||
|
`LeaseTransitions:` + valueToStringGenerated(this.LeaseTransitions) + `,`,
|
||||||
`}`,
|
`}`,
|
||||||
}, "")
|
}, "")
|
||||||
return s
|
return s
|
||||||
|
@ -391,7 +309,7 @@ func valueToStringGenerated(v interface{}) string {
|
||||||
pv := reflect.Indirect(rv).Interface()
|
pv := reflect.Indirect(rv).Interface()
|
||||||
return fmt.Sprintf("*%v", pv)
|
return fmt.Sprintf("*%v", pv)
|
||||||
}
|
}
|
||||||
func (m *Initializer) Unmarshal(dAtA []byte) error {
|
func (m *Lease) Unmarshal(dAtA []byte) error {
|
||||||
l := len(dAtA)
|
l := len(dAtA)
|
||||||
iNdEx := 0
|
iNdEx := 0
|
||||||
for iNdEx < l {
|
for iNdEx < l {
|
||||||
|
@ -414,120 +332,10 @@ func (m *Initializer) Unmarshal(dAtA []byte) error {
|
||||||
fieldNum := int32(wire >> 3)
|
fieldNum := int32(wire >> 3)
|
||||||
wireType := int(wire & 0x7)
|
wireType := int(wire & 0x7)
|
||||||
if wireType == 4 {
|
if wireType == 4 {
|
||||||
return fmt.Errorf("proto: Initializer: wiretype end group for non-group")
|
return fmt.Errorf("proto: Lease: wiretype end group for non-group")
|
||||||
}
|
}
|
||||||
if fieldNum <= 0 {
|
if fieldNum <= 0 {
|
||||||
return fmt.Errorf("proto: Initializer: illegal tag %d (wire type %d)", fieldNum, wire)
|
return fmt.Errorf("proto: Lease: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||||
}
|
|
||||||
switch fieldNum {
|
|
||||||
case 1:
|
|
||||||
if wireType != 2 {
|
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
|
|
||||||
}
|
|
||||||
var stringLen uint64
|
|
||||||
for shift := uint(0); ; shift += 7 {
|
|
||||||
if shift >= 64 {
|
|
||||||
return ErrIntOverflowGenerated
|
|
||||||
}
|
|
||||||
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 ErrInvalidLengthGenerated
|
|
||||||
}
|
|
||||||
postIndex := iNdEx + intStringLen
|
|
||||||
if postIndex > l {
|
|
||||||
return io.ErrUnexpectedEOF
|
|
||||||
}
|
|
||||||
m.Name = string(dAtA[iNdEx:postIndex])
|
|
||||||
iNdEx = postIndex
|
|
||||||
case 2:
|
|
||||||
if wireType != 2 {
|
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field Rules", wireType)
|
|
||||||
}
|
|
||||||
var msglen int
|
|
||||||
for shift := uint(0); ; shift += 7 {
|
|
||||||
if shift >= 64 {
|
|
||||||
return ErrIntOverflowGenerated
|
|
||||||
}
|
|
||||||
if iNdEx >= l {
|
|
||||||
return io.ErrUnexpectedEOF
|
|
||||||
}
|
|
||||||
b := dAtA[iNdEx]
|
|
||||||
iNdEx++
|
|
||||||
msglen |= (int(b) & 0x7F) << shift
|
|
||||||
if b < 0x80 {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if msglen < 0 {
|
|
||||||
return ErrInvalidLengthGenerated
|
|
||||||
}
|
|
||||||
postIndex := iNdEx + msglen
|
|
||||||
if postIndex > l {
|
|
||||||
return io.ErrUnexpectedEOF
|
|
||||||
}
|
|
||||||
m.Rules = append(m.Rules, Rule{})
|
|
||||||
if err := m.Rules[len(m.Rules)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
iNdEx = postIndex
|
|
||||||
default:
|
|
||||||
iNdEx = preIndex
|
|
||||||
skippy, err := skipGenerated(dAtA[iNdEx:])
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if skippy < 0 {
|
|
||||||
return ErrInvalidLengthGenerated
|
|
||||||
}
|
|
||||||
if (iNdEx + skippy) > l {
|
|
||||||
return io.ErrUnexpectedEOF
|
|
||||||
}
|
|
||||||
iNdEx += skippy
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if iNdEx > l {
|
|
||||||
return io.ErrUnexpectedEOF
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
func (m *InitializerConfiguration) Unmarshal(dAtA []byte) error {
|
|
||||||
l := len(dAtA)
|
|
||||||
iNdEx := 0
|
|
||||||
for iNdEx < l {
|
|
||||||
preIndex := iNdEx
|
|
||||||
var wire uint64
|
|
||||||
for shift := uint(0); ; shift += 7 {
|
|
||||||
if shift >= 64 {
|
|
||||||
return ErrIntOverflowGenerated
|
|
||||||
}
|
|
||||||
if iNdEx >= l {
|
|
||||||
return io.ErrUnexpectedEOF
|
|
||||||
}
|
|
||||||
b := dAtA[iNdEx]
|
|
||||||
iNdEx++
|
|
||||||
wire |= (uint64(b) & 0x7F) << shift
|
|
||||||
if b < 0x80 {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
fieldNum := int32(wire >> 3)
|
|
||||||
wireType := int(wire & 0x7)
|
|
||||||
if wireType == 4 {
|
|
||||||
return fmt.Errorf("proto: InitializerConfiguration: wiretype end group for non-group")
|
|
||||||
}
|
|
||||||
if fieldNum <= 0 {
|
|
||||||
return fmt.Errorf("proto: InitializerConfiguration: illegal tag %d (wire type %d)", fieldNum, wire)
|
|
||||||
}
|
}
|
||||||
switch fieldNum {
|
switch fieldNum {
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -562,7 +370,7 @@ func (m *InitializerConfiguration) Unmarshal(dAtA []byte) error {
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
case 2:
|
case 2:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field Initializers", wireType)
|
return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType)
|
||||||
}
|
}
|
||||||
var msglen int
|
var msglen int
|
||||||
for shift := uint(0); ; shift += 7 {
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
@ -586,8 +394,7 @@ func (m *InitializerConfiguration) Unmarshal(dAtA []byte) error {
|
||||||
if postIndex > l {
|
if postIndex > l {
|
||||||
return io.ErrUnexpectedEOF
|
return io.ErrUnexpectedEOF
|
||||||
}
|
}
|
||||||
m.Initializers = append(m.Initializers, Initializer{})
|
if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
||||||
if err := m.Initializers[len(m.Initializers)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
|
@ -612,7 +419,7 @@ func (m *InitializerConfiguration) Unmarshal(dAtA []byte) error {
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
func (m *InitializerConfigurationList) Unmarshal(dAtA []byte) error {
|
func (m *LeaseList) Unmarshal(dAtA []byte) error {
|
||||||
l := len(dAtA)
|
l := len(dAtA)
|
||||||
iNdEx := 0
|
iNdEx := 0
|
||||||
for iNdEx < l {
|
for iNdEx < l {
|
||||||
|
@ -635,10 +442,10 @@ func (m *InitializerConfigurationList) Unmarshal(dAtA []byte) error {
|
||||||
fieldNum := int32(wire >> 3)
|
fieldNum := int32(wire >> 3)
|
||||||
wireType := int(wire & 0x7)
|
wireType := int(wire & 0x7)
|
||||||
if wireType == 4 {
|
if wireType == 4 {
|
||||||
return fmt.Errorf("proto: InitializerConfigurationList: wiretype end group for non-group")
|
return fmt.Errorf("proto: LeaseList: wiretype end group for non-group")
|
||||||
}
|
}
|
||||||
if fieldNum <= 0 {
|
if fieldNum <= 0 {
|
||||||
return fmt.Errorf("proto: InitializerConfigurationList: illegal tag %d (wire type %d)", fieldNum, wire)
|
return fmt.Errorf("proto: LeaseList: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||||
}
|
}
|
||||||
switch fieldNum {
|
switch fieldNum {
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -697,7 +504,7 @@ func (m *InitializerConfigurationList) Unmarshal(dAtA []byte) error {
|
||||||
if postIndex > l {
|
if postIndex > l {
|
||||||
return io.ErrUnexpectedEOF
|
return io.ErrUnexpectedEOF
|
||||||
}
|
}
|
||||||
m.Items = append(m.Items, InitializerConfiguration{})
|
m.Items = append(m.Items, Lease{})
|
||||||
if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -723,7 +530,7 @@ func (m *InitializerConfigurationList) Unmarshal(dAtA []byte) error {
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
func (m *Rule) Unmarshal(dAtA []byte) error {
|
func (m *LeaseSpec) Unmarshal(dAtA []byte) error {
|
||||||
l := len(dAtA)
|
l := len(dAtA)
|
||||||
iNdEx := 0
|
iNdEx := 0
|
||||||
for iNdEx < l {
|
for iNdEx < l {
|
||||||
|
@ -746,15 +553,15 @@ func (m *Rule) Unmarshal(dAtA []byte) error {
|
||||||
fieldNum := int32(wire >> 3)
|
fieldNum := int32(wire >> 3)
|
||||||
wireType := int(wire & 0x7)
|
wireType := int(wire & 0x7)
|
||||||
if wireType == 4 {
|
if wireType == 4 {
|
||||||
return fmt.Errorf("proto: Rule: wiretype end group for non-group")
|
return fmt.Errorf("proto: LeaseSpec: wiretype end group for non-group")
|
||||||
}
|
}
|
||||||
if fieldNum <= 0 {
|
if fieldNum <= 0 {
|
||||||
return fmt.Errorf("proto: Rule: illegal tag %d (wire type %d)", fieldNum, wire)
|
return fmt.Errorf("proto: LeaseSpec: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||||
}
|
}
|
||||||
switch fieldNum {
|
switch fieldNum {
|
||||||
case 1:
|
case 1:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field APIGroups", wireType)
|
return fmt.Errorf("proto: wrong wireType = %d for field HolderIdentity", wireType)
|
||||||
}
|
}
|
||||||
var stringLen uint64
|
var stringLen uint64
|
||||||
for shift := uint(0); ; shift += 7 {
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
@ -779,13 +586,14 @@ func (m *Rule) Unmarshal(dAtA []byte) error {
|
||||||
if postIndex > l {
|
if postIndex > l {
|
||||||
return io.ErrUnexpectedEOF
|
return io.ErrUnexpectedEOF
|
||||||
}
|
}
|
||||||
m.APIGroups = append(m.APIGroups, string(dAtA[iNdEx:postIndex]))
|
s := string(dAtA[iNdEx:postIndex])
|
||||||
|
m.HolderIdentity = &s
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
case 2:
|
case 2:
|
||||||
if wireType != 2 {
|
if wireType != 0 {
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field APIVersions", wireType)
|
return fmt.Errorf("proto: wrong wireType = %d for field LeaseDurationSeconds", wireType)
|
||||||
}
|
}
|
||||||
var stringLen uint64
|
var v int32
|
||||||
for shift := uint(0); ; shift += 7 {
|
for shift := uint(0); ; shift += 7 {
|
||||||
if shift >= 64 {
|
if shift >= 64 {
|
||||||
return ErrIntOverflowGenerated
|
return ErrIntOverflowGenerated
|
||||||
|
@ -795,26 +603,17 @@ func (m *Rule) Unmarshal(dAtA []byte) error {
|
||||||
}
|
}
|
||||||
b := dAtA[iNdEx]
|
b := dAtA[iNdEx]
|
||||||
iNdEx++
|
iNdEx++
|
||||||
stringLen |= (uint64(b) & 0x7F) << shift
|
v |= (int32(b) & 0x7F) << shift
|
||||||
if b < 0x80 {
|
if b < 0x80 {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
intStringLen := int(stringLen)
|
m.LeaseDurationSeconds = &v
|
||||||
if intStringLen < 0 {
|
|
||||||
return ErrInvalidLengthGenerated
|
|
||||||
}
|
|
||||||
postIndex := iNdEx + intStringLen
|
|
||||||
if postIndex > l {
|
|
||||||
return io.ErrUnexpectedEOF
|
|
||||||
}
|
|
||||||
m.APIVersions = append(m.APIVersions, string(dAtA[iNdEx:postIndex]))
|
|
||||||
iNdEx = postIndex
|
|
||||||
case 3:
|
case 3:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field Resources", wireType)
|
return fmt.Errorf("proto: wrong wireType = %d for field AcquireTime", wireType)
|
||||||
}
|
}
|
||||||
var stringLen uint64
|
var msglen int
|
||||||
for shift := uint(0); ; shift += 7 {
|
for shift := uint(0); ; shift += 7 {
|
||||||
if shift >= 64 {
|
if shift >= 64 {
|
||||||
return ErrIntOverflowGenerated
|
return ErrIntOverflowGenerated
|
||||||
|
@ -824,21 +623,78 @@ func (m *Rule) Unmarshal(dAtA []byte) error {
|
||||||
}
|
}
|
||||||
b := dAtA[iNdEx]
|
b := dAtA[iNdEx]
|
||||||
iNdEx++
|
iNdEx++
|
||||||
stringLen |= (uint64(b) & 0x7F) << shift
|
msglen |= (int(b) & 0x7F) << shift
|
||||||
if b < 0x80 {
|
if b < 0x80 {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
intStringLen := int(stringLen)
|
if msglen < 0 {
|
||||||
if intStringLen < 0 {
|
|
||||||
return ErrInvalidLengthGenerated
|
return ErrInvalidLengthGenerated
|
||||||
}
|
}
|
||||||
postIndex := iNdEx + intStringLen
|
postIndex := iNdEx + msglen
|
||||||
if postIndex > l {
|
if postIndex > l {
|
||||||
return io.ErrUnexpectedEOF
|
return io.ErrUnexpectedEOF
|
||||||
}
|
}
|
||||||
m.Resources = append(m.Resources, string(dAtA[iNdEx:postIndex]))
|
if m.AcquireTime == nil {
|
||||||
|
m.AcquireTime = &k8s_io_apimachinery_pkg_apis_meta_v1.MicroTime{}
|
||||||
|
}
|
||||||
|
if err := m.AcquireTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
|
case 4:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field RenewTime", wireType)
|
||||||
|
}
|
||||||
|
var msglen int
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
msglen |= (int(b) & 0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if msglen < 0 {
|
||||||
|
return ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + msglen
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
if m.RenewTime == nil {
|
||||||
|
m.RenewTime = &k8s_io_apimachinery_pkg_apis_meta_v1.MicroTime{}
|
||||||
|
}
|
||||||
|
if err := m.RenewTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
iNdEx = postIndex
|
||||||
|
case 5:
|
||||||
|
if wireType != 0 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field LeaseTransitions", wireType)
|
||||||
|
}
|
||||||
|
var v int32
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
v |= (int32(b) & 0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
m.LeaseTransitions = &v
|
||||||
default:
|
default:
|
||||||
iNdEx = preIndex
|
iNdEx = preIndex
|
||||||
skippy, err := skipGenerated(dAtA[iNdEx:])
|
skippy, err := skipGenerated(dAtA[iNdEx:])
|
||||||
|
@ -966,43 +822,43 @@ var (
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
proto.RegisterFile("k8s.io/kubernetes/vendor/k8s.io/api/admissionregistration/v1alpha1/generated.proto", fileDescriptorGenerated)
|
proto.RegisterFile("k8s.io/kubernetes/vendor/k8s.io/api/coordination/v1/generated.proto", fileDescriptorGenerated)
|
||||||
}
|
}
|
||||||
|
|
||||||
var fileDescriptorGenerated = []byte{
|
var fileDescriptorGenerated = []byte{
|
||||||
// 531 bytes of a gzipped FileDescriptorProto
|
// 535 bytes of a gzipped FileDescriptorProto
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x51, 0x4d, 0x8b, 0x13, 0x31,
|
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x90, 0xc1, 0x6e, 0xd3, 0x40,
|
||||||
0x18, 0x6e, 0x6c, 0x0b, 0x6d, 0xda, 0x45, 0x19, 0x3c, 0x94, 0x22, 0xd3, 0xd2, 0x53, 0x45, 0x4c,
|
0x10, 0x86, 0xe3, 0x36, 0x91, 0x9a, 0x0d, 0x2d, 0x91, 0x95, 0x83, 0x95, 0x83, 0x5d, 0x22, 0x21,
|
||||||
0xec, 0x22, 0x8b, 0xd7, 0x9d, 0x3d, 0x48, 0xc1, 0x8f, 0x25, 0x88, 0x07, 0xf1, 0x60, 0xda, 0xbe,
|
0xe5, 0xc2, 0x2e, 0xa9, 0x10, 0x42, 0x9c, 0xc0, 0x20, 0xa0, 0x52, 0x2a, 0x24, 0xb7, 0x27, 0xd4,
|
||||||
0x3b, 0x8d, 0xed, 0x4c, 0x86, 0x24, 0x53, 0xd0, 0x93, 0x17, 0xef, 0x82, 0x7f, 0xaa, 0xc7, 0x3d,
|
0x03, 0x1b, 0x7b, 0x70, 0x96, 0xd4, 0x5e, 0xb3, 0xbb, 0x0e, 0xea, 0x8d, 0x47, 0xe0, 0xca, 0x63,
|
||||||
0xee, 0xa9, 0xd8, 0x11, 0x3c, 0xfa, 0x1b, 0x24, 0x33, 0x9d, 0x9d, 0x59, 0xeb, 0xe2, 0xea, 0x2d,
|
0xc0, 0x53, 0xe4, 0xd8, 0x63, 0x4f, 0x16, 0x31, 0x2f, 0x82, 0x76, 0x93, 0x36, 0x21, 0x49, 0xd5,
|
||||||
0xef, 0xf3, 0xe6, 0xf9, 0x4a, 0x30, 0x5b, 0x3c, 0xd1, 0x44, 0x48, 0xba, 0x88, 0x27, 0xa0, 0x42,
|
0x8a, 0xdb, 0xee, 0xcc, 0xfc, 0xdf, 0xfc, 0xf3, 0xa3, 0x57, 0xa3, 0x67, 0x12, 0x33, 0x4e, 0x46,
|
||||||
0x30, 0xa0, 0xe9, 0x0a, 0xc2, 0x99, 0x54, 0x74, 0xb7, 0xe0, 0x91, 0xa0, 0x7c, 0x16, 0x08, 0xad,
|
0xf9, 0x00, 0x44, 0x0a, 0x0a, 0x24, 0x19, 0x43, 0x1a, 0x71, 0x41, 0xe6, 0x0d, 0x9a, 0x31, 0x12,
|
||||||
0x85, 0x0c, 0x15, 0xf8, 0x42, 0x1b, 0xc5, 0x8d, 0x90, 0x21, 0x5d, 0x8d, 0xf8, 0x32, 0x9a, 0xf3,
|
0x72, 0x2e, 0x22, 0x96, 0x52, 0xc5, 0x78, 0x4a, 0xc6, 0x3d, 0x12, 0x43, 0x0a, 0x82, 0x2a, 0x88,
|
||||||
0x11, 0xf5, 0x21, 0x04, 0xc5, 0x0d, 0xcc, 0x48, 0xa4, 0xa4, 0x91, 0xce, 0xfd, 0x8c, 0x4a, 0x78,
|
0x70, 0x26, 0xb8, 0xe2, 0x76, 0x7b, 0x36, 0x8b, 0x69, 0xc6, 0xf0, 0xf2, 0x2c, 0x1e, 0xf7, 0xda,
|
||||||
0x24, 0xc8, 0x1f, 0xa9, 0x24, 0xa7, 0x76, 0x1f, 0xfa, 0xc2, 0xcc, 0xe3, 0x09, 0x99, 0xca, 0x80,
|
0x8f, 0x62, 0xa6, 0x86, 0xf9, 0x00, 0x87, 0x3c, 0x21, 0x31, 0x8f, 0x39, 0x31, 0x92, 0x41, 0xfe,
|
||||||
0xfa, 0xd2, 0x97, 0x34, 0x55, 0x98, 0xc4, 0x67, 0xe9, 0x94, 0x0e, 0xe9, 0x29, 0x53, 0xee, 0x3e,
|
0xc9, 0xfc, 0xcc, 0xc7, 0xbc, 0x66, 0xa8, 0xf6, 0x93, 0xc5, 0xda, 0x84, 0x86, 0x43, 0x96, 0x82,
|
||||||
0x2e, 0x42, 0x05, 0x7c, 0x3a, 0x17, 0x21, 0xa8, 0x0f, 0x34, 0x5a, 0xf8, 0x16, 0xd0, 0x34, 0x00,
|
0x38, 0x27, 0xd9, 0x28, 0xd6, 0x05, 0x49, 0x12, 0x50, 0x74, 0x83, 0x81, 0x36, 0xb9, 0x49, 0x25,
|
||||||
0xc3, 0xe9, 0x6a, 0x2f, 0x4f, 0x97, 0x5e, 0xc7, 0x52, 0x71, 0x68, 0x44, 0x00, 0x7b, 0x84, 0xa3,
|
0xf2, 0x54, 0xb1, 0x04, 0xd6, 0x04, 0x4f, 0x6f, 0x13, 0xc8, 0x70, 0x08, 0x09, 0x5d, 0xd5, 0x75,
|
||||||
0xbf, 0x11, 0xf4, 0x74, 0x0e, 0x01, 0xff, 0x9d, 0x37, 0xf8, 0x8c, 0x70, 0x6b, 0x1c, 0x0a, 0x23,
|
0x7e, 0x59, 0xa8, 0xd6, 0x07, 0x2a, 0xc1, 0xfe, 0x88, 0x76, 0xb4, 0x9b, 0x88, 0x2a, 0xea, 0x58,
|
||||||
0xf8, 0x52, 0x7c, 0x04, 0xe5, 0xf4, 0x71, 0x2d, 0xe4, 0x01, 0x74, 0x50, 0x1f, 0x0d, 0x9b, 0x5e,
|
0xfb, 0x56, 0xb7, 0x71, 0xf0, 0x18, 0x2f, 0x62, 0xb8, 0x86, 0xe2, 0x6c, 0x14, 0xeb, 0x82, 0xc4,
|
||||||
0x7b, 0xbd, 0xe9, 0x55, 0x92, 0x4d, 0xaf, 0xf6, 0x82, 0x07, 0xc0, 0xd2, 0x8d, 0xf3, 0x0a, 0xd7,
|
0x7a, 0x1a, 0x8f, 0x7b, 0xf8, 0xfd, 0xe0, 0x33, 0x84, 0xea, 0x08, 0x14, 0xf5, 0xed, 0x49, 0xe1,
|
||||||
0x55, 0xbc, 0x04, 0xdd, 0xb9, 0xd5, 0xaf, 0x0e, 0x5b, 0x87, 0x94, 0xdc, 0xf8, 0xe9, 0x08, 0x8b,
|
0x55, 0xca, 0xc2, 0x43, 0x8b, 0x5a, 0x70, 0x4d, 0xb5, 0xdf, 0xa2, 0xaa, 0xcc, 0x20, 0x74, 0xb6,
|
||||||
0x97, 0xe0, 0x1d, 0xec, 0x34, 0xeb, 0x76, 0xd2, 0x2c, 0x13, 0x1b, 0xfc, 0x44, 0xb8, 0x53, 0xca,
|
0x0c, 0xfd, 0x21, 0xbe, 0x39, 0x64, 0x6c, 0x2c, 0x1d, 0x67, 0x10, 0xfa, 0xf7, 0xe6, 0xc8, 0xaa,
|
||||||
0x71, 0x22, 0xc3, 0x33, 0xe1, 0xc7, 0x99, 0x80, 0xf3, 0x0e, 0x37, 0xec, 0x43, 0xcd, 0xb8, 0xe1,
|
0xfe, 0x05, 0x06, 0xd0, 0xf9, 0x69, 0xa1, 0xba, 0x99, 0xe8, 0x33, 0xa9, 0xec, 0xd3, 0x35, 0xe3,
|
||||||
0x69, 0xb0, 0xd6, 0xe1, 0xa3, 0x92, 0xeb, 0x65, 0x5f, 0x12, 0x2d, 0x7c, 0x0b, 0x68, 0x62, 0x6f,
|
0xf8, 0x6e, 0xc6, 0xb5, 0xda, 0xd8, 0x6e, 0xce, 0x77, 0xec, 0x5c, 0x55, 0x96, 0x4c, 0xbf, 0x41,
|
||||||
0x93, 0xd5, 0x88, 0xbc, 0x9c, 0xbc, 0x87, 0xa9, 0x79, 0x0e, 0x86, 0x7b, 0xce, 0xce, 0x16, 0x17,
|
0x35, 0xa6, 0x20, 0x91, 0xce, 0xd6, 0xfe, 0x76, 0xb7, 0x71, 0xf0, 0xe0, 0x56, 0xd7, 0xfe, 0xee,
|
||||||
0x18, 0xbb, 0x54, 0x75, 0x22, 0xdc, 0x16, 0x85, 0x7b, 0xde, 0xed, 0xe8, 0x1f, 0xba, 0x95, 0xc2,
|
0x9c, 0x56, 0x3b, 0xd4, 0xba, 0x60, 0x26, 0xef, 0xfc, 0xd8, 0x9e, 0x7b, 0xd6, 0x77, 0xd8, 0xcf,
|
||||||
0x7b, 0x77, 0x77, 0x5e, 0xed, 0x12, 0xa8, 0xd9, 0x15, 0x87, 0xc1, 0x0f, 0x84, 0xef, 0x5d, 0x57,
|
0xd1, 0xde, 0x90, 0x9f, 0x45, 0x20, 0x0e, 0x23, 0x48, 0x15, 0x53, 0xe7, 0xc6, 0x79, 0xdd, 0xb7,
|
||||||
0xf8, 0x99, 0xd0, 0xc6, 0x79, 0xbb, 0x57, 0x9a, 0xdc, 0xac, 0xb4, 0x65, 0xa7, 0x95, 0xef, 0xec,
|
0xcb, 0xc2, 0xdb, 0x7b, 0xf7, 0x4f, 0x27, 0x58, 0x99, 0xb4, 0xfb, 0xa8, 0x75, 0xa6, 0x41, 0xaf,
|
||||||
0x62, 0x34, 0x72, 0xa4, 0x54, 0x78, 0x8e, 0xeb, 0xc2, 0x40, 0x90, 0x37, 0x3d, 0xf9, 0xbf, 0xa6,
|
0x73, 0x61, 0x36, 0x1f, 0x43, 0xc8, 0xd3, 0x48, 0x9a, 0x58, 0x6b, 0xbe, 0x53, 0x16, 0x5e, 0xab,
|
||||||
0x57, 0x52, 0x17, 0x3f, 0x3b, 0xb6, 0xca, 0x2c, 0x33, 0x18, 0x7c, 0x45, 0xb8, 0x66, 0xbf, 0xda,
|
0xbf, 0xa1, 0x1f, 0x6c, 0x54, 0xd9, 0x03, 0xd4, 0xa0, 0xe1, 0x97, 0x9c, 0x09, 0x38, 0x61, 0x09,
|
||||||
0x79, 0x80, 0x9b, 0x3c, 0x12, 0x4f, 0x95, 0x8c, 0x23, 0xdd, 0x41, 0xfd, 0xea, 0xb0, 0xe9, 0x1d,
|
0x38, 0xdb, 0x26, 0x40, 0x72, 0xb7, 0x00, 0x8f, 0x58, 0x28, 0xb8, 0x96, 0xf9, 0xf7, 0xcb, 0xc2,
|
||||||
0x24, 0x9b, 0x5e, 0xf3, 0xf8, 0x74, 0x9c, 0x81, 0xac, 0xd8, 0x3b, 0x23, 0xdc, 0xe2, 0x91, 0x78,
|
0x6b, 0xbc, 0x5c, 0x70, 0x82, 0x65, 0xa8, 0x7d, 0x8a, 0xea, 0x02, 0x52, 0xf8, 0x6a, 0x36, 0x54,
|
||||||
0x0d, 0xca, 0xe6, 0xc8, 0x52, 0x36, 0xbd, 0xdb, 0xc9, 0xa6, 0xd7, 0x3a, 0x3e, 0x1d, 0xe7, 0x30,
|
0xff, 0x6f, 0xc3, 0x6e, 0x59, 0x78, 0xf5, 0xe0, 0x8a, 0x12, 0x2c, 0x80, 0xf6, 0x0b, 0xd4, 0x34,
|
||||||
0x2b, 0xdf, 0xb1, 0xfa, 0x0a, 0xb4, 0x8c, 0xd5, 0x14, 0x74, 0xa7, 0x5a, 0xe8, 0xb3, 0x1c, 0x64,
|
0x97, 0x9d, 0x08, 0x9a, 0x4a, 0xa6, 0x6f, 0x93, 0x4e, 0xcd, 0x64, 0xd1, 0x2a, 0x0b, 0xaf, 0xd9,
|
||||||
0xc5, 0xde, 0x23, 0xeb, 0xad, 0x5b, 0x39, 0xdf, 0xba, 0x95, 0x8b, 0xad, 0x5b, 0xf9, 0x94, 0xb8,
|
0x5f, 0xe9, 0x05, 0x6b, 0xd3, 0x7e, 0x77, 0x32, 0x75, 0x2b, 0x17, 0x53, 0xb7, 0x72, 0x39, 0x75,
|
||||||
0x68, 0x9d, 0xb8, 0xe8, 0x3c, 0x71, 0xd1, 0x45, 0xe2, 0xa2, 0x6f, 0x89, 0x8b, 0xbe, 0x7c, 0x77,
|
0x2b, 0xdf, 0x4a, 0xd7, 0x9a, 0x94, 0xae, 0x75, 0x51, 0xba, 0xd6, 0x65, 0xe9, 0x5a, 0xbf, 0x4b,
|
||||||
0x2b, 0x6f, 0x1a, 0x79, 0xe9, 0x5f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xa2, 0x06, 0xa3, 0xcb, 0x75,
|
0xd7, 0xfa, 0xfe, 0xc7, 0xad, 0x7c, 0xd8, 0x1a, 0xf7, 0xfe, 0x06, 0x00, 0x00, 0xff, 0xff, 0x41,
|
||||||
0x04, 0x00, 0x00,
|
0x5e, 0x94, 0x96, 0x5e, 0x04, 0x00, 0x00,
|
||||||
}
|
}
|
80
vendor/k8s.io/api/coordination/v1/generated.proto
generated
vendored
Normal file
80
vendor/k8s.io/api/coordination/v1/generated.proto
generated
vendored
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
/*
|
||||||
|
Copyright The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
// This file was autogenerated by go-to-protobuf. Do not edit it manually!
|
||||||
|
|
||||||
|
syntax = 'proto2';
|
||||||
|
|
||||||
|
package k8s.io.api.coordination.v1;
|
||||||
|
|
||||||
|
import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto";
|
||||||
|
import "k8s.io/apimachinery/pkg/runtime/generated.proto";
|
||||||
|
import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto";
|
||||||
|
|
||||||
|
// Package-wide variables from generator "generated".
|
||||||
|
option go_package = "v1";
|
||||||
|
|
||||||
|
// Lease defines a lease concept.
|
||||||
|
message Lease {
|
||||||
|
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
||||||
|
// +optional
|
||||||
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
||||||
|
|
||||||
|
// Specification of the Lease.
|
||||||
|
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
|
||||||
|
// +optional
|
||||||
|
optional LeaseSpec spec = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
// LeaseList is a list of Lease objects.
|
||||||
|
message LeaseList {
|
||||||
|
// Standard list metadata.
|
||||||
|
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
||||||
|
// +optional
|
||||||
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
|
||||||
|
|
||||||
|
// Items is a list of schema objects.
|
||||||
|
repeated Lease items = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
// LeaseSpec is a specification of a Lease.
|
||||||
|
message LeaseSpec {
|
||||||
|
// holderIdentity contains the identity of the holder of a current lease.
|
||||||
|
// +optional
|
||||||
|
optional string holderIdentity = 1;
|
||||||
|
|
||||||
|
// leaseDurationSeconds is a duration that candidates for a lease need
|
||||||
|
// to wait to force acquire it. This is measure against time of last
|
||||||
|
// observed RenewTime.
|
||||||
|
// +optional
|
||||||
|
optional int32 leaseDurationSeconds = 2;
|
||||||
|
|
||||||
|
// acquireTime is a time when the current lease was acquired.
|
||||||
|
// +optional
|
||||||
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.MicroTime acquireTime = 3;
|
||||||
|
|
||||||
|
// renewTime is a time when the current holder of a lease has last
|
||||||
|
// updated the lease.
|
||||||
|
// +optional
|
||||||
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.MicroTime renewTime = 4;
|
||||||
|
|
||||||
|
// leaseTransitions is the number of transitions of a lease between
|
||||||
|
// holders.
|
||||||
|
// +optional
|
||||||
|
optional int32 leaseTransitions = 5;
|
||||||
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
Copyright 2017 The Kubernetes Authors.
|
Copyright 2018 The Kubernetes Authors.
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
|
@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package v1alpha1
|
package v1
|
||||||
|
|
||||||
import (
|
import (
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
@ -22,10 +22,11 @@ import (
|
||||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
)
|
)
|
||||||
|
|
||||||
const GroupName = "admissionregistration.k8s.io"
|
// GroupName is the group name use in this package
|
||||||
|
const GroupName = "coordination.k8s.io"
|
||||||
|
|
||||||
// SchemeGroupVersion is group version used to register these objects
|
// SchemeGroupVersion is group version used to register these objects
|
||||||
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}
|
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"}
|
||||||
|
|
||||||
// Resource takes an unqualified resource and returns a Group qualified GroupResource
|
// Resource takes an unqualified resource and returns a Group qualified GroupResource
|
||||||
func Resource(resource string) schema.GroupResource {
|
func Resource(resource string) schema.GroupResource {
|
||||||
|
@ -40,12 +41,13 @@ var (
|
||||||
AddToScheme = localSchemeBuilder.AddToScheme
|
AddToScheme = localSchemeBuilder.AddToScheme
|
||||||
)
|
)
|
||||||
|
|
||||||
// Adds the list of known types to scheme.
|
// Adds the list of known types to api.Scheme.
|
||||||
func addKnownTypes(scheme *runtime.Scheme) error {
|
func addKnownTypes(scheme *runtime.Scheme) error {
|
||||||
scheme.AddKnownTypes(SchemeGroupVersion,
|
scheme.AddKnownTypes(SchemeGroupVersion,
|
||||||
&InitializerConfiguration{},
|
&Lease{},
|
||||||
&InitializerConfigurationList{},
|
&LeaseList{},
|
||||||
)
|
)
|
||||||
|
|
||||||
metav1.AddToGroupVersion(scheme, SchemeGroupVersion)
|
metav1.AddToGroupVersion(scheme, SchemeGroupVersion)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
74
vendor/k8s.io/api/coordination/v1/types.go
generated
vendored
Normal file
74
vendor/k8s.io/api/coordination/v1/types.go
generated
vendored
Normal file
|
@ -0,0 +1,74 @@
|
||||||
|
/*
|
||||||
|
Copyright 2018 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package v1
|
||||||
|
|
||||||
|
import (
|
||||||
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
)
|
||||||
|
|
||||||
|
// +genclient
|
||||||
|
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||||
|
|
||||||
|
// Lease defines a lease concept.
|
||||||
|
type Lease struct {
|
||||||
|
metav1.TypeMeta `json:",inline"`
|
||||||
|
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
||||||
|
// +optional
|
||||||
|
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||||
|
|
||||||
|
// Specification of the Lease.
|
||||||
|
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
|
||||||
|
// +optional
|
||||||
|
Spec LeaseSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// LeaseSpec is a specification of a Lease.
|
||||||
|
type LeaseSpec struct {
|
||||||
|
// holderIdentity contains the identity of the holder of a current lease.
|
||||||
|
// +optional
|
||||||
|
HolderIdentity *string `json:"holderIdentity,omitempty" protobuf:"bytes,1,opt,name=holderIdentity"`
|
||||||
|
// leaseDurationSeconds is a duration that candidates for a lease need
|
||||||
|
// to wait to force acquire it. This is measure against time of last
|
||||||
|
// observed RenewTime.
|
||||||
|
// +optional
|
||||||
|
LeaseDurationSeconds *int32 `json:"leaseDurationSeconds,omitempty" protobuf:"varint,2,opt,name=leaseDurationSeconds"`
|
||||||
|
// acquireTime is a time when the current lease was acquired.
|
||||||
|
// +optional
|
||||||
|
AcquireTime *metav1.MicroTime `json:"acquireTime,omitempty" protobuf:"bytes,3,opt,name=acquireTime"`
|
||||||
|
// renewTime is a time when the current holder of a lease has last
|
||||||
|
// updated the lease.
|
||||||
|
// +optional
|
||||||
|
RenewTime *metav1.MicroTime `json:"renewTime,omitempty" protobuf:"bytes,4,opt,name=renewTime"`
|
||||||
|
// leaseTransitions is the number of transitions of a lease between
|
||||||
|
// holders.
|
||||||
|
// +optional
|
||||||
|
LeaseTransitions *int32 `json:"leaseTransitions,omitempty" protobuf:"varint,5,opt,name=leaseTransitions"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||||
|
|
||||||
|
// LeaseList is a list of Lease objects.
|
||||||
|
type LeaseList struct {
|
||||||
|
metav1.TypeMeta `json:",inline"`
|
||||||
|
// Standard list metadata.
|
||||||
|
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
||||||
|
// +optional
|
||||||
|
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||||
|
|
||||||
|
// Items is a list of schema objects.
|
||||||
|
Items []Lease `json:"items" protobuf:"bytes,2,rep,name=items"`
|
||||||
|
}
|
63
vendor/k8s.io/api/coordination/v1/types_swagger_doc_generated.go
generated
vendored
Normal file
63
vendor/k8s.io/api/coordination/v1/types_swagger_doc_generated.go
generated
vendored
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
/*
|
||||||
|
Copyright The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package v1
|
||||||
|
|
||||||
|
// This file contains a collection of methods that can be used from go-restful to
|
||||||
|
// generate Swagger API documentation for its models. Please read this PR for more
|
||||||
|
// information on the implementation: https://github.com/emicklei/go-restful/pull/215
|
||||||
|
//
|
||||||
|
// TODOs are ignored from the parser (e.g. TODO(andronat):... || TODO:...) if and only if
|
||||||
|
// they are on one line! For multiple line or blocks that you want to ignore use ---.
|
||||||
|
// Any context after a --- is ignored.
|
||||||
|
//
|
||||||
|
// Those methods can be generated by using hack/update-generated-swagger-docs.sh
|
||||||
|
|
||||||
|
// AUTO-GENERATED FUNCTIONS START HERE. DO NOT EDIT.
|
||||||
|
var map_Lease = map[string]string{
|
||||||
|
"": "Lease defines a lease concept.",
|
||||||
|
"metadata": "More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
|
||||||
|
"spec": "Specification of the Lease. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status",
|
||||||
|
}
|
||||||
|
|
||||||
|
func (Lease) SwaggerDoc() map[string]string {
|
||||||
|
return map_Lease
|
||||||
|
}
|
||||||
|
|
||||||
|
var map_LeaseList = map[string]string{
|
||||||
|
"": "LeaseList is a list of Lease objects.",
|
||||||
|
"metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
|
||||||
|
"items": "Items is a list of schema objects.",
|
||||||
|
}
|
||||||
|
|
||||||
|
func (LeaseList) SwaggerDoc() map[string]string {
|
||||||
|
return map_LeaseList
|
||||||
|
}
|
||||||
|
|
||||||
|
var map_LeaseSpec = map[string]string{
|
||||||
|
"": "LeaseSpec is a specification of a Lease.",
|
||||||
|
"holderIdentity": "holderIdentity contains the identity of the holder of a current lease.",
|
||||||
|
"leaseDurationSeconds": "leaseDurationSeconds is a duration that candidates for a lease need to wait to force acquire it. This is measure against time of last observed RenewTime.",
|
||||||
|
"acquireTime": "acquireTime is a time when the current lease was acquired.",
|
||||||
|
"renewTime": "renewTime is a time when the current holder of a lease has last updated the lease.",
|
||||||
|
"leaseTransitions": "leaseTransitions is the number of transitions of a lease between holders.",
|
||||||
|
}
|
||||||
|
|
||||||
|
func (LeaseSpec) SwaggerDoc() map[string]string {
|
||||||
|
return map_LeaseSpec
|
||||||
|
}
|
||||||
|
|
||||||
|
// AUTO-GENERATED FUNCTIONS END HERE
|
124
vendor/k8s.io/api/coordination/v1/zz_generated.deepcopy.go
generated
vendored
Normal file
124
vendor/k8s.io/api/coordination/v1/zz_generated.deepcopy.go
generated
vendored
Normal file
|
@ -0,0 +1,124 @@
|
||||||
|
// +build !ignore_autogenerated
|
||||||
|
|
||||||
|
/*
|
||||||
|
Copyright The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Code generated by deepcopy-gen. DO NOT EDIT.
|
||||||
|
|
||||||
|
package v1
|
||||||
|
|
||||||
|
import (
|
||||||
|
runtime "k8s.io/apimachinery/pkg/runtime"
|
||||||
|
)
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *Lease) DeepCopyInto(out *Lease) {
|
||||||
|
*out = *in
|
||||||
|
out.TypeMeta = in.TypeMeta
|
||||||
|
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
|
||||||
|
in.Spec.DeepCopyInto(&out.Spec)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Lease.
|
||||||
|
func (in *Lease) DeepCopy() *Lease {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(Lease)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
||||||
|
func (in *Lease) DeepCopyObject() runtime.Object {
|
||||||
|
if c := in.DeepCopy(); c != nil {
|
||||||
|
return c
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *LeaseList) DeepCopyInto(out *LeaseList) {
|
||||||
|
*out = *in
|
||||||
|
out.TypeMeta = in.TypeMeta
|
||||||
|
out.ListMeta = in.ListMeta
|
||||||
|
if in.Items != nil {
|
||||||
|
in, out := &in.Items, &out.Items
|
||||||
|
*out = make([]Lease, len(*in))
|
||||||
|
for i := range *in {
|
||||||
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LeaseList.
|
||||||
|
func (in *LeaseList) DeepCopy() *LeaseList {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(LeaseList)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
||||||
|
func (in *LeaseList) DeepCopyObject() runtime.Object {
|
||||||
|
if c := in.DeepCopy(); c != nil {
|
||||||
|
return c
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *LeaseSpec) DeepCopyInto(out *LeaseSpec) {
|
||||||
|
*out = *in
|
||||||
|
if in.HolderIdentity != nil {
|
||||||
|
in, out := &in.HolderIdentity, &out.HolderIdentity
|
||||||
|
*out = new(string)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
if in.LeaseDurationSeconds != nil {
|
||||||
|
in, out := &in.LeaseDurationSeconds, &out.LeaseDurationSeconds
|
||||||
|
*out = new(int32)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
if in.AcquireTime != nil {
|
||||||
|
in, out := &in.AcquireTime, &out.AcquireTime
|
||||||
|
*out = (*in).DeepCopy()
|
||||||
|
}
|
||||||
|
if in.RenewTime != nil {
|
||||||
|
in, out := &in.RenewTime, &out.RenewTime
|
||||||
|
*out = (*in).DeepCopy()
|
||||||
|
}
|
||||||
|
if in.LeaseTransitions != nil {
|
||||||
|
in, out := &in.LeaseTransitions, &out.LeaseTransitions
|
||||||
|
*out = new(int32)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LeaseSpec.
|
||||||
|
func (in *LeaseSpec) DeepCopy() *LeaseSpec {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(LeaseSpec)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
1
vendor/k8s.io/api/coordination/v1beta1/doc.go
generated
vendored
1
vendor/k8s.io/api/coordination/v1beta1/doc.go
generated
vendored
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// +k8s:deepcopy-gen=package
|
// +k8s:deepcopy-gen=package
|
||||||
|
// +k8s:protobuf-gen=package
|
||||||
// +k8s:openapi-gen=true
|
// +k8s:openapi-gen=true
|
||||||
|
|
||||||
// +groupName=coordination.k8s.io
|
// +groupName=coordination.k8s.io
|
||||||
|
|
6
vendor/k8s.io/api/core/v1/annotation_key_constants.go
generated
vendored
6
vendor/k8s.io/api/core/v1/annotation_key_constants.go
generated
vendored
|
@ -97,4 +97,10 @@ const (
|
||||||
// This annotation will be used to compute the in-cluster network programming latency SLI, see
|
// This annotation will be used to compute the in-cluster network programming latency SLI, see
|
||||||
// https://github.com/kubernetes/community/blob/master/sig-scalability/slos/network_programming_latency.md
|
// https://github.com/kubernetes/community/blob/master/sig-scalability/slos/network_programming_latency.md
|
||||||
EndpointsLastChangeTriggerTime = "endpoints.kubernetes.io/last-change-trigger-time"
|
EndpointsLastChangeTriggerTime = "endpoints.kubernetes.io/last-change-trigger-time"
|
||||||
|
|
||||||
|
// MigratedPluginsAnnotationKey is the annotation key, set for CSINode objects, that is a comma-separated
|
||||||
|
// list of in-tree plugins that will be serviced by the CSI backend on the Node represented by CSINode.
|
||||||
|
// This annotation is used by the Attach Detach Controller to determine whether to use the in-tree or
|
||||||
|
// CSI Backend for a volume plugin on a specific node.
|
||||||
|
MigratedPluginsAnnotationKey = "storage.alpha.kubernetes.io/migrated-plugins"
|
||||||
)
|
)
|
||||||
|
|
1
vendor/k8s.io/api/core/v1/doc.go
generated
vendored
1
vendor/k8s.io/api/core/v1/doc.go
generated
vendored
|
@ -16,6 +16,7 @@ limitations under the License.
|
||||||
|
|
||||||
// +k8s:openapi-gen=true
|
// +k8s:openapi-gen=true
|
||||||
// +k8s:deepcopy-gen=package
|
// +k8s:deepcopy-gen=package
|
||||||
|
// +k8s:protobuf-gen=package
|
||||||
|
|
||||||
// Package v1 is the v1 version of the core API.
|
// Package v1 is the v1 version of the core API.
|
||||||
package v1 // import "k8s.io/api/core/v1"
|
package v1 // import "k8s.io/api/core/v1"
|
||||||
|
|
3938
vendor/k8s.io/api/core/v1/generated.pb.go
generated
vendored
3938
vendor/k8s.io/api/core/v1/generated.pb.go
generated
vendored
File diff suppressed because it is too large
Load diff
74
vendor/k8s.io/api/core/v1/generated.proto
generated
vendored
74
vendor/k8s.io/api/core/v1/generated.proto
generated
vendored
|
@ -220,6 +220,37 @@ message CSIPersistentVolumeSource {
|
||||||
optional SecretReference nodePublishSecretRef = 8;
|
optional SecretReference nodePublishSecretRef = 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Represents a source location of a volume to mount, managed by an external CSI driver
|
||||||
|
message CSIVolumeSource {
|
||||||
|
// Driver is the name of the CSI driver that handles this volume.
|
||||||
|
// Consult with your admin for the correct name as registered in the cluster.
|
||||||
|
optional string driver = 1;
|
||||||
|
|
||||||
|
// Specifies a read-only configuration for the volume.
|
||||||
|
// Defaults to false (read/write).
|
||||||
|
// +optional
|
||||||
|
optional bool readOnly = 2;
|
||||||
|
|
||||||
|
// Filesystem type to mount. Ex. "ext4", "xfs", "ntfs".
|
||||||
|
// If not provided, the empty value is passed to the associated CSI driver
|
||||||
|
// which will determine the default filesystem to apply.
|
||||||
|
// +optional
|
||||||
|
optional string fsType = 3;
|
||||||
|
|
||||||
|
// VolumeAttributes stores driver-specific properties that are passed to the CSI
|
||||||
|
// driver. Consult your driver's documentation for supported values.
|
||||||
|
// +optional
|
||||||
|
map<string, string> volumeAttributes = 4;
|
||||||
|
|
||||||
|
// NodePublishSecretRef is a reference to the secret object containing
|
||||||
|
// sensitive information to pass to the CSI driver to complete the CSI
|
||||||
|
// NodePublishVolume and NodeUnpublishVolume calls.
|
||||||
|
// This field is optional, and may be empty if no secret is required. If the
|
||||||
|
// secret object contains more than one secret, all secret references are passed.
|
||||||
|
// +optional
|
||||||
|
optional LocalObjectReference nodePublishSecretRef = 5;
|
||||||
|
}
|
||||||
|
|
||||||
// Adds and removes POSIX capabilities from running containers.
|
// Adds and removes POSIX capabilities from running containers.
|
||||||
message Capabilities {
|
message Capabilities {
|
||||||
// Added capabilities
|
// Added capabilities
|
||||||
|
@ -1636,11 +1667,15 @@ message Lifecycle {
|
||||||
// +optional
|
// +optional
|
||||||
optional Handler postStart = 1;
|
optional Handler postStart = 1;
|
||||||
|
|
||||||
// PreStop is called immediately before a container is terminated.
|
// PreStop is called immediately before a container is terminated due to an
|
||||||
// The container is terminated after the handler completes.
|
// API request or management event such as liveness probe failure,
|
||||||
// The reason for termination is passed to the handler.
|
// preemption, resource contention, etc. The handler is not called if the
|
||||||
// Regardless of the outcome of the handler, the container is eventually terminated.
|
// container crashes or exits. The reason for termination is passed to the
|
||||||
// Other management of the container blocks until the hook completes.
|
// handler. The Pod's termination grace period countdown begins before the
|
||||||
|
// PreStop hooked is executed. Regardless of the outcome of the handler, the
|
||||||
|
// container will eventually terminate within the Pod's termination grace
|
||||||
|
// period. Other management of the container blocks until the hook completes
|
||||||
|
// or until the termination grace period is reached.
|
||||||
// More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
|
// More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
|
||||||
// +optional
|
// +optional
|
||||||
optional Handler preStop = 2;
|
optional Handler preStop = 2;
|
||||||
|
@ -2488,7 +2523,7 @@ message PersistentVolumeSource {
|
||||||
// +optional
|
// +optional
|
||||||
optional StorageOSPersistentVolumeSource storageos = 21;
|
optional StorageOSPersistentVolumeSource storageos = 21;
|
||||||
|
|
||||||
// CSI represents storage that handled by an external CSI driver (Beta feature).
|
// CSI represents storage that is handled by an external CSI driver (Beta feature).
|
||||||
// +optional
|
// +optional
|
||||||
optional CSIPersistentVolumeSource csi = 22;
|
optional CSIPersistentVolumeSource csi = 22;
|
||||||
}
|
}
|
||||||
|
@ -3141,7 +3176,7 @@ message PodSpec {
|
||||||
// If specified, all readiness gates will be evaluated for pod readiness.
|
// If specified, all readiness gates will be evaluated for pod readiness.
|
||||||
// A pod is ready when all its containers are ready AND
|
// A pod is ready when all its containers are ready AND
|
||||||
// all conditions specified in the readiness gates have status equal to "True"
|
// all conditions specified in the readiness gates have status equal to "True"
|
||||||
// More info: https://github.com/kubernetes/community/blob/master/keps/sig-network/0007-pod-ready%2B%2B.md
|
// More info: https://git.k8s.io/enhancements/keps/sig-network/0007-pod-ready%2B%2B.md
|
||||||
// +optional
|
// +optional
|
||||||
repeated PodReadinessGate readinessGates = 28;
|
repeated PodReadinessGate readinessGates = 28;
|
||||||
|
|
||||||
|
@ -3149,13 +3184,14 @@ message PodSpec {
|
||||||
// to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run.
|
// to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run.
|
||||||
// If unset or empty, the "legacy" RuntimeClass will be used, which is an implicit class with an
|
// If unset or empty, the "legacy" RuntimeClass will be used, which is an implicit class with an
|
||||||
// empty definition that uses the default runtime handler.
|
// empty definition that uses the default runtime handler.
|
||||||
// More info: https://github.com/kubernetes/community/blob/master/keps/sig-node/0014-runtime-class.md
|
// More info: https://git.k8s.io/enhancements/keps/sig-node/runtime-class.md
|
||||||
// This is an alpha feature and may change in the future.
|
// This is an alpha feature and may change in the future.
|
||||||
// +optional
|
// +optional
|
||||||
optional string runtimeClassName = 29;
|
optional string runtimeClassName = 29;
|
||||||
|
|
||||||
// EnableServiceLinks indicates whether information about services should be injected into pod's
|
// EnableServiceLinks indicates whether information about services should be injected into pod's
|
||||||
// environment variables, matching the syntax of Docker links.
|
// environment variables, matching the syntax of Docker links.
|
||||||
|
// Optional: Defaults to true.
|
||||||
// +optional
|
// +optional
|
||||||
optional bool enableServiceLinks = 30;
|
optional bool enableServiceLinks = 30;
|
||||||
}
|
}
|
||||||
|
@ -3421,6 +3457,11 @@ message QuobyteVolumeSource {
|
||||||
// Default is no group
|
// Default is no group
|
||||||
// +optional
|
// +optional
|
||||||
optional string group = 5;
|
optional string group = 5;
|
||||||
|
|
||||||
|
// Tenant owning the given Quobyte volume in the Backend
|
||||||
|
// Used with dynamically provisioned Quobyte volumes, value is set by the plugin
|
||||||
|
// +optional
|
||||||
|
optional string tenant = 6;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Represents a Rados Block Device mount that lasts the lifetime of a pod.
|
// Represents a Rados Block Device mount that lasts the lifetime of a pod.
|
||||||
|
@ -4247,6 +4288,9 @@ message ServiceSpec {
|
||||||
// More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
|
// More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
|
||||||
// +patchMergeKey=port
|
// +patchMergeKey=port
|
||||||
// +patchStrategy=merge
|
// +patchStrategy=merge
|
||||||
|
// +listType=map
|
||||||
|
// +listMapKey=port
|
||||||
|
// +listMapKey=protocol
|
||||||
repeated ServicePort ports = 1;
|
repeated ServicePort ports = 1;
|
||||||
|
|
||||||
// Route service traffic to pods with label keys and values matching this
|
// Route service traffic to pods with label keys and values matching this
|
||||||
|
@ -4283,7 +4327,7 @@ message ServiceSpec {
|
||||||
// "LoadBalancer" builds on NodePort and creates an
|
// "LoadBalancer" builds on NodePort and creates an
|
||||||
// external load-balancer (if supported in the current cloud) which routes
|
// external load-balancer (if supported in the current cloud) which routes
|
||||||
// to the clusterIP.
|
// to the clusterIP.
|
||||||
// More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services---service-types
|
// More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
|
||||||
// +optional
|
// +optional
|
||||||
optional string type = 4;
|
optional string type = 4;
|
||||||
|
|
||||||
|
@ -4595,6 +4639,14 @@ message VolumeMount {
|
||||||
// This field is beta in 1.10.
|
// This field is beta in 1.10.
|
||||||
// +optional
|
// +optional
|
||||||
optional string mountPropagation = 5;
|
optional string mountPropagation = 5;
|
||||||
|
|
||||||
|
// Expanded path within the volume from which the container's volume should be mounted.
|
||||||
|
// Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.
|
||||||
|
// Defaults to "" (volume's root).
|
||||||
|
// SubPathExpr and SubPath are mutually exclusive.
|
||||||
|
// This field is alpha in 1.14.
|
||||||
|
// +optional
|
||||||
|
optional string subPathExpr = 6;
|
||||||
}
|
}
|
||||||
|
|
||||||
// VolumeNodeAffinity defines constraints that limit what nodes this volume can be accessed from.
|
// VolumeNodeAffinity defines constraints that limit what nodes this volume can be accessed from.
|
||||||
|
@ -4755,6 +4807,10 @@ message VolumeSource {
|
||||||
// StorageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.
|
// StorageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.
|
||||||
// +optional
|
// +optional
|
||||||
optional StorageOSVolumeSource storageos = 27;
|
optional StorageOSVolumeSource storageos = 27;
|
||||||
|
|
||||||
|
// CSI (Container Storage Interface) represents storage that is handled by an external CSI driver (Alpha feature).
|
||||||
|
// +optional
|
||||||
|
optional CSIVolumeSource csi = 28;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Represents a vSphere volume resource.
|
// Represents a vSphere volume resource.
|
||||||
|
|
76
vendor/k8s.io/api/core/v1/types.go
generated
vendored
76
vendor/k8s.io/api/core/v1/types.go
generated
vendored
|
@ -151,6 +151,9 @@ type VolumeSource struct {
|
||||||
// StorageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.
|
// StorageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.
|
||||||
// +optional
|
// +optional
|
||||||
StorageOS *StorageOSVolumeSource `json:"storageos,omitempty" protobuf:"bytes,27,opt,name=storageos"`
|
StorageOS *StorageOSVolumeSource `json:"storageos,omitempty" protobuf:"bytes,27,opt,name=storageos"`
|
||||||
|
// CSI (Container Storage Interface) represents storage that is handled by an external CSI driver (Alpha feature).
|
||||||
|
// +optional
|
||||||
|
CSI *CSIVolumeSource `json:"csi,omitempty" protobuf:"bytes,28,opt,name=csi"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// PersistentVolumeClaimVolumeSource references the user's PVC in the same namespace.
|
// PersistentVolumeClaimVolumeSource references the user's PVC in the same namespace.
|
||||||
|
@ -248,7 +251,7 @@ type PersistentVolumeSource struct {
|
||||||
// More info: https://releases.k8s.io/HEAD/examples/volumes/storageos/README.md
|
// More info: https://releases.k8s.io/HEAD/examples/volumes/storageos/README.md
|
||||||
// +optional
|
// +optional
|
||||||
StorageOS *StorageOSPersistentVolumeSource `json:"storageos,omitempty" protobuf:"bytes,21,opt,name=storageos"`
|
StorageOS *StorageOSPersistentVolumeSource `json:"storageos,omitempty" protobuf:"bytes,21,opt,name=storageos"`
|
||||||
// CSI represents storage that handled by an external CSI driver (Beta feature).
|
// CSI represents storage that is handled by an external CSI driver (Beta feature).
|
||||||
// +optional
|
// +optional
|
||||||
CSI *CSIPersistentVolumeSource `json:"csi,omitempty" protobuf:"bytes,22,opt,name=csi"`
|
CSI *CSIPersistentVolumeSource `json:"csi,omitempty" protobuf:"bytes,22,opt,name=csi"`
|
||||||
}
|
}
|
||||||
|
@ -467,7 +470,7 @@ type PersistentVolumeClaimSpec struct {
|
||||||
// In the future, we plan to support more data source types and the behavior
|
// In the future, we plan to support more data source types and the behavior
|
||||||
// of the provisioner may change.
|
// of the provisioner may change.
|
||||||
// +optional
|
// +optional
|
||||||
DataSource *TypedLocalObjectReference `json:"dataSource" protobuf:"bytes,7,opt,name=dataSource"`
|
DataSource *TypedLocalObjectReference `json:"dataSource,omitempty" protobuf:"bytes,7,opt,name=dataSource"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// PersistentVolumeClaimConditionType is a valid value of PersistentVolumeClaimCondition.Type
|
// PersistentVolumeClaimConditionType is a valid value of PersistentVolumeClaimCondition.Type
|
||||||
|
@ -523,7 +526,7 @@ type PersistentVolumeClaimStatus struct {
|
||||||
type PersistentVolumeAccessMode string
|
type PersistentVolumeAccessMode string
|
||||||
|
|
||||||
const (
|
const (
|
||||||
// can be mounted read/write mode to exactly 1 host
|
// can be mounted in read/write mode to exactly 1 host
|
||||||
ReadWriteOnce PersistentVolumeAccessMode = "ReadWriteOnce"
|
ReadWriteOnce PersistentVolumeAccessMode = "ReadWriteOnce"
|
||||||
// can be mounted in read-only mode to many hosts
|
// can be mounted in read-only mode to many hosts
|
||||||
ReadOnlyMany PersistentVolumeAccessMode = "ReadOnlyMany"
|
ReadOnlyMany PersistentVolumeAccessMode = "ReadOnlyMany"
|
||||||
|
@ -955,6 +958,11 @@ type QuobyteVolumeSource struct {
|
||||||
// Default is no group
|
// Default is no group
|
||||||
// +optional
|
// +optional
|
||||||
Group string `json:"group,omitempty" protobuf:"bytes,5,opt,name=group"`
|
Group string `json:"group,omitempty" protobuf:"bytes,5,opt,name=group"`
|
||||||
|
|
||||||
|
// Tenant owning the given Quobyte volume in the Backend
|
||||||
|
// Used with dynamically provisioned Quobyte volumes, value is set by the plugin
|
||||||
|
// +optional
|
||||||
|
Tenant string `json:"tenant,omitempty" protobuf:"bytes,6,opt,name=tenant"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// FlexPersistentVolumeSource represents a generic persistent volume resource that is
|
// FlexPersistentVolumeSource represents a generic persistent volume resource that is
|
||||||
|
@ -1686,6 +1694,37 @@ type CSIPersistentVolumeSource struct {
|
||||||
NodePublishSecretRef *SecretReference `json:"nodePublishSecretRef,omitempty" protobuf:"bytes,8,opt,name=nodePublishSecretRef"`
|
NodePublishSecretRef *SecretReference `json:"nodePublishSecretRef,omitempty" protobuf:"bytes,8,opt,name=nodePublishSecretRef"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Represents a source location of a volume to mount, managed by an external CSI driver
|
||||||
|
type CSIVolumeSource struct {
|
||||||
|
// Driver is the name of the CSI driver that handles this volume.
|
||||||
|
// Consult with your admin for the correct name as registered in the cluster.
|
||||||
|
Driver string `json:"driver" protobuf:"bytes,1,opt,name=driver"`
|
||||||
|
|
||||||
|
// Specifies a read-only configuration for the volume.
|
||||||
|
// Defaults to false (read/write).
|
||||||
|
// +optional
|
||||||
|
ReadOnly *bool `json:"readOnly,omitempty" protobuf:"varint,2,opt,name=readOnly"`
|
||||||
|
|
||||||
|
// Filesystem type to mount. Ex. "ext4", "xfs", "ntfs".
|
||||||
|
// If not provided, the empty value is passed to the associated CSI driver
|
||||||
|
// which will determine the default filesystem to apply.
|
||||||
|
// +optional
|
||||||
|
FSType *string `json:"fsType,omitempty" protobuf:"bytes,3,opt,name=fsType"`
|
||||||
|
|
||||||
|
// VolumeAttributes stores driver-specific properties that are passed to the CSI
|
||||||
|
// driver. Consult your driver's documentation for supported values.
|
||||||
|
// +optional
|
||||||
|
VolumeAttributes map[string]string `json:"volumeAttributes,omitempty" protobuf:"bytes,4,rep,name=volumeAttributes"`
|
||||||
|
|
||||||
|
// NodePublishSecretRef is a reference to the secret object containing
|
||||||
|
// sensitive information to pass to the CSI driver to complete the CSI
|
||||||
|
// NodePublishVolume and NodeUnpublishVolume calls.
|
||||||
|
// This field is optional, and may be empty if no secret is required. If the
|
||||||
|
// secret object contains more than one secret, all secret references are passed.
|
||||||
|
// +optional
|
||||||
|
NodePublishSecretRef *LocalObjectReference `json:"nodePublishSecretRef,omitempty" protobuf:"bytes,5,opt,name=nodePublishSecretRef"`
|
||||||
|
}
|
||||||
|
|
||||||
// ContainerPort represents a network port in a single container.
|
// ContainerPort represents a network port in a single container.
|
||||||
type ContainerPort struct {
|
type ContainerPort struct {
|
||||||
// If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
|
// If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
|
||||||
|
@ -1732,6 +1771,13 @@ type VolumeMount struct {
|
||||||
// This field is beta in 1.10.
|
// This field is beta in 1.10.
|
||||||
// +optional
|
// +optional
|
||||||
MountPropagation *MountPropagationMode `json:"mountPropagation,omitempty" protobuf:"bytes,5,opt,name=mountPropagation,casttype=MountPropagationMode"`
|
MountPropagation *MountPropagationMode `json:"mountPropagation,omitempty" protobuf:"bytes,5,opt,name=mountPropagation,casttype=MountPropagationMode"`
|
||||||
|
// Expanded path within the volume from which the container's volume should be mounted.
|
||||||
|
// Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.
|
||||||
|
// Defaults to "" (volume's root).
|
||||||
|
// SubPathExpr and SubPath are mutually exclusive.
|
||||||
|
// This field is alpha in 1.14.
|
||||||
|
// +optional
|
||||||
|
SubPathExpr string `json:"subPathExpr,omitempty" protobuf:"bytes,6,opt,name=subPathExpr"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// MountPropagationMode describes mount propagation.
|
// MountPropagationMode describes mount propagation.
|
||||||
|
@ -2216,11 +2262,15 @@ type Lifecycle struct {
|
||||||
// More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
|
// More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
|
||||||
// +optional
|
// +optional
|
||||||
PostStart *Handler `json:"postStart,omitempty" protobuf:"bytes,1,opt,name=postStart"`
|
PostStart *Handler `json:"postStart,omitempty" protobuf:"bytes,1,opt,name=postStart"`
|
||||||
// PreStop is called immediately before a container is terminated.
|
// PreStop is called immediately before a container is terminated due to an
|
||||||
// The container is terminated after the handler completes.
|
// API request or management event such as liveness probe failure,
|
||||||
// The reason for termination is passed to the handler.
|
// preemption, resource contention, etc. The handler is not called if the
|
||||||
// Regardless of the outcome of the handler, the container is eventually terminated.
|
// container crashes or exits. The reason for termination is passed to the
|
||||||
// Other management of the container blocks until the hook completes.
|
// handler. The Pod's termination grace period countdown begins before the
|
||||||
|
// PreStop hooked is executed. Regardless of the outcome of the handler, the
|
||||||
|
// container will eventually terminate within the Pod's termination grace
|
||||||
|
// period. Other management of the container blocks until the hook completes
|
||||||
|
// or until the termination grace period is reached.
|
||||||
// More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
|
// More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
|
||||||
// +optional
|
// +optional
|
||||||
PreStop *Handler `json:"preStop,omitempty" protobuf:"bytes,2,opt,name=preStop"`
|
PreStop *Handler `json:"preStop,omitempty" protobuf:"bytes,2,opt,name=preStop"`
|
||||||
|
@ -2907,19 +2957,20 @@ type PodSpec struct {
|
||||||
// If specified, all readiness gates will be evaluated for pod readiness.
|
// If specified, all readiness gates will be evaluated for pod readiness.
|
||||||
// A pod is ready when all its containers are ready AND
|
// A pod is ready when all its containers are ready AND
|
||||||
// all conditions specified in the readiness gates have status equal to "True"
|
// all conditions specified in the readiness gates have status equal to "True"
|
||||||
// More info: https://github.com/kubernetes/community/blob/master/keps/sig-network/0007-pod-ready%2B%2B.md
|
// More info: https://git.k8s.io/enhancements/keps/sig-network/0007-pod-ready%2B%2B.md
|
||||||
// +optional
|
// +optional
|
||||||
ReadinessGates []PodReadinessGate `json:"readinessGates,omitempty" protobuf:"bytes,28,opt,name=readinessGates"`
|
ReadinessGates []PodReadinessGate `json:"readinessGates,omitempty" protobuf:"bytes,28,opt,name=readinessGates"`
|
||||||
// RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used
|
// RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used
|
||||||
// to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run.
|
// to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run.
|
||||||
// If unset or empty, the "legacy" RuntimeClass will be used, which is an implicit class with an
|
// If unset or empty, the "legacy" RuntimeClass will be used, which is an implicit class with an
|
||||||
// empty definition that uses the default runtime handler.
|
// empty definition that uses the default runtime handler.
|
||||||
// More info: https://github.com/kubernetes/community/blob/master/keps/sig-node/0014-runtime-class.md
|
// More info: https://git.k8s.io/enhancements/keps/sig-node/runtime-class.md
|
||||||
// This is an alpha feature and may change in the future.
|
// This is an alpha feature and may change in the future.
|
||||||
// +optional
|
// +optional
|
||||||
RuntimeClassName *string `json:"runtimeClassName,omitempty" protobuf:"bytes,29,opt,name=runtimeClassName"`
|
RuntimeClassName *string `json:"runtimeClassName,omitempty" protobuf:"bytes,29,opt,name=runtimeClassName"`
|
||||||
// EnableServiceLinks indicates whether information about services should be injected into pod's
|
// EnableServiceLinks indicates whether information about services should be injected into pod's
|
||||||
// environment variables, matching the syntax of Docker links.
|
// environment variables, matching the syntax of Docker links.
|
||||||
|
// Optional: Defaults to true.
|
||||||
// +optional
|
// +optional
|
||||||
EnableServiceLinks *bool `json:"enableServiceLinks,omitempty" protobuf:"varint,30,opt,name=enableServiceLinks"`
|
EnableServiceLinks *bool `json:"enableServiceLinks,omitempty" protobuf:"varint,30,opt,name=enableServiceLinks"`
|
||||||
}
|
}
|
||||||
|
@ -3450,6 +3501,9 @@ type ServiceSpec struct {
|
||||||
// More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
|
// More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
|
||||||
// +patchMergeKey=port
|
// +patchMergeKey=port
|
||||||
// +patchStrategy=merge
|
// +patchStrategy=merge
|
||||||
|
// +listType=map
|
||||||
|
// +listMapKey=port
|
||||||
|
// +listMapKey=protocol
|
||||||
Ports []ServicePort `json:"ports,omitempty" patchStrategy:"merge" patchMergeKey:"port" protobuf:"bytes,1,rep,name=ports"`
|
Ports []ServicePort `json:"ports,omitempty" patchStrategy:"merge" patchMergeKey:"port" protobuf:"bytes,1,rep,name=ports"`
|
||||||
|
|
||||||
// Route service traffic to pods with label keys and values matching this
|
// Route service traffic to pods with label keys and values matching this
|
||||||
|
@ -3486,7 +3540,7 @@ type ServiceSpec struct {
|
||||||
// "LoadBalancer" builds on NodePort and creates an
|
// "LoadBalancer" builds on NodePort and creates an
|
||||||
// external load-balancer (if supported in the current cloud) which routes
|
// external load-balancer (if supported in the current cloud) which routes
|
||||||
// to the clusterIP.
|
// to the clusterIP.
|
||||||
// More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services---service-types
|
// More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
|
||||||
// +optional
|
// +optional
|
||||||
Type ServiceType `json:"type,omitempty" protobuf:"bytes,4,opt,name=type,casttype=ServiceType"`
|
Type ServiceType `json:"type,omitempty" protobuf:"bytes,4,opt,name=type,casttype=ServiceType"`
|
||||||
|
|
||||||
|
|
28
vendor/k8s.io/api/core/v1/types_swagger_doc_generated.go
generated
vendored
28
vendor/k8s.io/api/core/v1/types_swagger_doc_generated.go
generated
vendored
|
@ -132,6 +132,19 @@ func (CSIPersistentVolumeSource) SwaggerDoc() map[string]string {
|
||||||
return map_CSIPersistentVolumeSource
|
return map_CSIPersistentVolumeSource
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var map_CSIVolumeSource = map[string]string{
|
||||||
|
"": "Represents a source location of a volume to mount, managed by an external CSI driver",
|
||||||
|
"driver": "Driver is the name of the CSI driver that handles this volume. Consult with your admin for the correct name as registered in the cluster.",
|
||||||
|
"readOnly": "Specifies a read-only configuration for the volume. Defaults to false (read/write).",
|
||||||
|
"fsType": "Filesystem type to mount. Ex. \"ext4\", \"xfs\", \"ntfs\". If not provided, the empty value is passed to the associated CSI driver which will determine the default filesystem to apply.",
|
||||||
|
"volumeAttributes": "VolumeAttributes stores driver-specific properties that are passed to the CSI driver. Consult your driver's documentation for supported values.",
|
||||||
|
"nodePublishSecretRef": "NodePublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodePublishVolume and NodeUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secret references are passed.",
|
||||||
|
}
|
||||||
|
|
||||||
|
func (CSIVolumeSource) SwaggerDoc() map[string]string {
|
||||||
|
return map_CSIVolumeSource
|
||||||
|
}
|
||||||
|
|
||||||
var map_Capabilities = map[string]string{
|
var map_Capabilities = map[string]string{
|
||||||
"": "Adds and removes POSIX capabilities from running containers.",
|
"": "Adds and removes POSIX capabilities from running containers.",
|
||||||
"add": "Added capabilities",
|
"add": "Added capabilities",
|
||||||
|
@ -824,7 +837,7 @@ func (KeyToPath) SwaggerDoc() map[string]string {
|
||||||
var map_Lifecycle = map[string]string{
|
var map_Lifecycle = map[string]string{
|
||||||
"": "Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted.",
|
"": "Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted.",
|
||||||
"postStart": "PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks",
|
"postStart": "PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks",
|
||||||
"preStop": "PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks",
|
"preStop": "PreStop is called immediately before a container is terminated due to an API request or management event such as liveness probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The reason for termination is passed to the handler. The Pod's termination grace period countdown begins before the PreStop hooked is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period. Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks",
|
||||||
}
|
}
|
||||||
|
|
||||||
func (Lifecycle) SwaggerDoc() map[string]string {
|
func (Lifecycle) SwaggerDoc() map[string]string {
|
||||||
|
@ -1285,7 +1298,7 @@ var map_PersistentVolumeSource = map[string]string{
|
||||||
"scaleIO": "ScaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.",
|
"scaleIO": "ScaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.",
|
||||||
"local": "Local represents directly-attached storage with node affinity",
|
"local": "Local represents directly-attached storage with node affinity",
|
||||||
"storageos": "StorageOS represents a StorageOS volume that is attached to the kubelet's host machine and mounted into the pod More info: https://releases.k8s.io/HEAD/examples/volumes/storageos/README.md",
|
"storageos": "StorageOS represents a StorageOS volume that is attached to the kubelet's host machine and mounted into the pod More info: https://releases.k8s.io/HEAD/examples/volumes/storageos/README.md",
|
||||||
"csi": "CSI represents storage that handled by an external CSI driver (Beta feature).",
|
"csi": "CSI represents storage that is handled by an external CSI driver (Beta feature).",
|
||||||
}
|
}
|
||||||
|
|
||||||
func (PersistentVolumeSource) SwaggerDoc() map[string]string {
|
func (PersistentVolumeSource) SwaggerDoc() map[string]string {
|
||||||
|
@ -1538,9 +1551,9 @@ var map_PodSpec = map[string]string{
|
||||||
"priorityClassName": "If specified, indicates the pod's priority. \"system-node-critical\" and \"system-cluster-critical\" are two special keywords which indicate the highest priorities with the former being the highest priority. Any other name must be defined by creating a PriorityClass object with that name. If not specified, the pod priority will be default or zero if there is no default.",
|
"priorityClassName": "If specified, indicates the pod's priority. \"system-node-critical\" and \"system-cluster-critical\" are two special keywords which indicate the highest priorities with the former being the highest priority. Any other name must be defined by creating a PriorityClass object with that name. If not specified, the pod priority will be default or zero if there is no default.",
|
||||||
"priority": "The priority value. Various system components use this field to find the priority of the pod. When Priority Admission Controller is enabled, it prevents users from setting this field. The admission controller populates this field from PriorityClassName. The higher the value, the higher the priority.",
|
"priority": "The priority value. Various system components use this field to find the priority of the pod. When Priority Admission Controller is enabled, it prevents users from setting this field. The admission controller populates this field from PriorityClassName. The higher the value, the higher the priority.",
|
||||||
"dnsConfig": "Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy.",
|
"dnsConfig": "Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy.",
|
||||||
"readinessGates": "If specified, all readiness gates will be evaluated for pod readiness. A pod is ready when all its containers are ready AND all conditions specified in the readiness gates have status equal to \"True\" More info: https://github.com/kubernetes/community/blob/master/keps/sig-network/0007-pod-ready%2B%2B.md",
|
"readinessGates": "If specified, all readiness gates will be evaluated for pod readiness. A pod is ready when all its containers are ready AND all conditions specified in the readiness gates have status equal to \"True\" More info: https://git.k8s.io/enhancements/keps/sig-network/0007-pod-ready%2B%2B.md",
|
||||||
"runtimeClassName": "RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run. If unset or empty, the \"legacy\" RuntimeClass will be used, which is an implicit class with an empty definition that uses the default runtime handler. More info: https://github.com/kubernetes/community/blob/master/keps/sig-node/0014-runtime-class.md This is an alpha feature and may change in the future.",
|
"runtimeClassName": "RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run. If unset or empty, the \"legacy\" RuntimeClass will be used, which is an implicit class with an empty definition that uses the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/runtime-class.md This is an alpha feature and may change in the future.",
|
||||||
"enableServiceLinks": "EnableServiceLinks indicates whether information about services should be injected into pod's environment variables, matching the syntax of Docker links.",
|
"enableServiceLinks": "EnableServiceLinks indicates whether information about services should be injected into pod's environment variables, matching the syntax of Docker links. Optional: Defaults to true.",
|
||||||
}
|
}
|
||||||
|
|
||||||
func (PodSpec) SwaggerDoc() map[string]string {
|
func (PodSpec) SwaggerDoc() map[string]string {
|
||||||
|
@ -1678,6 +1691,7 @@ var map_QuobyteVolumeSource = map[string]string{
|
||||||
"readOnly": "ReadOnly here will force the Quobyte volume to be mounted with read-only permissions. Defaults to false.",
|
"readOnly": "ReadOnly here will force the Quobyte volume to be mounted with read-only permissions. Defaults to false.",
|
||||||
"user": "User to map volume access to Defaults to serivceaccount user",
|
"user": "User to map volume access to Defaults to serivceaccount user",
|
||||||
"group": "Group to map volume access to Default is no group",
|
"group": "Group to map volume access to Default is no group",
|
||||||
|
"tenant": "Tenant owning the given Quobyte volume in the Backend Used with dynamically provisioned Quobyte volumes, value is set by the plugin",
|
||||||
}
|
}
|
||||||
|
|
||||||
func (QuobyteVolumeSource) SwaggerDoc() map[string]string {
|
func (QuobyteVolumeSource) SwaggerDoc() map[string]string {
|
||||||
|
@ -2098,7 +2112,7 @@ var map_ServiceSpec = map[string]string{
|
||||||
"ports": "The list of ports that are exposed by this service. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies",
|
"ports": "The list of ports that are exposed by this service. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies",
|
||||||
"selector": "Route service traffic to pods with label keys and values matching this selector. If empty or not present, the service is assumed to have an external process managing its endpoints, which Kubernetes will not modify. Only applies to types ClusterIP, NodePort, and LoadBalancer. Ignored if type is ExternalName. More info: https://kubernetes.io/docs/concepts/services-networking/service/",
|
"selector": "Route service traffic to pods with label keys and values matching this selector. If empty or not present, the service is assumed to have an external process managing its endpoints, which Kubernetes will not modify. Only applies to types ClusterIP, NodePort, and LoadBalancer. Ignored if type is ExternalName. More info: https://kubernetes.io/docs/concepts/services-networking/service/",
|
||||||
"clusterIP": "clusterIP is the IP address of the service and is usually assigned randomly by the master. If an address is specified manually and is not in use by others, it will be allocated to the service; otherwise, creation of the service will fail. This field can not be changed through updates. Valid values are \"None\", empty string (\"\"), or a valid IP address. \"None\" can be specified for headless services when proxying is not required. Only applies to types ClusterIP, NodePort, and LoadBalancer. Ignored if type is ExternalName. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies",
|
"clusterIP": "clusterIP is the IP address of the service and is usually assigned randomly by the master. If an address is specified manually and is not in use by others, it will be allocated to the service; otherwise, creation of the service will fail. This field can not be changed through updates. Valid values are \"None\", empty string (\"\"), or a valid IP address. \"None\" can be specified for headless services when proxying is not required. Only applies to types ClusterIP, NodePort, and LoadBalancer. Ignored if type is ExternalName. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies",
|
||||||
"type": "type determines how the Service is exposed. Defaults to ClusterIP. Valid options are ExternalName, ClusterIP, NodePort, and LoadBalancer. \"ExternalName\" maps to the specified externalName. \"ClusterIP\" allocates a cluster-internal IP address for load-balancing to endpoints. Endpoints are determined by the selector or if that is not specified, by manual construction of an Endpoints object. If clusterIP is \"None\", no virtual IP is allocated and the endpoints are published as a set of endpoints rather than a stable IP. \"NodePort\" builds on ClusterIP and allocates a port on every node which routes to the clusterIP. \"LoadBalancer\" builds on NodePort and creates an external load-balancer (if supported in the current cloud) which routes to the clusterIP. More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services ",
|
"type": "type determines how the Service is exposed. Defaults to ClusterIP. Valid options are ExternalName, ClusterIP, NodePort, and LoadBalancer. \"ExternalName\" maps to the specified externalName. \"ClusterIP\" allocates a cluster-internal IP address for load-balancing to endpoints. Endpoints are determined by the selector or if that is not specified, by manual construction of an Endpoints object. If clusterIP is \"None\", no virtual IP is allocated and the endpoints are published as a set of endpoints rather than a stable IP. \"NodePort\" builds on ClusterIP and allocates a port on every node which routes to the clusterIP. \"LoadBalancer\" builds on NodePort and creates an external load-balancer (if supported in the current cloud) which routes to the clusterIP. More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types",
|
||||||
"externalIPs": "externalIPs is a list of IP addresses for which nodes in the cluster will also accept traffic for this service. These IPs are not managed by Kubernetes. The user is responsible for ensuring that traffic arrives at a node with this IP. A common example is external load-balancers that are not part of the Kubernetes system.",
|
"externalIPs": "externalIPs is a list of IP addresses for which nodes in the cluster will also accept traffic for this service. These IPs are not managed by Kubernetes. The user is responsible for ensuring that traffic arrives at a node with this IP. A common example is external load-balancers that are not part of the Kubernetes system.",
|
||||||
"sessionAffinity": "Supports \"ClientIP\" and \"None\". Used to maintain session affinity. Enable client IP based session affinity. Must be ClientIP or None. Defaults to None. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies",
|
"sessionAffinity": "Supports \"ClientIP\" and \"None\". Used to maintain session affinity. Enable client IP based session affinity. Must be ClientIP or None. Defaults to None. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies",
|
||||||
"loadBalancerIP": "Only applies to Service Type: LoadBalancer LoadBalancer will get created with the IP specified in this field. This feature depends on whether the underlying cloud-provider supports specifying the loadBalancerIP when a load balancer is created. This field will be ignored if the cloud-provider does not support the feature.",
|
"loadBalancerIP": "Only applies to Service Type: LoadBalancer LoadBalancer will get created with the IP specified in this field. This feature depends on whether the underlying cloud-provider supports specifying the loadBalancerIP when a load balancer is created. This field will be ignored if the cloud-provider does not support the feature.",
|
||||||
|
@ -2259,6 +2273,7 @@ var map_VolumeMount = map[string]string{
|
||||||
"mountPath": "Path within the container at which the volume should be mounted. Must not contain ':'.",
|
"mountPath": "Path within the container at which the volume should be mounted. Must not contain ':'.",
|
||||||
"subPath": "Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root).",
|
"subPath": "Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root).",
|
||||||
"mountPropagation": "mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10.",
|
"mountPropagation": "mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10.",
|
||||||
|
"subPathExpr": "Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to \"\" (volume's root). SubPathExpr and SubPath are mutually exclusive. This field is alpha in 1.14.",
|
||||||
}
|
}
|
||||||
|
|
||||||
func (VolumeMount) SwaggerDoc() map[string]string {
|
func (VolumeMount) SwaggerDoc() map[string]string {
|
||||||
|
@ -2315,6 +2330,7 @@ var map_VolumeSource = map[string]string{
|
||||||
"portworxVolume": "PortworxVolume represents a portworx volume attached and mounted on kubelets host machine",
|
"portworxVolume": "PortworxVolume represents a portworx volume attached and mounted on kubelets host machine",
|
||||||
"scaleIO": "ScaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.",
|
"scaleIO": "ScaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.",
|
||||||
"storageos": "StorageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.",
|
"storageos": "StorageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.",
|
||||||
|
"csi": "CSI (Container Storage Interface) represents storage that is handled by an external CSI driver (Alpha feature).",
|
||||||
}
|
}
|
||||||
|
|
||||||
func (VolumeSource) SwaggerDoc() map[string]string {
|
func (VolumeSource) SwaggerDoc() map[string]string {
|
||||||
|
|
36
vendor/k8s.io/api/core/v1/well_known_labels.go
generated
vendored
Normal file
36
vendor/k8s.io/api/core/v1/well_known_labels.go
generated
vendored
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
/*
|
||||||
|
Copyright 2019 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package v1
|
||||||
|
|
||||||
|
const (
|
||||||
|
LabelHostname = "kubernetes.io/hostname"
|
||||||
|
LabelZoneFailureDomain = "failure-domain.beta.kubernetes.io/zone"
|
||||||
|
LabelZoneRegion = "failure-domain.beta.kubernetes.io/region"
|
||||||
|
|
||||||
|
LabelInstanceType = "beta.kubernetes.io/instance-type"
|
||||||
|
|
||||||
|
LabelOSStable = "kubernetes.io/os"
|
||||||
|
LabelArchStable = "kubernetes.io/arch"
|
||||||
|
|
||||||
|
// LabelNamespaceSuffixKubelet is an allowed label namespace suffix kubelets can self-set ([*.]kubelet.kubernetes.io/*)
|
||||||
|
LabelNamespaceSuffixKubelet = "kubelet.kubernetes.io"
|
||||||
|
// LabelNamespaceSuffixNode is an allowed label namespace suffix kubelets can self-set ([*.]node.kubernetes.io/*)
|
||||||
|
LabelNamespaceSuffixNode = "node.kubernetes.io"
|
||||||
|
|
||||||
|
// LabelNamespaceNodeRestriction is a forbidden label namespace that kubelets may not self-set when the NodeRestriction admission plugin is enabled
|
||||||
|
LabelNamespaceNodeRestriction = "node-restriction.kubernetes.io"
|
||||||
|
)
|
43
vendor/k8s.io/api/core/v1/zz_generated.deepcopy.go
generated
vendored
43
vendor/k8s.io/api/core/v1/zz_generated.deepcopy.go
generated
vendored
|
@ -250,6 +250,44 @@ func (in *CSIPersistentVolumeSource) DeepCopy() *CSIPersistentVolumeSource {
|
||||||
return out
|
return out
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *CSIVolumeSource) DeepCopyInto(out *CSIVolumeSource) {
|
||||||
|
*out = *in
|
||||||
|
if in.ReadOnly != nil {
|
||||||
|
in, out := &in.ReadOnly, &out.ReadOnly
|
||||||
|
*out = new(bool)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
if in.FSType != nil {
|
||||||
|
in, out := &in.FSType, &out.FSType
|
||||||
|
*out = new(string)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
if in.VolumeAttributes != nil {
|
||||||
|
in, out := &in.VolumeAttributes, &out.VolumeAttributes
|
||||||
|
*out = make(map[string]string, len(*in))
|
||||||
|
for key, val := range *in {
|
||||||
|
(*out)[key] = val
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if in.NodePublishSecretRef != nil {
|
||||||
|
in, out := &in.NodePublishSecretRef, &out.NodePublishSecretRef
|
||||||
|
*out = new(LocalObjectReference)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CSIVolumeSource.
|
||||||
|
func (in *CSIVolumeSource) DeepCopy() *CSIVolumeSource {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(CSIVolumeSource)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
func (in *Capabilities) DeepCopyInto(out *Capabilities) {
|
func (in *Capabilities) DeepCopyInto(out *Capabilities) {
|
||||||
*out = *in
|
*out = *in
|
||||||
|
@ -5383,6 +5421,11 @@ func (in *VolumeSource) DeepCopyInto(out *VolumeSource) {
|
||||||
*out = new(StorageOSVolumeSource)
|
*out = new(StorageOSVolumeSource)
|
||||||
(*in).DeepCopyInto(*out)
|
(*in).DeepCopyInto(*out)
|
||||||
}
|
}
|
||||||
|
if in.CSI != nil {
|
||||||
|
in, out := &in.CSI, &out.CSI
|
||||||
|
*out = new(CSIVolumeSource)
|
||||||
|
(*in).DeepCopyInto(*out)
|
||||||
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
1
vendor/k8s.io/api/events/v1beta1/doc.go
generated
vendored
1
vendor/k8s.io/api/events/v1beta1/doc.go
generated
vendored
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// +k8s:deepcopy-gen=package
|
// +k8s:deepcopy-gen=package
|
||||||
|
// +k8s:protobuf-gen=package
|
||||||
// +k8s:openapi-gen=true
|
// +k8s:openapi-gen=true
|
||||||
|
|
||||||
// +groupName=events.k8s.io
|
// +groupName=events.k8s.io
|
||||||
|
|
1
vendor/k8s.io/api/extensions/v1beta1/doc.go
generated
vendored
1
vendor/k8s.io/api/extensions/v1beta1/doc.go
generated
vendored
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// +k8s:deepcopy-gen=package
|
// +k8s:deepcopy-gen=package
|
||||||
|
// +k8s:protobuf-gen=package
|
||||||
// +k8s:openapi-gen=true
|
// +k8s:openapi-gen=true
|
||||||
|
|
||||||
package v1beta1 // import "k8s.io/api/extensions/v1beta1"
|
package v1beta1 // import "k8s.io/api/extensions/v1beta1"
|
||||||
|
|
735
vendor/k8s.io/api/extensions/v1beta1/generated.pb.go
generated
vendored
735
vendor/k8s.io/api/extensions/v1beta1/generated.pb.go
generated
vendored
|
@ -24,6 +24,7 @@ limitations under the License.
|
||||||
k8s.io/kubernetes/vendor/k8s.io/api/extensions/v1beta1/generated.proto
|
k8s.io/kubernetes/vendor/k8s.io/api/extensions/v1beta1/generated.proto
|
||||||
|
|
||||||
It has these top-level messages:
|
It has these top-level messages:
|
||||||
|
AllowedCSIDriver
|
||||||
AllowedFlexVolume
|
AllowedFlexVolume
|
||||||
AllowedHostPath
|
AllowedHostPath
|
||||||
DaemonSet
|
DaemonSet
|
||||||
|
@ -109,241 +110,246 @@ var _ = math.Inf
|
||||||
// proto package needs to be updated.
|
// proto package needs to be updated.
|
||||||
const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
|
const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
|
||||||
|
|
||||||
|
func (m *AllowedCSIDriver) Reset() { *m = AllowedCSIDriver{} }
|
||||||
|
func (*AllowedCSIDriver) ProtoMessage() {}
|
||||||
|
func (*AllowedCSIDriver) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{0} }
|
||||||
|
|
||||||
func (m *AllowedFlexVolume) Reset() { *m = AllowedFlexVolume{} }
|
func (m *AllowedFlexVolume) Reset() { *m = AllowedFlexVolume{} }
|
||||||
func (*AllowedFlexVolume) ProtoMessage() {}
|
func (*AllowedFlexVolume) ProtoMessage() {}
|
||||||
func (*AllowedFlexVolume) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{0} }
|
func (*AllowedFlexVolume) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{1} }
|
||||||
|
|
||||||
func (m *AllowedHostPath) Reset() { *m = AllowedHostPath{} }
|
func (m *AllowedHostPath) Reset() { *m = AllowedHostPath{} }
|
||||||
func (*AllowedHostPath) ProtoMessage() {}
|
func (*AllowedHostPath) ProtoMessage() {}
|
||||||
func (*AllowedHostPath) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{1} }
|
func (*AllowedHostPath) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{2} }
|
||||||
|
|
||||||
func (m *DaemonSet) Reset() { *m = DaemonSet{} }
|
func (m *DaemonSet) Reset() { *m = DaemonSet{} }
|
||||||
func (*DaemonSet) ProtoMessage() {}
|
func (*DaemonSet) ProtoMessage() {}
|
||||||
func (*DaemonSet) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{2} }
|
func (*DaemonSet) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{3} }
|
||||||
|
|
||||||
func (m *DaemonSetCondition) Reset() { *m = DaemonSetCondition{} }
|
func (m *DaemonSetCondition) Reset() { *m = DaemonSetCondition{} }
|
||||||
func (*DaemonSetCondition) ProtoMessage() {}
|
func (*DaemonSetCondition) ProtoMessage() {}
|
||||||
func (*DaemonSetCondition) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{3} }
|
func (*DaemonSetCondition) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{4} }
|
||||||
|
|
||||||
func (m *DaemonSetList) Reset() { *m = DaemonSetList{} }
|
func (m *DaemonSetList) Reset() { *m = DaemonSetList{} }
|
||||||
func (*DaemonSetList) ProtoMessage() {}
|
func (*DaemonSetList) ProtoMessage() {}
|
||||||
func (*DaemonSetList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{4} }
|
func (*DaemonSetList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{5} }
|
||||||
|
|
||||||
func (m *DaemonSetSpec) Reset() { *m = DaemonSetSpec{} }
|
func (m *DaemonSetSpec) Reset() { *m = DaemonSetSpec{} }
|
||||||
func (*DaemonSetSpec) ProtoMessage() {}
|
func (*DaemonSetSpec) ProtoMessage() {}
|
||||||
func (*DaemonSetSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{5} }
|
func (*DaemonSetSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{6} }
|
||||||
|
|
||||||
func (m *DaemonSetStatus) Reset() { *m = DaemonSetStatus{} }
|
func (m *DaemonSetStatus) Reset() { *m = DaemonSetStatus{} }
|
||||||
func (*DaemonSetStatus) ProtoMessage() {}
|
func (*DaemonSetStatus) ProtoMessage() {}
|
||||||
func (*DaemonSetStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{6} }
|
func (*DaemonSetStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{7} }
|
||||||
|
|
||||||
func (m *DaemonSetUpdateStrategy) Reset() { *m = DaemonSetUpdateStrategy{} }
|
func (m *DaemonSetUpdateStrategy) Reset() { *m = DaemonSetUpdateStrategy{} }
|
||||||
func (*DaemonSetUpdateStrategy) ProtoMessage() {}
|
func (*DaemonSetUpdateStrategy) ProtoMessage() {}
|
||||||
func (*DaemonSetUpdateStrategy) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{7} }
|
func (*DaemonSetUpdateStrategy) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{8} }
|
||||||
|
|
||||||
func (m *Deployment) Reset() { *m = Deployment{} }
|
func (m *Deployment) Reset() { *m = Deployment{} }
|
||||||
func (*Deployment) ProtoMessage() {}
|
func (*Deployment) ProtoMessage() {}
|
||||||
func (*Deployment) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{8} }
|
func (*Deployment) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{9} }
|
||||||
|
|
||||||
func (m *DeploymentCondition) Reset() { *m = DeploymentCondition{} }
|
func (m *DeploymentCondition) Reset() { *m = DeploymentCondition{} }
|
||||||
func (*DeploymentCondition) ProtoMessage() {}
|
func (*DeploymentCondition) ProtoMessage() {}
|
||||||
func (*DeploymentCondition) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{9} }
|
func (*DeploymentCondition) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{10} }
|
||||||
|
|
||||||
func (m *DeploymentList) Reset() { *m = DeploymentList{} }
|
func (m *DeploymentList) Reset() { *m = DeploymentList{} }
|
||||||
func (*DeploymentList) ProtoMessage() {}
|
func (*DeploymentList) ProtoMessage() {}
|
||||||
func (*DeploymentList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{10} }
|
func (*DeploymentList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{11} }
|
||||||
|
|
||||||
func (m *DeploymentRollback) Reset() { *m = DeploymentRollback{} }
|
func (m *DeploymentRollback) Reset() { *m = DeploymentRollback{} }
|
||||||
func (*DeploymentRollback) ProtoMessage() {}
|
func (*DeploymentRollback) ProtoMessage() {}
|
||||||
func (*DeploymentRollback) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{11} }
|
func (*DeploymentRollback) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{12} }
|
||||||
|
|
||||||
func (m *DeploymentSpec) Reset() { *m = DeploymentSpec{} }
|
func (m *DeploymentSpec) Reset() { *m = DeploymentSpec{} }
|
||||||
func (*DeploymentSpec) ProtoMessage() {}
|
func (*DeploymentSpec) ProtoMessage() {}
|
||||||
func (*DeploymentSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{12} }
|
func (*DeploymentSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{13} }
|
||||||
|
|
||||||
func (m *DeploymentStatus) Reset() { *m = DeploymentStatus{} }
|
func (m *DeploymentStatus) Reset() { *m = DeploymentStatus{} }
|
||||||
func (*DeploymentStatus) ProtoMessage() {}
|
func (*DeploymentStatus) ProtoMessage() {}
|
||||||
func (*DeploymentStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{13} }
|
func (*DeploymentStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{14} }
|
||||||
|
|
||||||
func (m *DeploymentStrategy) Reset() { *m = DeploymentStrategy{} }
|
func (m *DeploymentStrategy) Reset() { *m = DeploymentStrategy{} }
|
||||||
func (*DeploymentStrategy) ProtoMessage() {}
|
func (*DeploymentStrategy) ProtoMessage() {}
|
||||||
func (*DeploymentStrategy) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{14} }
|
func (*DeploymentStrategy) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{15} }
|
||||||
|
|
||||||
func (m *FSGroupStrategyOptions) Reset() { *m = FSGroupStrategyOptions{} }
|
func (m *FSGroupStrategyOptions) Reset() { *m = FSGroupStrategyOptions{} }
|
||||||
func (*FSGroupStrategyOptions) ProtoMessage() {}
|
func (*FSGroupStrategyOptions) ProtoMessage() {}
|
||||||
func (*FSGroupStrategyOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{15} }
|
func (*FSGroupStrategyOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{16} }
|
||||||
|
|
||||||
func (m *HTTPIngressPath) Reset() { *m = HTTPIngressPath{} }
|
func (m *HTTPIngressPath) Reset() { *m = HTTPIngressPath{} }
|
||||||
func (*HTTPIngressPath) ProtoMessage() {}
|
func (*HTTPIngressPath) ProtoMessage() {}
|
||||||
func (*HTTPIngressPath) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{16} }
|
func (*HTTPIngressPath) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{17} }
|
||||||
|
|
||||||
func (m *HTTPIngressRuleValue) Reset() { *m = HTTPIngressRuleValue{} }
|
func (m *HTTPIngressRuleValue) Reset() { *m = HTTPIngressRuleValue{} }
|
||||||
func (*HTTPIngressRuleValue) ProtoMessage() {}
|
func (*HTTPIngressRuleValue) ProtoMessage() {}
|
||||||
func (*HTTPIngressRuleValue) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{17} }
|
func (*HTTPIngressRuleValue) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{18} }
|
||||||
|
|
||||||
func (m *HostPortRange) Reset() { *m = HostPortRange{} }
|
func (m *HostPortRange) Reset() { *m = HostPortRange{} }
|
||||||
func (*HostPortRange) ProtoMessage() {}
|
func (*HostPortRange) ProtoMessage() {}
|
||||||
func (*HostPortRange) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{18} }
|
func (*HostPortRange) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{19} }
|
||||||
|
|
||||||
func (m *IDRange) Reset() { *m = IDRange{} }
|
func (m *IDRange) Reset() { *m = IDRange{} }
|
||||||
func (*IDRange) ProtoMessage() {}
|
func (*IDRange) ProtoMessage() {}
|
||||||
func (*IDRange) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{19} }
|
func (*IDRange) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{20} }
|
||||||
|
|
||||||
func (m *IPBlock) Reset() { *m = IPBlock{} }
|
func (m *IPBlock) Reset() { *m = IPBlock{} }
|
||||||
func (*IPBlock) ProtoMessage() {}
|
func (*IPBlock) ProtoMessage() {}
|
||||||
func (*IPBlock) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{20} }
|
func (*IPBlock) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{21} }
|
||||||
|
|
||||||
func (m *Ingress) Reset() { *m = Ingress{} }
|
func (m *Ingress) Reset() { *m = Ingress{} }
|
||||||
func (*Ingress) ProtoMessage() {}
|
func (*Ingress) ProtoMessage() {}
|
||||||
func (*Ingress) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{21} }
|
func (*Ingress) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{22} }
|
||||||
|
|
||||||
func (m *IngressBackend) Reset() { *m = IngressBackend{} }
|
func (m *IngressBackend) Reset() { *m = IngressBackend{} }
|
||||||
func (*IngressBackend) ProtoMessage() {}
|
func (*IngressBackend) ProtoMessage() {}
|
||||||
func (*IngressBackend) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{22} }
|
func (*IngressBackend) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{23} }
|
||||||
|
|
||||||
func (m *IngressList) Reset() { *m = IngressList{} }
|
func (m *IngressList) Reset() { *m = IngressList{} }
|
||||||
func (*IngressList) ProtoMessage() {}
|
func (*IngressList) ProtoMessage() {}
|
||||||
func (*IngressList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{23} }
|
func (*IngressList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{24} }
|
||||||
|
|
||||||
func (m *IngressRule) Reset() { *m = IngressRule{} }
|
func (m *IngressRule) Reset() { *m = IngressRule{} }
|
||||||
func (*IngressRule) ProtoMessage() {}
|
func (*IngressRule) ProtoMessage() {}
|
||||||
func (*IngressRule) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{24} }
|
func (*IngressRule) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{25} }
|
||||||
|
|
||||||
func (m *IngressRuleValue) Reset() { *m = IngressRuleValue{} }
|
func (m *IngressRuleValue) Reset() { *m = IngressRuleValue{} }
|
||||||
func (*IngressRuleValue) ProtoMessage() {}
|
func (*IngressRuleValue) ProtoMessage() {}
|
||||||
func (*IngressRuleValue) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{25} }
|
func (*IngressRuleValue) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{26} }
|
||||||
|
|
||||||
func (m *IngressSpec) Reset() { *m = IngressSpec{} }
|
func (m *IngressSpec) Reset() { *m = IngressSpec{} }
|
||||||
func (*IngressSpec) ProtoMessage() {}
|
func (*IngressSpec) ProtoMessage() {}
|
||||||
func (*IngressSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{26} }
|
func (*IngressSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{27} }
|
||||||
|
|
||||||
func (m *IngressStatus) Reset() { *m = IngressStatus{} }
|
func (m *IngressStatus) Reset() { *m = IngressStatus{} }
|
||||||
func (*IngressStatus) ProtoMessage() {}
|
func (*IngressStatus) ProtoMessage() {}
|
||||||
func (*IngressStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{27} }
|
func (*IngressStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{28} }
|
||||||
|
|
||||||
func (m *IngressTLS) Reset() { *m = IngressTLS{} }
|
func (m *IngressTLS) Reset() { *m = IngressTLS{} }
|
||||||
func (*IngressTLS) ProtoMessage() {}
|
func (*IngressTLS) ProtoMessage() {}
|
||||||
func (*IngressTLS) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{28} }
|
func (*IngressTLS) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{29} }
|
||||||
|
|
||||||
func (m *NetworkPolicy) Reset() { *m = NetworkPolicy{} }
|
func (m *NetworkPolicy) Reset() { *m = NetworkPolicy{} }
|
||||||
func (*NetworkPolicy) ProtoMessage() {}
|
func (*NetworkPolicy) ProtoMessage() {}
|
||||||
func (*NetworkPolicy) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{29} }
|
func (*NetworkPolicy) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{30} }
|
||||||
|
|
||||||
func (m *NetworkPolicyEgressRule) Reset() { *m = NetworkPolicyEgressRule{} }
|
func (m *NetworkPolicyEgressRule) Reset() { *m = NetworkPolicyEgressRule{} }
|
||||||
func (*NetworkPolicyEgressRule) ProtoMessage() {}
|
func (*NetworkPolicyEgressRule) ProtoMessage() {}
|
||||||
func (*NetworkPolicyEgressRule) Descriptor() ([]byte, []int) {
|
func (*NetworkPolicyEgressRule) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptorGenerated, []int{30}
|
return fileDescriptorGenerated, []int{31}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *NetworkPolicyIngressRule) Reset() { *m = NetworkPolicyIngressRule{} }
|
func (m *NetworkPolicyIngressRule) Reset() { *m = NetworkPolicyIngressRule{} }
|
||||||
func (*NetworkPolicyIngressRule) ProtoMessage() {}
|
func (*NetworkPolicyIngressRule) ProtoMessage() {}
|
||||||
func (*NetworkPolicyIngressRule) Descriptor() ([]byte, []int) {
|
func (*NetworkPolicyIngressRule) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptorGenerated, []int{31}
|
return fileDescriptorGenerated, []int{32}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *NetworkPolicyList) Reset() { *m = NetworkPolicyList{} }
|
func (m *NetworkPolicyList) Reset() { *m = NetworkPolicyList{} }
|
||||||
func (*NetworkPolicyList) ProtoMessage() {}
|
func (*NetworkPolicyList) ProtoMessage() {}
|
||||||
func (*NetworkPolicyList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{32} }
|
func (*NetworkPolicyList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{33} }
|
||||||
|
|
||||||
func (m *NetworkPolicyPeer) Reset() { *m = NetworkPolicyPeer{} }
|
func (m *NetworkPolicyPeer) Reset() { *m = NetworkPolicyPeer{} }
|
||||||
func (*NetworkPolicyPeer) ProtoMessage() {}
|
func (*NetworkPolicyPeer) ProtoMessage() {}
|
||||||
func (*NetworkPolicyPeer) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{33} }
|
func (*NetworkPolicyPeer) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{34} }
|
||||||
|
|
||||||
func (m *NetworkPolicyPort) Reset() { *m = NetworkPolicyPort{} }
|
func (m *NetworkPolicyPort) Reset() { *m = NetworkPolicyPort{} }
|
||||||
func (*NetworkPolicyPort) ProtoMessage() {}
|
func (*NetworkPolicyPort) ProtoMessage() {}
|
||||||
func (*NetworkPolicyPort) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{34} }
|
func (*NetworkPolicyPort) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{35} }
|
||||||
|
|
||||||
func (m *NetworkPolicySpec) Reset() { *m = NetworkPolicySpec{} }
|
func (m *NetworkPolicySpec) Reset() { *m = NetworkPolicySpec{} }
|
||||||
func (*NetworkPolicySpec) ProtoMessage() {}
|
func (*NetworkPolicySpec) ProtoMessage() {}
|
||||||
func (*NetworkPolicySpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{35} }
|
func (*NetworkPolicySpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{36} }
|
||||||
|
|
||||||
func (m *PodSecurityPolicy) Reset() { *m = PodSecurityPolicy{} }
|
func (m *PodSecurityPolicy) Reset() { *m = PodSecurityPolicy{} }
|
||||||
func (*PodSecurityPolicy) ProtoMessage() {}
|
func (*PodSecurityPolicy) ProtoMessage() {}
|
||||||
func (*PodSecurityPolicy) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{36} }
|
func (*PodSecurityPolicy) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{37} }
|
||||||
|
|
||||||
func (m *PodSecurityPolicyList) Reset() { *m = PodSecurityPolicyList{} }
|
func (m *PodSecurityPolicyList) Reset() { *m = PodSecurityPolicyList{} }
|
||||||
func (*PodSecurityPolicyList) ProtoMessage() {}
|
func (*PodSecurityPolicyList) ProtoMessage() {}
|
||||||
func (*PodSecurityPolicyList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{37} }
|
func (*PodSecurityPolicyList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{38} }
|
||||||
|
|
||||||
func (m *PodSecurityPolicySpec) Reset() { *m = PodSecurityPolicySpec{} }
|
func (m *PodSecurityPolicySpec) Reset() { *m = PodSecurityPolicySpec{} }
|
||||||
func (*PodSecurityPolicySpec) ProtoMessage() {}
|
func (*PodSecurityPolicySpec) ProtoMessage() {}
|
||||||
func (*PodSecurityPolicySpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{38} }
|
func (*PodSecurityPolicySpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{39} }
|
||||||
|
|
||||||
func (m *ReplicaSet) Reset() { *m = ReplicaSet{} }
|
func (m *ReplicaSet) Reset() { *m = ReplicaSet{} }
|
||||||
func (*ReplicaSet) ProtoMessage() {}
|
func (*ReplicaSet) ProtoMessage() {}
|
||||||
func (*ReplicaSet) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{39} }
|
func (*ReplicaSet) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{40} }
|
||||||
|
|
||||||
func (m *ReplicaSetCondition) Reset() { *m = ReplicaSetCondition{} }
|
func (m *ReplicaSetCondition) Reset() { *m = ReplicaSetCondition{} }
|
||||||
func (*ReplicaSetCondition) ProtoMessage() {}
|
func (*ReplicaSetCondition) ProtoMessage() {}
|
||||||
func (*ReplicaSetCondition) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{40} }
|
func (*ReplicaSetCondition) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{41} }
|
||||||
|
|
||||||
func (m *ReplicaSetList) Reset() { *m = ReplicaSetList{} }
|
func (m *ReplicaSetList) Reset() { *m = ReplicaSetList{} }
|
||||||
func (*ReplicaSetList) ProtoMessage() {}
|
func (*ReplicaSetList) ProtoMessage() {}
|
||||||
func (*ReplicaSetList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{41} }
|
func (*ReplicaSetList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{42} }
|
||||||
|
|
||||||
func (m *ReplicaSetSpec) Reset() { *m = ReplicaSetSpec{} }
|
func (m *ReplicaSetSpec) Reset() { *m = ReplicaSetSpec{} }
|
||||||
func (*ReplicaSetSpec) ProtoMessage() {}
|
func (*ReplicaSetSpec) ProtoMessage() {}
|
||||||
func (*ReplicaSetSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{42} }
|
func (*ReplicaSetSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{43} }
|
||||||
|
|
||||||
func (m *ReplicaSetStatus) Reset() { *m = ReplicaSetStatus{} }
|
func (m *ReplicaSetStatus) Reset() { *m = ReplicaSetStatus{} }
|
||||||
func (*ReplicaSetStatus) ProtoMessage() {}
|
func (*ReplicaSetStatus) ProtoMessage() {}
|
||||||
func (*ReplicaSetStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{43} }
|
func (*ReplicaSetStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{44} }
|
||||||
|
|
||||||
func (m *ReplicationControllerDummy) Reset() { *m = ReplicationControllerDummy{} }
|
func (m *ReplicationControllerDummy) Reset() { *m = ReplicationControllerDummy{} }
|
||||||
func (*ReplicationControllerDummy) ProtoMessage() {}
|
func (*ReplicationControllerDummy) ProtoMessage() {}
|
||||||
func (*ReplicationControllerDummy) Descriptor() ([]byte, []int) {
|
func (*ReplicationControllerDummy) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptorGenerated, []int{44}
|
return fileDescriptorGenerated, []int{45}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *RollbackConfig) Reset() { *m = RollbackConfig{} }
|
func (m *RollbackConfig) Reset() { *m = RollbackConfig{} }
|
||||||
func (*RollbackConfig) ProtoMessage() {}
|
func (*RollbackConfig) ProtoMessage() {}
|
||||||
func (*RollbackConfig) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{45} }
|
func (*RollbackConfig) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{46} }
|
||||||
|
|
||||||
func (m *RollingUpdateDaemonSet) Reset() { *m = RollingUpdateDaemonSet{} }
|
func (m *RollingUpdateDaemonSet) Reset() { *m = RollingUpdateDaemonSet{} }
|
||||||
func (*RollingUpdateDaemonSet) ProtoMessage() {}
|
func (*RollingUpdateDaemonSet) ProtoMessage() {}
|
||||||
func (*RollingUpdateDaemonSet) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{46} }
|
func (*RollingUpdateDaemonSet) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{47} }
|
||||||
|
|
||||||
func (m *RollingUpdateDeployment) Reset() { *m = RollingUpdateDeployment{} }
|
func (m *RollingUpdateDeployment) Reset() { *m = RollingUpdateDeployment{} }
|
||||||
func (*RollingUpdateDeployment) ProtoMessage() {}
|
func (*RollingUpdateDeployment) ProtoMessage() {}
|
||||||
func (*RollingUpdateDeployment) Descriptor() ([]byte, []int) {
|
func (*RollingUpdateDeployment) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptorGenerated, []int{47}
|
return fileDescriptorGenerated, []int{48}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *RunAsGroupStrategyOptions) Reset() { *m = RunAsGroupStrategyOptions{} }
|
func (m *RunAsGroupStrategyOptions) Reset() { *m = RunAsGroupStrategyOptions{} }
|
||||||
func (*RunAsGroupStrategyOptions) ProtoMessage() {}
|
func (*RunAsGroupStrategyOptions) ProtoMessage() {}
|
||||||
func (*RunAsGroupStrategyOptions) Descriptor() ([]byte, []int) {
|
func (*RunAsGroupStrategyOptions) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptorGenerated, []int{48}
|
return fileDescriptorGenerated, []int{49}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *RunAsUserStrategyOptions) Reset() { *m = RunAsUserStrategyOptions{} }
|
func (m *RunAsUserStrategyOptions) Reset() { *m = RunAsUserStrategyOptions{} }
|
||||||
func (*RunAsUserStrategyOptions) ProtoMessage() {}
|
func (*RunAsUserStrategyOptions) ProtoMessage() {}
|
||||||
func (*RunAsUserStrategyOptions) Descriptor() ([]byte, []int) {
|
func (*RunAsUserStrategyOptions) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptorGenerated, []int{49}
|
return fileDescriptorGenerated, []int{50}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *SELinuxStrategyOptions) Reset() { *m = SELinuxStrategyOptions{} }
|
func (m *SELinuxStrategyOptions) Reset() { *m = SELinuxStrategyOptions{} }
|
||||||
func (*SELinuxStrategyOptions) ProtoMessage() {}
|
func (*SELinuxStrategyOptions) ProtoMessage() {}
|
||||||
func (*SELinuxStrategyOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{50} }
|
func (*SELinuxStrategyOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{51} }
|
||||||
|
|
||||||
func (m *Scale) Reset() { *m = Scale{} }
|
func (m *Scale) Reset() { *m = Scale{} }
|
||||||
func (*Scale) ProtoMessage() {}
|
func (*Scale) ProtoMessage() {}
|
||||||
func (*Scale) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{51} }
|
func (*Scale) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{52} }
|
||||||
|
|
||||||
func (m *ScaleSpec) Reset() { *m = ScaleSpec{} }
|
func (m *ScaleSpec) Reset() { *m = ScaleSpec{} }
|
||||||
func (*ScaleSpec) ProtoMessage() {}
|
func (*ScaleSpec) ProtoMessage() {}
|
||||||
func (*ScaleSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{52} }
|
func (*ScaleSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{53} }
|
||||||
|
|
||||||
func (m *ScaleStatus) Reset() { *m = ScaleStatus{} }
|
func (m *ScaleStatus) Reset() { *m = ScaleStatus{} }
|
||||||
func (*ScaleStatus) ProtoMessage() {}
|
func (*ScaleStatus) ProtoMessage() {}
|
||||||
func (*ScaleStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{53} }
|
func (*ScaleStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{54} }
|
||||||
|
|
||||||
func (m *SupplementalGroupsStrategyOptions) Reset() { *m = SupplementalGroupsStrategyOptions{} }
|
func (m *SupplementalGroupsStrategyOptions) Reset() { *m = SupplementalGroupsStrategyOptions{} }
|
||||||
func (*SupplementalGroupsStrategyOptions) ProtoMessage() {}
|
func (*SupplementalGroupsStrategyOptions) ProtoMessage() {}
|
||||||
func (*SupplementalGroupsStrategyOptions) Descriptor() ([]byte, []int) {
|
func (*SupplementalGroupsStrategyOptions) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptorGenerated, []int{54}
|
return fileDescriptorGenerated, []int{55}
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
proto.RegisterType((*AllowedCSIDriver)(nil), "k8s.io.api.extensions.v1beta1.AllowedCSIDriver")
|
||||||
proto.RegisterType((*AllowedFlexVolume)(nil), "k8s.io.api.extensions.v1beta1.AllowedFlexVolume")
|
proto.RegisterType((*AllowedFlexVolume)(nil), "k8s.io.api.extensions.v1beta1.AllowedFlexVolume")
|
||||||
proto.RegisterType((*AllowedHostPath)(nil), "k8s.io.api.extensions.v1beta1.AllowedHostPath")
|
proto.RegisterType((*AllowedHostPath)(nil), "k8s.io.api.extensions.v1beta1.AllowedHostPath")
|
||||||
proto.RegisterType((*DaemonSet)(nil), "k8s.io.api.extensions.v1beta1.DaemonSet")
|
proto.RegisterType((*DaemonSet)(nil), "k8s.io.api.extensions.v1beta1.DaemonSet")
|
||||||
|
@ -400,6 +406,28 @@ func init() {
|
||||||
proto.RegisterType((*ScaleStatus)(nil), "k8s.io.api.extensions.v1beta1.ScaleStatus")
|
proto.RegisterType((*ScaleStatus)(nil), "k8s.io.api.extensions.v1beta1.ScaleStatus")
|
||||||
proto.RegisterType((*SupplementalGroupsStrategyOptions)(nil), "k8s.io.api.extensions.v1beta1.SupplementalGroupsStrategyOptions")
|
proto.RegisterType((*SupplementalGroupsStrategyOptions)(nil), "k8s.io.api.extensions.v1beta1.SupplementalGroupsStrategyOptions")
|
||||||
}
|
}
|
||||||
|
func (m *AllowedCSIDriver) Marshal() (dAtA []byte, err error) {
|
||||||
|
size := m.Size()
|
||||||
|
dAtA = make([]byte, size)
|
||||||
|
n, err := m.MarshalTo(dAtA)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return dAtA[:n], nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *AllowedCSIDriver) MarshalTo(dAtA []byte) (int, error) {
|
||||||
|
var i int
|
||||||
|
_ = i
|
||||||
|
var l int
|
||||||
|
_ = l
|
||||||
|
dAtA[i] = 0xa
|
||||||
|
i++
|
||||||
|
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
|
||||||
|
i += copy(dAtA[i:], m.Name)
|
||||||
|
return i, nil
|
||||||
|
}
|
||||||
|
|
||||||
func (m *AllowedFlexVolume) Marshal() (dAtA []byte, err error) {
|
func (m *AllowedFlexVolume) Marshal() (dAtA []byte, err error) {
|
||||||
size := m.Size()
|
size := m.Size()
|
||||||
dAtA = make([]byte, size)
|
dAtA = make([]byte, size)
|
||||||
|
@ -2176,6 +2204,20 @@ func (m *PodSecurityPolicySpec) MarshalTo(dAtA []byte) (int, error) {
|
||||||
}
|
}
|
||||||
i += n47
|
i += n47
|
||||||
}
|
}
|
||||||
|
if len(m.AllowedCSIDrivers) > 0 {
|
||||||
|
for _, msg := range m.AllowedCSIDrivers {
|
||||||
|
dAtA[i] = 0xba
|
||||||
|
i++
|
||||||
|
dAtA[i] = 0x1
|
||||||
|
i++
|
||||||
|
i = encodeVarintGenerated(dAtA, i, uint64(msg.Size()))
|
||||||
|
n, err := msg.MarshalTo(dAtA[i:])
|
||||||
|
if err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
i += n
|
||||||
|
}
|
||||||
|
}
|
||||||
return i, nil
|
return i, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2748,6 +2790,14 @@ func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int {
|
||||||
dAtA[offset] = uint8(v)
|
dAtA[offset] = uint8(v)
|
||||||
return offset + 1
|
return offset + 1
|
||||||
}
|
}
|
||||||
|
func (m *AllowedCSIDriver) Size() (n int) {
|
||||||
|
var l int
|
||||||
|
_ = l
|
||||||
|
l = len(m.Name)
|
||||||
|
n += 1 + l + sovGenerated(uint64(l))
|
||||||
|
return n
|
||||||
|
}
|
||||||
|
|
||||||
func (m *AllowedFlexVolume) Size() (n int) {
|
func (m *AllowedFlexVolume) Size() (n int) {
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
|
@ -3379,6 +3429,12 @@ func (m *PodSecurityPolicySpec) Size() (n int) {
|
||||||
l = m.RunAsGroup.Size()
|
l = m.RunAsGroup.Size()
|
||||||
n += 2 + l + sovGenerated(uint64(l))
|
n += 2 + l + sovGenerated(uint64(l))
|
||||||
}
|
}
|
||||||
|
if len(m.AllowedCSIDrivers) > 0 {
|
||||||
|
for _, e := range m.AllowedCSIDrivers {
|
||||||
|
l = e.Size()
|
||||||
|
n += 2 + l + sovGenerated(uint64(l))
|
||||||
|
}
|
||||||
|
}
|
||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3597,6 +3653,16 @@ func sovGenerated(x uint64) (n int) {
|
||||||
func sozGenerated(x uint64) (n int) {
|
func sozGenerated(x uint64) (n int) {
|
||||||
return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63))))
|
return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63))))
|
||||||
}
|
}
|
||||||
|
func (this *AllowedCSIDriver) String() string {
|
||||||
|
if this == nil {
|
||||||
|
return "nil"
|
||||||
|
}
|
||||||
|
s := strings.Join([]string{`&AllowedCSIDriver{`,
|
||||||
|
`Name:` + fmt.Sprintf("%v", this.Name) + `,`,
|
||||||
|
`}`,
|
||||||
|
}, "")
|
||||||
|
return s
|
||||||
|
}
|
||||||
func (this *AllowedFlexVolume) String() string {
|
func (this *AllowedFlexVolume) String() string {
|
||||||
if this == nil {
|
if this == nil {
|
||||||
return "nil"
|
return "nil"
|
||||||
|
@ -4088,6 +4154,7 @@ func (this *PodSecurityPolicySpec) String() string {
|
||||||
`ForbiddenSysctls:` + fmt.Sprintf("%v", this.ForbiddenSysctls) + `,`,
|
`ForbiddenSysctls:` + fmt.Sprintf("%v", this.ForbiddenSysctls) + `,`,
|
||||||
`AllowedProcMountTypes:` + fmt.Sprintf("%v", this.AllowedProcMountTypes) + `,`,
|
`AllowedProcMountTypes:` + fmt.Sprintf("%v", this.AllowedProcMountTypes) + `,`,
|
||||||
`RunAsGroup:` + strings.Replace(fmt.Sprintf("%v", this.RunAsGroup), "RunAsGroupStrategyOptions", "RunAsGroupStrategyOptions", 1) + `,`,
|
`RunAsGroup:` + strings.Replace(fmt.Sprintf("%v", this.RunAsGroup), "RunAsGroupStrategyOptions", "RunAsGroupStrategyOptions", 1) + `,`,
|
||||||
|
`AllowedCSIDrivers:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.AllowedCSIDrivers), "AllowedCSIDriver", "AllowedCSIDriver", 1), `&`, ``, 1) + `,`,
|
||||||
`}`,
|
`}`,
|
||||||
}, "")
|
}, "")
|
||||||
return s
|
return s
|
||||||
|
@ -4293,6 +4360,85 @@ func valueToStringGenerated(v interface{}) string {
|
||||||
pv := reflect.Indirect(rv).Interface()
|
pv := reflect.Indirect(rv).Interface()
|
||||||
return fmt.Sprintf("*%v", pv)
|
return fmt.Sprintf("*%v", pv)
|
||||||
}
|
}
|
||||||
|
func (m *AllowedCSIDriver) Unmarshal(dAtA []byte) error {
|
||||||
|
l := len(dAtA)
|
||||||
|
iNdEx := 0
|
||||||
|
for iNdEx < l {
|
||||||
|
preIndex := iNdEx
|
||||||
|
var wire uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
wire |= (uint64(b) & 0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fieldNum := int32(wire >> 3)
|
||||||
|
wireType := int(wire & 0x7)
|
||||||
|
if wireType == 4 {
|
||||||
|
return fmt.Errorf("proto: AllowedCSIDriver: wiretype end group for non-group")
|
||||||
|
}
|
||||||
|
if fieldNum <= 0 {
|
||||||
|
return fmt.Errorf("proto: AllowedCSIDriver: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||||
|
}
|
||||||
|
switch fieldNum {
|
||||||
|
case 1:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
|
||||||
|
}
|
||||||
|
var stringLen uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
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 ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + intStringLen
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
m.Name = string(dAtA[iNdEx:postIndex])
|
||||||
|
iNdEx = postIndex
|
||||||
|
default:
|
||||||
|
iNdEx = preIndex
|
||||||
|
skippy, err := skipGenerated(dAtA[iNdEx:])
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if skippy < 0 {
|
||||||
|
return ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
if (iNdEx + skippy) > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
iNdEx += skippy
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if iNdEx > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
func (m *AllowedFlexVolume) Unmarshal(dAtA []byte) error {
|
func (m *AllowedFlexVolume) Unmarshal(dAtA []byte) error {
|
||||||
l := len(dAtA)
|
l := len(dAtA)
|
||||||
iNdEx := 0
|
iNdEx := 0
|
||||||
|
@ -9978,6 +10124,37 @@ func (m *PodSecurityPolicySpec) Unmarshal(dAtA []byte) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
|
case 23:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field AllowedCSIDrivers", wireType)
|
||||||
|
}
|
||||||
|
var msglen int
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
msglen |= (int(b) & 0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if msglen < 0 {
|
||||||
|
return ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + msglen
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
m.AllowedCSIDrivers = append(m.AllowedCSIDrivers, AllowedCSIDriver{})
|
||||||
|
if err := m.AllowedCSIDrivers[len(m.AllowedCSIDrivers)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
iNdEx = postIndex
|
||||||
default:
|
default:
|
||||||
iNdEx = preIndex
|
iNdEx = preIndex
|
||||||
skippy, err := skipGenerated(dAtA[iNdEx:])
|
skippy, err := skipGenerated(dAtA[iNdEx:])
|
||||||
|
@ -12069,230 +12246,232 @@ func init() {
|
||||||
}
|
}
|
||||||
|
|
||||||
var fileDescriptorGenerated = []byte{
|
var fileDescriptorGenerated = []byte{
|
||||||
// 3587 bytes of a gzipped FileDescriptorProto
|
// 3622 bytes of a gzipped FileDescriptorProto
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5b, 0xcd, 0x6f, 0x1c, 0x47,
|
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5b, 0xcd, 0x6f, 0x1c, 0x47,
|
||||||
0x76, 0x57, 0xcf, 0x0c, 0x39, 0xc3, 0x47, 0xf1, 0xab, 0x48, 0x91, 0x63, 0xc9, 0xe2, 0xc8, 0x6d,
|
0x76, 0x57, 0xcf, 0x0c, 0x39, 0xc3, 0x47, 0xf1, 0xab, 0x48, 0x91, 0x63, 0xc9, 0xe2, 0xc8, 0x6d,
|
||||||
0x40, 0x91, 0x1d, 0x69, 0xc6, 0x92, 0x2d, 0x59, 0xb1, 0x10, 0xdb, 0x1c, 0x52, 0x94, 0xe8, 0xf0,
|
0x40, 0x91, 0x1d, 0x69, 0xc6, 0x92, 0x25, 0x59, 0xb1, 0x10, 0xdb, 0x1c, 0x52, 0x94, 0xe8, 0xf0,
|
||||||
0x63, 0x5c, 0x43, 0x2a, 0x86, 0x11, 0x3b, 0x6e, 0xce, 0x14, 0x87, 0x2d, 0xf6, 0x74, 0xb7, 0xbb,
|
0x63, 0x5c, 0x43, 0x2a, 0x86, 0x11, 0x3b, 0x6e, 0xce, 0x14, 0x87, 0x2d, 0xf6, 0x74, 0xb7, 0xbb,
|
||||||
0x6b, 0x68, 0x0e, 0x90, 0x43, 0x0e, 0x49, 0x80, 0x00, 0x09, 0x92, 0x8b, 0x93, 0x1c, 0x63, 0x04,
|
0x6b, 0x68, 0x0e, 0x90, 0x43, 0x0e, 0x41, 0x80, 0x00, 0x09, 0x92, 0x8b, 0x93, 0x1c, 0x63, 0x04,
|
||||||
0xc8, 0x69, 0x17, 0xbb, 0xb7, 0xdd, 0x83, 0x61, 0x60, 0x01, 0x2f, 0x20, 0x2c, 0xbc, 0x80, 0x6f,
|
0xc8, 0x29, 0x41, 0x72, 0xcb, 0x1e, 0x0c, 0x03, 0x0b, 0x78, 0x01, 0x61, 0xe1, 0x05, 0x7c, 0x5b,
|
||||||
0xeb, 0x13, 0xb1, 0xa6, 0x4f, 0x8b, 0xfd, 0x07, 0x16, 0x3a, 0x2c, 0x16, 0x55, 0x5d, 0xfd, 0xdd,
|
0x9f, 0x88, 0x35, 0x7d, 0x5a, 0xec, 0x3f, 0xb0, 0xd0, 0x61, 0x77, 0x51, 0xd5, 0xd5, 0xdf, 0xdd,
|
||||||
0xad, 0x69, 0xd2, 0x12, 0xb1, 0x58, 0xec, 0x8d, 0x53, 0xef, 0xbd, 0xdf, 0x7b, 0x55, 0xf5, 0xea,
|
0x9a, 0x26, 0x2d, 0x11, 0x8b, 0xc5, 0xde, 0x38, 0xf5, 0xde, 0xfb, 0xbd, 0x57, 0x55, 0xaf, 0xde,
|
||||||
0xbd, 0xd7, 0x55, 0x8f, 0xb0, 0xbc, 0x77, 0xdb, 0xae, 0xaa, 0x46, 0x6d, 0xaf, 0xb7, 0x4d, 0x2c,
|
0x7b, 0x5d, 0xf5, 0x08, 0xcb, 0x7b, 0x77, 0xec, 0xaa, 0x6a, 0xd4, 0xf6, 0x7a, 0xdb, 0xc4, 0xd2,
|
||||||
0x9d, 0x50, 0x62, 0xd7, 0xf6, 0x89, 0xde, 0x36, 0xac, 0x9a, 0x20, 0x28, 0xa6, 0x5a, 0x23, 0x07,
|
0x09, 0x25, 0x76, 0x6d, 0x9f, 0xe8, 0x6d, 0xc3, 0xaa, 0x09, 0x82, 0x62, 0xaa, 0x35, 0x72, 0x40,
|
||||||
0x94, 0xe8, 0xb6, 0x6a, 0xe8, 0x76, 0x6d, 0xff, 0xfa, 0x36, 0xa1, 0xca, 0xf5, 0x5a, 0x87, 0xe8,
|
0x89, 0x6e, 0xab, 0x86, 0x6e, 0xd7, 0xf6, 0xaf, 0x6f, 0x13, 0xaa, 0x5c, 0xaf, 0x75, 0x88, 0x4e,
|
||||||
0xc4, 0x52, 0x28, 0x69, 0x57, 0x4d, 0xcb, 0xa0, 0x06, 0xba, 0xe8, 0xb0, 0x57, 0x15, 0x53, 0xad,
|
0x2c, 0x85, 0x92, 0x76, 0xd5, 0xb4, 0x0c, 0x6a, 0xa0, 0x8b, 0x0e, 0x7b, 0x55, 0x31, 0xd5, 0xaa,
|
||||||
0xfa, 0xec, 0x55, 0xc1, 0x7e, 0xfe, 0x5a, 0x47, 0xa5, 0xbb, 0xbd, 0xed, 0x6a, 0xcb, 0xe8, 0xd6,
|
0xcf, 0x5e, 0x15, 0xec, 0xe7, 0xaf, 0x75, 0x54, 0xba, 0xdb, 0xdb, 0xae, 0xb6, 0x8c, 0x6e, 0xad,
|
||||||
0x3a, 0x46, 0xc7, 0xa8, 0x71, 0xa9, 0xed, 0xde, 0x0e, 0xff, 0xc5, 0x7f, 0xf0, 0xbf, 0x1c, 0xb4,
|
0x63, 0x74, 0x8c, 0x1a, 0x97, 0xda, 0xee, 0xed, 0xf0, 0x5f, 0xfc, 0x07, 0xff, 0xcb, 0x41, 0x3b,
|
||||||
0xf3, 0x72, 0x40, 0x79, 0xcb, 0xb0, 0x48, 0x6d, 0x3f, 0xa6, 0xf1, 0xfc, 0x6b, 0x3e, 0x4f, 0x57,
|
0x2f, 0x07, 0x94, 0xb7, 0x0c, 0x8b, 0xd4, 0xf6, 0x63, 0x1a, 0xcf, 0xdf, 0xf4, 0x79, 0xba, 0x4a,
|
||||||
0x69, 0xed, 0xaa, 0x3a, 0xb1, 0xfa, 0x35, 0x73, 0xaf, 0xc3, 0x06, 0xec, 0x5a, 0x97, 0x50, 0x25,
|
0x6b, 0x57, 0xd5, 0x89, 0xd5, 0xaf, 0x99, 0x7b, 0x1d, 0x36, 0x60, 0xd7, 0xba, 0x84, 0x2a, 0x49,
|
||||||
0x49, 0xaa, 0x96, 0x26, 0x65, 0xf5, 0x74, 0xaa, 0x76, 0x49, 0x4c, 0xe0, 0xd6, 0x20, 0x01, 0xbb,
|
0x52, 0xb5, 0x34, 0x29, 0xab, 0xa7, 0x53, 0xb5, 0x4b, 0x62, 0x02, 0xb7, 0x07, 0x09, 0xd8, 0xad,
|
||||||
0xb5, 0x4b, 0xba, 0x4a, 0x4c, 0xee, 0xd5, 0x34, 0xb9, 0x1e, 0x55, 0xb5, 0x9a, 0xaa, 0x53, 0x9b,
|
0x5d, 0xd2, 0x55, 0x62, 0x72, 0xaf, 0xa7, 0xc9, 0xf5, 0xa8, 0xaa, 0xd5, 0x54, 0x9d, 0xda, 0xd4,
|
||||||
0x5a, 0x51, 0x21, 0xf9, 0x0e, 0x4c, 0x2d, 0x68, 0x9a, 0xf1, 0x09, 0x69, 0x2f, 0x6b, 0xe4, 0xe0,
|
0x8a, 0x0a, 0xc9, 0x37, 0x61, 0x72, 0x41, 0xd3, 0x8c, 0x4f, 0x49, 0x7b, 0xb1, 0xb9, 0xb2, 0x64,
|
||||||
0x81, 0xa1, 0xf5, 0xba, 0x04, 0x5d, 0x86, 0xe1, 0xb6, 0xa5, 0xee, 0x13, 0xab, 0x2c, 0x5d, 0x92,
|
0xa9, 0xfb, 0xc4, 0x42, 0x97, 0xa0, 0xa0, 0x2b, 0x5d, 0x52, 0x96, 0x2e, 0x49, 0x57, 0x46, 0xea,
|
||||||
0xae, 0x8c, 0xd4, 0xc7, 0x1f, 0x1d, 0x56, 0xce, 0x1c, 0x1d, 0x56, 0x86, 0x97, 0xf8, 0x28, 0x16,
|
0x67, 0x1f, 0x1f, 0x56, 0xce, 0x1c, 0x1d, 0x56, 0x0a, 0xeb, 0x4a, 0x97, 0x60, 0x4e, 0x91, 0xef,
|
||||||
0x54, 0xd9, 0x86, 0x09, 0x21, 0x7c, 0xdf, 0xb0, 0x69, 0x43, 0xa1, 0xbb, 0xe8, 0x06, 0x80, 0xa9,
|
0xc2, 0x94, 0x90, 0x5a, 0xd6, 0xc8, 0xc1, 0x43, 0x43, 0xeb, 0x75, 0x09, 0xba, 0x0c, 0xc3, 0x6d,
|
||||||
0xd0, 0xdd, 0x86, 0x45, 0x76, 0xd4, 0x03, 0x21, 0x8e, 0x84, 0x38, 0x34, 0x3c, 0x0a, 0x0e, 0x70,
|
0x0e, 0x20, 0x04, 0xc7, 0x85, 0xe0, 0xb0, 0x03, 0x8b, 0x05, 0x55, 0xb6, 0x61, 0x42, 0x08, 0x3f,
|
||||||
0xa1, 0xab, 0x50, 0xb2, 0x88, 0xd2, 0xde, 0xd0, 0xb5, 0x7e, 0x39, 0x77, 0x49, 0xba, 0x52, 0xaa,
|
0x30, 0x6c, 0xda, 0x50, 0xe8, 0x2e, 0xba, 0x01, 0x60, 0x2a, 0x74, 0xb7, 0x61, 0x91, 0x1d, 0xf5,
|
||||||
0x4f, 0x0a, 0x89, 0x12, 0x16, 0xe3, 0xd8, 0xe3, 0x90, 0x3f, 0xcd, 0xc1, 0xc8, 0x92, 0x42, 0xba,
|
0x40, 0x88, 0x23, 0x21, 0x0e, 0x0d, 0x8f, 0x82, 0x03, 0x5c, 0xe8, 0x2a, 0x94, 0x2c, 0xa2, 0xb4,
|
||||||
0x86, 0xde, 0x24, 0x14, 0x7d, 0x04, 0x25, 0xb6, 0xf0, 0x6d, 0x85, 0x2a, 0x5c, 0xdb, 0xe8, 0x8d,
|
0x37, 0x74, 0xad, 0x5f, 0xce, 0x5d, 0x92, 0xae, 0x94, 0xea, 0x93, 0x42, 0xa2, 0x84, 0xc5, 0x38,
|
||||||
0x57, 0xaa, 0xbe, 0x63, 0x78, 0xeb, 0x50, 0x35, 0xf7, 0x3a, 0x6c, 0xc0, 0xae, 0x32, 0xee, 0xea,
|
0xf6, 0x38, 0xe4, 0xcf, 0x72, 0x30, 0xb2, 0xa4, 0x90, 0xae, 0xa1, 0x37, 0x09, 0x45, 0x1f, 0x43,
|
||||||
0xfe, 0xf5, 0xea, 0xc6, 0xf6, 0x43, 0xd2, 0xa2, 0x6b, 0x84, 0x2a, 0xbe, 0x7d, 0xfe, 0x18, 0xf6,
|
0x89, 0x6d, 0x57, 0x5b, 0xa1, 0x0a, 0xd7, 0x36, 0x7a, 0xe3, 0xb5, 0xaa, 0xef, 0x4e, 0xde, 0xea,
|
||||||
0x50, 0xd1, 0x3a, 0x14, 0x6c, 0x93, 0xb4, 0xb8, 0x65, 0xa3, 0x37, 0xae, 0x56, 0x9f, 0xe8, 0x76,
|
0x55, 0xcd, 0xbd, 0x0e, 0x1b, 0xb0, 0xab, 0x8c, 0xbb, 0xba, 0x7f, 0xbd, 0xba, 0xb1, 0xfd, 0x88,
|
||||||
0x55, 0xcf, 0xb2, 0xa6, 0x49, 0x5a, 0xf5, 0xb3, 0x02, 0xb9, 0xc0, 0x7e, 0x61, 0x8e, 0x83, 0x1e,
|
0xb4, 0xe8, 0x1a, 0xa1, 0x8a, 0x6f, 0x9f, 0x3f, 0x86, 0x3d, 0x54, 0xb4, 0x0e, 0x05, 0xdb, 0x24,
|
||||||
0xc0, 0xb0, 0x4d, 0x15, 0xda, 0xb3, 0xcb, 0x79, 0x8e, 0x58, 0xcd, 0x8c, 0xc8, 0xa5, 0xfc, 0xcd,
|
0x2d, 0x6e, 0xd9, 0xe8, 0x8d, 0xab, 0xd5, 0xa7, 0x3a, 0x6b, 0xd5, 0xb3, 0xac, 0x69, 0x92, 0x96,
|
||||||
0x70, 0x7e, 0x63, 0x81, 0x26, 0xff, 0x26, 0x07, 0xc8, 0xe3, 0x5d, 0x34, 0xf4, 0xb6, 0x4a, 0x55,
|
0xbf, 0xe2, 0xec, 0x17, 0xe6, 0x38, 0xe8, 0x21, 0x0c, 0xdb, 0x54, 0xa1, 0x3d, 0xbb, 0x9c, 0xe7,
|
||||||
0x43, 0x47, 0x6f, 0x40, 0x81, 0xf6, 0x4d, 0x22, 0xb6, 0xe2, 0xb2, 0x6b, 0xd0, 0x66, 0xdf, 0x24,
|
0x88, 0xd5, 0xcc, 0x88, 0x5c, 0xca, 0xdf, 0x0c, 0xe7, 0x37, 0x16, 0x68, 0xf2, 0x2f, 0x73, 0x80,
|
||||||
0x8f, 0x0f, 0x2b, 0xb3, 0x71, 0x09, 0x46, 0xc1, 0x5c, 0x06, 0xad, 0x7a, 0xa6, 0xe6, 0xb8, 0xf4,
|
0x3c, 0xde, 0x45, 0x43, 0x6f, 0xab, 0x54, 0x35, 0x74, 0xf4, 0x26, 0x14, 0x68, 0xdf, 0x74, 0x5d,
|
||||||
0x6b, 0x61, 0xd5, 0x8f, 0x0f, 0x2b, 0x09, 0xc7, 0xa6, 0xea, 0x21, 0x85, 0x0d, 0x44, 0xfb, 0x80,
|
0xe0, 0xb2, 0x6b, 0xd0, 0x66, 0xdf, 0x24, 0x4f, 0x0e, 0x2b, 0xb3, 0x71, 0x09, 0x46, 0xc1, 0x5c,
|
||||||
0x34, 0xc5, 0xa6, 0x9b, 0x96, 0xa2, 0xdb, 0x8e, 0x26, 0xb5, 0x4b, 0xc4, 0x22, 0xbc, 0x9c, 0x6d,
|
0x06, 0xad, 0x7a, 0xa6, 0xe6, 0xb8, 0xf4, 0xcd, 0xb0, 0xea, 0x27, 0x87, 0x95, 0x84, 0xc3, 0x56,
|
||||||
0xd3, 0x98, 0x44, 0xfd, 0xbc, 0xb0, 0x02, 0xad, 0xc6, 0xd0, 0x70, 0x82, 0x06, 0xe6, 0xcd, 0x16,
|
0xf5, 0x90, 0xc2, 0x06, 0xa2, 0x7d, 0x40, 0x9a, 0x62, 0xd3, 0x4d, 0x4b, 0xd1, 0x6d, 0x47, 0x93,
|
||||||
0x51, 0x6c, 0x43, 0x2f, 0x17, 0xc2, 0xde, 0x8c, 0xf9, 0x28, 0x16, 0x54, 0xf4, 0x12, 0x14, 0xbb,
|
0xda, 0x25, 0x62, 0x11, 0x5e, 0xcd, 0xb6, 0x69, 0x4c, 0xa2, 0x7e, 0x5e, 0x58, 0x81, 0x56, 0x63,
|
||||||
0xc4, 0xb6, 0x95, 0x0e, 0x29, 0x0f, 0x71, 0xc6, 0x09, 0xc1, 0x58, 0x5c, 0x73, 0x86, 0xb1, 0x4b,
|
0x68, 0x38, 0x41, 0x03, 0xf3, 0x66, 0x8b, 0x28, 0xb6, 0xa1, 0x97, 0x0b, 0x61, 0x6f, 0xc6, 0x7c,
|
||||||
0x97, 0x3f, 0x97, 0x60, 0xcc, 0x5b, 0xb9, 0x55, 0xd5, 0xa6, 0xe8, 0xef, 0x62, 0x7e, 0x58, 0xcd,
|
0x14, 0x0b, 0x2a, 0x7a, 0x05, 0x8a, 0x5d, 0x62, 0xdb, 0x4a, 0x87, 0x94, 0x87, 0x38, 0xe3, 0x84,
|
||||||
0x36, 0x25, 0x26, 0xcd, 0xbd, 0xd0, 0xf3, 0x79, 0x77, 0x24, 0xe0, 0x83, 0x6b, 0x30, 0xa4, 0x52,
|
0x60, 0x2c, 0xae, 0x39, 0xc3, 0xd8, 0xa5, 0xcb, 0x5f, 0x48, 0x30, 0xe6, 0xad, 0xdc, 0xaa, 0x6a,
|
||||||
0xd2, 0x65, 0xfb, 0x90, 0xbf, 0x32, 0x7a, 0xe3, 0x4a, 0x56, 0x97, 0xa9, 0x8f, 0x09, 0xd0, 0xa1,
|
0x53, 0xf4, 0x57, 0x31, 0x3f, 0xac, 0x66, 0x9b, 0x12, 0x93, 0xe6, 0x5e, 0xe8, 0xf9, 0xbc, 0x3b,
|
||||||
0x15, 0x26, 0x8e, 0x1d, 0x14, 0xf9, 0xbf, 0x0a, 0x01, 0xf3, 0x99, 0x6b, 0xa2, 0x0f, 0xa0, 0x64,
|
0x12, 0xf0, 0xc1, 0x35, 0x18, 0x52, 0x29, 0xe9, 0xb2, 0x7d, 0xc8, 0x5f, 0x19, 0xbd, 0x71, 0x25,
|
||||||
0x13, 0x8d, 0xb4, 0xa8, 0x61, 0x09, 0xf3, 0x5f, 0xcd, 0x68, 0xbe, 0xb2, 0x4d, 0xb4, 0xa6, 0x10,
|
0xab, 0xcb, 0xd4, 0xc7, 0x04, 0xe8, 0xd0, 0x0a, 0x13, 0xc7, 0x0e, 0x8a, 0xfc, 0xaf, 0x85, 0x80,
|
||||||
0xad, 0x9f, 0x65, 0xf6, 0xbb, 0xbf, 0xb0, 0x07, 0x89, 0xde, 0x85, 0x12, 0x25, 0x5d, 0x53, 0x53,
|
0xf9, 0xcc, 0x35, 0xd1, 0x87, 0x50, 0xb2, 0x89, 0x46, 0x5a, 0xd4, 0xb0, 0x84, 0xf9, 0xaf, 0x67,
|
||||||
0x28, 0x11, 0xe7, 0xe8, 0xc5, 0xe0, 0x14, 0x98, 0xe7, 0x30, 0xb0, 0x86, 0xd1, 0xde, 0x14, 0x6c,
|
0x34, 0x5f, 0xd9, 0x26, 0x5a, 0x53, 0x88, 0xd6, 0xcf, 0x32, 0xfb, 0xdd, 0x5f, 0xd8, 0x83, 0x44,
|
||||||
0xfc, 0xf8, 0x78, 0x4b, 0xe2, 0x8e, 0x62, 0x0f, 0x06, 0xed, 0xc3, 0x78, 0xcf, 0x6c, 0x33, 0x4e,
|
0xef, 0x41, 0x89, 0x92, 0xae, 0xa9, 0x29, 0x94, 0x88, 0x73, 0xf4, 0x72, 0x70, 0x0a, 0xcc, 0x73,
|
||||||
0xca, 0xe2, 0x59, 0xa7, 0x2f, 0x3c, 0xe9, 0x56, 0xd6, 0xb5, 0xd9, 0x0a, 0x49, 0xd7, 0x67, 0x85,
|
0x18, 0x58, 0xc3, 0x68, 0x6f, 0x0a, 0x36, 0x7e, 0x7c, 0xbc, 0x25, 0x71, 0x47, 0xb1, 0x07, 0x83,
|
||||||
0xae, 0xf1, 0xf0, 0x38, 0x8e, 0x68, 0x41, 0x0b, 0x30, 0xd1, 0x55, 0x75, 0x16, 0x97, 0xfa, 0x4d,
|
0xf6, 0x61, 0xbc, 0x67, 0xb6, 0x19, 0x27, 0x65, 0x51, 0xb0, 0xd3, 0x17, 0x9e, 0x74, 0x3b, 0xeb,
|
||||||
0xd2, 0x32, 0xf4, 0xb6, 0xcd, 0xdd, 0x6a, 0xa8, 0x3e, 0x27, 0x00, 0x26, 0xd6, 0xc2, 0x64, 0x1c,
|
0xda, 0x6c, 0x85, 0xa4, 0xeb, 0xb3, 0x42, 0xd7, 0x78, 0x78, 0x1c, 0x47, 0xb4, 0xa0, 0x05, 0x98,
|
||||||
0xe5, 0x47, 0xef, 0x00, 0x72, 0xa7, 0x71, 0xcf, 0x09, 0xc7, 0xaa, 0xa1, 0x73, 0x9f, 0xcb, 0xfb,
|
0xe8, 0xaa, 0x3a, 0x8b, 0x4b, 0xfd, 0x26, 0x69, 0x19, 0x7a, 0xdb, 0xe6, 0x6e, 0x35, 0x54, 0x9f,
|
||||||
0xce, 0xbd, 0x19, 0xe3, 0xc0, 0x09, 0x52, 0x68, 0x15, 0x66, 0x2c, 0xb2, 0xaf, 0xb2, 0x39, 0xde,
|
0x13, 0x00, 0x13, 0x6b, 0x61, 0x32, 0x8e, 0xf2, 0xa3, 0x77, 0x01, 0xb9, 0xd3, 0xb8, 0xef, 0x04,
|
||||||
0x57, 0x6d, 0x6a, 0x58, 0xfd, 0x55, 0xb5, 0xab, 0xd2, 0xf2, 0x30, 0xb7, 0xa9, 0x7c, 0x74, 0x58,
|
0x71, 0xd5, 0xd0, 0xb9, 0xcf, 0xe5, 0x7d, 0xe7, 0xde, 0x8c, 0x71, 0xe0, 0x04, 0x29, 0xb4, 0x0a,
|
||||||
0x99, 0xc1, 0x09, 0x74, 0x9c, 0x28, 0x25, 0xff, 0xf7, 0x30, 0x4c, 0x44, 0xe2, 0x0d, 0x7a, 0x00,
|
0x33, 0x16, 0xd9, 0x57, 0xd9, 0x1c, 0x1f, 0xa8, 0x36, 0x35, 0xac, 0xfe, 0xaa, 0xda, 0x55, 0x69,
|
||||||
0xb3, 0xad, 0x9e, 0x65, 0x11, 0x9d, 0xae, 0xf7, 0xba, 0xdb, 0xc4, 0x6a, 0xb6, 0x76, 0x49, 0xbb,
|
0x79, 0x98, 0xdb, 0x54, 0x3e, 0x3a, 0xac, 0xcc, 0xe0, 0x04, 0x3a, 0x4e, 0x94, 0x92, 0xff, 0x6d,
|
||||||
0xa7, 0x91, 0x36, 0x77, 0x94, 0xa1, 0xfa, 0xbc, 0xb0, 0x78, 0x76, 0x31, 0x91, 0x0b, 0xa7, 0x48,
|
0x18, 0x26, 0x22, 0xf1, 0x06, 0x3d, 0x84, 0xd9, 0x56, 0xcf, 0xb2, 0x88, 0x4e, 0xd7, 0x7b, 0xdd,
|
||||||
0xb3, 0x55, 0xd0, 0xf9, 0xd0, 0x9a, 0x6a, 0xdb, 0x1e, 0x66, 0x8e, 0x63, 0x7a, 0xab, 0xb0, 0x1e,
|
0x6d, 0x62, 0x35, 0x5b, 0xbb, 0xa4, 0xdd, 0xd3, 0x48, 0x9b, 0x3b, 0xca, 0x50, 0x7d, 0x5e, 0x58,
|
||||||
0xe3, 0xc0, 0x09, 0x52, 0xcc, 0xc6, 0x36, 0xb1, 0x55, 0x8b, 0xb4, 0xa3, 0x36, 0xe6, 0xc3, 0x36,
|
0x3c, 0xbb, 0x98, 0xc8, 0x85, 0x53, 0xa4, 0xd9, 0x2a, 0xe8, 0x7c, 0x68, 0x4d, 0xb5, 0x6d, 0x0f,
|
||||||
0x2e, 0x25, 0x72, 0xe1, 0x14, 0x69, 0x74, 0x13, 0x46, 0x1d, 0x6d, 0x7c, 0xff, 0xc4, 0x46, 0x4f,
|
0x33, 0xc7, 0x31, 0xbd, 0x55, 0x58, 0x8f, 0x71, 0xe0, 0x04, 0x29, 0x66, 0x63, 0x9b, 0xd8, 0xaa,
|
||||||
0x0b, 0xb0, 0xd1, 0x75, 0x9f, 0x84, 0x83, 0x7c, 0x6c, 0x6a, 0xc6, 0xb6, 0x4d, 0xac, 0x7d, 0xd2,
|
0x45, 0xda, 0x51, 0x1b, 0xf3, 0x61, 0x1b, 0x97, 0x12, 0xb9, 0x70, 0x8a, 0x34, 0xba, 0x05, 0xa3,
|
||||||
0x4e, 0xdf, 0xe0, 0x8d, 0x18, 0x07, 0x4e, 0x90, 0x62, 0x53, 0x73, 0x3c, 0x30, 0x36, 0xb5, 0xe1,
|
0x8e, 0x36, 0xbe, 0x7f, 0x62, 0xa3, 0xa7, 0x05, 0xd8, 0xe8, 0xba, 0x4f, 0xc2, 0x41, 0x3e, 0x36,
|
||||||
0xf0, 0xd4, 0xb6, 0x12, 0xb9, 0x70, 0x8a, 0x34, 0xf3, 0x63, 0xc7, 0xe4, 0x85, 0x7d, 0x45, 0xd5,
|
0x35, 0x63, 0xdb, 0x26, 0xd6, 0x3e, 0x69, 0xa7, 0x6f, 0xf0, 0x46, 0x8c, 0x03, 0x27, 0x48, 0xb1,
|
||||||
0x94, 0x6d, 0x8d, 0x94, 0x8b, 0x61, 0x3f, 0x5e, 0x0f, 0x93, 0x71, 0x94, 0x1f, 0xdd, 0x83, 0x29,
|
0xa9, 0x39, 0x1e, 0x18, 0x9b, 0xda, 0x70, 0x78, 0x6a, 0x5b, 0x89, 0x5c, 0x38, 0x45, 0x9a, 0xf9,
|
||||||
0x67, 0x68, 0x4b, 0x57, 0x3c, 0x90, 0x12, 0x07, 0x79, 0x4e, 0x80, 0x4c, 0xad, 0x47, 0x19, 0x70,
|
0xb1, 0x63, 0xf2, 0xc2, 0xbe, 0xa2, 0x6a, 0xca, 0xb6, 0x46, 0xca, 0xc5, 0xb0, 0x1f, 0xaf, 0x87,
|
||||||
0x5c, 0x06, 0xbd, 0x01, 0xe3, 0x2d, 0x43, 0xd3, 0xb8, 0x3f, 0x2e, 0x1a, 0x3d, 0x9d, 0x96, 0x47,
|
0xc9, 0x38, 0xca, 0x8f, 0xee, 0xc3, 0x94, 0x33, 0xb4, 0xa5, 0x2b, 0x1e, 0x48, 0x89, 0x83, 0xbc,
|
||||||
0x38, 0x0a, 0x62, 0xe7, 0x71, 0x31, 0x44, 0xc1, 0x11, 0x4e, 0x44, 0x00, 0x5a, 0x6e, 0xc2, 0xb1,
|
0x20, 0x40, 0xa6, 0xd6, 0xa3, 0x0c, 0x38, 0x2e, 0x83, 0xde, 0x84, 0xf1, 0x96, 0xa1, 0x69, 0xdc,
|
||||||
0xcb, 0xc0, 0xe3, 0xe3, 0xf5, 0xac, 0x31, 0xc0, 0x4b, 0x55, 0x7e, 0x0d, 0xe0, 0x0d, 0xd9, 0x38,
|
0x1f, 0x17, 0x8d, 0x9e, 0x4e, 0xcb, 0x23, 0x1c, 0x05, 0xb1, 0xf3, 0xb8, 0x18, 0xa2, 0xe0, 0x08,
|
||||||
0x00, 0x2c, 0xff, 0x42, 0x82, 0xb9, 0x94, 0xd0, 0x81, 0xde, 0x0a, 0xa5, 0xd8, 0xbf, 0x8c, 0xa4,
|
0x27, 0x22, 0x00, 0x2d, 0x37, 0xe1, 0xd8, 0x65, 0xe0, 0xf1, 0xf1, 0x7a, 0xd6, 0x18, 0xe0, 0xa5,
|
||||||
0xd8, 0x0b, 0x29, 0x62, 0x81, 0x3c, 0xab, 0xc3, 0x98, 0xc5, 0x66, 0xa5, 0x77, 0x1c, 0x16, 0x11,
|
0x2a, 0xbf, 0x06, 0xf0, 0x86, 0x6c, 0x1c, 0x00, 0x96, 0x7f, 0x2a, 0xc1, 0x5c, 0x4a, 0xe8, 0x40,
|
||||||
0x23, 0x6f, 0x0e, 0x98, 0x06, 0x0e, 0xca, 0xf8, 0x31, 0x7f, 0xea, 0xe8, 0xb0, 0x32, 0x16, 0xa2,
|
0x6f, 0x87, 0x52, 0xec, 0x9f, 0x46, 0x52, 0xec, 0x85, 0x14, 0xb1, 0x40, 0x9e, 0xd5, 0x61, 0xcc,
|
||||||
0xe1, 0x30, 0xbc, 0xfc, 0x3f, 0x39, 0x80, 0x25, 0x62, 0x6a, 0x46, 0xbf, 0x4b, 0xf4, 0xd3, 0xa8,
|
0x62, 0xb3, 0xd2, 0x3b, 0x0e, 0x8b, 0x88, 0x91, 0xb7, 0x06, 0x4c, 0x03, 0x07, 0x65, 0xfc, 0x98,
|
||||||
0xa1, 0x36, 0x42, 0x35, 0xd4, 0xb5, 0x41, 0xdb, 0xe3, 0x99, 0x96, 0x5a, 0x44, 0xfd, 0x6d, 0xa4,
|
0x3f, 0x75, 0x74, 0x58, 0x19, 0x0b, 0xd1, 0x70, 0x18, 0x5e, 0xfe, 0xf7, 0x1c, 0xc0, 0x12, 0x31,
|
||||||
0x88, 0xaa, 0x65, 0x87, 0x7c, 0x72, 0x15, 0xf5, 0xab, 0x3c, 0x4c, 0xfb, 0xcc, 0x7e, 0x19, 0x75,
|
0x35, 0xa3, 0xdf, 0x25, 0xfa, 0x69, 0xd4, 0x50, 0x1b, 0xa1, 0x1a, 0xea, 0xda, 0xa0, 0xed, 0xf1,
|
||||||
0x27, 0xb4, 0xc7, 0x7f, 0x11, 0xd9, 0xe3, 0xb9, 0x04, 0x91, 0x67, 0x56, 0x47, 0x3d, 0xfd, 0x7a,
|
0x4c, 0x4b, 0x2d, 0xa2, 0xfe, 0x32, 0x52, 0x44, 0xd5, 0xb2, 0x43, 0x3e, 0xbd, 0x8a, 0xfa, 0x79,
|
||||||
0x06, 0x3d, 0x84, 0x71, 0x56, 0x38, 0x39, 0xee, 0xc1, 0xcb, 0xb2, 0xe1, 0x63, 0x97, 0x65, 0x5e,
|
0x1e, 0xa6, 0x7d, 0x66, 0xbf, 0x8c, 0xba, 0x1b, 0xda, 0xe3, 0x3f, 0x89, 0xec, 0xf1, 0x5c, 0x82,
|
||||||
0x02, 0x5d, 0x0d, 0x21, 0xe1, 0x08, 0x72, 0x4a, 0x19, 0x58, 0x7c, 0xd6, 0x65, 0xa0, 0xfc, 0x85,
|
0xc8, 0x73, 0xab, 0xa3, 0x9e, 0x7d, 0x3d, 0x83, 0x1e, 0xc1, 0x38, 0x2b, 0x9c, 0x1c, 0xf7, 0xe0,
|
||||||
0x04, 0xe3, 0xfe, 0x36, 0x9d, 0x42, 0xd1, 0xb6, 0x1e, 0x2e, 0xda, 0x5e, 0xca, 0xec, 0xa2, 0x29,
|
0x65, 0xd9, 0xf0, 0xb1, 0xcb, 0x32, 0x2f, 0x81, 0xae, 0x86, 0x90, 0x70, 0x04, 0x39, 0xa5, 0x0c,
|
||||||
0x55, 0xdb, 0xef, 0x58, 0x81, 0xef, 0x31, 0xb1, 0x03, 0xbe, 0xad, 0xb4, 0xf6, 0xd0, 0x25, 0x28,
|
0x2c, 0x3e, 0xef, 0x32, 0x50, 0xfe, 0x52, 0x82, 0x71, 0x7f, 0x9b, 0x4e, 0xa1, 0x68, 0x5b, 0x0f,
|
||||||
0xe8, 0x4a, 0xd7, 0xf5, 0x4c, 0xef, 0xb0, 0xac, 0x2b, 0x5d, 0x82, 0x39, 0x05, 0x7d, 0x2a, 0x01,
|
0x17, 0x6d, 0xaf, 0x64, 0x76, 0xd1, 0x94, 0xaa, 0xed, 0xd7, 0xac, 0xc0, 0xf7, 0x98, 0xd8, 0x01,
|
||||||
0x12, 0x59, 0x60, 0x41, 0xd7, 0x0d, 0xaa, 0x38, 0xb1, 0xd2, 0x31, 0x6b, 0x25, 0xb3, 0x59, 0xae,
|
0xdf, 0x56, 0x5a, 0x7b, 0x83, 0xbf, 0xf1, 0xd0, 0x67, 0x12, 0x20, 0x91, 0x05, 0x16, 0x74, 0xdd,
|
||||||
0xc6, 0xea, 0x56, 0x0c, 0xeb, 0xae, 0x4e, 0xad, 0xbe, 0xbf, 0x23, 0x71, 0x06, 0x9c, 0x60, 0x00,
|
0xa0, 0x8a, 0x13, 0x2b, 0x1d, 0xb3, 0x56, 0x32, 0x9b, 0xe5, 0x6a, 0xac, 0x6e, 0xc5, 0xb0, 0xee,
|
||||||
0x52, 0x00, 0x2c, 0x81, 0xb9, 0x69, 0x88, 0x83, 0x7c, 0x2d, 0x43, 0xcc, 0x63, 0x02, 0x8b, 0x86,
|
0xe9, 0xd4, 0xea, 0xfb, 0x3b, 0x12, 0x67, 0xc0, 0x09, 0x06, 0x20, 0x05, 0xc0, 0x12, 0x98, 0x9b,
|
||||||
0xbe, 0xa3, 0x76, 0xfc, 0xb0, 0x83, 0x3d, 0x20, 0x1c, 0x00, 0x3d, 0x7f, 0x17, 0xe6, 0x52, 0xac,
|
0x86, 0x38, 0xc8, 0xd7, 0x32, 0xc4, 0x3c, 0x26, 0xb0, 0x68, 0xe8, 0x3b, 0x6a, 0xc7, 0x0f, 0x3b,
|
||||||
0x45, 0x93, 0x90, 0xdf, 0x23, 0x7d, 0x67, 0xd9, 0x30, 0xfb, 0x13, 0xcd, 0xc0, 0xd0, 0xbe, 0xa2,
|
0xd8, 0x03, 0xc2, 0x01, 0xd0, 0xf3, 0xf7, 0x60, 0x2e, 0xc5, 0x5a, 0x34, 0x09, 0xf9, 0x3d, 0xd2,
|
||||||
0xf5, 0x9c, 0xf0, 0x3b, 0x82, 0x9d, 0x1f, 0x6f, 0xe4, 0x6e, 0x4b, 0xf2, 0xe7, 0x43, 0x41, 0xdf,
|
0x77, 0x96, 0x0d, 0xb3, 0x3f, 0xd1, 0x0c, 0x0c, 0xed, 0x2b, 0x5a, 0xcf, 0x09, 0xbf, 0x23, 0xd8,
|
||||||
0xe1, 0x15, 0xf3, 0x15, 0xf6, 0xd1, 0x6a, 0x6a, 0x6a, 0x4b, 0xb1, 0x45, 0x21, 0x74, 0xd6, 0xf9,
|
0xf9, 0xf1, 0x66, 0xee, 0x8e, 0x24, 0x7f, 0x31, 0x14, 0xf4, 0x1d, 0x5e, 0x31, 0x5f, 0x61, 0x1f,
|
||||||
0x60, 0x75, 0xc6, 0xb0, 0x47, 0x0d, 0xd5, 0xd6, 0xb9, 0x67, 0x5b, 0x5b, 0xe7, 0x9f, 0x4e, 0x6d,
|
0xad, 0xa6, 0xa6, 0xb6, 0x14, 0x5b, 0x14, 0x42, 0x67, 0x9d, 0x0f, 0x56, 0x67, 0x0c, 0x7b, 0xd4,
|
||||||
0xfd, 0xf7, 0x50, 0xb2, 0xdd, 0xaa, 0xba, 0xc0, 0x21, 0xaf, 0x1f, 0x23, 0xbe, 0x8a, 0x82, 0xda,
|
0x50, 0x6d, 0x9d, 0x7b, 0xbe, 0xb5, 0x75, 0xfe, 0xd9, 0xd4, 0xd6, 0x7f, 0x0d, 0x25, 0xdb, 0xad,
|
||||||
0x53, 0xe0, 0x95, 0xd2, 0x1e, 0x68, 0x52, 0x11, 0x3d, 0x74, 0xcc, 0x22, 0xfa, 0xa9, 0x16, 0xbe,
|
0xaa, 0x0b, 0x1c, 0xf2, 0xfa, 0x31, 0xe2, 0xab, 0x28, 0xa8, 0x3d, 0x05, 0x5e, 0x29, 0xed, 0x81,
|
||||||
0x2c, 0xa6, 0x9a, 0x4a, 0xcf, 0x26, 0x6d, 0x1e, 0x88, 0x4a, 0x7e, 0x4c, 0x6d, 0xf0, 0x51, 0x2c,
|
0x26, 0x15, 0xd1, 0x43, 0xc7, 0x2c, 0xa2, 0x9f, 0x69, 0xe1, 0xcb, 0x62, 0xaa, 0xa9, 0xf4, 0x6c,
|
||||||
0xa8, 0xe8, 0x83, 0x90, 0xcb, 0x96, 0x4e, 0xe2, 0xb2, 0xe3, 0xe9, 0xee, 0x8a, 0xb6, 0x60, 0xce,
|
0xd2, 0xe6, 0x81, 0xa8, 0xe4, 0xc7, 0xd4, 0x06, 0x1f, 0xc5, 0x82, 0x8a, 0x3e, 0x0c, 0xb9, 0x6c,
|
||||||
0xb4, 0x8c, 0x8e, 0x45, 0x6c, 0x7b, 0x89, 0x28, 0x6d, 0x4d, 0xd5, 0x89, 0xbb, 0x3e, 0x4e, 0x45,
|
0xe9, 0x24, 0x2e, 0x3b, 0x9e, 0xee, 0xae, 0x68, 0x0b, 0xe6, 0x4c, 0xcb, 0xe8, 0x58, 0xc4, 0xb6,
|
||||||
0x74, 0xe1, 0xe8, 0xb0, 0x32, 0xd7, 0x48, 0x66, 0xc1, 0x69, 0xb2, 0xf2, 0xa3, 0x02, 0x4c, 0x46,
|
0x97, 0x88, 0xd2, 0xd6, 0x54, 0x9d, 0xb8, 0xeb, 0xe3, 0x54, 0x44, 0x17, 0x8e, 0x0e, 0x2b, 0x73,
|
||||||
0x33, 0x60, 0x4a, 0x91, 0x2a, 0x9d, 0xa8, 0x48, 0xbd, 0x1a, 0x38, 0x0c, 0x4e, 0x05, 0x1f, 0xb8,
|
0x8d, 0x64, 0x16, 0x9c, 0x26, 0x2b, 0x3f, 0x2e, 0xc0, 0x64, 0x34, 0x03, 0xa6, 0x14, 0xa9, 0xd2,
|
||||||
0xc1, 0x89, 0x1d, 0x88, 0x05, 0x98, 0x10, 0xd1, 0xc0, 0x25, 0x8a, 0x32, 0xdd, 0xdb, 0xfd, 0xad,
|
0x89, 0x8a, 0xd4, 0xab, 0x81, 0xc3, 0xe0, 0x54, 0xf0, 0x81, 0x1b, 0x9c, 0xd8, 0x81, 0x58, 0x80,
|
||||||
0x30, 0x19, 0x47, 0xf9, 0x59, 0xe9, 0xe9, 0x57, 0x94, 0x2e, 0x48, 0x21, 0x5c, 0x7a, 0x2e, 0x44,
|
0x09, 0x11, 0x0d, 0x5c, 0xa2, 0x28, 0xd3, 0xbd, 0xdd, 0xdf, 0x0a, 0x93, 0x71, 0x94, 0x9f, 0x95,
|
||||||
0x19, 0x70, 0x5c, 0x06, 0xad, 0xc1, 0x74, 0x4f, 0x8f, 0x43, 0x39, 0xde, 0x78, 0x41, 0x40, 0x4d,
|
0x9e, 0x7e, 0x45, 0xe9, 0x82, 0x14, 0xc2, 0xa5, 0xe7, 0x42, 0x94, 0x01, 0xc7, 0x65, 0xd0, 0x1a,
|
||||||
0x6f, 0xc5, 0x59, 0x70, 0x92, 0x1c, 0xda, 0x09, 0x55, 0xa3, 0xc3, 0x3c, 0xc2, 0xde, 0xc8, 0x7c,
|
0x4c, 0xf7, 0xf4, 0x38, 0x94, 0xe3, 0x8d, 0x17, 0x04, 0xd4, 0xf4, 0x56, 0x9c, 0x05, 0x27, 0xc9,
|
||||||
0x76, 0x32, 0x97, 0xa3, 0xe8, 0x0e, 0x8c, 0x59, 0xfc, 0xbb, 0xc3, 0x35, 0xd8, 0xa9, 0xdd, 0xcf,
|
0xa1, 0x9d, 0x50, 0x35, 0x3a, 0xcc, 0x23, 0xec, 0x8d, 0xcc, 0x67, 0x27, 0x73, 0x39, 0x8a, 0xee,
|
||||||
0x09, 0xb1, 0x31, 0x1c, 0x24, 0xe2, 0x30, 0x6f, 0x42, 0xb9, 0x5d, 0xca, 0x5a, 0x6e, 0xcb, 0x3f,
|
0xc2, 0x98, 0xc5, 0xbf, 0x3b, 0x5c, 0x83, 0x9d, 0xda, 0xfd, 0x9c, 0x10, 0x1b, 0xc3, 0x41, 0x22,
|
||||||
0x93, 0x82, 0x49, 0xc8, 0x2b, 0x81, 0x07, 0xdd, 0x32, 0xc5, 0x24, 0x02, 0xd5, 0x91, 0x91, 0x5c,
|
0x0e, 0xf3, 0x26, 0x94, 0xdb, 0xa5, 0xac, 0xe5, 0xb6, 0xfc, 0x63, 0x29, 0x98, 0x84, 0xbc, 0x12,
|
||||||
0xfd, 0xde, 0x3a, 0x56, 0xf5, 0xeb, 0x27, 0xcf, 0xc1, 0xe5, 0xef, 0x67, 0x12, 0xcc, 0x2e, 0x37,
|
0x78, 0xd0, 0x2d, 0x53, 0x4c, 0x22, 0x50, 0x1d, 0x19, 0xc9, 0xd5, 0xef, 0xed, 0x63, 0x55, 0xbf,
|
||||||
0xef, 0x59, 0x46, 0xcf, 0x74, 0xcd, 0xd9, 0x30, 0x9d, 0x75, 0x7d, 0x1d, 0x0a, 0x56, 0x4f, 0x73,
|
0x7e, 0xf2, 0x1c, 0x5c, 0xfe, 0x7e, 0x2e, 0xc1, 0xec, 0x72, 0xf3, 0xbe, 0x65, 0xf4, 0x4c, 0xd7,
|
||||||
0xe7, 0xf1, 0xa2, 0x3b, 0x0f, 0xdc, 0xd3, 0xd8, 0x3c, 0xa6, 0x23, 0x52, 0xce, 0x24, 0x98, 0x00,
|
0x9c, 0x0d, 0xd3, 0x59, 0xd7, 0x37, 0xa0, 0x60, 0xf5, 0x34, 0x77, 0x1e, 0x2f, 0xbb, 0xf3, 0xc0,
|
||||||
0x5a, 0x87, 0x61, 0x4b, 0xd1, 0x3b, 0xc4, 0x4d, 0xab, 0x97, 0x07, 0x58, 0xbf, 0xb2, 0x84, 0x19,
|
0x3d, 0x8d, 0xcd, 0x63, 0x3a, 0x22, 0xe5, 0x4c, 0x82, 0x09, 0xa0, 0x75, 0x18, 0xb6, 0x14, 0xbd,
|
||||||
0x7b, 0xa0, 0x78, 0xe3, 0xd2, 0x58, 0xa0, 0xc8, 0xff, 0x2e, 0xc1, 0xc4, 0xfd, 0xcd, 0xcd, 0xc6,
|
0x43, 0xdc, 0xb4, 0x7a, 0x79, 0x80, 0xf5, 0x2b, 0x4b, 0x98, 0xb1, 0x07, 0x8a, 0x37, 0x2e, 0x8d,
|
||||||
0x8a, 0xce, 0x4f, 0x34, 0xbf, 0x5b, 0xbd, 0x04, 0x05, 0x53, 0xa1, 0xbb, 0xd1, 0x4c, 0xcf, 0x68,
|
0x05, 0x8a, 0xfc, 0x4f, 0x12, 0x4c, 0x3c, 0xd8, 0xdc, 0x6c, 0xac, 0xe8, 0xfc, 0x44, 0xf3, 0xbb,
|
||||||
0x98, 0x53, 0xd0, 0x7b, 0x50, 0x64, 0x91, 0x84, 0xe8, 0xed, 0x8c, 0xa5, 0xb6, 0x80, 0xaf, 0x3b,
|
0xd5, 0x4b, 0x50, 0x30, 0x15, 0xba, 0x1b, 0xcd, 0xf4, 0x8c, 0x86, 0x39, 0x05, 0xbd, 0x0f, 0x45,
|
||||||
0x42, 0x7e, 0x85, 0x28, 0x06, 0xb0, 0x0b, 0x27, 0xef, 0xc1, 0x4c, 0xc0, 0x1c, 0xb6, 0x1e, 0x0f,
|
0x16, 0x49, 0x88, 0xde, 0xce, 0x58, 0x6a, 0x0b, 0xf8, 0xba, 0x23, 0xe4, 0x57, 0x88, 0x62, 0x00,
|
||||||
0x58, 0x76, 0x44, 0x4d, 0x18, 0x62, 0x9a, 0x59, 0x0e, 0xcc, 0x67, 0xb8, 0xcc, 0x8c, 0x4c, 0xc9,
|
0xbb, 0x70, 0xf2, 0x1e, 0xcc, 0x04, 0xcc, 0x61, 0xeb, 0xf1, 0x90, 0x65, 0x47, 0xd4, 0x84, 0x21,
|
||||||
0xaf, 0x74, 0xd8, 0x2f, 0x1b, 0x3b, 0x58, 0xf2, 0x1a, 0x8c, 0xf1, 0x0b, 0x65, 0xc3, 0xa2, 0x7c,
|
0xa6, 0x99, 0xe5, 0xc0, 0x7c, 0x86, 0xcb, 0xcc, 0xc8, 0x94, 0xfc, 0x4a, 0x87, 0xfd, 0xb2, 0xb1,
|
||||||
0x59, 0xd0, 0x45, 0xc8, 0x77, 0x55, 0x5d, 0xe4, 0xd9, 0x51, 0x21, 0x93, 0x67, 0x39, 0x82, 0x8d,
|
0x83, 0x25, 0xaf, 0xc1, 0x18, 0xbf, 0x50, 0x36, 0x2c, 0xca, 0x97, 0x05, 0x5d, 0x84, 0x7c, 0x57,
|
||||||
0x73, 0xb2, 0x72, 0x20, 0x22, 0x8f, 0x4f, 0x56, 0x0e, 0x30, 0x1b, 0x97, 0xef, 0x41, 0x51, 0x2c,
|
0xd5, 0x45, 0x9e, 0x1d, 0x15, 0x32, 0x79, 0x96, 0x23, 0xd8, 0x38, 0x27, 0x2b, 0x07, 0x22, 0xf2,
|
||||||
0x77, 0x10, 0x28, 0xff, 0x64, 0xa0, 0x7c, 0x02, 0xd0, 0x06, 0x14, 0x57, 0x1a, 0x75, 0xcd, 0x70,
|
0xf8, 0x64, 0xe5, 0x00, 0xb3, 0x71, 0xf9, 0x3e, 0x14, 0xc5, 0x72, 0x07, 0x81, 0xf2, 0x4f, 0x07,
|
||||||
0xaa, 0xae, 0x96, 0xda, 0xb6, 0xa2, 0x7b, 0xb1, 0xb8, 0xb2, 0x84, 0x31, 0xa7, 0x20, 0x19, 0x86,
|
0xca, 0x27, 0x00, 0x6d, 0x40, 0x71, 0xa5, 0x51, 0xd7, 0x0c, 0xa7, 0xea, 0x6a, 0xa9, 0x6d, 0x2b,
|
||||||
0xc9, 0x41, 0x8b, 0x98, 0x94, 0x7b, 0xc4, 0x48, 0x1d, 0xd8, 0x2e, 0xdf, 0xe5, 0x23, 0x58, 0x50,
|
0xba, 0x17, 0x8b, 0x2b, 0x4b, 0x18, 0x73, 0x0a, 0x92, 0x61, 0x98, 0x1c, 0xb4, 0x88, 0x49, 0xb9,
|
||||||
0xe4, 0xff, 0xc8, 0x41, 0x51, 0x2c, 0xc7, 0x29, 0x7c, 0x85, 0xad, 0x86, 0xbe, 0xc2, 0x5e, 0xce,
|
0x47, 0x8c, 0xd4, 0x81, 0xed, 0xf2, 0x3d, 0x3e, 0x82, 0x05, 0x45, 0xfe, 0xe7, 0x1c, 0x14, 0xc5,
|
||||||
0xe6, 0x1a, 0xa9, 0x9f, 0x60, 0x9b, 0x91, 0x4f, 0xb0, 0xab, 0x19, 0xf1, 0x9e, 0xfc, 0xfd, 0xf5,
|
0x72, 0x9c, 0xc2, 0x57, 0xd8, 0x6a, 0xe8, 0x2b, 0xec, 0xd5, 0x6c, 0xae, 0x91, 0xfa, 0x09, 0xb6,
|
||||||
0x63, 0x09, 0xc6, 0xc3, 0x4e, 0x89, 0x6e, 0xc2, 0x28, 0x4b, 0x38, 0x6a, 0x8b, 0xac, 0xfb, 0x75,
|
0x19, 0xf9, 0x04, 0xbb, 0x9a, 0x11, 0xef, 0xe9, 0xdf, 0x5f, 0xff, 0x27, 0xc1, 0x78, 0xd8, 0x29,
|
||||||
0xae, 0x77, 0x09, 0xd3, 0xf4, 0x49, 0x38, 0xc8, 0x87, 0x3a, 0x9e, 0x18, 0xf3, 0x23, 0x31, 0xe9,
|
0xd1, 0x2d, 0x18, 0x65, 0x09, 0x47, 0x6d, 0x91, 0x75, 0xbf, 0xce, 0xf5, 0x2e, 0x61, 0x9a, 0x3e,
|
||||||
0xf4, 0x25, 0xed, 0x51, 0x55, 0xab, 0x3a, 0x8f, 0x24, 0xd5, 0x15, 0x9d, 0x6e, 0x58, 0x4d, 0x6a,
|
0x09, 0x07, 0xf9, 0x50, 0xc7, 0x13, 0x63, 0x7e, 0x24, 0x26, 0x9d, 0xbe, 0xa4, 0x3d, 0xaa, 0x6a,
|
||||||
0xa9, 0x7a, 0x27, 0xa6, 0x88, 0x3b, 0x65, 0x10, 0x59, 0xfe, 0xa9, 0x04, 0xa3, 0xc2, 0xe4, 0x53,
|
0x55, 0xe7, 0x69, 0xa5, 0xba, 0xa2, 0xd3, 0x0d, 0xab, 0x49, 0x2d, 0x55, 0xef, 0xc4, 0x14, 0x71,
|
||||||
0xf8, 0xaa, 0xf8, 0x9b, 0xf0, 0x57, 0xc5, 0xe5, 0x8c, 0x07, 0x3c, 0xf9, 0x93, 0xe2, 0xff, 0x7d,
|
0xa7, 0x0c, 0x22, 0xcb, 0x3f, 0x92, 0x60, 0x54, 0x98, 0x7c, 0x0a, 0x5f, 0x15, 0x7f, 0x11, 0xfe,
|
||||||
0xd3, 0xd9, 0x91, 0x66, 0x5e, 0xbd, 0x6b, 0xd8, 0x34, 0xea, 0xd5, 0xec, 0x30, 0x62, 0x4e, 0x41,
|
0xaa, 0xb8, 0x9c, 0xf1, 0x80, 0x27, 0x7f, 0x52, 0xfc, 0x97, 0x6f, 0x3a, 0x3b, 0xd2, 0xcc, 0xab,
|
||||||
0x3d, 0x98, 0x54, 0x23, 0x31, 0x40, 0x2c, 0x6d, 0x2d, 0x9b, 0x25, 0x9e, 0x58, 0xbd, 0x2c, 0xe0,
|
0x77, 0x0d, 0x9b, 0x46, 0xbd, 0x9a, 0x1d, 0x46, 0xcc, 0x29, 0xa8, 0x07, 0x93, 0x6a, 0x24, 0x06,
|
||||||
0x27, 0xa3, 0x14, 0x1c, 0x53, 0x21, 0x13, 0x88, 0x71, 0xa1, 0x77, 0xa1, 0xb0, 0x4b, 0xa9, 0x99,
|
0x88, 0xa5, 0xad, 0x65, 0xb3, 0xc4, 0x13, 0xab, 0x97, 0x05, 0xfc, 0x64, 0x94, 0x82, 0x63, 0x2a,
|
||||||
0x70, 0x5f, 0x3d, 0x20, 0xf2, 0xf8, 0x26, 0x94, 0xf8, 0xec, 0x36, 0x37, 0x1b, 0x98, 0x43, 0xc9,
|
0x64, 0x02, 0x31, 0x2e, 0xf4, 0x1e, 0x14, 0x76, 0x29, 0x35, 0x13, 0xee, 0xab, 0x07, 0x44, 0x1e,
|
||||||
0xbf, 0xf7, 0xd7, 0xa3, 0xe9, 0xf8, 0xb8, 0x17, 0x4f, 0xa5, 0x93, 0xc4, 0xd3, 0xd1, 0xa4, 0x58,
|
0xdf, 0x84, 0x12, 0x9f, 0xdd, 0xe6, 0x66, 0x03, 0x73, 0x28, 0xf9, 0x37, 0xfe, 0x7a, 0x34, 0x1d,
|
||||||
0x8a, 0xee, 0x43, 0x9e, 0x6a, 0x59, 0x3f, 0x0b, 0x05, 0xe2, 0xe6, 0x6a, 0xd3, 0x0f, 0x48, 0x9b,
|
0x1f, 0xf7, 0xe2, 0xa9, 0x74, 0x92, 0x78, 0x3a, 0x9a, 0x14, 0x4b, 0xd1, 0x03, 0xc8, 0x53, 0x2d,
|
||||||
0xab, 0x4d, 0xcc, 0x20, 0xd0, 0x06, 0x0c, 0xb1, 0xec, 0xc3, 0x8e, 0x60, 0x3e, 0xfb, 0x91, 0x66,
|
0xeb, 0x67, 0xa1, 0x40, 0xdc, 0x5c, 0x6d, 0xfa, 0x01, 0x69, 0x73, 0xb5, 0x89, 0x19, 0x04, 0xda,
|
||||||
0xf3, 0xf7, 0x1d, 0x82, 0xfd, 0xb2, 0xb1, 0x83, 0x23, 0x7f, 0x0c, 0x63, 0xa1, 0x73, 0x8a, 0x3e,
|
0x80, 0x21, 0x96, 0x7d, 0xd8, 0x11, 0xcc, 0x67, 0x3f, 0xd2, 0x6c, 0xfe, 0xbe, 0x43, 0xb0, 0x5f,
|
||||||
0x82, 0xb3, 0x9a, 0xa1, 0xb4, 0xeb, 0x8a, 0xa6, 0xe8, 0x2d, 0xe2, 0x3e, 0x0e, 0x5c, 0x4e, 0xfa,
|
0x36, 0x76, 0x70, 0xe4, 0x4f, 0x60, 0x2c, 0x74, 0x4e, 0xd1, 0xc7, 0x70, 0x56, 0x33, 0x94, 0x76,
|
||||||
0xc2, 0x58, 0x0d, 0xf0, 0x89, 0x53, 0x3e, 0x23, 0x94, 0x9c, 0x0d, 0xd2, 0x70, 0x08, 0x51, 0x56,
|
0x5d, 0xd1, 0x14, 0xbd, 0x45, 0xdc, 0xc7, 0x81, 0xcb, 0x49, 0x5f, 0x18, 0xab, 0x01, 0x3e, 0x71,
|
||||||
0x00, 0xfc, 0x39, 0xa2, 0x0a, 0x0c, 0x31, 0x3f, 0x73, 0xf2, 0xc9, 0x48, 0x7d, 0x84, 0x59, 0xc8,
|
0xca, 0x67, 0x84, 0x92, 0xb3, 0x41, 0x1a, 0x0e, 0x21, 0xca, 0x0a, 0x80, 0x3f, 0x47, 0x54, 0x81,
|
||||||
0xdc, 0xcf, 0xc6, 0xce, 0x38, 0xba, 0x01, 0x60, 0x93, 0x96, 0x45, 0x28, 0x0f, 0x06, 0xb9, 0xf0,
|
0x21, 0xe6, 0x67, 0x4e, 0x3e, 0x19, 0xa9, 0x8f, 0x30, 0x0b, 0x99, 0xfb, 0xd9, 0xd8, 0x19, 0x47,
|
||||||
0x03, 0x63, 0xd3, 0xa3, 0xe0, 0x00, 0x97, 0xfc, 0x73, 0x09, 0xc6, 0xd6, 0x09, 0xfd, 0xc4, 0xb0,
|
0x37, 0x00, 0x6c, 0xd2, 0xb2, 0x08, 0xe5, 0xc1, 0x20, 0x17, 0x7e, 0x60, 0x6c, 0x7a, 0x14, 0x1c,
|
||||||
0xf6, 0x1a, 0x86, 0xa6, 0xb6, 0xfa, 0xa7, 0x10, 0x6c, 0x71, 0x28, 0xd8, 0xbe, 0x32, 0x60, 0x67,
|
0xe0, 0x92, 0x7f, 0x22, 0xc1, 0xd8, 0x3a, 0xa1, 0x9f, 0x1a, 0xd6, 0x5e, 0xc3, 0xd0, 0xd4, 0x56,
|
||||||
0x42, 0xd6, 0xa5, 0x85, 0x5c, 0xf9, 0x0b, 0x09, 0xe6, 0x42, 0x9c, 0x77, 0xfd, 0xa3, 0xbb, 0x05,
|
0xff, 0x14, 0x82, 0x2d, 0x0e, 0x05, 0xdb, 0xd7, 0x06, 0xec, 0x4c, 0xc8, 0xba, 0xb4, 0x90, 0x2b,
|
||||||
0x43, 0xa6, 0x61, 0x51, 0x37, 0x11, 0x1f, 0x4b, 0x21, 0x0b, 0x63, 0x81, 0x54, 0xcc, 0x60, 0xb0,
|
0x7f, 0x29, 0xc1, 0x5c, 0x88, 0xf3, 0x9e, 0x7f, 0x74, 0xb7, 0x60, 0xc8, 0x34, 0x2c, 0xea, 0x26,
|
||||||
0x83, 0x86, 0x56, 0x21, 0x47, 0x0d, 0xe1, 0xaa, 0xc7, 0xc3, 0x24, 0xc4, 0xaa, 0x83, 0xc0, 0xcc,
|
0xe2, 0x63, 0x29, 0x64, 0x61, 0x2c, 0x90, 0x8a, 0x19, 0x0c, 0x76, 0xd0, 0xd0, 0x2a, 0xe4, 0xa8,
|
||||||
0x6d, 0x1a, 0x38, 0x47, 0x0d, 0xb6, 0x11, 0xe5, 0x10, 0x57, 0x30, 0xf8, 0x3c, 0xa3, 0x19, 0x60,
|
0x21, 0x5c, 0xf5, 0x78, 0x98, 0x84, 0x58, 0x75, 0x10, 0x98, 0xb9, 0x4d, 0x03, 0xe7, 0xa8, 0xc1,
|
||||||
0x28, 0xec, 0x58, 0x46, 0xf7, 0xc4, 0x73, 0xf0, 0x36, 0x62, 0xd9, 0x32, 0xba, 0x98, 0x63, 0xc9,
|
0x36, 0xa2, 0x1c, 0xe2, 0x0a, 0x06, 0x9f, 0xe7, 0x34, 0x03, 0x0c, 0x85, 0x1d, 0xcb, 0xe8, 0x9e,
|
||||||
0x5f, 0x4a, 0x30, 0x15, 0xe2, 0x3c, 0x85, 0xc0, 0xff, 0x6e, 0x38, 0xf0, 0x5f, 0x3d, 0xce, 0x44,
|
0x78, 0x0e, 0xde, 0x46, 0x2c, 0x5b, 0x46, 0x17, 0x73, 0x2c, 0xf9, 0x2b, 0x09, 0xa6, 0x42, 0x9c,
|
||||||
0x52, 0xc2, 0xff, 0x97, 0xb9, 0xc8, 0x34, 0xd8, 0x84, 0xd1, 0x0e, 0x8c, 0x9a, 0x46, 0xbb, 0xf9,
|
0xa7, 0x10, 0xf8, 0xdf, 0x0b, 0x07, 0xfe, 0xab, 0xc7, 0x99, 0x48, 0x4a, 0xf8, 0xff, 0x2a, 0x17,
|
||||||
0x14, 0x9e, 0x03, 0x27, 0x58, 0xde, 0x6c, 0xf8, 0x58, 0x38, 0x08, 0x8c, 0x0e, 0x60, 0x4a, 0x57,
|
0x99, 0x06, 0x9b, 0x30, 0xda, 0x81, 0x51, 0xd3, 0x68, 0x37, 0x9f, 0xc1, 0x73, 0xe0, 0x04, 0xcb,
|
||||||
0xba, 0xc4, 0x36, 0x95, 0x16, 0x69, 0x3e, 0x85, 0x0b, 0x92, 0x73, 0xfc, 0xbd, 0x21, 0x8a, 0x88,
|
0x9b, 0x0d, 0x1f, 0x0b, 0x07, 0x81, 0xd1, 0x01, 0x4c, 0xe9, 0x4a, 0x97, 0xd8, 0xa6, 0xd2, 0x22,
|
||||||
0xe3, 0x4a, 0xd0, 0x1a, 0x14, 0x55, 0x93, 0xd7, 0x71, 0xa2, 0x76, 0x19, 0x98, 0x45, 0x9d, 0xaa,
|
0xcd, 0x67, 0x70, 0x41, 0x72, 0x8e, 0xbf, 0x37, 0x44, 0x11, 0x71, 0x5c, 0x09, 0x5a, 0x83, 0xa2,
|
||||||
0xcf, 0x89, 0xe7, 0xe2, 0x07, 0x76, 0x31, 0xe4, 0x1f, 0x44, 0xbd, 0x81, 0xf9, 0x1f, 0xba, 0x07,
|
0x6a, 0xf2, 0x3a, 0x4e, 0xd4, 0x2e, 0x03, 0xb3, 0xa8, 0x53, 0xf5, 0x39, 0xf1, 0x5c, 0xfc, 0xc0,
|
||||||
0x25, 0xde, 0x62, 0xd1, 0x32, 0x34, 0xf7, 0x65, 0x80, 0xed, 0x6c, 0x43, 0x8c, 0x3d, 0x3e, 0xac,
|
0x2e, 0x86, 0xfc, 0xdf, 0x51, 0x6f, 0x60, 0xfe, 0x87, 0xee, 0x43, 0x89, 0x37, 0x66, 0xb4, 0x0c,
|
||||||
0x5c, 0x48, 0xb8, 0xf4, 0x75, 0xc9, 0xd8, 0x13, 0x46, 0xeb, 0x50, 0x30, 0xbf, 0x4f, 0x05, 0xc3,
|
0xcd, 0x7d, 0x19, 0x60, 0x3b, 0xdb, 0x10, 0x63, 0x4f, 0x0e, 0x2b, 0x17, 0x12, 0x2e, 0x7d, 0x5d,
|
||||||
0x93, 0x1c, 0x2f, 0x5b, 0x38, 0x8e, 0xfc, 0x4f, 0xf9, 0x88, 0xb9, 0x3c, 0xd5, 0x3d, 0x7c, 0x6a,
|
0x32, 0xf6, 0x84, 0xd1, 0x3a, 0x14, 0xcc, 0x1f, 0x52, 0xc1, 0xf0, 0x24, 0xc7, 0xcb, 0x16, 0x8e,
|
||||||
0xbb, 0xee, 0x55, 0x4c, 0xa9, 0x3b, 0xbf, 0x0d, 0x45, 0x91, 0xe1, 0x85, 0x33, 0xbf, 0x7e, 0x1c,
|
0x23, 0xff, 0x5d, 0x3e, 0x62, 0x2e, 0x4f, 0x75, 0x8f, 0x9e, 0xd9, 0xae, 0x7b, 0x15, 0x53, 0xea,
|
||||||
0x67, 0x0e, 0x66, 0x31, 0xef, 0x83, 0xc5, 0x1d, 0x74, 0x81, 0xd1, 0x87, 0x30, 0x4c, 0x1c, 0x15,
|
0xce, 0x6f, 0x43, 0x51, 0x64, 0x78, 0xe1, 0xcc, 0x6f, 0x1c, 0xc7, 0x99, 0x83, 0x59, 0xcc, 0xfb,
|
||||||
0x4e, 0x6e, 0xbc, 0x75, 0x1c, 0x15, 0x7e, 0x5c, 0xf5, 0x0b, 0x55, 0x31, 0x26, 0x50, 0xd1, 0x5b,
|
0x60, 0x71, 0x07, 0x5d, 0x60, 0xf4, 0x11, 0x0c, 0x13, 0x47, 0x85, 0x93, 0x1b, 0x6f, 0x1f, 0x47,
|
||||||
0x6c, 0xbd, 0x18, 0x2f, 0xfb, 0x08, 0xb4, 0xcb, 0x05, 0x9e, 0xae, 0x2e, 0x3a, 0xd3, 0xf6, 0x86,
|
0x85, 0x1f, 0x57, 0xfd, 0x42, 0x55, 0x8c, 0x09, 0x54, 0xf4, 0x36, 0x5b, 0x2f, 0xc6, 0xcb, 0x3e,
|
||||||
0x1f, 0x1f, 0x56, 0xc0, 0xff, 0x89, 0x83, 0x12, 0xf2, 0x2f, 0x25, 0x98, 0xe2, 0x2b, 0xd4, 0xea,
|
0x02, 0xed, 0x72, 0x81, 0xa7, 0xab, 0x8b, 0xce, 0xb4, 0xbd, 0xe1, 0x27, 0x87, 0x15, 0xf0, 0x7f,
|
||||||
0x59, 0x2a, 0xed, 0x9f, 0x5a, 0x62, 0x7a, 0x10, 0x4a, 0x4c, 0xaf, 0x0d, 0x58, 0x96, 0x98, 0x85,
|
0xe2, 0xa0, 0x84, 0xfc, 0x33, 0x09, 0xa6, 0xf8, 0x0a, 0xb5, 0x7a, 0x96, 0x4a, 0xfb, 0xa7, 0x96,
|
||||||
0xa9, 0xc9, 0xe9, 0x2b, 0x09, 0xce, 0xc5, 0xb8, 0x4f, 0x21, 0x2e, 0x6e, 0x85, 0xe3, 0xe2, 0x2b,
|
0x98, 0x1e, 0x86, 0x12, 0xd3, 0xcd, 0x01, 0xcb, 0x12, 0xb3, 0x30, 0x35, 0x39, 0x7d, 0x2d, 0xc1,
|
||||||
0xc7, 0x9d, 0x50, 0x4a, 0x6c, 0xfc, 0xe7, 0xc9, 0x84, 0xe9, 0xf0, 0x93, 0x72, 0x03, 0xc0, 0xb4,
|
0xb9, 0x18, 0xf7, 0x29, 0xc4, 0xc5, 0xad, 0x70, 0x5c, 0x7c, 0xed, 0xb8, 0x13, 0x4a, 0x89, 0x8d,
|
||||||
0xd4, 0x7d, 0x55, 0x23, 0x1d, 0xf1, 0x08, 0x5e, 0x0a, 0xb4, 0x38, 0x79, 0x14, 0x1c, 0xe0, 0x42,
|
0xbf, 0x9d, 0x4c, 0x98, 0x0e, 0x3f, 0x29, 0x37, 0x00, 0x4c, 0x4b, 0xdd, 0x57, 0x35, 0xd2, 0x11,
|
||||||
0x36, 0xcc, 0xb6, 0xc9, 0x8e, 0xd2, 0xd3, 0xe8, 0x42, 0xbb, 0xbd, 0xa8, 0x98, 0xca, 0xb6, 0xaa,
|
0x8f, 0xe0, 0xa5, 0x40, 0x8b, 0x93, 0x47, 0xc1, 0x01, 0x2e, 0x64, 0xc3, 0x6c, 0x9b, 0xec, 0x28,
|
||||||
0xa9, 0x54, 0x15, 0xd7, 0x05, 0x23, 0xf5, 0x3b, 0xce, 0xe3, 0x74, 0x12, 0xc7, 0xe3, 0xc3, 0xca,
|
0x3d, 0x8d, 0x2e, 0xb4, 0xdb, 0x8b, 0x8a, 0xa9, 0x6c, 0xab, 0x9a, 0x4a, 0x55, 0x71, 0x5d, 0x30,
|
||||||
0xc5, 0xa4, 0xd7, 0x21, 0x97, 0xa5, 0x8f, 0x53, 0xa0, 0x51, 0x1f, 0xca, 0x16, 0xf9, 0xb8, 0xa7,
|
0x52, 0xbf, 0xeb, 0x3c, 0x4e, 0x27, 0x71, 0x3c, 0x39, 0xac, 0x5c, 0x4c, 0x7a, 0x1d, 0x72, 0x59,
|
||||||
0x5a, 0xa4, 0xbd, 0x64, 0x19, 0x66, 0x48, 0x6d, 0x9e, 0xab, 0xfd, 0xeb, 0xa3, 0xc3, 0x4a, 0x19,
|
0xfa, 0x38, 0x05, 0x1a, 0xf5, 0xa1, 0x6c, 0x91, 0x4f, 0x7a, 0xaa, 0x45, 0xda, 0x4b, 0x96, 0x61,
|
||||||
0xa7, 0xf0, 0x0c, 0x56, 0x9c, 0x0a, 0x8f, 0x1e, 0xc2, 0xb4, 0xe2, 0x74, 0x86, 0x85, 0xb4, 0x3a,
|
0x86, 0xd4, 0xe6, 0xb9, 0xda, 0x3f, 0x3f, 0x3a, 0xac, 0x94, 0x71, 0x0a, 0xcf, 0x60, 0xc5, 0xa9,
|
||||||
0xa7, 0xe4, 0xf6, 0xd1, 0x61, 0x65, 0x7a, 0x21, 0x4e, 0x1e, 0xac, 0x30, 0x09, 0x14, 0xd5, 0xa0,
|
0xf0, 0xe8, 0x11, 0x4c, 0x2b, 0xa2, 0x19, 0x2d, 0xa8, 0xd5, 0x39, 0x25, 0x77, 0x8e, 0x0e, 0x2b,
|
||||||
0xb8, 0xcf, 0xfb, 0xd6, 0xec, 0xf2, 0x10, 0xc7, 0x67, 0x89, 0xa0, 0xe8, 0xb4, 0xb2, 0x31, 0xcc,
|
0xd3, 0x0b, 0x71, 0xf2, 0x60, 0x85, 0x49, 0xa0, 0xa8, 0x06, 0xc5, 0x7d, 0xde, 0xb7, 0x66, 0x97,
|
||||||
0xe1, 0xe5, 0x26, 0x3f, 0x7d, 0x2e, 0x17, 0xfb, 0xa0, 0x64, 0xb5, 0xa4, 0x38, 0xf1, 0xfc, 0xc6,
|
0x87, 0x38, 0x3e, 0x4b, 0x04, 0x45, 0xa7, 0x95, 0x8d, 0x61, 0x0e, 0x2f, 0x37, 0xf9, 0xe9, 0x73,
|
||||||
0xb8, 0xe4, 0x47, 0xad, 0xfb, 0x3e, 0x09, 0x07, 0xf9, 0xd0, 0x07, 0x30, 0xb2, 0x2b, 0x6e, 0x25,
|
0xb9, 0xd8, 0x07, 0x25, 0xab, 0x25, 0xc5, 0x89, 0xe7, 0x37, 0xc6, 0x25, 0x3f, 0x6a, 0x3d, 0xf0,
|
||||||
0xec, 0x72, 0x31, 0x53, 0x12, 0x0e, 0xdd, 0x62, 0xd4, 0xa7, 0x84, 0x8a, 0x11, 0x77, 0xd8, 0xc6,
|
0x49, 0x38, 0xc8, 0x87, 0x3e, 0x84, 0x91, 0x5d, 0x71, 0x2b, 0x61, 0x97, 0x8b, 0x99, 0x92, 0x70,
|
||||||
0x3e, 0x22, 0x7a, 0x09, 0x8a, 0xfc, 0xc7, 0xca, 0x12, 0xbf, 0x8e, 0x2b, 0xf9, 0xb1, 0xed, 0xbe,
|
0xe8, 0x16, 0xa3, 0x3e, 0x25, 0x54, 0x8c, 0xb8, 0xc3, 0x36, 0xf6, 0x11, 0xd1, 0x2b, 0x50, 0xe4,
|
||||||
0x33, 0x8c, 0x5d, 0xba, 0xcb, 0xba, 0xd2, 0x58, 0xe4, 0xd7, 0xc2, 0x11, 0xd6, 0x95, 0xc6, 0x22,
|
0x3f, 0x56, 0x96, 0xf8, 0x75, 0x5c, 0xc9, 0x8f, 0x6d, 0x0f, 0x9c, 0x61, 0xec, 0xd2, 0x5d, 0xd6,
|
||||||
0x76, 0xe9, 0xe8, 0x23, 0x28, 0xda, 0x64, 0x55, 0xd5, 0x7b, 0x07, 0x65, 0xc8, 0xf4, 0xa8, 0xdc,
|
0x95, 0xc6, 0x22, 0xbf, 0x16, 0x8e, 0xb0, 0xae, 0x34, 0x16, 0xb1, 0x4b, 0x47, 0x1f, 0x43, 0xd1,
|
||||||
0xbc, 0xcb, 0xb9, 0x23, 0x17, 0x63, 0xbe, 0x06, 0x41, 0xc7, 0x2e, 0x2c, 0xda, 0x85, 0x11, 0xab,
|
0x26, 0xab, 0xaa, 0xde, 0x3b, 0x28, 0x43, 0xa6, 0x47, 0xe5, 0xe6, 0x3d, 0xce, 0x1d, 0xb9, 0x18,
|
||||||
0xa7, 0x2f, 0xd8, 0x5b, 0x36, 0xb1, 0xca, 0xa3, 0x5c, 0xc7, 0xa0, 0x70, 0x8e, 0x5d, 0xfe, 0xa8,
|
0xf3, 0x35, 0x08, 0x3a, 0x76, 0x61, 0xd1, 0x2e, 0x8c, 0x58, 0x3d, 0x7d, 0xc1, 0xde, 0xb2, 0x89,
|
||||||
0x16, 0x6f, 0x85, 0x3c, 0x0e, 0xec, 0x83, 0xa3, 0x7f, 0x93, 0x00, 0xd9, 0x3d, 0xd3, 0xd4, 0x48,
|
0x55, 0x1e, 0xe5, 0x3a, 0x06, 0x85, 0x73, 0xec, 0xf2, 0x47, 0xb5, 0x78, 0x2b, 0xe4, 0x71, 0x60,
|
||||||
0x97, 0xe8, 0x54, 0xd1, 0xf8, 0x5d, 0x9c, 0x5d, 0x3e, 0xcb, 0x75, 0xbe, 0x3d, 0x68, 0x5e, 0x31,
|
0x1f, 0x1c, 0xfd, 0xa3, 0x04, 0xc8, 0xee, 0x99, 0xa6, 0x46, 0xba, 0x44, 0xa7, 0x8a, 0xc6, 0xef,
|
||||||
0xc1, 0xa8, 0x72, 0xef, 0xd2, 0x3b, 0xce, 0x8a, 0x13, 0xf4, 0xb2, 0xa5, 0xdd, 0xb1, 0xf9, 0xdf,
|
0xe2, 0xec, 0xf2, 0x59, 0xae, 0xf3, 0x9d, 0x41, 0xf3, 0x8a, 0x09, 0x46, 0x95, 0x7b, 0x97, 0xde,
|
||||||
0xe5, 0xb1, 0x4c, 0x4b, 0x9b, 0x7c, 0xe7, 0xe8, 0x2f, 0xad, 0xa0, 0x63, 0x17, 0x16, 0x3d, 0x80,
|
0x71, 0x56, 0x9c, 0xa0, 0x97, 0x2d, 0xed, 0x8e, 0xcd, 0xff, 0x2e, 0x8f, 0x65, 0x5a, 0xda, 0xe4,
|
||||||
0x59, 0xb7, 0xed, 0x11, 0x1b, 0x06, 0x5d, 0x56, 0x35, 0x62, 0xf7, 0x6d, 0x4a, 0xba, 0xe5, 0x71,
|
0x3b, 0x47, 0x7f, 0x69, 0x05, 0x1d, 0xbb, 0xb0, 0xe8, 0x21, 0xcc, 0xba, 0x6d, 0x8f, 0xd8, 0x30,
|
||||||
0xbe, 0xed, 0x5e, 0xef, 0x07, 0x4e, 0xe4, 0xc2, 0x29, 0xd2, 0xa8, 0x0b, 0x15, 0x37, 0x64, 0xb0,
|
0xe8, 0xb2, 0xaa, 0x11, 0xbb, 0x6f, 0x53, 0xd2, 0x2d, 0x8f, 0xf3, 0x6d, 0xf7, 0x7a, 0x3f, 0x70,
|
||||||
0xf3, 0xe4, 0xc5, 0xac, 0xbb, 0x76, 0x4b, 0xd1, 0x9c, 0x77, 0x80, 0x09, 0xae, 0xe0, 0xc5, 0xa3,
|
0x22, 0x17, 0x4e, 0x91, 0x46, 0x5d, 0xa8, 0xb8, 0x21, 0x83, 0x9d, 0x27, 0x2f, 0x66, 0xdd, 0xb3,
|
||||||
0xc3, 0x4a, 0x65, 0xe9, 0xc9, 0xac, 0x78, 0x10, 0x16, 0x7a, 0x0f, 0xca, 0x4a, 0x9a, 0x9e, 0x49,
|
0x5b, 0x8a, 0xe6, 0xbc, 0x03, 0x4c, 0x70, 0x05, 0x2f, 0x1f, 0x1d, 0x56, 0x2a, 0x4b, 0x4f, 0x67,
|
||||||
0xae, 0xe7, 0x79, 0x16, 0x87, 0x52, 0x15, 0xa4, 0x4a, 0x23, 0x0a, 0x93, 0x4a, 0xb8, 0x01, 0xd5,
|
0xc5, 0x83, 0xb0, 0xd0, 0xfb, 0x50, 0x56, 0xd2, 0xf4, 0x4c, 0x72, 0x3d, 0x2f, 0xb2, 0x38, 0x94,
|
||||||
0x2e, 0x4f, 0x65, 0xba, 0x88, 0x8c, 0xf4, 0xad, 0xfa, 0x97, 0x11, 0x11, 0x82, 0x8d, 0x63, 0x1a,
|
0xaa, 0x20, 0x55, 0x1a, 0x51, 0x98, 0x54, 0xc2, 0x0d, 0xa8, 0x76, 0x79, 0x2a, 0xd3, 0x45, 0x64,
|
||||||
0xd0, 0x3f, 0x00, 0x52, 0xa2, 0x3d, 0xb3, 0x76, 0x19, 0x65, 0x4a, 0x3f, 0xb1, 0x66, 0x5b, 0xdf,
|
0xa4, 0x6f, 0xd5, 0xbf, 0x8c, 0x88, 0x10, 0x6c, 0x1c, 0xd3, 0x80, 0xfe, 0x06, 0x90, 0x12, 0xed,
|
||||||
0xed, 0x62, 0x24, 0x1b, 0x27, 0xe8, 0x41, 0xab, 0x30, 0x23, 0x46, 0xb7, 0x74, 0x5b, 0xd9, 0x21,
|
0x99, 0xb5, 0xcb, 0x28, 0x53, 0xfa, 0x89, 0x35, 0xdb, 0xfa, 0x6e, 0x17, 0x23, 0xd9, 0x38, 0x41,
|
||||||
0xcd, 0xbe, 0xdd, 0xa2, 0x9a, 0x5d, 0x9e, 0xe6, 0xb1, 0x8f, 0x3f, 0x7c, 0x2d, 0x24, 0xd0, 0x71,
|
0x0f, 0x5a, 0x85, 0x19, 0x31, 0xba, 0xa5, 0xdb, 0xca, 0x0e, 0x69, 0xf6, 0xed, 0x16, 0xd5, 0xec,
|
||||||
0xa2, 0x14, 0x7a, 0x1b, 0x26, 0x77, 0x0c, 0x6b, 0x5b, 0x6d, 0xb7, 0x89, 0xee, 0x22, 0xcd, 0x70,
|
0xf2, 0x34, 0x8f, 0x7d, 0xfc, 0xe1, 0x6b, 0x21, 0x81, 0x8e, 0x13, 0xa5, 0xd0, 0x3b, 0x30, 0xb9,
|
||||||
0xa4, 0x19, 0xb6, 0x1a, 0xcb, 0x11, 0x1a, 0x8e, 0x71, 0x23, 0x1b, 0xce, 0x09, 0xe4, 0x86, 0x65,
|
0x63, 0x58, 0xdb, 0x6a, 0xbb, 0x4d, 0x74, 0x17, 0x69, 0x86, 0x23, 0xcd, 0xb0, 0xd5, 0x58, 0x8e,
|
||||||
0xb4, 0xd6, 0x8c, 0x9e, 0x4e, 0x9d, 0x92, 0xe8, 0x9c, 0x97, 0x62, 0xce, 0x2d, 0x24, 0x31, 0x3c,
|
0xd0, 0x70, 0x8c, 0x1b, 0xd9, 0x70, 0x4e, 0x20, 0x37, 0x2c, 0xa3, 0xb5, 0x66, 0xf4, 0x74, 0xea,
|
||||||
0x3e, 0xac, 0x5c, 0x4a, 0xae, 0x80, 0x7d, 0x26, 0x9c, 0x8c, 0x8d, 0x76, 0x01, 0x78, 0x5c, 0x70,
|
0x94, 0x44, 0xe7, 0xbc, 0x14, 0x73, 0x6e, 0x21, 0x89, 0xe1, 0xc9, 0x61, 0xe5, 0x52, 0x72, 0x05,
|
||||||
0x8e, 0xdf, 0x2c, 0x3f, 0x7e, 0xb7, 0xb3, 0x44, 0x9d, 0xc4, 0x13, 0xe8, 0x3c, 0xc9, 0x79, 0x64,
|
0xec, 0x33, 0xe1, 0x64, 0x6c, 0xb4, 0x0b, 0xc0, 0xe3, 0x82, 0x73, 0xfc, 0x66, 0xf9, 0xf1, 0xbb,
|
||||||
0x1c, 0xc0, 0xe6, 0xbd, 0x32, 0xe2, 0xe5, 0xe4, 0x74, 0xfa, 0x8d, 0x8f, 0xd7, 0x2b, 0xe3, 0x9b,
|
0x93, 0x25, 0xea, 0x24, 0x9e, 0x40, 0xe7, 0x49, 0xce, 0x23, 0xe3, 0x00, 0x36, 0xfb, 0x4a, 0x51,
|
||||||
0xf6, 0xd4, 0x7a, 0x65, 0x02, 0x90, 0x4f, 0xbe, 0xab, 0xfd, 0x6d, 0x0e, 0xa6, 0x7d, 0xe6, 0xcc,
|
0x22, 0x6d, 0xd5, 0x76, 0x79, 0x8e, 0xef, 0x75, 0x2d, 0xdb, 0x5e, 0x7b, 0x72, 0x81, 0xa7, 0xa9,
|
||||||
0xbd, 0x32, 0x09, 0x22, 0x7f, 0xee, 0x39, 0x1e, 0xdc, 0x73, 0xfc, 0x85, 0x04, 0xe3, 0xfe, 0xd2,
|
0x28, 0x22, 0x8e, 0x2b, 0xe1, 0x5d, 0x3a, 0xe2, 0xcd, 0xe6, 0x74, 0x3a, 0x9d, 0x8f, 0xd7, 0xa5,
|
||||||
0xfd, 0xf1, 0xf5, 0xaf, 0xf8, 0xb6, 0xa5, 0x54, 0xd4, 0x3f, 0xca, 0x05, 0x27, 0xf0, 0x27, 0xdf,
|
0xe3, 0x9b, 0xf6, 0xcc, 0xba, 0x74, 0x02, 0x90, 0x4f, 0xbf, 0x25, 0xfe, 0x55, 0x0e, 0xa6, 0x7d,
|
||||||
0x44, 0xf1, 0xfd, 0x1b, 0x85, 0xe5, 0xaf, 0xf2, 0x30, 0x19, 0x3d, 0x8d, 0xa1, 0xb7, 0x76, 0x69,
|
0xe6, 0xcc, 0x5d, 0x3a, 0x09, 0x22, 0x7f, 0xec, 0x76, 0x1e, 0xdc, 0xed, 0xfc, 0xa5, 0x04, 0xe3,
|
||||||
0xe0, 0x5b, 0x7b, 0x03, 0x66, 0x76, 0x7a, 0x9a, 0xd6, 0xe7, 0xcb, 0x10, 0x78, 0x70, 0x77, 0xde,
|
0xfe, 0xd2, 0xfd, 0xfe, 0x75, 0xce, 0xf8, 0xb6, 0xa5, 0xd4, 0xf2, 0xff, 0x9b, 0x0b, 0x4e, 0xe0,
|
||||||
0xca, 0x9e, 0x17, 0x92, 0x33, 0xcb, 0x09, 0x3c, 0x38, 0x51, 0x32, 0xa5, 0x6f, 0x20, 0x7f, 0xa2,
|
0x0f, 0xbe, 0x7d, 0xe3, 0x87, 0xb7, 0x28, 0xcb, 0x5f, 0xe7, 0x61, 0x32, 0x7a, 0x1a, 0x43, 0xaf,
|
||||||
0xbe, 0x81, 0xd8, 0x33, 0x76, 0xe1, 0x18, 0xcf, 0xd8, 0x89, 0x3d, 0x00, 0x43, 0x27, 0xe8, 0x01,
|
0xfc, 0xd2, 0xc0, 0x57, 0xfe, 0x06, 0xcc, 0xec, 0xf4, 0x34, 0xad, 0xcf, 0x97, 0x21, 0xf0, 0xd4,
|
||||||
0x38, 0xc9, 0xa3, 0x7d, 0x42, 0x10, 0x1b, 0xd8, 0x43, 0xfa, 0x3c, 0x9c, 0x17, 0x62, 0x94, 0xbf,
|
0xef, 0xbc, 0xd2, 0xbd, 0x28, 0x24, 0x67, 0x96, 0x13, 0x78, 0x70, 0xa2, 0x64, 0x4a, 0xc7, 0x42,
|
||||||
0xa7, 0xeb, 0xd4, 0x32, 0x34, 0x8d, 0x58, 0x4b, 0xbd, 0x6e, 0xb7, 0x2f, 0xbf, 0x09, 0xe3, 0xe1,
|
0xfe, 0x44, 0x1d, 0x0b, 0xb1, 0x07, 0xf4, 0xc2, 0x31, 0x1e, 0xd0, 0x13, 0xbb, 0x0f, 0x86, 0x4e,
|
||||||
0x4e, 0x11, 0x67, 0xa7, 0x9d, 0x66, 0x15, 0xf1, 0x62, 0x19, 0xd8, 0x69, 0x67, 0x1c, 0x7b, 0x1c,
|
0xd0, 0x7d, 0x70, 0x92, 0x76, 0x81, 0x84, 0x20, 0x36, 0xb0, 0x7b, 0xf5, 0x45, 0x38, 0x2f, 0xc4,
|
||||||
0xf2, 0xbf, 0x48, 0x30, 0x9b, 0xdc, 0x11, 0x8a, 0x34, 0x18, 0xef, 0x2a, 0x07, 0xc1, 0x2e, 0x5d,
|
0x28, 0x7f, 0xc9, 0xd7, 0xa9, 0x65, 0x68, 0x1a, 0xb1, 0x96, 0x7a, 0xdd, 0x6e, 0x5f, 0x7e, 0x0b,
|
||||||
0xe9, 0x84, 0x77, 0x49, 0xbc, 0x45, 0x60, 0x2d, 0x84, 0x85, 0x23, 0xd8, 0xf2, 0x77, 0x12, 0xcc,
|
0xc6, 0xc3, 0x3d, 0x2a, 0xce, 0x4e, 0x3b, 0x6d, 0x32, 0xe2, 0xad, 0x34, 0xb0, 0xd3, 0xce, 0x38,
|
||||||
0xa5, 0x3c, 0xce, 0x9f, 0xae, 0x25, 0xe8, 0x7d, 0x28, 0x75, 0x95, 0x83, 0x66, 0xcf, 0xea, 0x90,
|
0xf6, 0x38, 0xe4, 0xbf, 0x97, 0x60, 0x36, 0xb9, 0x17, 0x15, 0x69, 0x30, 0xde, 0x55, 0x0e, 0x82,
|
||||||
0x13, 0xdf, 0x9e, 0xf1, 0x88, 0xb1, 0x26, 0x50, 0xb0, 0x87, 0x27, 0xff, 0x9f, 0x04, 0xcf, 0xa5,
|
0xfd, 0xc1, 0xd2, 0x09, 0x6f, 0xb1, 0x78, 0x73, 0xc2, 0x5a, 0x08, 0x0b, 0x47, 0xb0, 0xe5, 0xef,
|
||||||
0x56, 0x14, 0xe8, 0x56, 0xa8, 0x8f, 0x40, 0x8e, 0xf4, 0x11, 0xa0, 0xb8, 0xe0, 0x33, 0x6a, 0x23,
|
0x25, 0x98, 0x4b, 0x69, 0x0b, 0x38, 0x5d, 0x4b, 0xd0, 0x07, 0x50, 0xea, 0x2a, 0x07, 0xcd, 0x9e,
|
||||||
0xf8, 0x4c, 0x82, 0x72, 0xda, 0xd7, 0x16, 0xba, 0x19, 0x32, 0xf2, 0x85, 0x88, 0x91, 0x53, 0x31,
|
0xd5, 0x21, 0x27, 0xbe, 0xb7, 0xe3, 0x11, 0x63, 0x4d, 0xa0, 0x60, 0x0f, 0x4f, 0xfe, 0x4f, 0x09,
|
||||||
0xb9, 0x67, 0x64, 0xe3, 0x0f, 0x25, 0x98, 0x4d, 0xfe, 0xea, 0x44, 0xaf, 0x86, 0x2c, 0xac, 0x44,
|
0x5e, 0x48, 0xad, 0x65, 0xd0, 0xed, 0x50, 0x07, 0x83, 0x1c, 0xe9, 0x60, 0x40, 0x71, 0xc1, 0xe7,
|
||||||
0x2c, 0x9c, 0x88, 0x48, 0x09, 0xfb, 0x3e, 0x84, 0x71, 0xf1, 0x6d, 0x2a, 0x60, 0xc4, 0xde, 0xcb,
|
0xd4, 0xc0, 0xf0, 0xb9, 0x04, 0xe5, 0xb4, 0xef, 0x3c, 0x74, 0x2b, 0x64, 0xe4, 0x4b, 0x11, 0x23,
|
||||||
0x49, 0x11, 0x5d, 0x40, 0xb8, 0x95, 0x20, 0xf7, 0xaa, 0xf0, 0x18, 0x8e, 0xa0, 0xc9, 0xff, 0x9a,
|
0xa7, 0x62, 0x72, 0xcf, 0xc9, 0xc6, 0xff, 0x91, 0x60, 0x36, 0xf9, 0x7b, 0x17, 0xbd, 0x1e, 0xb2,
|
||||||
0x83, 0xa1, 0x66, 0x4b, 0xd1, 0xc8, 0x29, 0x14, 0x83, 0xef, 0x84, 0x8a, 0xc1, 0x41, 0xff, 0xf7,
|
0xb0, 0x12, 0xb1, 0x70, 0x22, 0x22, 0x25, 0xec, 0xfb, 0x08, 0xc6, 0xc5, 0x57, 0xb1, 0x80, 0x11,
|
||||||
0xc3, 0xad, 0x4a, 0xad, 0x03, 0x71, 0xa4, 0x0e, 0x7c, 0x39, 0x13, 0xda, 0x93, 0x4b, 0xc0, 0xbf,
|
0x7b, 0x2f, 0x27, 0x45, 0x74, 0x01, 0xe1, 0xd6, 0xa0, 0xdc, 0xab, 0xc2, 0x63, 0x38, 0x82, 0x26,
|
||||||
0x82, 0x11, 0x4f, 0xe9, 0xf1, 0x32, 0x93, 0xfc, 0xbf, 0x39, 0x18, 0x0d, 0xa8, 0x38, 0x66, 0x5e,
|
0xff, 0x43, 0x0e, 0x86, 0x9a, 0x2d, 0x45, 0x23, 0xa7, 0x50, 0x0c, 0xbe, 0x1b, 0x2a, 0x06, 0x07,
|
||||||
0xdb, 0x09, 0xd5, 0x03, 0xf9, 0x0c, 0xe5, 0x7f, 0x40, 0x57, 0xd5, 0xad, 0x00, 0x9c, 0xbe, 0x55,
|
0xfd, 0xc7, 0x11, 0xb7, 0x2a, 0xb5, 0x0e, 0xc4, 0x91, 0x3a, 0xf0, 0xd5, 0x4c, 0x68, 0x4f, 0x2f,
|
||||||
0xbf, 0x53, 0x31, 0x5e, 0x18, 0xbc, 0x09, 0xe3, 0x54, 0xb1, 0x3a, 0x84, 0x7a, 0x37, 0xe3, 0x79,
|
0x01, 0xff, 0x0c, 0x46, 0x3c, 0xa5, 0xc7, 0xcb, 0x4c, 0xf2, 0x7f, 0xe4, 0x60, 0x34, 0xa0, 0xe2,
|
||||||
0xee, 0x8b, 0x5e, 0xb7, 0xf3, 0x66, 0x88, 0x8a, 0x23, 0xdc, 0xe7, 0xef, 0xc0, 0x58, 0x48, 0xd9,
|
0x98, 0x79, 0x6d, 0x27, 0x54, 0x0f, 0xe4, 0x33, 0x7c, 0x78, 0x04, 0x74, 0x55, 0xdd, 0x0a, 0xc0,
|
||||||
0xb1, 0xda, 0x4e, 0x7f, 0x22, 0xc1, 0x0b, 0x03, 0xef, 0x2d, 0x50, 0x3d, 0x74, 0x48, 0xaa, 0x91,
|
0xe9, 0x98, 0xf5, 0x7b, 0x24, 0xe3, 0x85, 0xc1, 0x5b, 0x30, 0x4e, 0x15, 0xab, 0x43, 0xa8, 0x77,
|
||||||
0x43, 0x32, 0x9f, 0x0e, 0xf0, 0xec, 0xda, 0x97, 0xea, 0xd7, 0x1e, 0x7d, 0x3b, 0x7f, 0xe6, 0xeb,
|
0x27, 0x9f, 0xe7, 0xbe, 0xe8, 0xf5, 0x59, 0x6f, 0x86, 0xa8, 0x38, 0xc2, 0x7d, 0xfe, 0x2e, 0x8c,
|
||||||
0x6f, 0xe7, 0xcf, 0x7c, 0xf3, 0xed, 0xfc, 0x99, 0x7f, 0x3c, 0x9a, 0x97, 0x1e, 0x1d, 0xcd, 0x4b,
|
0x85, 0x94, 0x1d, 0xab, 0xe1, 0xf5, 0xff, 0x25, 0x78, 0x69, 0xe0, 0x8d, 0x09, 0xaa, 0x87, 0x0e,
|
||||||
0x5f, 0x1f, 0xcd, 0x4b, 0xdf, 0x1c, 0xcd, 0x4b, 0xbf, 0x3e, 0x9a, 0x97, 0xfe, 0xf3, 0xbb, 0xf9,
|
0x49, 0x35, 0x72, 0x48, 0xe6, 0xd3, 0x01, 0x9e, 0x5f, 0xe3, 0x54, 0xfd, 0xda, 0xe3, 0xef, 0xe6,
|
||||||
0x33, 0xef, 0x17, 0x05, 0xdc, 0x1f, 0x02, 0x00, 0x00, 0xff, 0xff, 0x51, 0x7e, 0x9f, 0x62, 0x14,
|
0xcf, 0x7c, 0xf3, 0xdd, 0xfc, 0x99, 0x6f, 0xbf, 0x9b, 0x3f, 0xf3, 0xb7, 0x47, 0xf3, 0xd2, 0xe3,
|
||||||
0x3c, 0x00, 0x00,
|
0xa3, 0x79, 0xe9, 0x9b, 0xa3, 0x79, 0xe9, 0xdb, 0xa3, 0x79, 0xe9, 0x17, 0x47, 0xf3, 0xd2, 0xbf,
|
||||||
|
0x7c, 0x3f, 0x7f, 0xe6, 0x83, 0xa2, 0x80, 0xfb, 0x5d, 0x00, 0x00, 0x00, 0xff, 0xff, 0x66, 0xf0,
|
||||||
|
0x40, 0xcd, 0xc4, 0x3c, 0x00, 0x00,
|
||||||
}
|
}
|
||||||
|
|
52
vendor/k8s.io/api/extensions/v1beta1/generated.proto
generated
vendored
52
vendor/k8s.io/api/extensions/v1beta1/generated.proto
generated
vendored
|
@ -30,6 +30,12 @@ import "k8s.io/apimachinery/pkg/util/intstr/generated.proto";
|
||||||
// Package-wide variables from generator "generated".
|
// Package-wide variables from generator "generated".
|
||||||
option go_package = "v1beta1";
|
option go_package = "v1beta1";
|
||||||
|
|
||||||
|
// AllowedCSIDriver represents a single inline CSI Driver that is allowed to be used.
|
||||||
|
message AllowedCSIDriver {
|
||||||
|
// Name is the registered name of the CSI driver
|
||||||
|
optional string name = 1;
|
||||||
|
}
|
||||||
|
|
||||||
// AllowedFlexVolume represents a single Flexvolume that is allowed to be used.
|
// AllowedFlexVolume represents a single Flexvolume that is allowed to be used.
|
||||||
// Deprecated: use AllowedFlexVolume from policy API Group instead.
|
// Deprecated: use AllowedFlexVolume from policy API Group instead.
|
||||||
message AllowedFlexVolume {
|
message AllowedFlexVolume {
|
||||||
|
@ -60,12 +66,12 @@ message AllowedHostPath {
|
||||||
// DaemonSet represents the configuration of a daemon set.
|
// DaemonSet represents the configuration of a daemon set.
|
||||||
message DaemonSet {
|
message DaemonSet {
|
||||||
// Standard object's metadata.
|
// Standard object's metadata.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
// +optional
|
// +optional
|
||||||
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
||||||
|
|
||||||
// The desired behavior of this daemon set.
|
// The desired behavior of this daemon set.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
|
||||||
// +optional
|
// +optional
|
||||||
optional DaemonSetSpec spec = 2;
|
optional DaemonSetSpec spec = 2;
|
||||||
|
|
||||||
|
@ -73,7 +79,7 @@ message DaemonSet {
|
||||||
// out of date by some window of time.
|
// out of date by some window of time.
|
||||||
// Populated by the system.
|
// Populated by the system.
|
||||||
// Read-only.
|
// Read-only.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
|
||||||
// +optional
|
// +optional
|
||||||
optional DaemonSetStatus status = 3;
|
optional DaemonSetStatus status = 3;
|
||||||
}
|
}
|
||||||
|
@ -102,7 +108,7 @@ message DaemonSetCondition {
|
||||||
// DaemonSetList is a collection of daemon sets.
|
// DaemonSetList is a collection of daemon sets.
|
||||||
message DaemonSetList {
|
message DaemonSetList {
|
||||||
// Standard list metadata.
|
// Standard list metadata.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
// +optional
|
// +optional
|
||||||
optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
|
||||||
|
|
||||||
|
@ -471,19 +477,20 @@ message IPBlock {
|
||||||
// endpoints defined by a backend. An Ingress can be configured to give services
|
// endpoints defined by a backend. An Ingress can be configured to give services
|
||||||
// externally-reachable urls, load balance traffic, terminate SSL, offer name
|
// externally-reachable urls, load balance traffic, terminate SSL, offer name
|
||||||
// based virtual hosting etc.
|
// based virtual hosting etc.
|
||||||
|
// DEPRECATED - This group version of Ingress is deprecated by networking.k8s.io/v1beta1 Ingress. See the release notes for more information.
|
||||||
message Ingress {
|
message Ingress {
|
||||||
// Standard object's metadata.
|
// Standard object's metadata.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
// +optional
|
// +optional
|
||||||
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
||||||
|
|
||||||
// Spec is the desired state of the Ingress.
|
// Spec is the desired state of the Ingress.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
|
||||||
// +optional
|
// +optional
|
||||||
optional IngressSpec spec = 2;
|
optional IngressSpec spec = 2;
|
||||||
|
|
||||||
// Status is the current state of the Ingress.
|
// Status is the current state of the Ingress.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
|
||||||
// +optional
|
// +optional
|
||||||
optional IngressStatus status = 3;
|
optional IngressStatus status = 3;
|
||||||
}
|
}
|
||||||
|
@ -500,7 +507,7 @@ message IngressBackend {
|
||||||
// IngressList is a collection of Ingress.
|
// IngressList is a collection of Ingress.
|
||||||
message IngressList {
|
message IngressList {
|
||||||
// Standard object's metadata.
|
// Standard object's metadata.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
// +optional
|
// +optional
|
||||||
optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
|
||||||
|
|
||||||
|
@ -597,7 +604,7 @@ message IngressTLS {
|
||||||
// NetworkPolicy describes what network traffic is allowed for a set of Pods
|
// NetworkPolicy describes what network traffic is allowed for a set of Pods
|
||||||
message NetworkPolicy {
|
message NetworkPolicy {
|
||||||
// Standard object's metadata.
|
// Standard object's metadata.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
// +optional
|
// +optional
|
||||||
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
||||||
|
|
||||||
|
@ -652,7 +659,7 @@ message NetworkPolicyIngressRule {
|
||||||
// Network Policy List is a list of NetworkPolicy objects.
|
// Network Policy List is a list of NetworkPolicy objects.
|
||||||
message NetworkPolicyList {
|
message NetworkPolicyList {
|
||||||
// Standard list metadata.
|
// Standard list metadata.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
// +optional
|
// +optional
|
||||||
optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
|
||||||
|
|
||||||
|
@ -732,7 +739,7 @@ message NetworkPolicySpec {
|
||||||
repeated NetworkPolicyEgressRule egress = 3;
|
repeated NetworkPolicyEgressRule egress = 3;
|
||||||
|
|
||||||
// List of rule types that the NetworkPolicy relates to.
|
// List of rule types that the NetworkPolicy relates to.
|
||||||
// Valid options are Ingress, Egress, or Ingress,Egress.
|
// Valid options are "Ingress", "Egress", or "Ingress,Egress".
|
||||||
// If this field is not specified, it will default based on the existence of Ingress or Egress rules;
|
// If this field is not specified, it will default based on the existence of Ingress or Egress rules;
|
||||||
// policies that contain an Egress section are assumed to affect Egress, and all policies
|
// policies that contain an Egress section are assumed to affect Egress, and all policies
|
||||||
// (whether or not they contain an Ingress section) are assumed to affect Ingress.
|
// (whether or not they contain an Ingress section) are assumed to affect Ingress.
|
||||||
|
@ -750,7 +757,7 @@ message NetworkPolicySpec {
|
||||||
// Deprecated: use PodSecurityPolicy from policy API Group instead.
|
// Deprecated: use PodSecurityPolicy from policy API Group instead.
|
||||||
message PodSecurityPolicy {
|
message PodSecurityPolicy {
|
||||||
// Standard object's metadata.
|
// Standard object's metadata.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
// +optional
|
// +optional
|
||||||
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
||||||
|
|
||||||
|
@ -763,7 +770,7 @@ message PodSecurityPolicy {
|
||||||
// Deprecated: use PodSecurityPolicyList from policy API Group instead.
|
// Deprecated: use PodSecurityPolicyList from policy API Group instead.
|
||||||
message PodSecurityPolicyList {
|
message PodSecurityPolicyList {
|
||||||
// Standard list metadata.
|
// Standard list metadata.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
// +optional
|
// +optional
|
||||||
optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
|
||||||
|
|
||||||
|
@ -864,6 +871,11 @@ message PodSecurityPolicySpec {
|
||||||
// +optional
|
// +optional
|
||||||
repeated AllowedFlexVolume allowedFlexVolumes = 18;
|
repeated AllowedFlexVolume allowedFlexVolumes = 18;
|
||||||
|
|
||||||
|
// AllowedCSIDrivers is a whitelist of inline CSI drivers that must be explicitly set to be embedded within a pod spec.
|
||||||
|
// An empty value means no CSI drivers can run inline within a pod spec.
|
||||||
|
// +optional
|
||||||
|
repeated AllowedCSIDriver allowedCSIDrivers = 23;
|
||||||
|
|
||||||
// allowedUnsafeSysctls is a list of explicitly allowed unsafe sysctls, defaults to none.
|
// allowedUnsafeSysctls is a list of explicitly allowed unsafe sysctls, defaults to none.
|
||||||
// Each entry is either a plain sysctl name or ends in "*" in which case it is considered
|
// Each entry is either a plain sysctl name or ends in "*" in which case it is considered
|
||||||
// as a prefix of allowed sysctls. Single * means all unsafe sysctls are allowed.
|
// as a prefix of allowed sysctls. Single * means all unsafe sysctls are allowed.
|
||||||
|
@ -898,12 +910,12 @@ message PodSecurityPolicySpec {
|
||||||
message ReplicaSet {
|
message ReplicaSet {
|
||||||
// If the Labels of a ReplicaSet are empty, they are defaulted to
|
// If the Labels of a ReplicaSet are empty, they are defaulted to
|
||||||
// be the same as the Pod(s) that the ReplicaSet manages.
|
// be the same as the Pod(s) that the ReplicaSet manages.
|
||||||
// Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
// Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
// +optional
|
// +optional
|
||||||
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
||||||
|
|
||||||
// Spec defines the specification of the desired behavior of the ReplicaSet.
|
// Spec defines the specification of the desired behavior of the ReplicaSet.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
|
||||||
// +optional
|
// +optional
|
||||||
optional ReplicaSetSpec spec = 2;
|
optional ReplicaSetSpec spec = 2;
|
||||||
|
|
||||||
|
@ -911,7 +923,7 @@ message ReplicaSet {
|
||||||
// This data may be out of date by some window of time.
|
// This data may be out of date by some window of time.
|
||||||
// Populated by the system.
|
// Populated by the system.
|
||||||
// Read-only.
|
// Read-only.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
|
||||||
// +optional
|
// +optional
|
||||||
optional ReplicaSetStatus status = 3;
|
optional ReplicaSetStatus status = 3;
|
||||||
}
|
}
|
||||||
|
@ -940,7 +952,7 @@ message ReplicaSetCondition {
|
||||||
// ReplicaSetList is a collection of ReplicaSets.
|
// ReplicaSetList is a collection of ReplicaSets.
|
||||||
message ReplicaSetList {
|
message ReplicaSetList {
|
||||||
// Standard list metadata.
|
// Standard list metadata.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
||||||
// +optional
|
// +optional
|
||||||
optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
|
||||||
|
|
||||||
|
@ -1106,15 +1118,15 @@ message SELinuxStrategyOptions {
|
||||||
|
|
||||||
// represents a scaling request for a resource.
|
// represents a scaling request for a resource.
|
||||||
message Scale {
|
message Scale {
|
||||||
// Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata.
|
// Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
|
||||||
// +optional
|
// +optional
|
||||||
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
||||||
|
|
||||||
// defines the behavior of the scale. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status.
|
// defines the behavior of the scale. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.
|
||||||
// +optional
|
// +optional
|
||||||
optional ScaleSpec spec = 2;
|
optional ScaleSpec spec = 2;
|
||||||
|
|
||||||
// current status of the scale. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status. Read-only.
|
// current status of the scale. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status. Read-only.
|
||||||
// +optional
|
// +optional
|
||||||
optional ScaleStatus status = 3;
|
optional ScaleStatus status = 3;
|
||||||
}
|
}
|
||||||
|
|
54
vendor/k8s.io/api/extensions/v1beta1/types.go
generated
vendored
54
vendor/k8s.io/api/extensions/v1beta1/types.go
generated
vendored
|
@ -18,7 +18,7 @@ package v1beta1
|
||||||
|
|
||||||
import (
|
import (
|
||||||
appsv1beta1 "k8s.io/api/apps/v1beta1"
|
appsv1beta1 "k8s.io/api/apps/v1beta1"
|
||||||
"k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/util/intstr"
|
"k8s.io/apimachinery/pkg/util/intstr"
|
||||||
)
|
)
|
||||||
|
@ -54,15 +54,15 @@ type ScaleStatus struct {
|
||||||
// represents a scaling request for a resource.
|
// represents a scaling request for a resource.
|
||||||
type Scale struct {
|
type Scale struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
// Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata.
|
// Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
|
||||||
// +optional
|
// +optional
|
||||||
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||||
|
|
||||||
// defines the behavior of the scale. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status.
|
// defines the behavior of the scale. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.
|
||||||
// +optional
|
// +optional
|
||||||
Spec ScaleSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
|
Spec ScaleSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
|
||||||
|
|
||||||
// current status of the scale. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status. Read-only.
|
// current status of the scale. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status. Read-only.
|
||||||
// +optional
|
// +optional
|
||||||
Status ScaleStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
|
Status ScaleStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
|
||||||
}
|
}
|
||||||
|
@ -489,12 +489,12 @@ type DaemonSetCondition struct {
|
||||||
type DaemonSet struct {
|
type DaemonSet struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
// Standard object's metadata.
|
// Standard object's metadata.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
// +optional
|
// +optional
|
||||||
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||||
|
|
||||||
// The desired behavior of this daemon set.
|
// The desired behavior of this daemon set.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
|
||||||
// +optional
|
// +optional
|
||||||
Spec DaemonSetSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
|
Spec DaemonSetSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
|
||||||
|
|
||||||
|
@ -502,7 +502,7 @@ type DaemonSet struct {
|
||||||
// out of date by some window of time.
|
// out of date by some window of time.
|
||||||
// Populated by the system.
|
// Populated by the system.
|
||||||
// Read-only.
|
// Read-only.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
|
||||||
// +optional
|
// +optional
|
||||||
Status DaemonSetStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
|
Status DaemonSetStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
|
||||||
}
|
}
|
||||||
|
@ -526,7 +526,7 @@ const (
|
||||||
type DaemonSetList struct {
|
type DaemonSetList struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
// Standard list metadata.
|
// Standard list metadata.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
// +optional
|
// +optional
|
||||||
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||||
|
|
||||||
|
@ -541,20 +541,21 @@ type DaemonSetList struct {
|
||||||
// endpoints defined by a backend. An Ingress can be configured to give services
|
// endpoints defined by a backend. An Ingress can be configured to give services
|
||||||
// externally-reachable urls, load balance traffic, terminate SSL, offer name
|
// externally-reachable urls, load balance traffic, terminate SSL, offer name
|
||||||
// based virtual hosting etc.
|
// based virtual hosting etc.
|
||||||
|
// DEPRECATED - This group version of Ingress is deprecated by networking.k8s.io/v1beta1 Ingress. See the release notes for more information.
|
||||||
type Ingress struct {
|
type Ingress struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
// Standard object's metadata.
|
// Standard object's metadata.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
// +optional
|
// +optional
|
||||||
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||||
|
|
||||||
// Spec is the desired state of the Ingress.
|
// Spec is the desired state of the Ingress.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
|
||||||
// +optional
|
// +optional
|
||||||
Spec IngressSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
|
Spec IngressSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
|
||||||
|
|
||||||
// Status is the current state of the Ingress.
|
// Status is the current state of the Ingress.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
|
||||||
// +optional
|
// +optional
|
||||||
Status IngressStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
|
Status IngressStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
|
||||||
}
|
}
|
||||||
|
@ -565,7 +566,7 @@ type Ingress struct {
|
||||||
type IngressList struct {
|
type IngressList struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
// Standard object's metadata.
|
// Standard object's metadata.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
// +optional
|
// +optional
|
||||||
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||||
|
|
||||||
|
@ -716,12 +717,12 @@ type ReplicaSet struct {
|
||||||
|
|
||||||
// If the Labels of a ReplicaSet are empty, they are defaulted to
|
// If the Labels of a ReplicaSet are empty, they are defaulted to
|
||||||
// be the same as the Pod(s) that the ReplicaSet manages.
|
// be the same as the Pod(s) that the ReplicaSet manages.
|
||||||
// Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
// Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
// +optional
|
// +optional
|
||||||
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||||
|
|
||||||
// Spec defines the specification of the desired behavior of the ReplicaSet.
|
// Spec defines the specification of the desired behavior of the ReplicaSet.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
|
||||||
// +optional
|
// +optional
|
||||||
Spec ReplicaSetSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
|
Spec ReplicaSetSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
|
||||||
|
|
||||||
|
@ -729,7 +730,7 @@ type ReplicaSet struct {
|
||||||
// This data may be out of date by some window of time.
|
// This data may be out of date by some window of time.
|
||||||
// Populated by the system.
|
// Populated by the system.
|
||||||
// Read-only.
|
// Read-only.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
|
||||||
// +optional
|
// +optional
|
||||||
Status ReplicaSetStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
|
Status ReplicaSetStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
|
||||||
}
|
}
|
||||||
|
@ -740,7 +741,7 @@ type ReplicaSet struct {
|
||||||
type ReplicaSetList struct {
|
type ReplicaSetList struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
// Standard list metadata.
|
// Standard list metadata.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
||||||
// +optional
|
// +optional
|
||||||
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||||
|
|
||||||
|
@ -844,7 +845,7 @@ type ReplicaSetCondition struct {
|
||||||
type PodSecurityPolicy struct {
|
type PodSecurityPolicy struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
// Standard object's metadata.
|
// Standard object's metadata.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
// +optional
|
// +optional
|
||||||
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||||
|
|
||||||
|
@ -927,6 +928,10 @@ type PodSecurityPolicySpec struct {
|
||||||
// is allowed in the "volumes" field.
|
// is allowed in the "volumes" field.
|
||||||
// +optional
|
// +optional
|
||||||
AllowedFlexVolumes []AllowedFlexVolume `json:"allowedFlexVolumes,omitempty" protobuf:"bytes,18,rep,name=allowedFlexVolumes"`
|
AllowedFlexVolumes []AllowedFlexVolume `json:"allowedFlexVolumes,omitempty" protobuf:"bytes,18,rep,name=allowedFlexVolumes"`
|
||||||
|
// AllowedCSIDrivers is a whitelist of inline CSI drivers that must be explicitly set to be embedded within a pod spec.
|
||||||
|
// An empty value means no CSI drivers can run inline within a pod spec.
|
||||||
|
// +optional
|
||||||
|
AllowedCSIDrivers []AllowedCSIDriver `json:"allowedCSIDrivers,omitempty" protobuf:"bytes,23,rep,name=allowedCSIDrivers"`
|
||||||
// allowedUnsafeSysctls is a list of explicitly allowed unsafe sysctls, defaults to none.
|
// allowedUnsafeSysctls is a list of explicitly allowed unsafe sysctls, defaults to none.
|
||||||
// Each entry is either a plain sysctl name or ends in "*" in which case it is considered
|
// Each entry is either a plain sysctl name or ends in "*" in which case it is considered
|
||||||
// as a prefix of allowed sysctls. Single * means all unsafe sysctls are allowed.
|
// as a prefix of allowed sysctls. Single * means all unsafe sysctls are allowed.
|
||||||
|
@ -997,6 +1002,7 @@ var (
|
||||||
ConfigMap FSType = "configMap"
|
ConfigMap FSType = "configMap"
|
||||||
Quobyte FSType = "quobyte"
|
Quobyte FSType = "quobyte"
|
||||||
AzureDisk FSType = "azureDisk"
|
AzureDisk FSType = "azureDisk"
|
||||||
|
CSI FSType = "csi"
|
||||||
All FSType = "*"
|
All FSType = "*"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -1007,6 +1013,12 @@ type AllowedFlexVolume struct {
|
||||||
Driver string `json:"driver" protobuf:"bytes,1,opt,name=driver"`
|
Driver string `json:"driver" protobuf:"bytes,1,opt,name=driver"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// AllowedCSIDriver represents a single inline CSI Driver that is allowed to be used.
|
||||||
|
type AllowedCSIDriver struct {
|
||||||
|
// Name is the registered name of the CSI driver
|
||||||
|
Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
|
||||||
|
}
|
||||||
|
|
||||||
// HostPortRange defines a range of host ports that will be enabled by a policy
|
// HostPortRange defines a range of host ports that will be enabled by a policy
|
||||||
// for pods to use. It requires both the start and end to be defined.
|
// for pods to use. It requires both the start and end to be defined.
|
||||||
// Deprecated: use HostPortRange from policy API Group instead.
|
// Deprecated: use HostPortRange from policy API Group instead.
|
||||||
|
@ -1166,7 +1178,7 @@ const (
|
||||||
type PodSecurityPolicyList struct {
|
type PodSecurityPolicyList struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
// Standard list metadata.
|
// Standard list metadata.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
// +optional
|
// +optional
|
||||||
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||||
|
|
||||||
|
@ -1181,7 +1193,7 @@ type PodSecurityPolicyList struct {
|
||||||
type NetworkPolicy struct {
|
type NetworkPolicy struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
// Standard object's metadata.
|
// Standard object's metadata.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
// +optional
|
// +optional
|
||||||
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||||
|
|
||||||
|
@ -1232,7 +1244,7 @@ type NetworkPolicySpec struct {
|
||||||
Egress []NetworkPolicyEgressRule `json:"egress,omitempty" protobuf:"bytes,3,rep,name=egress"`
|
Egress []NetworkPolicyEgressRule `json:"egress,omitempty" protobuf:"bytes,3,rep,name=egress"`
|
||||||
|
|
||||||
// List of rule types that the NetworkPolicy relates to.
|
// List of rule types that the NetworkPolicy relates to.
|
||||||
// Valid options are Ingress, Egress, or Ingress,Egress.
|
// Valid options are "Ingress", "Egress", or "Ingress,Egress".
|
||||||
// If this field is not specified, it will default based on the existence of Ingress or Egress rules;
|
// If this field is not specified, it will default based on the existence of Ingress or Egress rules;
|
||||||
// policies that contain an Egress section are assumed to affect Egress, and all policies
|
// policies that contain an Egress section are assumed to affect Egress, and all policies
|
||||||
// (whether or not they contain an Ingress section) are assumed to affect Ingress.
|
// (whether or not they contain an Ingress section) are assumed to affect Ingress.
|
||||||
|
@ -1351,7 +1363,7 @@ type NetworkPolicyPeer struct {
|
||||||
type NetworkPolicyList struct {
|
type NetworkPolicyList struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
// Standard list metadata.
|
// Standard list metadata.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
// +optional
|
// +optional
|
||||||
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||||
|
|
||||||
|
|
52
vendor/k8s.io/api/extensions/v1beta1/types_swagger_doc_generated.go
generated
vendored
52
vendor/k8s.io/api/extensions/v1beta1/types_swagger_doc_generated.go
generated
vendored
|
@ -27,6 +27,15 @@ package v1beta1
|
||||||
// Those methods can be generated by using hack/update-generated-swagger-docs.sh
|
// Those methods can be generated by using hack/update-generated-swagger-docs.sh
|
||||||
|
|
||||||
// AUTO-GENERATED FUNCTIONS START HERE. DO NOT EDIT.
|
// AUTO-GENERATED FUNCTIONS START HERE. DO NOT EDIT.
|
||||||
|
var map_AllowedCSIDriver = map[string]string{
|
||||||
|
"": "AllowedCSIDriver represents a single inline CSI Driver that is allowed to be used.",
|
||||||
|
"name": "Name is the registered name of the CSI driver",
|
||||||
|
}
|
||||||
|
|
||||||
|
func (AllowedCSIDriver) SwaggerDoc() map[string]string {
|
||||||
|
return map_AllowedCSIDriver
|
||||||
|
}
|
||||||
|
|
||||||
var map_AllowedFlexVolume = map[string]string{
|
var map_AllowedFlexVolume = map[string]string{
|
||||||
"": "AllowedFlexVolume represents a single Flexvolume that is allowed to be used. Deprecated: use AllowedFlexVolume from policy API Group instead.",
|
"": "AllowedFlexVolume represents a single Flexvolume that is allowed to be used. Deprecated: use AllowedFlexVolume from policy API Group instead.",
|
||||||
"driver": "driver is the name of the Flexvolume driver.",
|
"driver": "driver is the name of the Flexvolume driver.",
|
||||||
|
@ -48,9 +57,9 @@ func (AllowedHostPath) SwaggerDoc() map[string]string {
|
||||||
|
|
||||||
var map_DaemonSet = map[string]string{
|
var map_DaemonSet = map[string]string{
|
||||||
"": "DEPRECATED - This group version of DaemonSet is deprecated by apps/v1beta2/DaemonSet. See the release notes for more information. DaemonSet represents the configuration of a daemon set.",
|
"": "DEPRECATED - This group version of DaemonSet is deprecated by apps/v1beta2/DaemonSet. See the release notes for more information. DaemonSet represents the configuration of a daemon set.",
|
||||||
"metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
|
"metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
|
||||||
"spec": "The desired behavior of this daemon set. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status",
|
"spec": "The desired behavior of this daemon set. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status",
|
||||||
"status": "The current status of this daemon set. This data may be out of date by some window of time. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status",
|
"status": "The current status of this daemon set. This data may be out of date by some window of time. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status",
|
||||||
}
|
}
|
||||||
|
|
||||||
func (DaemonSet) SwaggerDoc() map[string]string {
|
func (DaemonSet) SwaggerDoc() map[string]string {
|
||||||
|
@ -72,7 +81,7 @@ func (DaemonSetCondition) SwaggerDoc() map[string]string {
|
||||||
|
|
||||||
var map_DaemonSetList = map[string]string{
|
var map_DaemonSetList = map[string]string{
|
||||||
"": "DaemonSetList is a collection of daemon sets.",
|
"": "DaemonSetList is a collection of daemon sets.",
|
||||||
"metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
|
"metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
|
||||||
"items": "A list of daemon sets.",
|
"items": "A list of daemon sets.",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -270,10 +279,10 @@ func (IPBlock) SwaggerDoc() map[string]string {
|
||||||
}
|
}
|
||||||
|
|
||||||
var map_Ingress = map[string]string{
|
var map_Ingress = map[string]string{
|
||||||
"": "Ingress is a collection of rules that allow inbound connections to reach the endpoints defined by a backend. An Ingress can be configured to give services externally-reachable urls, load balance traffic, terminate SSL, offer name based virtual hosting etc.",
|
"": "Ingress is a collection of rules that allow inbound connections to reach the endpoints defined by a backend. An Ingress can be configured to give services externally-reachable urls, load balance traffic, terminate SSL, offer name based virtual hosting etc. DEPRECATED - This group version of Ingress is deprecated by networking.k8s.io/v1beta1 Ingress. See the release notes for more information.",
|
||||||
"metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
|
"metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
|
||||||
"spec": "Spec is the desired state of the Ingress. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status",
|
"spec": "Spec is the desired state of the Ingress. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status",
|
||||||
"status": "Status is the current state of the Ingress. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status",
|
"status": "Status is the current state of the Ingress. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status",
|
||||||
}
|
}
|
||||||
|
|
||||||
func (Ingress) SwaggerDoc() map[string]string {
|
func (Ingress) SwaggerDoc() map[string]string {
|
||||||
|
@ -292,7 +301,7 @@ func (IngressBackend) SwaggerDoc() map[string]string {
|
||||||
|
|
||||||
var map_IngressList = map[string]string{
|
var map_IngressList = map[string]string{
|
||||||
"": "IngressList is a collection of Ingress.",
|
"": "IngressList is a collection of Ingress.",
|
||||||
"metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
|
"metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
|
||||||
"items": "Items is the list of Ingress.",
|
"items": "Items is the list of Ingress.",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -349,7 +358,7 @@ func (IngressTLS) SwaggerDoc() map[string]string {
|
||||||
|
|
||||||
var map_NetworkPolicy = map[string]string{
|
var map_NetworkPolicy = map[string]string{
|
||||||
"": "DEPRECATED 1.9 - This group version of NetworkPolicy is deprecated by networking/v1/NetworkPolicy. NetworkPolicy describes what network traffic is allowed for a set of Pods",
|
"": "DEPRECATED 1.9 - This group version of NetworkPolicy is deprecated by networking/v1/NetworkPolicy. NetworkPolicy describes what network traffic is allowed for a set of Pods",
|
||||||
"metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
|
"metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
|
||||||
"spec": "Specification of the desired behavior for this NetworkPolicy.",
|
"spec": "Specification of the desired behavior for this NetworkPolicy.",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -379,7 +388,7 @@ func (NetworkPolicyIngressRule) SwaggerDoc() map[string]string {
|
||||||
|
|
||||||
var map_NetworkPolicyList = map[string]string{
|
var map_NetworkPolicyList = map[string]string{
|
||||||
"": "DEPRECATED 1.9 - This group version of NetworkPolicyList is deprecated by networking/v1/NetworkPolicyList. Network Policy List is a list of NetworkPolicy objects.",
|
"": "DEPRECATED 1.9 - This group version of NetworkPolicyList is deprecated by networking/v1/NetworkPolicyList. Network Policy List is a list of NetworkPolicy objects.",
|
||||||
"metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
|
"metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
|
||||||
"items": "Items is a list of schema objects.",
|
"items": "Items is a list of schema objects.",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -413,7 +422,7 @@ var map_NetworkPolicySpec = map[string]string{
|
||||||
"podSelector": "Selects the pods to which this NetworkPolicy object applies. The array of ingress rules is applied to any pods selected by this field. Multiple network policies can select the same set of pods. In this case, the ingress rules for each are combined additively. This field is NOT optional and follows standard label selector semantics. An empty podSelector matches all pods in this namespace.",
|
"podSelector": "Selects the pods to which this NetworkPolicy object applies. The array of ingress rules is applied to any pods selected by this field. Multiple network policies can select the same set of pods. In this case, the ingress rules for each are combined additively. This field is NOT optional and follows standard label selector semantics. An empty podSelector matches all pods in this namespace.",
|
||||||
"ingress": "List of ingress rules to be applied to the selected pods. Traffic is allowed to a pod if there are no NetworkPolicies selecting the pod OR if the traffic source is the pod's local node, OR if the traffic matches at least one ingress rule across all of the NetworkPolicy objects whose podSelector matches the pod. If this field is empty then this NetworkPolicy does not allow any traffic (and serves solely to ensure that the pods it selects are isolated by default).",
|
"ingress": "List of ingress rules to be applied to the selected pods. Traffic is allowed to a pod if there are no NetworkPolicies selecting the pod OR if the traffic source is the pod's local node, OR if the traffic matches at least one ingress rule across all of the NetworkPolicy objects whose podSelector matches the pod. If this field is empty then this NetworkPolicy does not allow any traffic (and serves solely to ensure that the pods it selects are isolated by default).",
|
||||||
"egress": "List of egress rules to be applied to the selected pods. Outgoing traffic is allowed if there are no NetworkPolicies selecting the pod (and cluster policy otherwise allows the traffic), OR if the traffic matches at least one egress rule across all of the NetworkPolicy objects whose podSelector matches the pod. If this field is empty then this NetworkPolicy limits all outgoing traffic (and serves solely to ensure that the pods it selects are isolated by default). This field is beta-level in 1.8",
|
"egress": "List of egress rules to be applied to the selected pods. Outgoing traffic is allowed if there are no NetworkPolicies selecting the pod (and cluster policy otherwise allows the traffic), OR if the traffic matches at least one egress rule across all of the NetworkPolicy objects whose podSelector matches the pod. If this field is empty then this NetworkPolicy limits all outgoing traffic (and serves solely to ensure that the pods it selects are isolated by default). This field is beta-level in 1.8",
|
||||||
"policyTypes": "List of rule types that the NetworkPolicy relates to. Valid options are Ingress, Egress, or Ingress,Egress. If this field is not specified, it will default based on the existence of Ingress or Egress rules; policies that contain an Egress section are assumed to affect Egress, and all policies (whether or not they contain an Ingress section) are assumed to affect Ingress. If you want to write an egress-only policy, you must explicitly specify policyTypes [ \"Egress\" ]. Likewise, if you want to write a policy that specifies that no egress is allowed, you must specify a policyTypes value that include \"Egress\" (since such a policy would not include an Egress section and would otherwise default to just [ \"Ingress\" ]). This field is beta-level in 1.8",
|
"policyTypes": "List of rule types that the NetworkPolicy relates to. Valid options are \"Ingress\", \"Egress\", or \"Ingress,Egress\". If this field is not specified, it will default based on the existence of Ingress or Egress rules; policies that contain an Egress section are assumed to affect Egress, and all policies (whether or not they contain an Ingress section) are assumed to affect Ingress. If you want to write an egress-only policy, you must explicitly specify policyTypes [ \"Egress\" ]. Likewise, if you want to write a policy that specifies that no egress is allowed, you must specify a policyTypes value that include \"Egress\" (since such a policy would not include an Egress section and would otherwise default to just [ \"Ingress\" ]). This field is beta-level in 1.8",
|
||||||
}
|
}
|
||||||
|
|
||||||
func (NetworkPolicySpec) SwaggerDoc() map[string]string {
|
func (NetworkPolicySpec) SwaggerDoc() map[string]string {
|
||||||
|
@ -422,7 +431,7 @@ func (NetworkPolicySpec) SwaggerDoc() map[string]string {
|
||||||
|
|
||||||
var map_PodSecurityPolicy = map[string]string{
|
var map_PodSecurityPolicy = map[string]string{
|
||||||
"": "PodSecurityPolicy governs the ability to make requests that affect the Security Context that will be applied to a pod and container. Deprecated: use PodSecurityPolicy from policy API Group instead.",
|
"": "PodSecurityPolicy governs the ability to make requests that affect the Security Context that will be applied to a pod and container. Deprecated: use PodSecurityPolicy from policy API Group instead.",
|
||||||
"metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
|
"metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
|
||||||
"spec": "spec defines the policy enforced.",
|
"spec": "spec defines the policy enforced.",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -432,7 +441,7 @@ func (PodSecurityPolicy) SwaggerDoc() map[string]string {
|
||||||
|
|
||||||
var map_PodSecurityPolicyList = map[string]string{
|
var map_PodSecurityPolicyList = map[string]string{
|
||||||
"": "PodSecurityPolicyList is a list of PodSecurityPolicy objects. Deprecated: use PodSecurityPolicyList from policy API Group instead.",
|
"": "PodSecurityPolicyList is a list of PodSecurityPolicy objects. Deprecated: use PodSecurityPolicyList from policy API Group instead.",
|
||||||
"metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
|
"metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
|
||||||
"items": "items is a list of schema objects.",
|
"items": "items is a list of schema objects.",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -461,6 +470,7 @@ var map_PodSecurityPolicySpec = map[string]string{
|
||||||
"allowPrivilegeEscalation": "allowPrivilegeEscalation determines if a pod can request to allow privilege escalation. If unspecified, defaults to true.",
|
"allowPrivilegeEscalation": "allowPrivilegeEscalation determines if a pod can request to allow privilege escalation. If unspecified, defaults to true.",
|
||||||
"allowedHostPaths": "allowedHostPaths is a white list of allowed host paths. Empty indicates that all host paths may be used.",
|
"allowedHostPaths": "allowedHostPaths is a white list of allowed host paths. Empty indicates that all host paths may be used.",
|
||||||
"allowedFlexVolumes": "allowedFlexVolumes is a whitelist of allowed Flexvolumes. Empty or nil indicates that all Flexvolumes may be used. This parameter is effective only when the usage of the Flexvolumes is allowed in the \"volumes\" field.",
|
"allowedFlexVolumes": "allowedFlexVolumes is a whitelist of allowed Flexvolumes. Empty or nil indicates that all Flexvolumes may be used. This parameter is effective only when the usage of the Flexvolumes is allowed in the \"volumes\" field.",
|
||||||
|
"allowedCSIDrivers": "AllowedCSIDrivers is a whitelist of inline CSI drivers that must be explicitly set to be embedded within a pod spec. An empty value means no CSI drivers can run inline within a pod spec.",
|
||||||
"allowedUnsafeSysctls": "allowedUnsafeSysctls is a list of explicitly allowed unsafe sysctls, defaults to none. Each entry is either a plain sysctl name or ends in \"*\" in which case it is considered as a prefix of allowed sysctls. Single * means all unsafe sysctls are allowed. Kubelet has to whitelist all allowed unsafe sysctls explicitly to avoid rejection.\n\nExamples: e.g. \"foo/*\" allows \"foo/bar\", \"foo/baz\", etc. e.g. \"foo.*\" allows \"foo.bar\", \"foo.baz\", etc.",
|
"allowedUnsafeSysctls": "allowedUnsafeSysctls is a list of explicitly allowed unsafe sysctls, defaults to none. Each entry is either a plain sysctl name or ends in \"*\" in which case it is considered as a prefix of allowed sysctls. Single * means all unsafe sysctls are allowed. Kubelet has to whitelist all allowed unsafe sysctls explicitly to avoid rejection.\n\nExamples: e.g. \"foo/*\" allows \"foo/bar\", \"foo/baz\", etc. e.g. \"foo.*\" allows \"foo.bar\", \"foo.baz\", etc.",
|
||||||
"forbiddenSysctls": "forbiddenSysctls is a list of explicitly forbidden sysctls, defaults to none. Each entry is either a plain sysctl name or ends in \"*\" in which case it is considered as a prefix of forbidden sysctls. Single * means all sysctls are forbidden.\n\nExamples: e.g. \"foo/*\" forbids \"foo/bar\", \"foo/baz\", etc. e.g. \"foo.*\" forbids \"foo.bar\", \"foo.baz\", etc.",
|
"forbiddenSysctls": "forbiddenSysctls is a list of explicitly forbidden sysctls, defaults to none. Each entry is either a plain sysctl name or ends in \"*\" in which case it is considered as a prefix of forbidden sysctls. Single * means all sysctls are forbidden.\n\nExamples: e.g. \"foo/*\" forbids \"foo/bar\", \"foo/baz\", etc. e.g. \"foo.*\" forbids \"foo.bar\", \"foo.baz\", etc.",
|
||||||
"allowedProcMountTypes": "AllowedProcMountTypes is a whitelist of allowed ProcMountTypes. Empty or nil indicates that only the DefaultProcMountType may be used. This requires the ProcMountType feature flag to be enabled.",
|
"allowedProcMountTypes": "AllowedProcMountTypes is a whitelist of allowed ProcMountTypes. Empty or nil indicates that only the DefaultProcMountType may be used. This requires the ProcMountType feature flag to be enabled.",
|
||||||
|
@ -472,9 +482,9 @@ func (PodSecurityPolicySpec) SwaggerDoc() map[string]string {
|
||||||
|
|
||||||
var map_ReplicaSet = map[string]string{
|
var map_ReplicaSet = map[string]string{
|
||||||
"": "DEPRECATED - This group version of ReplicaSet is deprecated by apps/v1beta2/ReplicaSet. See the release notes for more information. ReplicaSet ensures that a specified number of pod replicas are running at any given time.",
|
"": "DEPRECATED - This group version of ReplicaSet is deprecated by apps/v1beta2/ReplicaSet. See the release notes for more information. ReplicaSet ensures that a specified number of pod replicas are running at any given time.",
|
||||||
"metadata": "If the Labels of a ReplicaSet are empty, they are defaulted to be the same as the Pod(s) that the ReplicaSet manages. Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
|
"metadata": "If the Labels of a ReplicaSet are empty, they are defaulted to be the same as the Pod(s) that the ReplicaSet manages. Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
|
||||||
"spec": "Spec defines the specification of the desired behavior of the ReplicaSet. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status",
|
"spec": "Spec defines the specification of the desired behavior of the ReplicaSet. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status",
|
||||||
"status": "Status is the most recently observed status of the ReplicaSet. This data may be out of date by some window of time. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status",
|
"status": "Status is the most recently observed status of the ReplicaSet. This data may be out of date by some window of time. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status",
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ReplicaSet) SwaggerDoc() map[string]string {
|
func (ReplicaSet) SwaggerDoc() map[string]string {
|
||||||
|
@ -496,7 +506,7 @@ func (ReplicaSetCondition) SwaggerDoc() map[string]string {
|
||||||
|
|
||||||
var map_ReplicaSetList = map[string]string{
|
var map_ReplicaSetList = map[string]string{
|
||||||
"": "ReplicaSetList is a collection of ReplicaSets.",
|
"": "ReplicaSetList is a collection of ReplicaSets.",
|
||||||
"metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds",
|
"metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
|
||||||
"items": "List of ReplicaSets. More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller",
|
"items": "List of ReplicaSets. More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -598,9 +608,9 @@ func (SELinuxStrategyOptions) SwaggerDoc() map[string]string {
|
||||||
|
|
||||||
var map_Scale = map[string]string{
|
var map_Scale = map[string]string{
|
||||||
"": "represents a scaling request for a resource.",
|
"": "represents a scaling request for a resource.",
|
||||||
"metadata": "Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata.",
|
"metadata": "Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
|
||||||
"spec": "defines the behavior of the scale. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status.",
|
"spec": "defines the behavior of the scale. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.",
|
||||||
"status": "current status of the scale. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status. Read-only.",
|
"status": "current status of the scale. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status. Read-only.",
|
||||||
}
|
}
|
||||||
|
|
||||||
func (Scale) SwaggerDoc() map[string]string {
|
func (Scale) SwaggerDoc() map[string]string {
|
||||||
|
|
21
vendor/k8s.io/api/extensions/v1beta1/zz_generated.deepcopy.go
generated
vendored
21
vendor/k8s.io/api/extensions/v1beta1/zz_generated.deepcopy.go
generated
vendored
|
@ -27,6 +27,22 @@ import (
|
||||||
intstr "k8s.io/apimachinery/pkg/util/intstr"
|
intstr "k8s.io/apimachinery/pkg/util/intstr"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *AllowedCSIDriver) DeepCopyInto(out *AllowedCSIDriver) {
|
||||||
|
*out = *in
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowedCSIDriver.
|
||||||
|
func (in *AllowedCSIDriver) DeepCopy() *AllowedCSIDriver {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(AllowedCSIDriver)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
func (in *AllowedFlexVolume) DeepCopyInto(out *AllowedFlexVolume) {
|
func (in *AllowedFlexVolume) DeepCopyInto(out *AllowedFlexVolume) {
|
||||||
*out = *in
|
*out = *in
|
||||||
|
@ -1049,6 +1065,11 @@ func (in *PodSecurityPolicySpec) DeepCopyInto(out *PodSecurityPolicySpec) {
|
||||||
*out = make([]AllowedFlexVolume, len(*in))
|
*out = make([]AllowedFlexVolume, len(*in))
|
||||||
copy(*out, *in)
|
copy(*out, *in)
|
||||||
}
|
}
|
||||||
|
if in.AllowedCSIDrivers != nil {
|
||||||
|
in, out := &in.AllowedCSIDrivers, &out.AllowedCSIDrivers
|
||||||
|
*out = make([]AllowedCSIDriver, len(*in))
|
||||||
|
copy(*out, *in)
|
||||||
|
}
|
||||||
if in.AllowedUnsafeSysctls != nil {
|
if in.AllowedUnsafeSysctls != nil {
|
||||||
in, out := &in.AllowedUnsafeSysctls, &out.AllowedUnsafeSysctls
|
in, out := &in.AllowedUnsafeSysctls, &out.AllowedUnsafeSysctls
|
||||||
*out = make([]string, len(*in))
|
*out = make([]string, len(*in))
|
||||||
|
|
1
vendor/k8s.io/api/networking/v1/doc.go
generated
vendored
1
vendor/k8s.io/api/networking/v1/doc.go
generated
vendored
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// +k8s:deepcopy-gen=package
|
// +k8s:deepcopy-gen=package
|
||||||
|
// +k8s:protobuf-gen=package
|
||||||
// +k8s:openapi-gen=true
|
// +k8s:openapi-gen=true
|
||||||
// +groupName=networking.k8s.io
|
// +groupName=networking.k8s.io
|
||||||
|
|
||||||
|
|
6
vendor/k8s.io/api/networking/v1/generated.proto
generated
vendored
6
vendor/k8s.io/api/networking/v1/generated.proto
generated
vendored
|
@ -48,7 +48,7 @@ message IPBlock {
|
||||||
// NetworkPolicy describes what network traffic is allowed for a set of Pods
|
// NetworkPolicy describes what network traffic is allowed for a set of Pods
|
||||||
message NetworkPolicy {
|
message NetworkPolicy {
|
||||||
// Standard object's metadata.
|
// Standard object's metadata.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
// +optional
|
// +optional
|
||||||
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
||||||
|
|
||||||
|
@ -101,7 +101,7 @@ message NetworkPolicyIngressRule {
|
||||||
// NetworkPolicyList is a list of NetworkPolicy objects.
|
// NetworkPolicyList is a list of NetworkPolicy objects.
|
||||||
message NetworkPolicyList {
|
message NetworkPolicyList {
|
||||||
// Standard list metadata.
|
// Standard list metadata.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
// +optional
|
// +optional
|
||||||
optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
|
||||||
|
|
||||||
|
@ -180,7 +180,7 @@ message NetworkPolicySpec {
|
||||||
repeated NetworkPolicyEgressRule egress = 3;
|
repeated NetworkPolicyEgressRule egress = 3;
|
||||||
|
|
||||||
// List of rule types that the NetworkPolicy relates to.
|
// List of rule types that the NetworkPolicy relates to.
|
||||||
// Valid options are Ingress, Egress, or Ingress,Egress.
|
// Valid options are "Ingress", "Egress", or "Ingress,Egress".
|
||||||
// If this field is not specified, it will default based on the existence of Ingress or Egress rules;
|
// If this field is not specified, it will default based on the existence of Ingress or Egress rules;
|
||||||
// policies that contain an Egress section are assumed to affect Egress, and all policies
|
// policies that contain an Egress section are assumed to affect Egress, and all policies
|
||||||
// (whether or not they contain an Ingress section) are assumed to affect Ingress.
|
// (whether or not they contain an Ingress section) are assumed to affect Ingress.
|
||||||
|
|
6
vendor/k8s.io/api/networking/v1/types.go
generated
vendored
6
vendor/k8s.io/api/networking/v1/types.go
generated
vendored
|
@ -29,7 +29,7 @@ import (
|
||||||
type NetworkPolicy struct {
|
type NetworkPolicy struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
// Standard object's metadata.
|
// Standard object's metadata.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
// +optional
|
// +optional
|
||||||
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||||
|
|
||||||
|
@ -80,7 +80,7 @@ type NetworkPolicySpec struct {
|
||||||
Egress []NetworkPolicyEgressRule `json:"egress,omitempty" protobuf:"bytes,3,rep,name=egress"`
|
Egress []NetworkPolicyEgressRule `json:"egress,omitempty" protobuf:"bytes,3,rep,name=egress"`
|
||||||
|
|
||||||
// List of rule types that the NetworkPolicy relates to.
|
// List of rule types that the NetworkPolicy relates to.
|
||||||
// Valid options are Ingress, Egress, or Ingress,Egress.
|
// Valid options are "Ingress", "Egress", or "Ingress,Egress".
|
||||||
// If this field is not specified, it will default based on the existence of Ingress or Egress rules;
|
// If this field is not specified, it will default based on the existence of Ingress or Egress rules;
|
||||||
// policies that contain an Egress section are assumed to affect Egress, and all policies
|
// policies that contain an Egress section are assumed to affect Egress, and all policies
|
||||||
// (whether or not they contain an Ingress section) are assumed to affect Ingress.
|
// (whether or not they contain an Ingress section) are assumed to affect Ingress.
|
||||||
|
@ -194,7 +194,7 @@ type NetworkPolicyPeer struct {
|
||||||
type NetworkPolicyList struct {
|
type NetworkPolicyList struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
// Standard list metadata.
|
// Standard list metadata.
|
||||||
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
// +optional
|
// +optional
|
||||||
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||||
|
|
||||||
|
|
6
vendor/k8s.io/api/networking/v1/types_swagger_doc_generated.go
generated
vendored
6
vendor/k8s.io/api/networking/v1/types_swagger_doc_generated.go
generated
vendored
|
@ -39,7 +39,7 @@ func (IPBlock) SwaggerDoc() map[string]string {
|
||||||
|
|
||||||
var map_NetworkPolicy = map[string]string{
|
var map_NetworkPolicy = map[string]string{
|
||||||
"": "NetworkPolicy describes what network traffic is allowed for a set of Pods",
|
"": "NetworkPolicy describes what network traffic is allowed for a set of Pods",
|
||||||
"metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
|
"metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
|
||||||
"spec": "Specification of the desired behavior for this NetworkPolicy.",
|
"spec": "Specification of the desired behavior for this NetworkPolicy.",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -69,7 +69,7 @@ func (NetworkPolicyIngressRule) SwaggerDoc() map[string]string {
|
||||||
|
|
||||||
var map_NetworkPolicyList = map[string]string{
|
var map_NetworkPolicyList = map[string]string{
|
||||||
"": "NetworkPolicyList is a list of NetworkPolicy objects.",
|
"": "NetworkPolicyList is a list of NetworkPolicy objects.",
|
||||||
"metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
|
"metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
|
||||||
"items": "Items is a list of schema objects.",
|
"items": "Items is a list of schema objects.",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -103,7 +103,7 @@ var map_NetworkPolicySpec = map[string]string{
|
||||||
"podSelector": "Selects the pods to which this NetworkPolicy object applies. The array of ingress rules is applied to any pods selected by this field. Multiple network policies can select the same set of pods. In this case, the ingress rules for each are combined additively. This field is NOT optional and follows standard label selector semantics. An empty podSelector matches all pods in this namespace.",
|
"podSelector": "Selects the pods to which this NetworkPolicy object applies. The array of ingress rules is applied to any pods selected by this field. Multiple network policies can select the same set of pods. In this case, the ingress rules for each are combined additively. This field is NOT optional and follows standard label selector semantics. An empty podSelector matches all pods in this namespace.",
|
||||||
"ingress": "List of ingress rules to be applied to the selected pods. Traffic is allowed to a pod if there are no NetworkPolicies selecting the pod (and cluster policy otherwise allows the traffic), OR if the traffic source is the pod's local node, OR if the traffic matches at least one ingress rule across all of the NetworkPolicy objects whose podSelector matches the pod. If this field is empty then this NetworkPolicy does not allow any traffic (and serves solely to ensure that the pods it selects are isolated by default)",
|
"ingress": "List of ingress rules to be applied to the selected pods. Traffic is allowed to a pod if there are no NetworkPolicies selecting the pod (and cluster policy otherwise allows the traffic), OR if the traffic source is the pod's local node, OR if the traffic matches at least one ingress rule across all of the NetworkPolicy objects whose podSelector matches the pod. If this field is empty then this NetworkPolicy does not allow any traffic (and serves solely to ensure that the pods it selects are isolated by default)",
|
||||||
"egress": "List of egress rules to be applied to the selected pods. Outgoing traffic is allowed if there are no NetworkPolicies selecting the pod (and cluster policy otherwise allows the traffic), OR if the traffic matches at least one egress rule across all of the NetworkPolicy objects whose podSelector matches the pod. If this field is empty then this NetworkPolicy limits all outgoing traffic (and serves solely to ensure that the pods it selects are isolated by default). This field is beta-level in 1.8",
|
"egress": "List of egress rules to be applied to the selected pods. Outgoing traffic is allowed if there are no NetworkPolicies selecting the pod (and cluster policy otherwise allows the traffic), OR if the traffic matches at least one egress rule across all of the NetworkPolicy objects whose podSelector matches the pod. If this field is empty then this NetworkPolicy limits all outgoing traffic (and serves solely to ensure that the pods it selects are isolated by default). This field is beta-level in 1.8",
|
||||||
"policyTypes": "List of rule types that the NetworkPolicy relates to. Valid options are Ingress, Egress, or Ingress,Egress. If this field is not specified, it will default based on the existence of Ingress or Egress rules; policies that contain an Egress section are assumed to affect Egress, and all policies (whether or not they contain an Ingress section) are assumed to affect Ingress. If you want to write an egress-only policy, you must explicitly specify policyTypes [ \"Egress\" ]. Likewise, if you want to write a policy that specifies that no egress is allowed, you must specify a policyTypes value that include \"Egress\" (since such a policy would not include an Egress section and would otherwise default to just [ \"Ingress\" ]). This field is beta-level in 1.8",
|
"policyTypes": "List of rule types that the NetworkPolicy relates to. Valid options are \"Ingress\", \"Egress\", or \"Ingress,Egress\". If this field is not specified, it will default based on the existence of Ingress or Egress rules; policies that contain an Egress section are assumed to affect Egress, and all policies (whether or not they contain an Ingress section) are assumed to affect Ingress. If you want to write an egress-only policy, you must explicitly specify policyTypes [ \"Egress\" ]. Likewise, if you want to write a policy that specifies that no egress is allowed, you must specify a policyTypes value that include \"Egress\" (since such a policy would not include an Egress section and would otherwise default to just [ \"Ingress\" ]). This field is beta-level in 1.8",
|
||||||
}
|
}
|
||||||
|
|
||||||
func (NetworkPolicySpec) SwaggerDoc() map[string]string {
|
func (NetworkPolicySpec) SwaggerDoc() map[string]string {
|
||||||
|
|
22
vendor/k8s.io/api/networking/v1beta1/doc.go
generated
vendored
Normal file
22
vendor/k8s.io/api/networking/v1beta1/doc.go
generated
vendored
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
/*
|
||||||
|
Copyright 2019 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// +k8s:deepcopy-gen=package
|
||||||
|
// +k8s:protobuf-gen=package
|
||||||
|
// +k8s:openapi-gen=true
|
||||||
|
// +groupName=networking.k8s.io
|
||||||
|
|
||||||
|
package v1beta1 // import "k8s.io/api/networking/v1beta1"
|
1953
vendor/k8s.io/api/networking/v1beta1/generated.pb.go
generated
vendored
Normal file
1953
vendor/k8s.io/api/networking/v1beta1/generated.pb.go
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
186
vendor/k8s.io/api/networking/v1beta1/generated.proto
generated
vendored
Normal file
186
vendor/k8s.io/api/networking/v1beta1/generated.proto
generated
vendored
Normal file
|
@ -0,0 +1,186 @@
|
||||||
|
/*
|
||||||
|
Copyright The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
// This file was autogenerated by go-to-protobuf. Do not edit it manually!
|
||||||
|
|
||||||
|
syntax = 'proto2';
|
||||||
|
|
||||||
|
package k8s.io.api.networking.v1beta1;
|
||||||
|
|
||||||
|
import "k8s.io/api/core/v1/generated.proto";
|
||||||
|
import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto";
|
||||||
|
import "k8s.io/apimachinery/pkg/runtime/generated.proto";
|
||||||
|
import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto";
|
||||||
|
import "k8s.io/apimachinery/pkg/util/intstr/generated.proto";
|
||||||
|
|
||||||
|
// Package-wide variables from generator "generated".
|
||||||
|
option go_package = "v1beta1";
|
||||||
|
|
||||||
|
// HTTPIngressPath associates a path regex with a backend. Incoming urls matching
|
||||||
|
// the path are forwarded to the backend.
|
||||||
|
message HTTPIngressPath {
|
||||||
|
// Path is an extended POSIX regex as defined by IEEE Std 1003.1,
|
||||||
|
// (i.e this follows the egrep/unix syntax, not the perl syntax)
|
||||||
|
// matched against the path of an incoming request. Currently it can
|
||||||
|
// contain characters disallowed from the conventional "path"
|
||||||
|
// part of a URL as defined by RFC 3986. Paths must begin with
|
||||||
|
// a '/'. If unspecified, the path defaults to a catch all sending
|
||||||
|
// traffic to the backend.
|
||||||
|
// +optional
|
||||||
|
optional string path = 1;
|
||||||
|
|
||||||
|
// Backend defines the referenced service endpoint to which the traffic
|
||||||
|
// will be forwarded to.
|
||||||
|
optional IngressBackend backend = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
// HTTPIngressRuleValue is a list of http selectors pointing to backends.
|
||||||
|
// In the example: http://<host>/<path>?<searchpart> -> backend where
|
||||||
|
// where parts of the url correspond to RFC 3986, this resource will be used
|
||||||
|
// to match against everything after the last '/' and before the first '?'
|
||||||
|
// or '#'.
|
||||||
|
message HTTPIngressRuleValue {
|
||||||
|
// A collection of paths that map requests to backends.
|
||||||
|
repeated HTTPIngressPath paths = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ingress is a collection of rules that allow inbound connections to reach the
|
||||||
|
// endpoints defined by a backend. An Ingress can be configured to give services
|
||||||
|
// externally-reachable urls, load balance traffic, terminate SSL, offer name
|
||||||
|
// based virtual hosting etc.
|
||||||
|
message Ingress {
|
||||||
|
// Standard object's metadata.
|
||||||
|
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
||||||
|
// +optional
|
||||||
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
||||||
|
|
||||||
|
// Spec is the desired state of the Ingress.
|
||||||
|
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
|
||||||
|
// +optional
|
||||||
|
optional IngressSpec spec = 2;
|
||||||
|
|
||||||
|
// Status is the current state of the Ingress.
|
||||||
|
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
|
||||||
|
// +optional
|
||||||
|
optional IngressStatus status = 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
// IngressBackend describes all endpoints for a given service and port.
|
||||||
|
message IngressBackend {
|
||||||
|
// Specifies the name of the referenced service.
|
||||||
|
optional string serviceName = 1;
|
||||||
|
|
||||||
|
// Specifies the port of the referenced service.
|
||||||
|
optional k8s.io.apimachinery.pkg.util.intstr.IntOrString servicePort = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
// IngressList is a collection of Ingress.
|
||||||
|
message IngressList {
|
||||||
|
// Standard object's metadata.
|
||||||
|
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
||||||
|
// +optional
|
||||||
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
|
||||||
|
|
||||||
|
// Items is the list of Ingress.
|
||||||
|
repeated Ingress items = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
// IngressRule represents the rules mapping the paths under a specified host to
|
||||||
|
// the related backend services. Incoming requests are first evaluated for a host
|
||||||
|
// match, then routed to the backend associated with the matching IngressRuleValue.
|
||||||
|
message IngressRule {
|
||||||
|
// Host is the fully qualified domain name of a network host, as defined
|
||||||
|
// by RFC 3986. Note the following deviations from the "host" part of the
|
||||||
|
// URI as defined in the RFC:
|
||||||
|
// 1. IPs are not allowed. Currently an IngressRuleValue can only apply to the
|
||||||
|
// IP in the Spec of the parent Ingress.
|
||||||
|
// 2. The `:` delimiter is not respected because ports are not allowed.
|
||||||
|
// Currently the port of an Ingress is implicitly :80 for http and
|
||||||
|
// :443 for https.
|
||||||
|
// Both these may change in the future.
|
||||||
|
// Incoming requests are matched against the host before the IngressRuleValue.
|
||||||
|
// If the host is unspecified, the Ingress routes all traffic based on the
|
||||||
|
// specified IngressRuleValue.
|
||||||
|
// +optional
|
||||||
|
optional string host = 1;
|
||||||
|
|
||||||
|
// IngressRuleValue represents a rule to route requests for this IngressRule.
|
||||||
|
// If unspecified, the rule defaults to a http catch-all. Whether that sends
|
||||||
|
// just traffic matching the host to the default backend or all traffic to the
|
||||||
|
// default backend, is left to the controller fulfilling the Ingress. Http is
|
||||||
|
// currently the only supported IngressRuleValue.
|
||||||
|
// +optional
|
||||||
|
optional IngressRuleValue ingressRuleValue = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
// IngressRuleValue represents a rule to apply against incoming requests. If the
|
||||||
|
// rule is satisfied, the request is routed to the specified backend. Currently
|
||||||
|
// mixing different types of rules in a single Ingress is disallowed, so exactly
|
||||||
|
// one of the following must be set.
|
||||||
|
message IngressRuleValue {
|
||||||
|
// +optional
|
||||||
|
optional HTTPIngressRuleValue http = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// IngressSpec describes the Ingress the user wishes to exist.
|
||||||
|
message IngressSpec {
|
||||||
|
// A default backend capable of servicing requests that don't match any
|
||||||
|
// rule. At least one of 'backend' or 'rules' must be specified. This field
|
||||||
|
// is optional to allow the loadbalancer controller or defaulting logic to
|
||||||
|
// specify a global default.
|
||||||
|
// +optional
|
||||||
|
optional IngressBackend backend = 1;
|
||||||
|
|
||||||
|
// TLS configuration. Currently the Ingress only supports a single TLS
|
||||||
|
// port, 443. If multiple members of this list specify different hosts, they
|
||||||
|
// will be multiplexed on the same port according to the hostname specified
|
||||||
|
// through the SNI TLS extension, if the ingress controller fulfilling the
|
||||||
|
// ingress supports SNI.
|
||||||
|
// +optional
|
||||||
|
repeated IngressTLS tls = 2;
|
||||||
|
|
||||||
|
// A list of host rules used to configure the Ingress. If unspecified, or
|
||||||
|
// no rule matches, all traffic is sent to the default backend.
|
||||||
|
// +optional
|
||||||
|
repeated IngressRule rules = 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
// IngressStatus describe the current state of the Ingress.
|
||||||
|
message IngressStatus {
|
||||||
|
// LoadBalancer contains the current status of the load-balancer.
|
||||||
|
// +optional
|
||||||
|
optional k8s.io.api.core.v1.LoadBalancerStatus loadBalancer = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// IngressTLS describes the transport layer security associated with an Ingress.
|
||||||
|
message IngressTLS {
|
||||||
|
// Hosts are a list of hosts included in the TLS certificate. The values in
|
||||||
|
// this list must match the name/s used in the tlsSecret. Defaults to the
|
||||||
|
// wildcard host setting for the loadbalancer controller fulfilling this
|
||||||
|
// Ingress, if left unspecified.
|
||||||
|
// +optional
|
||||||
|
repeated string hosts = 1;
|
||||||
|
|
||||||
|
// SecretName is the name of the secret used to terminate SSL traffic on 443.
|
||||||
|
// Field is left optional to allow SSL routing based on SNI hostname alone.
|
||||||
|
// If the SNI host in a listener conflicts with the "Host" header field used
|
||||||
|
// by an IngressRule, the SNI host is used for termination and value of the
|
||||||
|
// Host header is used for routing.
|
||||||
|
// +optional
|
||||||
|
optional string secretName = 2;
|
||||||
|
}
|
||||||
|
|
56
vendor/k8s.io/api/networking/v1beta1/register.go
generated
vendored
Normal file
56
vendor/k8s.io/api/networking/v1beta1/register.go
generated
vendored
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
/*
|
||||||
|
Copyright 2019 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package v1beta1
|
||||||
|
|
||||||
|
import (
|
||||||
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
|
)
|
||||||
|
|
||||||
|
// GroupName is the group name use in this package
|
||||||
|
const GroupName = "networking.k8s.io"
|
||||||
|
|
||||||
|
// SchemeGroupVersion is group version used to register these objects
|
||||||
|
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1beta1"}
|
||||||
|
|
||||||
|
// Resource takes an unqualified resource and returns a Group qualified GroupResource
|
||||||
|
func Resource(resource string) schema.GroupResource {
|
||||||
|
return SchemeGroupVersion.WithResource(resource).GroupResource()
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
// SchemeBuilder holds functions that add things to a scheme
|
||||||
|
// TODO: move SchemeBuilder with zz_generated.deepcopy.go to k8s.io/api.
|
||||||
|
// localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes.
|
||||||
|
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
|
||||||
|
localSchemeBuilder = &SchemeBuilder
|
||||||
|
|
||||||
|
// AddToScheme adds the types of this group into the given scheme.
|
||||||
|
AddToScheme = localSchemeBuilder.AddToScheme
|
||||||
|
)
|
||||||
|
|
||||||
|
// Adds the list of known types to the given scheme.
|
||||||
|
func addKnownTypes(scheme *runtime.Scheme) error {
|
||||||
|
scheme.AddKnownTypes(SchemeGroupVersion,
|
||||||
|
&Ingress{},
|
||||||
|
&IngressList{},
|
||||||
|
)
|
||||||
|
// Add the watch version that applies
|
||||||
|
metav1.AddToGroupVersion(scheme, SchemeGroupVersion)
|
||||||
|
return nil
|
||||||
|
}
|
192
vendor/k8s.io/api/networking/v1beta1/types.go
generated
vendored
Normal file
192
vendor/k8s.io/api/networking/v1beta1/types.go
generated
vendored
Normal file
|
@ -0,0 +1,192 @@
|
||||||
|
/*
|
||||||
|
Copyright 2019 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package v1beta1
|
||||||
|
|
||||||
|
import (
|
||||||
|
"k8s.io/api/core/v1"
|
||||||
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
"k8s.io/apimachinery/pkg/util/intstr"
|
||||||
|
)
|
||||||
|
|
||||||
|
// +genclient
|
||||||
|
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||||
|
|
||||||
|
// Ingress is a collection of rules that allow inbound connections to reach the
|
||||||
|
// endpoints defined by a backend. An Ingress can be configured to give services
|
||||||
|
// externally-reachable urls, load balance traffic, terminate SSL, offer name
|
||||||
|
// based virtual hosting etc.
|
||||||
|
type Ingress struct {
|
||||||
|
metav1.TypeMeta `json:",inline"`
|
||||||
|
// Standard object's metadata.
|
||||||
|
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
||||||
|
// +optional
|
||||||
|
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||||
|
|
||||||
|
// Spec is the desired state of the Ingress.
|
||||||
|
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
|
||||||
|
// +optional
|
||||||
|
Spec IngressSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
|
||||||
|
|
||||||
|
// Status is the current state of the Ingress.
|
||||||
|
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
|
||||||
|
// +optional
|
||||||
|
Status IngressStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||||
|
|
||||||
|
// IngressList is a collection of Ingress.
|
||||||
|
type IngressList struct {
|
||||||
|
metav1.TypeMeta `json:",inline"`
|
||||||
|
// Standard object's metadata.
|
||||||
|
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
||||||
|
// +optional
|
||||||
|
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||||
|
|
||||||
|
// Items is the list of Ingress.
|
||||||
|
Items []Ingress `json:"items" protobuf:"bytes,2,rep,name=items"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// IngressSpec describes the Ingress the user wishes to exist.
|
||||||
|
type IngressSpec struct {
|
||||||
|
// A default backend capable of servicing requests that don't match any
|
||||||
|
// rule. At least one of 'backend' or 'rules' must be specified. This field
|
||||||
|
// is optional to allow the loadbalancer controller or defaulting logic to
|
||||||
|
// specify a global default.
|
||||||
|
// +optional
|
||||||
|
Backend *IngressBackend `json:"backend,omitempty" protobuf:"bytes,1,opt,name=backend"`
|
||||||
|
|
||||||
|
// TLS configuration. Currently the Ingress only supports a single TLS
|
||||||
|
// port, 443. If multiple members of this list specify different hosts, they
|
||||||
|
// will be multiplexed on the same port according to the hostname specified
|
||||||
|
// through the SNI TLS extension, if the ingress controller fulfilling the
|
||||||
|
// ingress supports SNI.
|
||||||
|
// +optional
|
||||||
|
TLS []IngressTLS `json:"tls,omitempty" protobuf:"bytes,2,rep,name=tls"`
|
||||||
|
|
||||||
|
// A list of host rules used to configure the Ingress. If unspecified, or
|
||||||
|
// no rule matches, all traffic is sent to the default backend.
|
||||||
|
// +optional
|
||||||
|
Rules []IngressRule `json:"rules,omitempty" protobuf:"bytes,3,rep,name=rules"`
|
||||||
|
// TODO: Add the ability to specify load-balancer IP through claims
|
||||||
|
}
|
||||||
|
|
||||||
|
// IngressTLS describes the transport layer security associated with an Ingress.
|
||||||
|
type IngressTLS struct {
|
||||||
|
// Hosts are a list of hosts included in the TLS certificate. The values in
|
||||||
|
// this list must match the name/s used in the tlsSecret. Defaults to the
|
||||||
|
// wildcard host setting for the loadbalancer controller fulfilling this
|
||||||
|
// Ingress, if left unspecified.
|
||||||
|
// +optional
|
||||||
|
Hosts []string `json:"hosts,omitempty" protobuf:"bytes,1,rep,name=hosts"`
|
||||||
|
// SecretName is the name of the secret used to terminate SSL traffic on 443.
|
||||||
|
// Field is left optional to allow SSL routing based on SNI hostname alone.
|
||||||
|
// If the SNI host in a listener conflicts with the "Host" header field used
|
||||||
|
// by an IngressRule, the SNI host is used for termination and value of the
|
||||||
|
// Host header is used for routing.
|
||||||
|
// +optional
|
||||||
|
SecretName string `json:"secretName,omitempty" protobuf:"bytes,2,opt,name=secretName"`
|
||||||
|
// TODO: Consider specifying different modes of termination, protocols etc.
|
||||||
|
}
|
||||||
|
|
||||||
|
// IngressStatus describe the current state of the Ingress.
|
||||||
|
type IngressStatus struct {
|
||||||
|
// LoadBalancer contains the current status of the load-balancer.
|
||||||
|
// +optional
|
||||||
|
LoadBalancer v1.LoadBalancerStatus `json:"loadBalancer,omitempty" protobuf:"bytes,1,opt,name=loadBalancer"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// IngressRule represents the rules mapping the paths under a specified host to
|
||||||
|
// the related backend services. Incoming requests are first evaluated for a host
|
||||||
|
// match, then routed to the backend associated with the matching IngressRuleValue.
|
||||||
|
type IngressRule struct {
|
||||||
|
// Host is the fully qualified domain name of a network host, as defined
|
||||||
|
// by RFC 3986. Note the following deviations from the "host" part of the
|
||||||
|
// URI as defined in the RFC:
|
||||||
|
// 1. IPs are not allowed. Currently an IngressRuleValue can only apply to the
|
||||||
|
// IP in the Spec of the parent Ingress.
|
||||||
|
// 2. The `:` delimiter is not respected because ports are not allowed.
|
||||||
|
// Currently the port of an Ingress is implicitly :80 for http and
|
||||||
|
// :443 for https.
|
||||||
|
// Both these may change in the future.
|
||||||
|
// Incoming requests are matched against the host before the IngressRuleValue.
|
||||||
|
// If the host is unspecified, the Ingress routes all traffic based on the
|
||||||
|
// specified IngressRuleValue.
|
||||||
|
// +optional
|
||||||
|
Host string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
|
||||||
|
// IngressRuleValue represents a rule to route requests for this IngressRule.
|
||||||
|
// If unspecified, the rule defaults to a http catch-all. Whether that sends
|
||||||
|
// just traffic matching the host to the default backend or all traffic to the
|
||||||
|
// default backend, is left to the controller fulfilling the Ingress. Http is
|
||||||
|
// currently the only supported IngressRuleValue.
|
||||||
|
// +optional
|
||||||
|
IngressRuleValue `json:",inline,omitempty" protobuf:"bytes,2,opt,name=ingressRuleValue"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// IngressRuleValue represents a rule to apply against incoming requests. If the
|
||||||
|
// rule is satisfied, the request is routed to the specified backend. Currently
|
||||||
|
// mixing different types of rules in a single Ingress is disallowed, so exactly
|
||||||
|
// one of the following must be set.
|
||||||
|
type IngressRuleValue struct {
|
||||||
|
//TODO:
|
||||||
|
// 1. Consider renaming this resource and the associated rules so they
|
||||||
|
// aren't tied to Ingress. They can be used to route intra-cluster traffic.
|
||||||
|
// 2. Consider adding fields for ingress-type specific global options
|
||||||
|
// usable by a loadbalancer, like http keep-alive.
|
||||||
|
|
||||||
|
// +optional
|
||||||
|
HTTP *HTTPIngressRuleValue `json:"http,omitempty" protobuf:"bytes,1,opt,name=http"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// HTTPIngressRuleValue is a list of http selectors pointing to backends.
|
||||||
|
// In the example: http://<host>/<path>?<searchpart> -> backend where
|
||||||
|
// where parts of the url correspond to RFC 3986, this resource will be used
|
||||||
|
// to match against everything after the last '/' and before the first '?'
|
||||||
|
// or '#'.
|
||||||
|
type HTTPIngressRuleValue struct {
|
||||||
|
// A collection of paths that map requests to backends.
|
||||||
|
Paths []HTTPIngressPath `json:"paths" protobuf:"bytes,1,rep,name=paths"`
|
||||||
|
// TODO: Consider adding fields for ingress-type specific global
|
||||||
|
// options usable by a loadbalancer, like http keep-alive.
|
||||||
|
}
|
||||||
|
|
||||||
|
// HTTPIngressPath associates a path regex with a backend. Incoming urls matching
|
||||||
|
// the path are forwarded to the backend.
|
||||||
|
type HTTPIngressPath struct {
|
||||||
|
// Path is an extended POSIX regex as defined by IEEE Std 1003.1,
|
||||||
|
// (i.e this follows the egrep/unix syntax, not the perl syntax)
|
||||||
|
// matched against the path of an incoming request. Currently it can
|
||||||
|
// contain characters disallowed from the conventional "path"
|
||||||
|
// part of a URL as defined by RFC 3986. Paths must begin with
|
||||||
|
// a '/'. If unspecified, the path defaults to a catch all sending
|
||||||
|
// traffic to the backend.
|
||||||
|
// +optional
|
||||||
|
Path string `json:"path,omitempty" protobuf:"bytes,1,opt,name=path"`
|
||||||
|
|
||||||
|
// Backend defines the referenced service endpoint to which the traffic
|
||||||
|
// will be forwarded to.
|
||||||
|
Backend IngressBackend `json:"backend" protobuf:"bytes,2,opt,name=backend"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// IngressBackend describes all endpoints for a given service and port.
|
||||||
|
type IngressBackend struct {
|
||||||
|
// Specifies the name of the referenced service.
|
||||||
|
ServiceName string `json:"serviceName" protobuf:"bytes,1,opt,name=serviceName"`
|
||||||
|
|
||||||
|
// Specifies the port of the referenced service.
|
||||||
|
ServicePort intstr.IntOrString `json:"servicePort" protobuf:"bytes,2,opt,name=servicePort"`
|
||||||
|
}
|
127
vendor/k8s.io/api/networking/v1beta1/types_swagger_doc_generated.go
generated
vendored
Normal file
127
vendor/k8s.io/api/networking/v1beta1/types_swagger_doc_generated.go
generated
vendored
Normal file
|
@ -0,0 +1,127 @@
|
||||||
|
/*
|
||||||
|
Copyright The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package v1beta1
|
||||||
|
|
||||||
|
// This file contains a collection of methods that can be used from go-restful to
|
||||||
|
// generate Swagger API documentation for its models. Please read this PR for more
|
||||||
|
// information on the implementation: https://github.com/emicklei/go-restful/pull/215
|
||||||
|
//
|
||||||
|
// TODOs are ignored from the parser (e.g. TODO(andronat):... || TODO:...) if and only if
|
||||||
|
// they are on one line! For multiple line or blocks that you want to ignore use ---.
|
||||||
|
// Any context after a --- is ignored.
|
||||||
|
//
|
||||||
|
// Those methods can be generated by using hack/update-generated-swagger-docs.sh
|
||||||
|
|
||||||
|
// AUTO-GENERATED FUNCTIONS START HERE. DO NOT EDIT.
|
||||||
|
var map_HTTPIngressPath = map[string]string{
|
||||||
|
"": "HTTPIngressPath associates a path regex with a backend. Incoming urls matching the path are forwarded to the backend.",
|
||||||
|
"path": "Path is an extended POSIX regex as defined by IEEE Std 1003.1, (i.e this follows the egrep/unix syntax, not the perl syntax) matched against the path of an incoming request. Currently it can contain characters disallowed from the conventional \"path\" part of a URL as defined by RFC 3986. Paths must begin with a '/'. If unspecified, the path defaults to a catch all sending traffic to the backend.",
|
||||||
|
"backend": "Backend defines the referenced service endpoint to which the traffic will be forwarded to.",
|
||||||
|
}
|
||||||
|
|
||||||
|
func (HTTPIngressPath) SwaggerDoc() map[string]string {
|
||||||
|
return map_HTTPIngressPath
|
||||||
|
}
|
||||||
|
|
||||||
|
var map_HTTPIngressRuleValue = map[string]string{
|
||||||
|
"": "HTTPIngressRuleValue is a list of http selectors pointing to backends. In the example: http://<host>/<path>?<searchpart> -> backend where where parts of the url correspond to RFC 3986, this resource will be used to match against everything after the last '/' and before the first '?' or '#'.",
|
||||||
|
"paths": "A collection of paths that map requests to backends.",
|
||||||
|
}
|
||||||
|
|
||||||
|
func (HTTPIngressRuleValue) SwaggerDoc() map[string]string {
|
||||||
|
return map_HTTPIngressRuleValue
|
||||||
|
}
|
||||||
|
|
||||||
|
var map_Ingress = map[string]string{
|
||||||
|
"": "Ingress is a collection of rules that allow inbound connections to reach the endpoints defined by a backend. An Ingress can be configured to give services externally-reachable urls, load balance traffic, terminate SSL, offer name based virtual hosting etc.",
|
||||||
|
"metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
|
||||||
|
"spec": "Spec is the desired state of the Ingress. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status",
|
||||||
|
"status": "Status is the current state of the Ingress. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status",
|
||||||
|
}
|
||||||
|
|
||||||
|
func (Ingress) SwaggerDoc() map[string]string {
|
||||||
|
return map_Ingress
|
||||||
|
}
|
||||||
|
|
||||||
|
var map_IngressBackend = map[string]string{
|
||||||
|
"": "IngressBackend describes all endpoints for a given service and port.",
|
||||||
|
"serviceName": "Specifies the name of the referenced service.",
|
||||||
|
"servicePort": "Specifies the port of the referenced service.",
|
||||||
|
}
|
||||||
|
|
||||||
|
func (IngressBackend) SwaggerDoc() map[string]string {
|
||||||
|
return map_IngressBackend
|
||||||
|
}
|
||||||
|
|
||||||
|
var map_IngressList = map[string]string{
|
||||||
|
"": "IngressList is a collection of Ingress.",
|
||||||
|
"metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
|
||||||
|
"items": "Items is the list of Ingress.",
|
||||||
|
}
|
||||||
|
|
||||||
|
func (IngressList) SwaggerDoc() map[string]string {
|
||||||
|
return map_IngressList
|
||||||
|
}
|
||||||
|
|
||||||
|
var map_IngressRule = map[string]string{
|
||||||
|
"": "IngressRule represents the rules mapping the paths under a specified host to the related backend services. Incoming requests are first evaluated for a host match, then routed to the backend associated with the matching IngressRuleValue.",
|
||||||
|
"host": "Host is the fully qualified domain name of a network host, as defined by RFC 3986. Note the following deviations from the \"host\" part of the URI as defined in the RFC: 1. IPs are not allowed. Currently an IngressRuleValue can only apply to the\n\t IP in the Spec of the parent Ingress.\n2. The `:` delimiter is not respected because ports are not allowed.\n\t Currently the port of an Ingress is implicitly :80 for http and\n\t :443 for https.\nBoth these may change in the future. Incoming requests are matched against the host before the IngressRuleValue. If the host is unspecified, the Ingress routes all traffic based on the specified IngressRuleValue.",
|
||||||
|
}
|
||||||
|
|
||||||
|
func (IngressRule) SwaggerDoc() map[string]string {
|
||||||
|
return map_IngressRule
|
||||||
|
}
|
||||||
|
|
||||||
|
var map_IngressRuleValue = map[string]string{
|
||||||
|
"": "IngressRuleValue represents a rule to apply against incoming requests. If the rule is satisfied, the request is routed to the specified backend. Currently mixing different types of rules in a single Ingress is disallowed, so exactly one of the following must be set.",
|
||||||
|
}
|
||||||
|
|
||||||
|
func (IngressRuleValue) SwaggerDoc() map[string]string {
|
||||||
|
return map_IngressRuleValue
|
||||||
|
}
|
||||||
|
|
||||||
|
var map_IngressSpec = map[string]string{
|
||||||
|
"": "IngressSpec describes the Ingress the user wishes to exist.",
|
||||||
|
"backend": "A default backend capable of servicing requests that don't match any rule. At least one of 'backend' or 'rules' must be specified. This field is optional to allow the loadbalancer controller or defaulting logic to specify a global default.",
|
||||||
|
"tls": "TLS configuration. Currently the Ingress only supports a single TLS port, 443. If multiple members of this list specify different hosts, they will be multiplexed on the same port according to the hostname specified through the SNI TLS extension, if the ingress controller fulfilling the ingress supports SNI.",
|
||||||
|
"rules": "A list of host rules used to configure the Ingress. If unspecified, or no rule matches, all traffic is sent to the default backend.",
|
||||||
|
}
|
||||||
|
|
||||||
|
func (IngressSpec) SwaggerDoc() map[string]string {
|
||||||
|
return map_IngressSpec
|
||||||
|
}
|
||||||
|
|
||||||
|
var map_IngressStatus = map[string]string{
|
||||||
|
"": "IngressStatus describe the current state of the Ingress.",
|
||||||
|
"loadBalancer": "LoadBalancer contains the current status of the load-balancer.",
|
||||||
|
}
|
||||||
|
|
||||||
|
func (IngressStatus) SwaggerDoc() map[string]string {
|
||||||
|
return map_IngressStatus
|
||||||
|
}
|
||||||
|
|
||||||
|
var map_IngressTLS = map[string]string{
|
||||||
|
"": "IngressTLS describes the transport layer security associated with an Ingress.",
|
||||||
|
"hosts": "Hosts are a list of hosts included in the TLS certificate. The values in this list must match the name/s used in the tlsSecret. Defaults to the wildcard host setting for the loadbalancer controller fulfilling this Ingress, if left unspecified.",
|
||||||
|
"secretName": "SecretName is the name of the secret used to terminate SSL traffic on 443. Field is left optional to allow SSL routing based on SNI hostname alone. If the SNI host in a listener conflicts with the \"Host\" header field used by an IngressRule, the SNI host is used for termination and value of the Host header is used for routing.",
|
||||||
|
}
|
||||||
|
|
||||||
|
func (IngressTLS) SwaggerDoc() map[string]string {
|
||||||
|
return map_IngressTLS
|
||||||
|
}
|
||||||
|
|
||||||
|
// AUTO-GENERATED FUNCTIONS END HERE
|
252
vendor/k8s.io/api/networking/v1beta1/zz_generated.deepcopy.go
generated
vendored
Normal file
252
vendor/k8s.io/api/networking/v1beta1/zz_generated.deepcopy.go
generated
vendored
Normal file
|
@ -0,0 +1,252 @@
|
||||||
|
// +build !ignore_autogenerated
|
||||||
|
|
||||||
|
/*
|
||||||
|
Copyright The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Code generated by deepcopy-gen. DO NOT EDIT.
|
||||||
|
|
||||||
|
package v1beta1
|
||||||
|
|
||||||
|
import (
|
||||||
|
runtime "k8s.io/apimachinery/pkg/runtime"
|
||||||
|
)
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *HTTPIngressPath) DeepCopyInto(out *HTTPIngressPath) {
|
||||||
|
*out = *in
|
||||||
|
out.Backend = in.Backend
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPIngressPath.
|
||||||
|
func (in *HTTPIngressPath) DeepCopy() *HTTPIngressPath {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(HTTPIngressPath)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *HTTPIngressRuleValue) DeepCopyInto(out *HTTPIngressRuleValue) {
|
||||||
|
*out = *in
|
||||||
|
if in.Paths != nil {
|
||||||
|
in, out := &in.Paths, &out.Paths
|
||||||
|
*out = make([]HTTPIngressPath, len(*in))
|
||||||
|
copy(*out, *in)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPIngressRuleValue.
|
||||||
|
func (in *HTTPIngressRuleValue) DeepCopy() *HTTPIngressRuleValue {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(HTTPIngressRuleValue)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *Ingress) DeepCopyInto(out *Ingress) {
|
||||||
|
*out = *in
|
||||||
|
out.TypeMeta = in.TypeMeta
|
||||||
|
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
|
||||||
|
in.Spec.DeepCopyInto(&out.Spec)
|
||||||
|
in.Status.DeepCopyInto(&out.Status)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ingress.
|
||||||
|
func (in *Ingress) DeepCopy() *Ingress {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(Ingress)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
||||||
|
func (in *Ingress) DeepCopyObject() runtime.Object {
|
||||||
|
if c := in.DeepCopy(); c != nil {
|
||||||
|
return c
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *IngressBackend) DeepCopyInto(out *IngressBackend) {
|
||||||
|
*out = *in
|
||||||
|
out.ServicePort = in.ServicePort
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressBackend.
|
||||||
|
func (in *IngressBackend) DeepCopy() *IngressBackend {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(IngressBackend)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *IngressList) DeepCopyInto(out *IngressList) {
|
||||||
|
*out = *in
|
||||||
|
out.TypeMeta = in.TypeMeta
|
||||||
|
out.ListMeta = in.ListMeta
|
||||||
|
if in.Items != nil {
|
||||||
|
in, out := &in.Items, &out.Items
|
||||||
|
*out = make([]Ingress, len(*in))
|
||||||
|
for i := range *in {
|
||||||
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressList.
|
||||||
|
func (in *IngressList) DeepCopy() *IngressList {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(IngressList)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
||||||
|
func (in *IngressList) DeepCopyObject() runtime.Object {
|
||||||
|
if c := in.DeepCopy(); c != nil {
|
||||||
|
return c
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *IngressRule) DeepCopyInto(out *IngressRule) {
|
||||||
|
*out = *in
|
||||||
|
in.IngressRuleValue.DeepCopyInto(&out.IngressRuleValue)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressRule.
|
||||||
|
func (in *IngressRule) DeepCopy() *IngressRule {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(IngressRule)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *IngressRuleValue) DeepCopyInto(out *IngressRuleValue) {
|
||||||
|
*out = *in
|
||||||
|
if in.HTTP != nil {
|
||||||
|
in, out := &in.HTTP, &out.HTTP
|
||||||
|
*out = new(HTTPIngressRuleValue)
|
||||||
|
(*in).DeepCopyInto(*out)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressRuleValue.
|
||||||
|
func (in *IngressRuleValue) DeepCopy() *IngressRuleValue {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(IngressRuleValue)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *IngressSpec) DeepCopyInto(out *IngressSpec) {
|
||||||
|
*out = *in
|
||||||
|
if in.Backend != nil {
|
||||||
|
in, out := &in.Backend, &out.Backend
|
||||||
|
*out = new(IngressBackend)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
if in.TLS != nil {
|
||||||
|
in, out := &in.TLS, &out.TLS
|
||||||
|
*out = make([]IngressTLS, len(*in))
|
||||||
|
for i := range *in {
|
||||||
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if in.Rules != nil {
|
||||||
|
in, out := &in.Rules, &out.Rules
|
||||||
|
*out = make([]IngressRule, len(*in))
|
||||||
|
for i := range *in {
|
||||||
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressSpec.
|
||||||
|
func (in *IngressSpec) DeepCopy() *IngressSpec {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(IngressSpec)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *IngressStatus) DeepCopyInto(out *IngressStatus) {
|
||||||
|
*out = *in
|
||||||
|
in.LoadBalancer.DeepCopyInto(&out.LoadBalancer)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressStatus.
|
||||||
|
func (in *IngressStatus) DeepCopy() *IngressStatus {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(IngressStatus)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *IngressTLS) DeepCopyInto(out *IngressTLS) {
|
||||||
|
*out = *in
|
||||||
|
if in.Hosts != nil {
|
||||||
|
in, out := &in.Hosts, &out.Hosts
|
||||||
|
*out = make([]string, len(*in))
|
||||||
|
copy(*out, *in)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressTLS.
|
||||||
|
func (in *IngressTLS) DeepCopy() *IngressTLS {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(IngressTLS)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
22
vendor/k8s.io/api/node/v1alpha1/doc.go
generated
vendored
Normal file
22
vendor/k8s.io/api/node/v1alpha1/doc.go
generated
vendored
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
/*
|
||||||
|
Copyright 2018 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// +k8s:deepcopy-gen=package
|
||||||
|
// +k8s:openapi-gen=true
|
||||||
|
|
||||||
|
// +groupName=node.k8s.io
|
||||||
|
|
||||||
|
package v1alpha1 // import "k8s.io/api/node/v1alpha1"
|
696
vendor/k8s.io/api/node/v1alpha1/generated.pb.go
generated
vendored
Normal file
696
vendor/k8s.io/api/node/v1alpha1/generated.pb.go
generated
vendored
Normal file
|
@ -0,0 +1,696 @@
|
||||||
|
/*
|
||||||
|
Copyright The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Code generated by protoc-gen-gogo. DO NOT EDIT.
|
||||||
|
// source: k8s.io/kubernetes/vendor/k8s.io/api/node/v1alpha1/generated.proto
|
||||||
|
|
||||||
|
/*
|
||||||
|
Package v1alpha1 is a generated protocol buffer package.
|
||||||
|
|
||||||
|
It is generated from these files:
|
||||||
|
k8s.io/kubernetes/vendor/k8s.io/api/node/v1alpha1/generated.proto
|
||||||
|
|
||||||
|
It has these top-level messages:
|
||||||
|
RuntimeClass
|
||||||
|
RuntimeClassList
|
||||||
|
RuntimeClassSpec
|
||||||
|
*/
|
||||||
|
package v1alpha1
|
||||||
|
|
||||||
|
import proto "github.com/gogo/protobuf/proto"
|
||||||
|
import fmt "fmt"
|
||||||
|
import math "math"
|
||||||
|
|
||||||
|
import strings "strings"
|
||||||
|
import reflect "reflect"
|
||||||
|
|
||||||
|
import io "io"
|
||||||
|
|
||||||
|
// Reference imports to suppress errors if they are not otherwise used.
|
||||||
|
var _ = proto.Marshal
|
||||||
|
var _ = fmt.Errorf
|
||||||
|
var _ = math.Inf
|
||||||
|
|
||||||
|
// This is a compile-time assertion to ensure that this generated file
|
||||||
|
// is compatible with the proto package it is being compiled against.
|
||||||
|
// A compilation error at this line likely means your copy of the
|
||||||
|
// proto package needs to be updated.
|
||||||
|
const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
|
||||||
|
|
||||||
|
func (m *RuntimeClass) Reset() { *m = RuntimeClass{} }
|
||||||
|
func (*RuntimeClass) ProtoMessage() {}
|
||||||
|
func (*RuntimeClass) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{0} }
|
||||||
|
|
||||||
|
func (m *RuntimeClassList) Reset() { *m = RuntimeClassList{} }
|
||||||
|
func (*RuntimeClassList) ProtoMessage() {}
|
||||||
|
func (*RuntimeClassList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{1} }
|
||||||
|
|
||||||
|
func (m *RuntimeClassSpec) Reset() { *m = RuntimeClassSpec{} }
|
||||||
|
func (*RuntimeClassSpec) ProtoMessage() {}
|
||||||
|
func (*RuntimeClassSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{2} }
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
proto.RegisterType((*RuntimeClass)(nil), "k8s.io.api.node.v1alpha1.RuntimeClass")
|
||||||
|
proto.RegisterType((*RuntimeClassList)(nil), "k8s.io.api.node.v1alpha1.RuntimeClassList")
|
||||||
|
proto.RegisterType((*RuntimeClassSpec)(nil), "k8s.io.api.node.v1alpha1.RuntimeClassSpec")
|
||||||
|
}
|
||||||
|
func (m *RuntimeClass) Marshal() (dAtA []byte, err error) {
|
||||||
|
size := m.Size()
|
||||||
|
dAtA = make([]byte, size)
|
||||||
|
n, err := m.MarshalTo(dAtA)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return dAtA[:n], nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *RuntimeClass) MarshalTo(dAtA []byte) (int, error) {
|
||||||
|
var i int
|
||||||
|
_ = i
|
||||||
|
var l int
|
||||||
|
_ = l
|
||||||
|
dAtA[i] = 0xa
|
||||||
|
i++
|
||||||
|
i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size()))
|
||||||
|
n1, err := m.ObjectMeta.MarshalTo(dAtA[i:])
|
||||||
|
if err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
i += n1
|
||||||
|
dAtA[i] = 0x12
|
||||||
|
i++
|
||||||
|
i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size()))
|
||||||
|
n2, err := m.Spec.MarshalTo(dAtA[i:])
|
||||||
|
if err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
i += n2
|
||||||
|
return i, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *RuntimeClassList) Marshal() (dAtA []byte, err error) {
|
||||||
|
size := m.Size()
|
||||||
|
dAtA = make([]byte, size)
|
||||||
|
n, err := m.MarshalTo(dAtA)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return dAtA[:n], nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *RuntimeClassList) MarshalTo(dAtA []byte) (int, error) {
|
||||||
|
var i int
|
||||||
|
_ = i
|
||||||
|
var l int
|
||||||
|
_ = l
|
||||||
|
dAtA[i] = 0xa
|
||||||
|
i++
|
||||||
|
i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size()))
|
||||||
|
n3, err := m.ListMeta.MarshalTo(dAtA[i:])
|
||||||
|
if err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
i += n3
|
||||||
|
if len(m.Items) > 0 {
|
||||||
|
for _, msg := range m.Items {
|
||||||
|
dAtA[i] = 0x12
|
||||||
|
i++
|
||||||
|
i = encodeVarintGenerated(dAtA, i, uint64(msg.Size()))
|
||||||
|
n, err := msg.MarshalTo(dAtA[i:])
|
||||||
|
if err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
i += n
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return i, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *RuntimeClassSpec) Marshal() (dAtA []byte, err error) {
|
||||||
|
size := m.Size()
|
||||||
|
dAtA = make([]byte, size)
|
||||||
|
n, err := m.MarshalTo(dAtA)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return dAtA[:n], nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *RuntimeClassSpec) MarshalTo(dAtA []byte) (int, error) {
|
||||||
|
var i int
|
||||||
|
_ = i
|
||||||
|
var l int
|
||||||
|
_ = l
|
||||||
|
dAtA[i] = 0xa
|
||||||
|
i++
|
||||||
|
i = encodeVarintGenerated(dAtA, i, uint64(len(m.RuntimeHandler)))
|
||||||
|
i += copy(dAtA[i:], m.RuntimeHandler)
|
||||||
|
return i, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int {
|
||||||
|
for v >= 1<<7 {
|
||||||
|
dAtA[offset] = uint8(v&0x7f | 0x80)
|
||||||
|
v >>= 7
|
||||||
|
offset++
|
||||||
|
}
|
||||||
|
dAtA[offset] = uint8(v)
|
||||||
|
return offset + 1
|
||||||
|
}
|
||||||
|
func (m *RuntimeClass) Size() (n int) {
|
||||||
|
var l int
|
||||||
|
_ = l
|
||||||
|
l = m.ObjectMeta.Size()
|
||||||
|
n += 1 + l + sovGenerated(uint64(l))
|
||||||
|
l = m.Spec.Size()
|
||||||
|
n += 1 + l + sovGenerated(uint64(l))
|
||||||
|
return n
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *RuntimeClassList) Size() (n int) {
|
||||||
|
var l int
|
||||||
|
_ = l
|
||||||
|
l = m.ListMeta.Size()
|
||||||
|
n += 1 + l + sovGenerated(uint64(l))
|
||||||
|
if len(m.Items) > 0 {
|
||||||
|
for _, e := range m.Items {
|
||||||
|
l = e.Size()
|
||||||
|
n += 1 + l + sovGenerated(uint64(l))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return n
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *RuntimeClassSpec) Size() (n int) {
|
||||||
|
var l int
|
||||||
|
_ = l
|
||||||
|
l = len(m.RuntimeHandler)
|
||||||
|
n += 1 + l + sovGenerated(uint64(l))
|
||||||
|
return n
|
||||||
|
}
|
||||||
|
|
||||||
|
func sovGenerated(x uint64) (n int) {
|
||||||
|
for {
|
||||||
|
n++
|
||||||
|
x >>= 7
|
||||||
|
if x == 0 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return n
|
||||||
|
}
|
||||||
|
func sozGenerated(x uint64) (n int) {
|
||||||
|
return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63))))
|
||||||
|
}
|
||||||
|
func (this *RuntimeClass) String() string {
|
||||||
|
if this == nil {
|
||||||
|
return "nil"
|
||||||
|
}
|
||||||
|
s := strings.Join([]string{`&RuntimeClass{`,
|
||||||
|
`ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
|
||||||
|
`Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "RuntimeClassSpec", "RuntimeClassSpec", 1), `&`, ``, 1) + `,`,
|
||||||
|
`}`,
|
||||||
|
}, "")
|
||||||
|
return s
|
||||||
|
}
|
||||||
|
func (this *RuntimeClassList) String() string {
|
||||||
|
if this == nil {
|
||||||
|
return "nil"
|
||||||
|
}
|
||||||
|
s := strings.Join([]string{`&RuntimeClassList{`,
|
||||||
|
`ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`,
|
||||||
|
`Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "RuntimeClass", "RuntimeClass", 1), `&`, ``, 1) + `,`,
|
||||||
|
`}`,
|
||||||
|
}, "")
|
||||||
|
return s
|
||||||
|
}
|
||||||
|
func (this *RuntimeClassSpec) String() string {
|
||||||
|
if this == nil {
|
||||||
|
return "nil"
|
||||||
|
}
|
||||||
|
s := strings.Join([]string{`&RuntimeClassSpec{`,
|
||||||
|
`RuntimeHandler:` + fmt.Sprintf("%v", this.RuntimeHandler) + `,`,
|
||||||
|
`}`,
|
||||||
|
}, "")
|
||||||
|
return s
|
||||||
|
}
|
||||||
|
func valueToStringGenerated(v interface{}) string {
|
||||||
|
rv := reflect.ValueOf(v)
|
||||||
|
if rv.IsNil() {
|
||||||
|
return "nil"
|
||||||
|
}
|
||||||
|
pv := reflect.Indirect(rv).Interface()
|
||||||
|
return fmt.Sprintf("*%v", pv)
|
||||||
|
}
|
||||||
|
func (m *RuntimeClass) Unmarshal(dAtA []byte) error {
|
||||||
|
l := len(dAtA)
|
||||||
|
iNdEx := 0
|
||||||
|
for iNdEx < l {
|
||||||
|
preIndex := iNdEx
|
||||||
|
var wire uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
wire |= (uint64(b) & 0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fieldNum := int32(wire >> 3)
|
||||||
|
wireType := int(wire & 0x7)
|
||||||
|
if wireType == 4 {
|
||||||
|
return fmt.Errorf("proto: RuntimeClass: wiretype end group for non-group")
|
||||||
|
}
|
||||||
|
if fieldNum <= 0 {
|
||||||
|
return fmt.Errorf("proto: RuntimeClass: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||||
|
}
|
||||||
|
switch fieldNum {
|
||||||
|
case 1:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType)
|
||||||
|
}
|
||||||
|
var msglen int
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
msglen |= (int(b) & 0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if msglen < 0 {
|
||||||
|
return ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + msglen
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
iNdEx = postIndex
|
||||||
|
case 2:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType)
|
||||||
|
}
|
||||||
|
var msglen int
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
msglen |= (int(b) & 0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if msglen < 0 {
|
||||||
|
return ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + msglen
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
iNdEx = postIndex
|
||||||
|
default:
|
||||||
|
iNdEx = preIndex
|
||||||
|
skippy, err := skipGenerated(dAtA[iNdEx:])
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if skippy < 0 {
|
||||||
|
return ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
if (iNdEx + skippy) > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
iNdEx += skippy
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if iNdEx > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
func (m *RuntimeClassList) Unmarshal(dAtA []byte) error {
|
||||||
|
l := len(dAtA)
|
||||||
|
iNdEx := 0
|
||||||
|
for iNdEx < l {
|
||||||
|
preIndex := iNdEx
|
||||||
|
var wire uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
wire |= (uint64(b) & 0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fieldNum := int32(wire >> 3)
|
||||||
|
wireType := int(wire & 0x7)
|
||||||
|
if wireType == 4 {
|
||||||
|
return fmt.Errorf("proto: RuntimeClassList: wiretype end group for non-group")
|
||||||
|
}
|
||||||
|
if fieldNum <= 0 {
|
||||||
|
return fmt.Errorf("proto: RuntimeClassList: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||||
|
}
|
||||||
|
switch fieldNum {
|
||||||
|
case 1:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType)
|
||||||
|
}
|
||||||
|
var msglen int
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
msglen |= (int(b) & 0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if msglen < 0 {
|
||||||
|
return ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + msglen
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
iNdEx = postIndex
|
||||||
|
case 2:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType)
|
||||||
|
}
|
||||||
|
var msglen int
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
msglen |= (int(b) & 0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if msglen < 0 {
|
||||||
|
return ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + msglen
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
m.Items = append(m.Items, RuntimeClass{})
|
||||||
|
if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
iNdEx = postIndex
|
||||||
|
default:
|
||||||
|
iNdEx = preIndex
|
||||||
|
skippy, err := skipGenerated(dAtA[iNdEx:])
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if skippy < 0 {
|
||||||
|
return ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
if (iNdEx + skippy) > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
iNdEx += skippy
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if iNdEx > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
func (m *RuntimeClassSpec) Unmarshal(dAtA []byte) error {
|
||||||
|
l := len(dAtA)
|
||||||
|
iNdEx := 0
|
||||||
|
for iNdEx < l {
|
||||||
|
preIndex := iNdEx
|
||||||
|
var wire uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
wire |= (uint64(b) & 0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fieldNum := int32(wire >> 3)
|
||||||
|
wireType := int(wire & 0x7)
|
||||||
|
if wireType == 4 {
|
||||||
|
return fmt.Errorf("proto: RuntimeClassSpec: wiretype end group for non-group")
|
||||||
|
}
|
||||||
|
if fieldNum <= 0 {
|
||||||
|
return fmt.Errorf("proto: RuntimeClassSpec: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||||
|
}
|
||||||
|
switch fieldNum {
|
||||||
|
case 1:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field RuntimeHandler", wireType)
|
||||||
|
}
|
||||||
|
var stringLen uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
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 ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + intStringLen
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
m.RuntimeHandler = string(dAtA[iNdEx:postIndex])
|
||||||
|
iNdEx = postIndex
|
||||||
|
default:
|
||||||
|
iNdEx = preIndex
|
||||||
|
skippy, err := skipGenerated(dAtA[iNdEx:])
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if skippy < 0 {
|
||||||
|
return ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
if (iNdEx + skippy) > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
iNdEx += skippy
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if iNdEx > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
func skipGenerated(dAtA []byte) (n int, err error) {
|
||||||
|
l := len(dAtA)
|
||||||
|
iNdEx := 0
|
||||||
|
for iNdEx < l {
|
||||||
|
var wire uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return 0, ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return 0, io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
wire |= (uint64(b) & 0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
wireType := int(wire & 0x7)
|
||||||
|
switch wireType {
|
||||||
|
case 0:
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return 0, ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return 0, io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
iNdEx++
|
||||||
|
if dAtA[iNdEx-1] < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return iNdEx, nil
|
||||||
|
case 1:
|
||||||
|
iNdEx += 8
|
||||||
|
return iNdEx, nil
|
||||||
|
case 2:
|
||||||
|
var length int
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return 0, ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return 0, io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
length |= (int(b) & 0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
iNdEx += length
|
||||||
|
if length < 0 {
|
||||||
|
return 0, ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
return iNdEx, nil
|
||||||
|
case 3:
|
||||||
|
for {
|
||||||
|
var innerWire uint64
|
||||||
|
var start int = iNdEx
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return 0, ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return 0, io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
innerWire |= (uint64(b) & 0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
innerWireType := int(innerWire & 0x7)
|
||||||
|
if innerWireType == 4 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
next, err := skipGenerated(dAtA[start:])
|
||||||
|
if err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
iNdEx = start + next
|
||||||
|
}
|
||||||
|
return iNdEx, nil
|
||||||
|
case 4:
|
||||||
|
return iNdEx, nil
|
||||||
|
case 5:
|
||||||
|
iNdEx += 4
|
||||||
|
return iNdEx, nil
|
||||||
|
default:
|
||||||
|
return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
panic("unreachable")
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
ErrInvalidLengthGenerated = fmt.Errorf("proto: negative length found during unmarshaling")
|
||||||
|
ErrIntOverflowGenerated = fmt.Errorf("proto: integer overflow")
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
proto.RegisterFile("k8s.io/kubernetes/vendor/k8s.io/api/node/v1alpha1/generated.proto", fileDescriptorGenerated)
|
||||||
|
}
|
||||||
|
|
||||||
|
var fileDescriptorGenerated = []byte{
|
||||||
|
// 421 bytes of a gzipped FileDescriptorProto
|
||||||
|
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x91, 0x41, 0x6b, 0xd4, 0x40,
|
||||||
|
0x14, 0xc7, 0x33, 0xb5, 0x85, 0x75, 0x5a, 0x4b, 0xc9, 0x41, 0xc2, 0x1e, 0xa6, 0x65, 0x0f, 0x52,
|
||||||
|
0x04, 0x67, 0xdc, 0x22, 0xe2, 0x49, 0x30, 0x5e, 0x14, 0x2b, 0x42, 0xbc, 0x89, 0x07, 0x27, 0xc9,
|
||||||
|
0x33, 0x19, 0xb3, 0xc9, 0x0c, 0x99, 0x49, 0xc0, 0x9b, 0x1f, 0xc1, 0x2f, 0xa4, 0xe7, 0x3d, 0xf6,
|
||||||
|
0xd8, 0x53, 0x71, 0xe3, 0x17, 0x91, 0x99, 0x64, 0xbb, 0xdb, 0x2e, 0xc5, 0xbd, 0xe5, 0xbd, 0xf9,
|
||||||
|
0xff, 0x7f, 0xef, 0xfd, 0x5f, 0xf0, 0xab, 0xe2, 0x85, 0xa6, 0x42, 0xb2, 0xa2, 0x89, 0xa1, 0xae,
|
||||||
|
0xc0, 0x80, 0x66, 0x2d, 0x54, 0xa9, 0xac, 0xd9, 0xf0, 0xc0, 0x95, 0x60, 0x95, 0x4c, 0x81, 0xb5,
|
||||||
|
0x53, 0x3e, 0x53, 0x39, 0x9f, 0xb2, 0x0c, 0x2a, 0xa8, 0xb9, 0x81, 0x94, 0xaa, 0x5a, 0x1a, 0xe9,
|
||||||
|
0x07, 0xbd, 0x92, 0x72, 0x25, 0xa8, 0x55, 0xd2, 0xa5, 0x72, 0xfc, 0x24, 0x13, 0x26, 0x6f, 0x62,
|
||||||
|
0x9a, 0xc8, 0x92, 0x65, 0x32, 0x93, 0xcc, 0x19, 0xe2, 0xe6, 0xab, 0xab, 0x5c, 0xe1, 0xbe, 0x7a,
|
||||||
|
0xd0, 0xf8, 0xd9, 0x6a, 0x64, 0xc9, 0x93, 0x5c, 0x54, 0x50, 0x7f, 0x67, 0xaa, 0xc8, 0x6c, 0x43,
|
||||||
|
0xb3, 0x12, 0x0c, 0x67, 0xed, 0xc6, 0xf8, 0x31, 0xbb, 0xcb, 0x55, 0x37, 0x95, 0x11, 0x25, 0x6c,
|
||||||
|
0x18, 0x9e, 0xff, 0xcf, 0xa0, 0x93, 0x1c, 0x4a, 0x7e, 0xdb, 0x37, 0xf9, 0x8d, 0xf0, 0x41, 0xd4,
|
||||||
|
0x4b, 0x5e, 0xcf, 0xb8, 0xd6, 0xfe, 0x17, 0x3c, 0xb2, 0x4b, 0xa5, 0xdc, 0xf0, 0x00, 0x9d, 0xa0,
|
||||||
|
0xd3, 0xfd, 0xb3, 0xa7, 0x74, 0x75, 0x8b, 0x6b, 0x36, 0x55, 0x45, 0x66, 0x1b, 0x9a, 0x5a, 0x35,
|
||||||
|
0x6d, 0xa7, 0xf4, 0x43, 0xfc, 0x0d, 0x12, 0xf3, 0x1e, 0x0c, 0x0f, 0xfd, 0xf9, 0xd5, 0xb1, 0xd7,
|
||||||
|
0x5d, 0x1d, 0xe3, 0x55, 0x2f, 0xba, 0xa6, 0xfa, 0xe7, 0x78, 0x57, 0x2b, 0x48, 0x82, 0x1d, 0x47,
|
||||||
|
0x7f, 0x4c, 0xef, 0xba, 0x34, 0x5d, 0xdf, 0xeb, 0xa3, 0x82, 0x24, 0x3c, 0x18, 0xb8, 0xbb, 0xb6,
|
||||||
|
0x8a, 0x1c, 0x65, 0xf2, 0x0b, 0xe1, 0xa3, 0x75, 0xe1, 0xb9, 0xd0, 0xc6, 0xff, 0xbc, 0x11, 0x82,
|
||||||
|
0x6e, 0x17, 0xc2, 0xba, 0x5d, 0x84, 0xa3, 0x61, 0xd4, 0x68, 0xd9, 0x59, 0x0b, 0xf0, 0x0e, 0xef,
|
||||||
|
0x09, 0x03, 0xa5, 0x0e, 0x76, 0x4e, 0xee, 0x9d, 0xee, 0x9f, 0x3d, 0xda, 0x2e, 0x41, 0xf8, 0x60,
|
||||||
|
0x40, 0xee, 0xbd, 0xb5, 0xe6, 0xa8, 0x67, 0x4c, 0xa2, 0x9b, 0xeb, 0xdb, 0x64, 0xfe, 0x4b, 0x7c,
|
||||||
|
0x38, 0xfc, 0xb6, 0x37, 0xbc, 0x4a, 0x67, 0x50, 0xbb, 0x10, 0xf7, 0xc3, 0x87, 0x03, 0xe1, 0x30,
|
||||||
|
0xba, 0xf1, 0x1a, 0xdd, 0x52, 0x87, 0x74, 0xbe, 0x20, 0xde, 0xc5, 0x82, 0x78, 0x97, 0x0b, 0xe2,
|
||||||
|
0xfd, 0xe8, 0x08, 0x9a, 0x77, 0x04, 0x5d, 0x74, 0x04, 0x5d, 0x76, 0x04, 0xfd, 0xe9, 0x08, 0xfa,
|
||||||
|
0xf9, 0x97, 0x78, 0x9f, 0x46, 0xcb, 0x35, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0x94, 0x34, 0x0e,
|
||||||
|
0xef, 0x30, 0x03, 0x00, 0x00,
|
||||||
|
}
|
76
vendor/k8s.io/api/node/v1alpha1/generated.proto
generated
vendored
Normal file
76
vendor/k8s.io/api/node/v1alpha1/generated.proto
generated
vendored
Normal file
|
@ -0,0 +1,76 @@
|
||||||
|
/*
|
||||||
|
Copyright The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
// This file was autogenerated by go-to-protobuf. Do not edit it manually!
|
||||||
|
|
||||||
|
syntax = 'proto2';
|
||||||
|
|
||||||
|
package k8s.io.api.node.v1alpha1;
|
||||||
|
|
||||||
|
import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto";
|
||||||
|
import "k8s.io/apimachinery/pkg/runtime/generated.proto";
|
||||||
|
import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto";
|
||||||
|
|
||||||
|
// Package-wide variables from generator "generated".
|
||||||
|
option go_package = "v1alpha1";
|
||||||
|
|
||||||
|
// RuntimeClass defines a class of container runtime supported in the cluster.
|
||||||
|
// The RuntimeClass is used to determine which container runtime is used to run
|
||||||
|
// all containers in a pod. RuntimeClasses are (currently) manually defined by a
|
||||||
|
// user or cluster provisioner, and referenced in the PodSpec. The Kubelet is
|
||||||
|
// responsible for resolving the RuntimeClassName reference before running the
|
||||||
|
// pod. For more details, see
|
||||||
|
// https://git.k8s.io/enhancements/keps/sig-node/runtime-class.md
|
||||||
|
message RuntimeClass {
|
||||||
|
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
||||||
|
// +optional
|
||||||
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
||||||
|
|
||||||
|
// Specification of the RuntimeClass
|
||||||
|
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
|
||||||
|
optional RuntimeClassSpec spec = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
// RuntimeClassList is a list of RuntimeClass objects.
|
||||||
|
message RuntimeClassList {
|
||||||
|
// Standard list metadata.
|
||||||
|
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
||||||
|
// +optional
|
||||||
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
|
||||||
|
|
||||||
|
// Items is a list of schema objects.
|
||||||
|
repeated RuntimeClass items = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
// RuntimeClassSpec is a specification of a RuntimeClass. It contains parameters
|
||||||
|
// that are required to describe the RuntimeClass to the Container Runtime
|
||||||
|
// Interface (CRI) implementation, as well as any other components that need to
|
||||||
|
// understand how the pod will be run. The RuntimeClassSpec is immutable.
|
||||||
|
message RuntimeClassSpec {
|
||||||
|
// RuntimeHandler specifies the underlying runtime and configuration that the
|
||||||
|
// CRI implementation will use to handle pods of this class. The possible
|
||||||
|
// values are specific to the node & CRI configuration. It is assumed that
|
||||||
|
// all handlers are available on every node, and handlers of the same name are
|
||||||
|
// equivalent on every node.
|
||||||
|
// For example, a handler called "runc" might specify that the runc OCI
|
||||||
|
// runtime (using native Linux containers) will be used to run the containers
|
||||||
|
// in a pod.
|
||||||
|
// The RuntimeHandler must conform to the DNS Label (RFC 1123) requirements
|
||||||
|
// and is immutable.
|
||||||
|
optional string runtimeHandler = 1;
|
||||||
|
}
|
||||||
|
|
52
vendor/k8s.io/api/node/v1alpha1/register.go
generated
vendored
Normal file
52
vendor/k8s.io/api/node/v1alpha1/register.go
generated
vendored
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
/*
|
||||||
|
Copyright 2018 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package v1alpha1
|
||||||
|
|
||||||
|
import (
|
||||||
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
|
)
|
||||||
|
|
||||||
|
// GroupName is the group name use in this package
|
||||||
|
const GroupName = "node.k8s.io"
|
||||||
|
|
||||||
|
// SchemeGroupVersion is group version used to register these objects
|
||||||
|
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}
|
||||||
|
|
||||||
|
// Resource takes an unqualified resource and returns a Group qualified GroupResource
|
||||||
|
func Resource(resource string) schema.GroupResource {
|
||||||
|
return SchemeGroupVersion.WithResource(resource).GroupResource()
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
// SchemeBuilder is the scheme builder with scheme init functions to run for this API package
|
||||||
|
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
|
||||||
|
// AddToScheme is a common registration function for mapping packaged scoped group & version keys to a scheme
|
||||||
|
AddToScheme = SchemeBuilder.AddToScheme
|
||||||
|
)
|
||||||
|
|
||||||
|
// addKnownTypes adds the list of known types to api.Scheme.
|
||||||
|
func addKnownTypes(scheme *runtime.Scheme) error {
|
||||||
|
scheme.AddKnownTypes(SchemeGroupVersion,
|
||||||
|
&RuntimeClass{},
|
||||||
|
&RuntimeClassList{},
|
||||||
|
)
|
||||||
|
|
||||||
|
metav1.AddToGroupVersion(scheme, SchemeGroupVersion)
|
||||||
|
return nil
|
||||||
|
}
|
75
vendor/k8s.io/api/node/v1alpha1/types.go
generated
vendored
Normal file
75
vendor/k8s.io/api/node/v1alpha1/types.go
generated
vendored
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
/*
|
||||||
|
Copyright 2018 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package v1alpha1
|
||||||
|
|
||||||
|
import (
|
||||||
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
)
|
||||||
|
|
||||||
|
// +genclient
|
||||||
|
// +genclient:nonNamespaced
|
||||||
|
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||||
|
|
||||||
|
// RuntimeClass defines a class of container runtime supported in the cluster.
|
||||||
|
// The RuntimeClass is used to determine which container runtime is used to run
|
||||||
|
// all containers in a pod. RuntimeClasses are (currently) manually defined by a
|
||||||
|
// user or cluster provisioner, and referenced in the PodSpec. The Kubelet is
|
||||||
|
// responsible for resolving the RuntimeClassName reference before running the
|
||||||
|
// pod. For more details, see
|
||||||
|
// https://git.k8s.io/enhancements/keps/sig-node/runtime-class.md
|
||||||
|
type RuntimeClass struct {
|
||||||
|
metav1.TypeMeta `json:",inline"`
|
||||||
|
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
||||||
|
// +optional
|
||||||
|
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||||
|
|
||||||
|
// Specification of the RuntimeClass
|
||||||
|
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
|
||||||
|
Spec RuntimeClassSpec `json:"spec" protobuf:"bytes,2,name=spec"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// RuntimeClassSpec is a specification of a RuntimeClass. It contains parameters
|
||||||
|
// that are required to describe the RuntimeClass to the Container Runtime
|
||||||
|
// Interface (CRI) implementation, as well as any other components that need to
|
||||||
|
// understand how the pod will be run. The RuntimeClassSpec is immutable.
|
||||||
|
type RuntimeClassSpec struct {
|
||||||
|
// RuntimeHandler specifies the underlying runtime and configuration that the
|
||||||
|
// CRI implementation will use to handle pods of this class. The possible
|
||||||
|
// values are specific to the node & CRI configuration. It is assumed that
|
||||||
|
// all handlers are available on every node, and handlers of the same name are
|
||||||
|
// equivalent on every node.
|
||||||
|
// For example, a handler called "runc" might specify that the runc OCI
|
||||||
|
// runtime (using native Linux containers) will be used to run the containers
|
||||||
|
// in a pod.
|
||||||
|
// The RuntimeHandler must conform to the DNS Label (RFC 1123) requirements
|
||||||
|
// and is immutable.
|
||||||
|
RuntimeHandler string `json:"runtimeHandler" protobuf:"bytes,1,opt,name=runtimeHandler"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||||
|
|
||||||
|
// RuntimeClassList is a list of RuntimeClass objects.
|
||||||
|
type RuntimeClassList struct {
|
||||||
|
metav1.TypeMeta `json:",inline"`
|
||||||
|
// Standard list metadata.
|
||||||
|
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
||||||
|
// +optional
|
||||||
|
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||||
|
|
||||||
|
// Items is a list of schema objects.
|
||||||
|
Items []RuntimeClass `json:"items" protobuf:"bytes,2,rep,name=items"`
|
||||||
|
}
|
59
vendor/k8s.io/api/node/v1alpha1/types_swagger_doc_generated.go
generated
vendored
Normal file
59
vendor/k8s.io/api/node/v1alpha1/types_swagger_doc_generated.go
generated
vendored
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
/*
|
||||||
|
Copyright The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package v1alpha1
|
||||||
|
|
||||||
|
// This file contains a collection of methods that can be used from go-restful to
|
||||||
|
// generate Swagger API documentation for its models. Please read this PR for more
|
||||||
|
// information on the implementation: https://github.com/emicklei/go-restful/pull/215
|
||||||
|
//
|
||||||
|
// TODOs are ignored from the parser (e.g. TODO(andronat):... || TODO:...) if and only if
|
||||||
|
// they are on one line! For multiple line or blocks that you want to ignore use ---.
|
||||||
|
// Any context after a --- is ignored.
|
||||||
|
//
|
||||||
|
// Those methods can be generated by using hack/update-generated-swagger-docs.sh
|
||||||
|
|
||||||
|
// AUTO-GENERATED FUNCTIONS START HERE. DO NOT EDIT.
|
||||||
|
var map_RuntimeClass = map[string]string{
|
||||||
|
"": "RuntimeClass defines a class of container runtime supported in the cluster. The RuntimeClass is used to determine which container runtime is used to run all containers in a pod. RuntimeClasses are (currently) manually defined by a user or cluster provisioner, and referenced in the PodSpec. The Kubelet is responsible for resolving the RuntimeClassName reference before running the pod. For more details, see https://git.k8s.io/enhancements/keps/sig-node/runtime-class.md",
|
||||||
|
"metadata": "More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
|
||||||
|
"spec": "Specification of the RuntimeClass More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status",
|
||||||
|
}
|
||||||
|
|
||||||
|
func (RuntimeClass) SwaggerDoc() map[string]string {
|
||||||
|
return map_RuntimeClass
|
||||||
|
}
|
||||||
|
|
||||||
|
var map_RuntimeClassList = map[string]string{
|
||||||
|
"": "RuntimeClassList is a list of RuntimeClass objects.",
|
||||||
|
"metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
|
||||||
|
"items": "Items is a list of schema objects.",
|
||||||
|
}
|
||||||
|
|
||||||
|
func (RuntimeClassList) SwaggerDoc() map[string]string {
|
||||||
|
return map_RuntimeClassList
|
||||||
|
}
|
||||||
|
|
||||||
|
var map_RuntimeClassSpec = map[string]string{
|
||||||
|
"": "RuntimeClassSpec is a specification of a RuntimeClass. It contains parameters that are required to describe the RuntimeClass to the Container Runtime Interface (CRI) implementation, as well as any other components that need to understand how the pod will be run. The RuntimeClassSpec is immutable.",
|
||||||
|
"runtimeHandler": "RuntimeHandler specifies the underlying runtime and configuration that the CRI implementation will use to handle pods of this class. The possible values are specific to the node & CRI configuration. It is assumed that all handlers are available on every node, and handlers of the same name are equivalent on every node. For example, a handler called \"runc\" might specify that the runc OCI runtime (using native Linux containers) will be used to run the containers in a pod. The RuntimeHandler must conform to the DNS Label (RFC 1123) requirements and is immutable.",
|
||||||
|
}
|
||||||
|
|
||||||
|
func (RuntimeClassSpec) SwaggerDoc() map[string]string {
|
||||||
|
return map_RuntimeClassSpec
|
||||||
|
}
|
||||||
|
|
||||||
|
// AUTO-GENERATED FUNCTIONS END HERE
|
|
@ -25,55 +25,26 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
func (in *Initializer) DeepCopyInto(out *Initializer) {
|
func (in *RuntimeClass) DeepCopyInto(out *RuntimeClass) {
|
||||||
*out = *in
|
|
||||||
if in.Rules != nil {
|
|
||||||
in, out := &in.Rules, &out.Rules
|
|
||||||
*out = make([]Rule, len(*in))
|
|
||||||
for i := range *in {
|
|
||||||
(*in)[i].DeepCopyInto(&(*out)[i])
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Initializer.
|
|
||||||
func (in *Initializer) DeepCopy() *Initializer {
|
|
||||||
if in == nil {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
out := new(Initializer)
|
|
||||||
in.DeepCopyInto(out)
|
|
||||||
return out
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
||||||
func (in *InitializerConfiguration) DeepCopyInto(out *InitializerConfiguration) {
|
|
||||||
*out = *in
|
*out = *in
|
||||||
out.TypeMeta = in.TypeMeta
|
out.TypeMeta = in.TypeMeta
|
||||||
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
|
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
|
||||||
if in.Initializers != nil {
|
out.Spec = in.Spec
|
||||||
in, out := &in.Initializers, &out.Initializers
|
|
||||||
*out = make([]Initializer, len(*in))
|
|
||||||
for i := range *in {
|
|
||||||
(*in)[i].DeepCopyInto(&(*out)[i])
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InitializerConfiguration.
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuntimeClass.
|
||||||
func (in *InitializerConfiguration) DeepCopy() *InitializerConfiguration {
|
func (in *RuntimeClass) DeepCopy() *RuntimeClass {
|
||||||
if in == nil {
|
if in == nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
out := new(InitializerConfiguration)
|
out := new(RuntimeClass)
|
||||||
in.DeepCopyInto(out)
|
in.DeepCopyInto(out)
|
||||||
return out
|
return out
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
||||||
func (in *InitializerConfiguration) DeepCopyObject() runtime.Object {
|
func (in *RuntimeClass) DeepCopyObject() runtime.Object {
|
||||||
if c := in.DeepCopy(); c != nil {
|
if c := in.DeepCopy(); c != nil {
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
@ -81,13 +52,13 @@ func (in *InitializerConfiguration) DeepCopyObject() runtime.Object {
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
func (in *InitializerConfigurationList) DeepCopyInto(out *InitializerConfigurationList) {
|
func (in *RuntimeClassList) DeepCopyInto(out *RuntimeClassList) {
|
||||||
*out = *in
|
*out = *in
|
||||||
out.TypeMeta = in.TypeMeta
|
out.TypeMeta = in.TypeMeta
|
||||||
out.ListMeta = in.ListMeta
|
out.ListMeta = in.ListMeta
|
||||||
if in.Items != nil {
|
if in.Items != nil {
|
||||||
in, out := &in.Items, &out.Items
|
in, out := &in.Items, &out.Items
|
||||||
*out = make([]InitializerConfiguration, len(*in))
|
*out = make([]RuntimeClass, len(*in))
|
||||||
for i := range *in {
|
for i := range *in {
|
||||||
(*in)[i].DeepCopyInto(&(*out)[i])
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
||||||
}
|
}
|
||||||
|
@ -95,18 +66,18 @@ func (in *InitializerConfigurationList) DeepCopyInto(out *InitializerConfigurati
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InitializerConfigurationList.
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuntimeClassList.
|
||||||
func (in *InitializerConfigurationList) DeepCopy() *InitializerConfigurationList {
|
func (in *RuntimeClassList) DeepCopy() *RuntimeClassList {
|
||||||
if in == nil {
|
if in == nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
out := new(InitializerConfigurationList)
|
out := new(RuntimeClassList)
|
||||||
in.DeepCopyInto(out)
|
in.DeepCopyInto(out)
|
||||||
return out
|
return out
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
||||||
func (in *InitializerConfigurationList) DeepCopyObject() runtime.Object {
|
func (in *RuntimeClassList) DeepCopyObject() runtime.Object {
|
||||||
if c := in.DeepCopy(); c != nil {
|
if c := in.DeepCopy(); c != nil {
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
@ -114,32 +85,17 @@ func (in *InitializerConfigurationList) DeepCopyObject() runtime.Object {
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
func (in *Rule) DeepCopyInto(out *Rule) {
|
func (in *RuntimeClassSpec) DeepCopyInto(out *RuntimeClassSpec) {
|
||||||
*out = *in
|
*out = *in
|
||||||
if in.APIGroups != nil {
|
|
||||||
in, out := &in.APIGroups, &out.APIGroups
|
|
||||||
*out = make([]string, len(*in))
|
|
||||||
copy(*out, *in)
|
|
||||||
}
|
|
||||||
if in.APIVersions != nil {
|
|
||||||
in, out := &in.APIVersions, &out.APIVersions
|
|
||||||
*out = make([]string, len(*in))
|
|
||||||
copy(*out, *in)
|
|
||||||
}
|
|
||||||
if in.Resources != nil {
|
|
||||||
in, out := &in.Resources, &out.Resources
|
|
||||||
*out = make([]string, len(*in))
|
|
||||||
copy(*out, *in)
|
|
||||||
}
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Rule.
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuntimeClassSpec.
|
||||||
func (in *Rule) DeepCopy() *Rule {
|
func (in *RuntimeClassSpec) DeepCopy() *RuntimeClassSpec {
|
||||||
if in == nil {
|
if in == nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
out := new(Rule)
|
out := new(RuntimeClassSpec)
|
||||||
in.DeepCopyInto(out)
|
in.DeepCopyInto(out)
|
||||||
return out
|
return out
|
||||||
}
|
}
|
22
vendor/k8s.io/api/node/v1beta1/doc.go
generated
vendored
Normal file
22
vendor/k8s.io/api/node/v1beta1/doc.go
generated
vendored
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
/*
|
||||||
|
Copyright 2019 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// +k8s:deepcopy-gen=package
|
||||||
|
// +k8s:openapi-gen=true
|
||||||
|
|
||||||
|
// +groupName=node.k8s.io
|
||||||
|
|
||||||
|
package v1beta1 // import "k8s.io/api/node/v1beta1"
|
564
vendor/k8s.io/api/node/v1beta1/generated.pb.go
generated
vendored
Normal file
564
vendor/k8s.io/api/node/v1beta1/generated.pb.go
generated
vendored
Normal file
|
@ -0,0 +1,564 @@
|
||||||
|
/*
|
||||||
|
Copyright The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Code generated by protoc-gen-gogo. DO NOT EDIT.
|
||||||
|
// source: k8s.io/kubernetes/vendor/k8s.io/api/node/v1beta1/generated.proto
|
||||||
|
|
||||||
|
/*
|
||||||
|
Package v1beta1 is a generated protocol buffer package.
|
||||||
|
|
||||||
|
It is generated from these files:
|
||||||
|
k8s.io/kubernetes/vendor/k8s.io/api/node/v1beta1/generated.proto
|
||||||
|
|
||||||
|
It has these top-level messages:
|
||||||
|
RuntimeClass
|
||||||
|
RuntimeClassList
|
||||||
|
*/
|
||||||
|
package v1beta1
|
||||||
|
|
||||||
|
import proto "github.com/gogo/protobuf/proto"
|
||||||
|
import fmt "fmt"
|
||||||
|
import math "math"
|
||||||
|
|
||||||
|
import strings "strings"
|
||||||
|
import reflect "reflect"
|
||||||
|
|
||||||
|
import io "io"
|
||||||
|
|
||||||
|
// Reference imports to suppress errors if they are not otherwise used.
|
||||||
|
var _ = proto.Marshal
|
||||||
|
var _ = fmt.Errorf
|
||||||
|
var _ = math.Inf
|
||||||
|
|
||||||
|
// This is a compile-time assertion to ensure that this generated file
|
||||||
|
// is compatible with the proto package it is being compiled against.
|
||||||
|
// A compilation error at this line likely means your copy of the
|
||||||
|
// proto package needs to be updated.
|
||||||
|
const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
|
||||||
|
|
||||||
|
func (m *RuntimeClass) Reset() { *m = RuntimeClass{} }
|
||||||
|
func (*RuntimeClass) ProtoMessage() {}
|
||||||
|
func (*RuntimeClass) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{0} }
|
||||||
|
|
||||||
|
func (m *RuntimeClassList) Reset() { *m = RuntimeClassList{} }
|
||||||
|
func (*RuntimeClassList) ProtoMessage() {}
|
||||||
|
func (*RuntimeClassList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{1} }
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
proto.RegisterType((*RuntimeClass)(nil), "k8s.io.api.node.v1beta1.RuntimeClass")
|
||||||
|
proto.RegisterType((*RuntimeClassList)(nil), "k8s.io.api.node.v1beta1.RuntimeClassList")
|
||||||
|
}
|
||||||
|
func (m *RuntimeClass) Marshal() (dAtA []byte, err error) {
|
||||||
|
size := m.Size()
|
||||||
|
dAtA = make([]byte, size)
|
||||||
|
n, err := m.MarshalTo(dAtA)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return dAtA[:n], nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *RuntimeClass) MarshalTo(dAtA []byte) (int, error) {
|
||||||
|
var i int
|
||||||
|
_ = i
|
||||||
|
var l int
|
||||||
|
_ = l
|
||||||
|
dAtA[i] = 0xa
|
||||||
|
i++
|
||||||
|
i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size()))
|
||||||
|
n1, err := m.ObjectMeta.MarshalTo(dAtA[i:])
|
||||||
|
if err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
i += n1
|
||||||
|
dAtA[i] = 0x12
|
||||||
|
i++
|
||||||
|
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Handler)))
|
||||||
|
i += copy(dAtA[i:], m.Handler)
|
||||||
|
return i, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *RuntimeClassList) Marshal() (dAtA []byte, err error) {
|
||||||
|
size := m.Size()
|
||||||
|
dAtA = make([]byte, size)
|
||||||
|
n, err := m.MarshalTo(dAtA)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return dAtA[:n], nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *RuntimeClassList) MarshalTo(dAtA []byte) (int, error) {
|
||||||
|
var i int
|
||||||
|
_ = i
|
||||||
|
var l int
|
||||||
|
_ = l
|
||||||
|
dAtA[i] = 0xa
|
||||||
|
i++
|
||||||
|
i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size()))
|
||||||
|
n2, err := m.ListMeta.MarshalTo(dAtA[i:])
|
||||||
|
if err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
i += n2
|
||||||
|
if len(m.Items) > 0 {
|
||||||
|
for _, msg := range m.Items {
|
||||||
|
dAtA[i] = 0x12
|
||||||
|
i++
|
||||||
|
i = encodeVarintGenerated(dAtA, i, uint64(msg.Size()))
|
||||||
|
n, err := msg.MarshalTo(dAtA[i:])
|
||||||
|
if err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
i += n
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return i, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int {
|
||||||
|
for v >= 1<<7 {
|
||||||
|
dAtA[offset] = uint8(v&0x7f | 0x80)
|
||||||
|
v >>= 7
|
||||||
|
offset++
|
||||||
|
}
|
||||||
|
dAtA[offset] = uint8(v)
|
||||||
|
return offset + 1
|
||||||
|
}
|
||||||
|
func (m *RuntimeClass) Size() (n int) {
|
||||||
|
var l int
|
||||||
|
_ = l
|
||||||
|
l = m.ObjectMeta.Size()
|
||||||
|
n += 1 + l + sovGenerated(uint64(l))
|
||||||
|
l = len(m.Handler)
|
||||||
|
n += 1 + l + sovGenerated(uint64(l))
|
||||||
|
return n
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *RuntimeClassList) Size() (n int) {
|
||||||
|
var l int
|
||||||
|
_ = l
|
||||||
|
l = m.ListMeta.Size()
|
||||||
|
n += 1 + l + sovGenerated(uint64(l))
|
||||||
|
if len(m.Items) > 0 {
|
||||||
|
for _, e := range m.Items {
|
||||||
|
l = e.Size()
|
||||||
|
n += 1 + l + sovGenerated(uint64(l))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return n
|
||||||
|
}
|
||||||
|
|
||||||
|
func sovGenerated(x uint64) (n int) {
|
||||||
|
for {
|
||||||
|
n++
|
||||||
|
x >>= 7
|
||||||
|
if x == 0 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return n
|
||||||
|
}
|
||||||
|
func sozGenerated(x uint64) (n int) {
|
||||||
|
return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63))))
|
||||||
|
}
|
||||||
|
func (this *RuntimeClass) String() string {
|
||||||
|
if this == nil {
|
||||||
|
return "nil"
|
||||||
|
}
|
||||||
|
s := strings.Join([]string{`&RuntimeClass{`,
|
||||||
|
`ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
|
||||||
|
`Handler:` + fmt.Sprintf("%v", this.Handler) + `,`,
|
||||||
|
`}`,
|
||||||
|
}, "")
|
||||||
|
return s
|
||||||
|
}
|
||||||
|
func (this *RuntimeClassList) String() string {
|
||||||
|
if this == nil {
|
||||||
|
return "nil"
|
||||||
|
}
|
||||||
|
s := strings.Join([]string{`&RuntimeClassList{`,
|
||||||
|
`ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`,
|
||||||
|
`Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "RuntimeClass", "RuntimeClass", 1), `&`, ``, 1) + `,`,
|
||||||
|
`}`,
|
||||||
|
}, "")
|
||||||
|
return s
|
||||||
|
}
|
||||||
|
func valueToStringGenerated(v interface{}) string {
|
||||||
|
rv := reflect.ValueOf(v)
|
||||||
|
if rv.IsNil() {
|
||||||
|
return "nil"
|
||||||
|
}
|
||||||
|
pv := reflect.Indirect(rv).Interface()
|
||||||
|
return fmt.Sprintf("*%v", pv)
|
||||||
|
}
|
||||||
|
func (m *RuntimeClass) Unmarshal(dAtA []byte) error {
|
||||||
|
l := len(dAtA)
|
||||||
|
iNdEx := 0
|
||||||
|
for iNdEx < l {
|
||||||
|
preIndex := iNdEx
|
||||||
|
var wire uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
wire |= (uint64(b) & 0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fieldNum := int32(wire >> 3)
|
||||||
|
wireType := int(wire & 0x7)
|
||||||
|
if wireType == 4 {
|
||||||
|
return fmt.Errorf("proto: RuntimeClass: wiretype end group for non-group")
|
||||||
|
}
|
||||||
|
if fieldNum <= 0 {
|
||||||
|
return fmt.Errorf("proto: RuntimeClass: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||||
|
}
|
||||||
|
switch fieldNum {
|
||||||
|
case 1:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType)
|
||||||
|
}
|
||||||
|
var msglen int
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
msglen |= (int(b) & 0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if msglen < 0 {
|
||||||
|
return ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + msglen
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
iNdEx = postIndex
|
||||||
|
case 2:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field Handler", wireType)
|
||||||
|
}
|
||||||
|
var stringLen uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
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 ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + intStringLen
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
m.Handler = string(dAtA[iNdEx:postIndex])
|
||||||
|
iNdEx = postIndex
|
||||||
|
default:
|
||||||
|
iNdEx = preIndex
|
||||||
|
skippy, err := skipGenerated(dAtA[iNdEx:])
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if skippy < 0 {
|
||||||
|
return ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
if (iNdEx + skippy) > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
iNdEx += skippy
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if iNdEx > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
func (m *RuntimeClassList) Unmarshal(dAtA []byte) error {
|
||||||
|
l := len(dAtA)
|
||||||
|
iNdEx := 0
|
||||||
|
for iNdEx < l {
|
||||||
|
preIndex := iNdEx
|
||||||
|
var wire uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
wire |= (uint64(b) & 0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fieldNum := int32(wire >> 3)
|
||||||
|
wireType := int(wire & 0x7)
|
||||||
|
if wireType == 4 {
|
||||||
|
return fmt.Errorf("proto: RuntimeClassList: wiretype end group for non-group")
|
||||||
|
}
|
||||||
|
if fieldNum <= 0 {
|
||||||
|
return fmt.Errorf("proto: RuntimeClassList: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||||
|
}
|
||||||
|
switch fieldNum {
|
||||||
|
case 1:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType)
|
||||||
|
}
|
||||||
|
var msglen int
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
msglen |= (int(b) & 0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if msglen < 0 {
|
||||||
|
return ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + msglen
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
iNdEx = postIndex
|
||||||
|
case 2:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType)
|
||||||
|
}
|
||||||
|
var msglen int
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
msglen |= (int(b) & 0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if msglen < 0 {
|
||||||
|
return ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + msglen
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
m.Items = append(m.Items, RuntimeClass{})
|
||||||
|
if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
iNdEx = postIndex
|
||||||
|
default:
|
||||||
|
iNdEx = preIndex
|
||||||
|
skippy, err := skipGenerated(dAtA[iNdEx:])
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if skippy < 0 {
|
||||||
|
return ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
if (iNdEx + skippy) > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
iNdEx += skippy
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if iNdEx > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
func skipGenerated(dAtA []byte) (n int, err error) {
|
||||||
|
l := len(dAtA)
|
||||||
|
iNdEx := 0
|
||||||
|
for iNdEx < l {
|
||||||
|
var wire uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return 0, ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return 0, io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
wire |= (uint64(b) & 0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
wireType := int(wire & 0x7)
|
||||||
|
switch wireType {
|
||||||
|
case 0:
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return 0, ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return 0, io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
iNdEx++
|
||||||
|
if dAtA[iNdEx-1] < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return iNdEx, nil
|
||||||
|
case 1:
|
||||||
|
iNdEx += 8
|
||||||
|
return iNdEx, nil
|
||||||
|
case 2:
|
||||||
|
var length int
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return 0, ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return 0, io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
length |= (int(b) & 0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
iNdEx += length
|
||||||
|
if length < 0 {
|
||||||
|
return 0, ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
return iNdEx, nil
|
||||||
|
case 3:
|
||||||
|
for {
|
||||||
|
var innerWire uint64
|
||||||
|
var start int = iNdEx
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return 0, ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return 0, io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
innerWire |= (uint64(b) & 0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
innerWireType := int(innerWire & 0x7)
|
||||||
|
if innerWireType == 4 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
next, err := skipGenerated(dAtA[start:])
|
||||||
|
if err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
iNdEx = start + next
|
||||||
|
}
|
||||||
|
return iNdEx, nil
|
||||||
|
case 4:
|
||||||
|
return iNdEx, nil
|
||||||
|
case 5:
|
||||||
|
iNdEx += 4
|
||||||
|
return iNdEx, nil
|
||||||
|
default:
|
||||||
|
return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
panic("unreachable")
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
ErrInvalidLengthGenerated = fmt.Errorf("proto: negative length found during unmarshaling")
|
||||||
|
ErrIntOverflowGenerated = fmt.Errorf("proto: integer overflow")
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
proto.RegisterFile("k8s.io/kubernetes/vendor/k8s.io/api/node/v1beta1/generated.proto", fileDescriptorGenerated)
|
||||||
|
}
|
||||||
|
|
||||||
|
var fileDescriptorGenerated = []byte{
|
||||||
|
// 389 bytes of a gzipped FileDescriptorProto
|
||||||
|
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x92, 0xcd, 0x6a, 0xdb, 0x40,
|
||||||
|
0x14, 0x85, 0x35, 0x2e, 0xc6, 0xae, 0xdc, 0x52, 0xa3, 0x4d, 0x8d, 0x17, 0x63, 0x63, 0x28, 0xb8,
|
||||||
|
0x0b, 0xcf, 0xd4, 0xa6, 0x94, 0x2e, 0x8b, 0xba, 0x69, 0x4b, 0x4b, 0x41, 0xcb, 0x90, 0x45, 0x46,
|
||||||
|
0xd2, 0x8d, 0x34, 0x91, 0xa5, 0x11, 0x9a, 0x91, 0x20, 0xbb, 0x3c, 0x42, 0xf6, 0x79, 0x95, 0x3c,
|
||||||
|
0x80, 0x97, 0x5e, 0x7a, 0x65, 0x62, 0xe5, 0x45, 0x82, 0x7e, 0xfc, 0x43, 0x8c, 0x49, 0x76, 0xba,
|
||||||
|
0xe7, 0x9e, 0x73, 0xee, 0x87, 0x18, 0xfd, 0x47, 0xf0, 0x5d, 0x12, 0x2e, 0x68, 0x90, 0xda, 0x90,
|
||||||
|
0x44, 0xa0, 0x40, 0xd2, 0x0c, 0x22, 0x57, 0x24, 0xb4, 0x5e, 0xb0, 0x98, 0xd3, 0x48, 0xb8, 0x40,
|
||||||
|
0xb3, 0xa9, 0x0d, 0x8a, 0x4d, 0xa9, 0x07, 0x11, 0x24, 0x4c, 0x81, 0x4b, 0xe2, 0x44, 0x28, 0x61,
|
||||||
|
0x7c, 0xac, 0x8c, 0x84, 0xc5, 0x9c, 0x14, 0x46, 0x52, 0x1b, 0xfb, 0x13, 0x8f, 0x2b, 0x3f, 0xb5,
|
||||||
|
0x89, 0x23, 0x42, 0xea, 0x09, 0x4f, 0xd0, 0xd2, 0x6f, 0xa7, 0x97, 0xe5, 0x54, 0x0e, 0xe5, 0x57,
|
||||||
|
0xd5, 0xd3, 0xff, 0xba, 0x3f, 0x18, 0x32, 0xc7, 0xe7, 0x11, 0x24, 0xd7, 0x34, 0x0e, 0xbc, 0x42,
|
||||||
|
0x90, 0x34, 0x04, 0xc5, 0x68, 0x76, 0x74, 0xbd, 0x4f, 0x4f, 0xa5, 0x92, 0x34, 0x52, 0x3c, 0x84,
|
||||||
|
0xa3, 0xc0, 0xb7, 0x97, 0x02, 0xd2, 0xf1, 0x21, 0x64, 0xcf, 0x73, 0xa3, 0x3b, 0xa4, 0xbf, 0xb3,
|
||||||
|
0x2a, 0xcb, 0xcf, 0x39, 0x93, 0xd2, 0xb8, 0xd0, 0xdb, 0x05, 0x94, 0xcb, 0x14, 0xeb, 0xa1, 0x21,
|
||||||
|
0x1a, 0x77, 0x66, 0x5f, 0xc8, 0xfe, 0x57, 0xec, 0xba, 0x49, 0x1c, 0x78, 0x85, 0x20, 0x49, 0xe1,
|
||||||
|
0x26, 0xd9, 0x94, 0xfc, 0xb7, 0xaf, 0xc0, 0x51, 0xff, 0x40, 0x31, 0xd3, 0x58, 0xac, 0x07, 0x5a,
|
||||||
|
0xbe, 0x1e, 0xe8, 0x7b, 0xcd, 0xda, 0xb5, 0x1a, 0x9f, 0xf5, 0x96, 0xcf, 0x22, 0x77, 0x0e, 0x49,
|
||||||
|
0xaf, 0x31, 0x44, 0xe3, 0xb7, 0xe6, 0x87, 0xda, 0xde, 0xfa, 0x55, 0xc9, 0xd6, 0x76, 0x3f, 0xba,
|
||||||
|
0x47, 0x7a, 0xf7, 0x90, 0xee, 0x2f, 0x97, 0xca, 0x38, 0x3f, 0x22, 0x24, 0xaf, 0x23, 0x2c, 0xd2,
|
||||||
|
0x25, 0x5f, 0xb7, 0x3e, 0xd8, 0xde, 0x2a, 0x07, 0x74, 0x7f, 0xf4, 0x26, 0x57, 0x10, 0xca, 0x5e,
|
||||||
|
0x63, 0xf8, 0x66, 0xdc, 0x99, 0x7d, 0x22, 0x27, 0xde, 0x01, 0x39, 0xe4, 0x32, 0xdf, 0xd7, 0x8d,
|
||||||
|
0xcd, 0xdf, 0x45, 0xd6, 0xaa, 0x2a, 0xcc, 0xc9, 0x62, 0x83, 0xb5, 0xe5, 0x06, 0x6b, 0xab, 0x0d,
|
||||||
|
0xd6, 0x6e, 0x72, 0x8c, 0x16, 0x39, 0x46, 0xcb, 0x1c, 0xa3, 0x55, 0x8e, 0xd1, 0x43, 0x8e, 0xd1,
|
||||||
|
0xed, 0x23, 0xd6, 0xce, 0x5a, 0x75, 0xe3, 0x53, 0x00, 0x00, 0x00, 0xff, 0xff, 0x93, 0x68, 0xe5,
|
||||||
|
0x0d, 0xb5, 0x02, 0x00, 0x00,
|
||||||
|
}
|
66
vendor/k8s.io/api/node/v1beta1/generated.proto
generated
vendored
Normal file
66
vendor/k8s.io/api/node/v1beta1/generated.proto
generated
vendored
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
/*
|
||||||
|
Copyright The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
// This file was autogenerated by go-to-protobuf. Do not edit it manually!
|
||||||
|
|
||||||
|
syntax = 'proto2';
|
||||||
|
|
||||||
|
package k8s.io.api.node.v1beta1;
|
||||||
|
|
||||||
|
import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto";
|
||||||
|
import "k8s.io/apimachinery/pkg/runtime/generated.proto";
|
||||||
|
import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto";
|
||||||
|
|
||||||
|
// Package-wide variables from generator "generated".
|
||||||
|
option go_package = "v1beta1";
|
||||||
|
|
||||||
|
// RuntimeClass defines a class of container runtime supported in the cluster.
|
||||||
|
// The RuntimeClass is used to determine which container runtime is used to run
|
||||||
|
// all containers in a pod. RuntimeClasses are (currently) manually defined by a
|
||||||
|
// user or cluster provisioner, and referenced in the PodSpec. The Kubelet is
|
||||||
|
// responsible for resolving the RuntimeClassName reference before running the
|
||||||
|
// pod. For more details, see
|
||||||
|
// https://git.k8s.io/enhancements/keps/sig-node/runtime-class.md
|
||||||
|
message RuntimeClass {
|
||||||
|
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
||||||
|
// +optional
|
||||||
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
||||||
|
|
||||||
|
// Handler specifies the underlying runtime and configuration that the CRI
|
||||||
|
// implementation will use to handle pods of this class. The possible values
|
||||||
|
// are specific to the node & CRI configuration. It is assumed that all
|
||||||
|
// handlers are available on every node, and handlers of the same name are
|
||||||
|
// equivalent on every node.
|
||||||
|
// For example, a handler called "runc" might specify that the runc OCI
|
||||||
|
// runtime (using native Linux containers) will be used to run the containers
|
||||||
|
// in a pod.
|
||||||
|
// The Handler must conform to the DNS Label (RFC 1123) requirements, and is
|
||||||
|
// immutable.
|
||||||
|
optional string handler = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
// RuntimeClassList is a list of RuntimeClass objects.
|
||||||
|
message RuntimeClassList {
|
||||||
|
// Standard list metadata.
|
||||||
|
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
||||||
|
// +optional
|
||||||
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
|
||||||
|
|
||||||
|
// Items is a list of schema objects.
|
||||||
|
repeated RuntimeClass items = 2;
|
||||||
|
}
|
||||||
|
|
52
vendor/k8s.io/api/node/v1beta1/register.go
generated
vendored
Normal file
52
vendor/k8s.io/api/node/v1beta1/register.go
generated
vendored
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
/*
|
||||||
|
Copyright 2019 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package v1beta1
|
||||||
|
|
||||||
|
import (
|
||||||
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
|
)
|
||||||
|
|
||||||
|
// GroupName is the group name use in this package
|
||||||
|
const GroupName = "node.k8s.io"
|
||||||
|
|
||||||
|
// SchemeGroupVersion is group version used to register these objects
|
||||||
|
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1beta1"}
|
||||||
|
|
||||||
|
// Resource takes an unqualified resource and returns a Group qualified GroupResource
|
||||||
|
func Resource(resource string) schema.GroupResource {
|
||||||
|
return SchemeGroupVersion.WithResource(resource).GroupResource()
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
// SchemeBuilder is the scheme builder with scheme init functions to run for this API package
|
||||||
|
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
|
||||||
|
// AddToScheme is a common registration function for mapping packaged scoped group & version keys to a scheme
|
||||||
|
AddToScheme = SchemeBuilder.AddToScheme
|
||||||
|
)
|
||||||
|
|
||||||
|
// addKnownTypes adds the list of known types to api.Scheme.
|
||||||
|
func addKnownTypes(scheme *runtime.Scheme) error {
|
||||||
|
scheme.AddKnownTypes(SchemeGroupVersion,
|
||||||
|
&RuntimeClass{},
|
||||||
|
&RuntimeClassList{},
|
||||||
|
)
|
||||||
|
|
||||||
|
metav1.AddToGroupVersion(scheme, SchemeGroupVersion)
|
||||||
|
return nil
|
||||||
|
}
|
65
vendor/k8s.io/api/node/v1beta1/types.go
generated
vendored
Normal file
65
vendor/k8s.io/api/node/v1beta1/types.go
generated
vendored
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
/*
|
||||||
|
Copyright 2019 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package v1beta1
|
||||||
|
|
||||||
|
import (
|
||||||
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
)
|
||||||
|
|
||||||
|
// +genclient
|
||||||
|
// +genclient:nonNamespaced
|
||||||
|
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||||
|
|
||||||
|
// RuntimeClass defines a class of container runtime supported in the cluster.
|
||||||
|
// The RuntimeClass is used to determine which container runtime is used to run
|
||||||
|
// all containers in a pod. RuntimeClasses are (currently) manually defined by a
|
||||||
|
// user or cluster provisioner, and referenced in the PodSpec. The Kubelet is
|
||||||
|
// responsible for resolving the RuntimeClassName reference before running the
|
||||||
|
// pod. For more details, see
|
||||||
|
// https://git.k8s.io/enhancements/keps/sig-node/runtime-class.md
|
||||||
|
type RuntimeClass struct {
|
||||||
|
metav1.TypeMeta `json:",inline"`
|
||||||
|
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
||||||
|
// +optional
|
||||||
|
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||||
|
|
||||||
|
// Handler specifies the underlying runtime and configuration that the CRI
|
||||||
|
// implementation will use to handle pods of this class. The possible values
|
||||||
|
// are specific to the node & CRI configuration. It is assumed that all
|
||||||
|
// handlers are available on every node, and handlers of the same name are
|
||||||
|
// equivalent on every node.
|
||||||
|
// For example, a handler called "runc" might specify that the runc OCI
|
||||||
|
// runtime (using native Linux containers) will be used to run the containers
|
||||||
|
// in a pod.
|
||||||
|
// The Handler must conform to the DNS Label (RFC 1123) requirements, and is
|
||||||
|
// immutable.
|
||||||
|
Handler string `json:"handler" protobuf:"bytes,2,opt,name=handler"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||||
|
|
||||||
|
// RuntimeClassList is a list of RuntimeClass objects.
|
||||||
|
type RuntimeClassList struct {
|
||||||
|
metav1.TypeMeta `json:",inline"`
|
||||||
|
// Standard list metadata.
|
||||||
|
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
||||||
|
// +optional
|
||||||
|
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||||
|
|
||||||
|
// Items is a list of schema objects.
|
||||||
|
Items []RuntimeClass `json:"items" protobuf:"bytes,2,rep,name=items"`
|
||||||
|
}
|
50
vendor/k8s.io/api/node/v1beta1/types_swagger_doc_generated.go
generated
vendored
Normal file
50
vendor/k8s.io/api/node/v1beta1/types_swagger_doc_generated.go
generated
vendored
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
/*
|
||||||
|
Copyright The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package v1beta1
|
||||||
|
|
||||||
|
// This file contains a collection of methods that can be used from go-restful to
|
||||||
|
// generate Swagger API documentation for its models. Please read this PR for more
|
||||||
|
// information on the implementation: https://github.com/emicklei/go-restful/pull/215
|
||||||
|
//
|
||||||
|
// TODOs are ignored from the parser (e.g. TODO(andronat):... || TODO:...) if and only if
|
||||||
|
// they are on one line! For multiple line or blocks that you want to ignore use ---.
|
||||||
|
// Any context after a --- is ignored.
|
||||||
|
//
|
||||||
|
// Those methods can be generated by using hack/update-generated-swagger-docs.sh
|
||||||
|
|
||||||
|
// AUTO-GENERATED FUNCTIONS START HERE. DO NOT EDIT.
|
||||||
|
var map_RuntimeClass = map[string]string{
|
||||||
|
"": "RuntimeClass defines a class of container runtime supported in the cluster. The RuntimeClass is used to determine which container runtime is used to run all containers in a pod. RuntimeClasses are (currently) manually defined by a user or cluster provisioner, and referenced in the PodSpec. The Kubelet is responsible for resolving the RuntimeClassName reference before running the pod. For more details, see https://git.k8s.io/enhancements/keps/sig-node/runtime-class.md",
|
||||||
|
"metadata": "More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
|
||||||
|
"handler": "Handler specifies the underlying runtime and configuration that the CRI implementation will use to handle pods of this class. The possible values are specific to the node & CRI configuration. It is assumed that all handlers are available on every node, and handlers of the same name are equivalent on every node. For example, a handler called \"runc\" might specify that the runc OCI runtime (using native Linux containers) will be used to run the containers in a pod. The Handler must conform to the DNS Label (RFC 1123) requirements, and is immutable.",
|
||||||
|
}
|
||||||
|
|
||||||
|
func (RuntimeClass) SwaggerDoc() map[string]string {
|
||||||
|
return map_RuntimeClass
|
||||||
|
}
|
||||||
|
|
||||||
|
var map_RuntimeClassList = map[string]string{
|
||||||
|
"": "RuntimeClassList is a list of RuntimeClass objects.",
|
||||||
|
"metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
|
||||||
|
"items": "Items is a list of schema objects.",
|
||||||
|
}
|
||||||
|
|
||||||
|
func (RuntimeClassList) SwaggerDoc() map[string]string {
|
||||||
|
return map_RuntimeClassList
|
||||||
|
}
|
||||||
|
|
||||||
|
// AUTO-GENERATED FUNCTIONS END HERE
|
84
vendor/k8s.io/api/node/v1beta1/zz_generated.deepcopy.go
generated
vendored
Normal file
84
vendor/k8s.io/api/node/v1beta1/zz_generated.deepcopy.go
generated
vendored
Normal file
|
@ -0,0 +1,84 @@
|
||||||
|
// +build !ignore_autogenerated
|
||||||
|
|
||||||
|
/*
|
||||||
|
Copyright The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Code generated by deepcopy-gen. DO NOT EDIT.
|
||||||
|
|
||||||
|
package v1beta1
|
||||||
|
|
||||||
|
import (
|
||||||
|
runtime "k8s.io/apimachinery/pkg/runtime"
|
||||||
|
)
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *RuntimeClass) DeepCopyInto(out *RuntimeClass) {
|
||||||
|
*out = *in
|
||||||
|
out.TypeMeta = in.TypeMeta
|
||||||
|
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuntimeClass.
|
||||||
|
func (in *RuntimeClass) DeepCopy() *RuntimeClass {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(RuntimeClass)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
||||||
|
func (in *RuntimeClass) DeepCopyObject() runtime.Object {
|
||||||
|
if c := in.DeepCopy(); c != nil {
|
||||||
|
return c
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *RuntimeClassList) DeepCopyInto(out *RuntimeClassList) {
|
||||||
|
*out = *in
|
||||||
|
out.TypeMeta = in.TypeMeta
|
||||||
|
out.ListMeta = in.ListMeta
|
||||||
|
if in.Items != nil {
|
||||||
|
in, out := &in.Items, &out.Items
|
||||||
|
*out = make([]RuntimeClass, len(*in))
|
||||||
|
for i := range *in {
|
||||||
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuntimeClassList.
|
||||||
|
func (in *RuntimeClassList) DeepCopy() *RuntimeClassList {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(RuntimeClassList)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
||||||
|
func (in *RuntimeClassList) DeepCopyObject() runtime.Object {
|
||||||
|
if c := in.DeepCopy(); c != nil {
|
||||||
|
return c
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
1
vendor/k8s.io/api/policy/v1beta1/doc.go
generated
vendored
1
vendor/k8s.io/api/policy/v1beta1/doc.go
generated
vendored
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// +k8s:deepcopy-gen=package
|
// +k8s:deepcopy-gen=package
|
||||||
|
// +k8s:protobuf-gen=package
|
||||||
// +k8s:openapi-gen=true
|
// +k8s:openapi-gen=true
|
||||||
|
|
||||||
// Package policy is for any kind of policy object. Suitable examples, even if
|
// Package policy is for any kind of policy object. Suitable examples, even if
|
||||||
|
|
435
vendor/k8s.io/api/policy/v1beta1/generated.pb.go
generated
vendored
435
vendor/k8s.io/api/policy/v1beta1/generated.pb.go
generated
vendored
|
@ -24,6 +24,7 @@ limitations under the License.
|
||||||
k8s.io/kubernetes/vendor/k8s.io/api/policy/v1beta1/generated.proto
|
k8s.io/kubernetes/vendor/k8s.io/api/policy/v1beta1/generated.proto
|
||||||
|
|
||||||
It has these top-level messages:
|
It has these top-level messages:
|
||||||
|
AllowedCSIDriver
|
||||||
AllowedFlexVolume
|
AllowedFlexVolume
|
||||||
AllowedHostPath
|
AllowedHostPath
|
||||||
Eviction
|
Eviction
|
||||||
|
@ -71,83 +72,88 @@ var _ = math.Inf
|
||||||
// proto package needs to be updated.
|
// proto package needs to be updated.
|
||||||
const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
|
const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
|
||||||
|
|
||||||
|
func (m *AllowedCSIDriver) Reset() { *m = AllowedCSIDriver{} }
|
||||||
|
func (*AllowedCSIDriver) ProtoMessage() {}
|
||||||
|
func (*AllowedCSIDriver) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{0} }
|
||||||
|
|
||||||
func (m *AllowedFlexVolume) Reset() { *m = AllowedFlexVolume{} }
|
func (m *AllowedFlexVolume) Reset() { *m = AllowedFlexVolume{} }
|
||||||
func (*AllowedFlexVolume) ProtoMessage() {}
|
func (*AllowedFlexVolume) ProtoMessage() {}
|
||||||
func (*AllowedFlexVolume) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{0} }
|
func (*AllowedFlexVolume) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{1} }
|
||||||
|
|
||||||
func (m *AllowedHostPath) Reset() { *m = AllowedHostPath{} }
|
func (m *AllowedHostPath) Reset() { *m = AllowedHostPath{} }
|
||||||
func (*AllowedHostPath) ProtoMessage() {}
|
func (*AllowedHostPath) ProtoMessage() {}
|
||||||
func (*AllowedHostPath) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{1} }
|
func (*AllowedHostPath) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{2} }
|
||||||
|
|
||||||
func (m *Eviction) Reset() { *m = Eviction{} }
|
func (m *Eviction) Reset() { *m = Eviction{} }
|
||||||
func (*Eviction) ProtoMessage() {}
|
func (*Eviction) ProtoMessage() {}
|
||||||
func (*Eviction) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{2} }
|
func (*Eviction) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{3} }
|
||||||
|
|
||||||
func (m *FSGroupStrategyOptions) Reset() { *m = FSGroupStrategyOptions{} }
|
func (m *FSGroupStrategyOptions) Reset() { *m = FSGroupStrategyOptions{} }
|
||||||
func (*FSGroupStrategyOptions) ProtoMessage() {}
|
func (*FSGroupStrategyOptions) ProtoMessage() {}
|
||||||
func (*FSGroupStrategyOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{3} }
|
func (*FSGroupStrategyOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{4} }
|
||||||
|
|
||||||
func (m *HostPortRange) Reset() { *m = HostPortRange{} }
|
func (m *HostPortRange) Reset() { *m = HostPortRange{} }
|
||||||
func (*HostPortRange) ProtoMessage() {}
|
func (*HostPortRange) ProtoMessage() {}
|
||||||
func (*HostPortRange) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{4} }
|
func (*HostPortRange) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{5} }
|
||||||
|
|
||||||
func (m *IDRange) Reset() { *m = IDRange{} }
|
func (m *IDRange) Reset() { *m = IDRange{} }
|
||||||
func (*IDRange) ProtoMessage() {}
|
func (*IDRange) ProtoMessage() {}
|
||||||
func (*IDRange) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{5} }
|
func (*IDRange) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{6} }
|
||||||
|
|
||||||
func (m *PodDisruptionBudget) Reset() { *m = PodDisruptionBudget{} }
|
func (m *PodDisruptionBudget) Reset() { *m = PodDisruptionBudget{} }
|
||||||
func (*PodDisruptionBudget) ProtoMessage() {}
|
func (*PodDisruptionBudget) ProtoMessage() {}
|
||||||
func (*PodDisruptionBudget) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{6} }
|
func (*PodDisruptionBudget) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{7} }
|
||||||
|
|
||||||
func (m *PodDisruptionBudgetList) Reset() { *m = PodDisruptionBudgetList{} }
|
func (m *PodDisruptionBudgetList) Reset() { *m = PodDisruptionBudgetList{} }
|
||||||
func (*PodDisruptionBudgetList) ProtoMessage() {}
|
func (*PodDisruptionBudgetList) ProtoMessage() {}
|
||||||
func (*PodDisruptionBudgetList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{7} }
|
func (*PodDisruptionBudgetList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{8} }
|
||||||
|
|
||||||
func (m *PodDisruptionBudgetSpec) Reset() { *m = PodDisruptionBudgetSpec{} }
|
func (m *PodDisruptionBudgetSpec) Reset() { *m = PodDisruptionBudgetSpec{} }
|
||||||
func (*PodDisruptionBudgetSpec) ProtoMessage() {}
|
func (*PodDisruptionBudgetSpec) ProtoMessage() {}
|
||||||
func (*PodDisruptionBudgetSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{8} }
|
func (*PodDisruptionBudgetSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{9} }
|
||||||
|
|
||||||
func (m *PodDisruptionBudgetStatus) Reset() { *m = PodDisruptionBudgetStatus{} }
|
func (m *PodDisruptionBudgetStatus) Reset() { *m = PodDisruptionBudgetStatus{} }
|
||||||
func (*PodDisruptionBudgetStatus) ProtoMessage() {}
|
func (*PodDisruptionBudgetStatus) ProtoMessage() {}
|
||||||
func (*PodDisruptionBudgetStatus) Descriptor() ([]byte, []int) {
|
func (*PodDisruptionBudgetStatus) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptorGenerated, []int{9}
|
return fileDescriptorGenerated, []int{10}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *PodSecurityPolicy) Reset() { *m = PodSecurityPolicy{} }
|
func (m *PodSecurityPolicy) Reset() { *m = PodSecurityPolicy{} }
|
||||||
func (*PodSecurityPolicy) ProtoMessage() {}
|
func (*PodSecurityPolicy) ProtoMessage() {}
|
||||||
func (*PodSecurityPolicy) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{10} }
|
func (*PodSecurityPolicy) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{11} }
|
||||||
|
|
||||||
func (m *PodSecurityPolicyList) Reset() { *m = PodSecurityPolicyList{} }
|
func (m *PodSecurityPolicyList) Reset() { *m = PodSecurityPolicyList{} }
|
||||||
func (*PodSecurityPolicyList) ProtoMessage() {}
|
func (*PodSecurityPolicyList) ProtoMessage() {}
|
||||||
func (*PodSecurityPolicyList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{11} }
|
func (*PodSecurityPolicyList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{12} }
|
||||||
|
|
||||||
func (m *PodSecurityPolicySpec) Reset() { *m = PodSecurityPolicySpec{} }
|
func (m *PodSecurityPolicySpec) Reset() { *m = PodSecurityPolicySpec{} }
|
||||||
func (*PodSecurityPolicySpec) ProtoMessage() {}
|
func (*PodSecurityPolicySpec) ProtoMessage() {}
|
||||||
func (*PodSecurityPolicySpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{12} }
|
func (*PodSecurityPolicySpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{13} }
|
||||||
|
|
||||||
func (m *RunAsGroupStrategyOptions) Reset() { *m = RunAsGroupStrategyOptions{} }
|
func (m *RunAsGroupStrategyOptions) Reset() { *m = RunAsGroupStrategyOptions{} }
|
||||||
func (*RunAsGroupStrategyOptions) ProtoMessage() {}
|
func (*RunAsGroupStrategyOptions) ProtoMessage() {}
|
||||||
func (*RunAsGroupStrategyOptions) Descriptor() ([]byte, []int) {
|
func (*RunAsGroupStrategyOptions) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptorGenerated, []int{13}
|
return fileDescriptorGenerated, []int{14}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *RunAsUserStrategyOptions) Reset() { *m = RunAsUserStrategyOptions{} }
|
func (m *RunAsUserStrategyOptions) Reset() { *m = RunAsUserStrategyOptions{} }
|
||||||
func (*RunAsUserStrategyOptions) ProtoMessage() {}
|
func (*RunAsUserStrategyOptions) ProtoMessage() {}
|
||||||
func (*RunAsUserStrategyOptions) Descriptor() ([]byte, []int) {
|
func (*RunAsUserStrategyOptions) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptorGenerated, []int{14}
|
return fileDescriptorGenerated, []int{15}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *SELinuxStrategyOptions) Reset() { *m = SELinuxStrategyOptions{} }
|
func (m *SELinuxStrategyOptions) Reset() { *m = SELinuxStrategyOptions{} }
|
||||||
func (*SELinuxStrategyOptions) ProtoMessage() {}
|
func (*SELinuxStrategyOptions) ProtoMessage() {}
|
||||||
func (*SELinuxStrategyOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{15} }
|
func (*SELinuxStrategyOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{16} }
|
||||||
|
|
||||||
func (m *SupplementalGroupsStrategyOptions) Reset() { *m = SupplementalGroupsStrategyOptions{} }
|
func (m *SupplementalGroupsStrategyOptions) Reset() { *m = SupplementalGroupsStrategyOptions{} }
|
||||||
func (*SupplementalGroupsStrategyOptions) ProtoMessage() {}
|
func (*SupplementalGroupsStrategyOptions) ProtoMessage() {}
|
||||||
func (*SupplementalGroupsStrategyOptions) Descriptor() ([]byte, []int) {
|
func (*SupplementalGroupsStrategyOptions) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptorGenerated, []int{16}
|
return fileDescriptorGenerated, []int{17}
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
proto.RegisterType((*AllowedCSIDriver)(nil), "k8s.io.api.policy.v1beta1.AllowedCSIDriver")
|
||||||
proto.RegisterType((*AllowedFlexVolume)(nil), "k8s.io.api.policy.v1beta1.AllowedFlexVolume")
|
proto.RegisterType((*AllowedFlexVolume)(nil), "k8s.io.api.policy.v1beta1.AllowedFlexVolume")
|
||||||
proto.RegisterType((*AllowedHostPath)(nil), "k8s.io.api.policy.v1beta1.AllowedHostPath")
|
proto.RegisterType((*AllowedHostPath)(nil), "k8s.io.api.policy.v1beta1.AllowedHostPath")
|
||||||
proto.RegisterType((*Eviction)(nil), "k8s.io.api.policy.v1beta1.Eviction")
|
proto.RegisterType((*Eviction)(nil), "k8s.io.api.policy.v1beta1.Eviction")
|
||||||
|
@ -166,6 +172,28 @@ func init() {
|
||||||
proto.RegisterType((*SELinuxStrategyOptions)(nil), "k8s.io.api.policy.v1beta1.SELinuxStrategyOptions")
|
proto.RegisterType((*SELinuxStrategyOptions)(nil), "k8s.io.api.policy.v1beta1.SELinuxStrategyOptions")
|
||||||
proto.RegisterType((*SupplementalGroupsStrategyOptions)(nil), "k8s.io.api.policy.v1beta1.SupplementalGroupsStrategyOptions")
|
proto.RegisterType((*SupplementalGroupsStrategyOptions)(nil), "k8s.io.api.policy.v1beta1.SupplementalGroupsStrategyOptions")
|
||||||
}
|
}
|
||||||
|
func (m *AllowedCSIDriver) Marshal() (dAtA []byte, err error) {
|
||||||
|
size := m.Size()
|
||||||
|
dAtA = make([]byte, size)
|
||||||
|
n, err := m.MarshalTo(dAtA)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return dAtA[:n], nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *AllowedCSIDriver) MarshalTo(dAtA []byte) (int, error) {
|
||||||
|
var i int
|
||||||
|
_ = i
|
||||||
|
var l int
|
||||||
|
_ = l
|
||||||
|
dAtA[i] = 0xa
|
||||||
|
i++
|
||||||
|
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
|
||||||
|
i += copy(dAtA[i:], m.Name)
|
||||||
|
return i, nil
|
||||||
|
}
|
||||||
|
|
||||||
func (m *AllowedFlexVolume) Marshal() (dAtA []byte, err error) {
|
func (m *AllowedFlexVolume) Marshal() (dAtA []byte, err error) {
|
||||||
size := m.Size()
|
size := m.Size()
|
||||||
dAtA = make([]byte, size)
|
dAtA = make([]byte, size)
|
||||||
|
@ -872,6 +900,20 @@ func (m *PodSecurityPolicySpec) MarshalTo(dAtA []byte) (int, error) {
|
||||||
}
|
}
|
||||||
i += n18
|
i += n18
|
||||||
}
|
}
|
||||||
|
if len(m.AllowedCSIDrivers) > 0 {
|
||||||
|
for _, msg := range m.AllowedCSIDrivers {
|
||||||
|
dAtA[i] = 0xba
|
||||||
|
i++
|
||||||
|
dAtA[i] = 0x1
|
||||||
|
i++
|
||||||
|
i = encodeVarintGenerated(dAtA, i, uint64(msg.Size()))
|
||||||
|
n, err := msg.MarshalTo(dAtA[i:])
|
||||||
|
if err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
i += n
|
||||||
|
}
|
||||||
|
}
|
||||||
return i, nil
|
return i, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1018,6 +1060,14 @@ func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int {
|
||||||
dAtA[offset] = uint8(v)
|
dAtA[offset] = uint8(v)
|
||||||
return offset + 1
|
return offset + 1
|
||||||
}
|
}
|
||||||
|
func (m *AllowedCSIDriver) Size() (n int) {
|
||||||
|
var l int
|
||||||
|
_ = l
|
||||||
|
l = len(m.Name)
|
||||||
|
n += 1 + l + sovGenerated(uint64(l))
|
||||||
|
return n
|
||||||
|
}
|
||||||
|
|
||||||
func (m *AllowedFlexVolume) Size() (n int) {
|
func (m *AllowedFlexVolume) Size() (n int) {
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
|
@ -1251,6 +1301,12 @@ func (m *PodSecurityPolicySpec) Size() (n int) {
|
||||||
l = m.RunAsGroup.Size()
|
l = m.RunAsGroup.Size()
|
||||||
n += 2 + l + sovGenerated(uint64(l))
|
n += 2 + l + sovGenerated(uint64(l))
|
||||||
}
|
}
|
||||||
|
if len(m.AllowedCSIDrivers) > 0 {
|
||||||
|
for _, e := range m.AllowedCSIDrivers {
|
||||||
|
l = e.Size()
|
||||||
|
n += 2 + l + sovGenerated(uint64(l))
|
||||||
|
}
|
||||||
|
}
|
||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1321,6 +1377,16 @@ func sovGenerated(x uint64) (n int) {
|
||||||
func sozGenerated(x uint64) (n int) {
|
func sozGenerated(x uint64) (n int) {
|
||||||
return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63))))
|
return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63))))
|
||||||
}
|
}
|
||||||
|
func (this *AllowedCSIDriver) String() string {
|
||||||
|
if this == nil {
|
||||||
|
return "nil"
|
||||||
|
}
|
||||||
|
s := strings.Join([]string{`&AllowedCSIDriver{`,
|
||||||
|
`Name:` + fmt.Sprintf("%v", this.Name) + `,`,
|
||||||
|
`}`,
|
||||||
|
}, "")
|
||||||
|
return s
|
||||||
|
}
|
||||||
func (this *AllowedFlexVolume) String() string {
|
func (this *AllowedFlexVolume) String() string {
|
||||||
if this == nil {
|
if this == nil {
|
||||||
return "nil"
|
return "nil"
|
||||||
|
@ -1495,6 +1561,7 @@ func (this *PodSecurityPolicySpec) String() string {
|
||||||
`ForbiddenSysctls:` + fmt.Sprintf("%v", this.ForbiddenSysctls) + `,`,
|
`ForbiddenSysctls:` + fmt.Sprintf("%v", this.ForbiddenSysctls) + `,`,
|
||||||
`AllowedProcMountTypes:` + fmt.Sprintf("%v", this.AllowedProcMountTypes) + `,`,
|
`AllowedProcMountTypes:` + fmt.Sprintf("%v", this.AllowedProcMountTypes) + `,`,
|
||||||
`RunAsGroup:` + strings.Replace(fmt.Sprintf("%v", this.RunAsGroup), "RunAsGroupStrategyOptions", "RunAsGroupStrategyOptions", 1) + `,`,
|
`RunAsGroup:` + strings.Replace(fmt.Sprintf("%v", this.RunAsGroup), "RunAsGroupStrategyOptions", "RunAsGroupStrategyOptions", 1) + `,`,
|
||||||
|
`AllowedCSIDrivers:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.AllowedCSIDrivers), "AllowedCSIDriver", "AllowedCSIDriver", 1), `&`, ``, 1) + `,`,
|
||||||
`}`,
|
`}`,
|
||||||
}, "")
|
}, "")
|
||||||
return s
|
return s
|
||||||
|
@ -1551,6 +1618,85 @@ func valueToStringGenerated(v interface{}) string {
|
||||||
pv := reflect.Indirect(rv).Interface()
|
pv := reflect.Indirect(rv).Interface()
|
||||||
return fmt.Sprintf("*%v", pv)
|
return fmt.Sprintf("*%v", pv)
|
||||||
}
|
}
|
||||||
|
func (m *AllowedCSIDriver) Unmarshal(dAtA []byte) error {
|
||||||
|
l := len(dAtA)
|
||||||
|
iNdEx := 0
|
||||||
|
for iNdEx < l {
|
||||||
|
preIndex := iNdEx
|
||||||
|
var wire uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
wire |= (uint64(b) & 0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fieldNum := int32(wire >> 3)
|
||||||
|
wireType := int(wire & 0x7)
|
||||||
|
if wireType == 4 {
|
||||||
|
return fmt.Errorf("proto: AllowedCSIDriver: wiretype end group for non-group")
|
||||||
|
}
|
||||||
|
if fieldNum <= 0 {
|
||||||
|
return fmt.Errorf("proto: AllowedCSIDriver: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||||
|
}
|
||||||
|
switch fieldNum {
|
||||||
|
case 1:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
|
||||||
|
}
|
||||||
|
var stringLen uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
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 ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + intStringLen
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
m.Name = string(dAtA[iNdEx:postIndex])
|
||||||
|
iNdEx = postIndex
|
||||||
|
default:
|
||||||
|
iNdEx = preIndex
|
||||||
|
skippy, err := skipGenerated(dAtA[iNdEx:])
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if skippy < 0 {
|
||||||
|
return ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
if (iNdEx + skippy) > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
iNdEx += skippy
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if iNdEx > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
func (m *AllowedFlexVolume) Unmarshal(dAtA []byte) error {
|
func (m *AllowedFlexVolume) Unmarshal(dAtA []byte) error {
|
||||||
l := len(dAtA)
|
l := len(dAtA)
|
||||||
iNdEx := 0
|
iNdEx := 0
|
||||||
|
@ -3637,6 +3783,37 @@ func (m *PodSecurityPolicySpec) Unmarshal(dAtA []byte) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
|
case 23:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field AllowedCSIDrivers", wireType)
|
||||||
|
}
|
||||||
|
var msglen int
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
msglen |= (int(b) & 0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if msglen < 0 {
|
||||||
|
return ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + msglen
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
m.AllowedCSIDrivers = append(m.AllowedCSIDrivers, AllowedCSIDriver{})
|
||||||
|
if err := m.AllowedCSIDrivers[len(m.AllowedCSIDrivers)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
iNdEx = postIndex
|
||||||
default:
|
default:
|
||||||
iNdEx = preIndex
|
iNdEx = preIndex
|
||||||
skippy, err := skipGenerated(dAtA[iNdEx:])
|
skippy, err := skipGenerated(dAtA[iNdEx:])
|
||||||
|
@ -4210,115 +4387,119 @@ func init() {
|
||||||
}
|
}
|
||||||
|
|
||||||
var fileDescriptorGenerated = []byte{
|
var fileDescriptorGenerated = []byte{
|
||||||
// 1756 bytes of a gzipped FileDescriptorProto
|
// 1809 bytes of a gzipped FileDescriptorProto
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0xdd, 0x8e, 0xdb, 0xc6,
|
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0xdd, 0x8e, 0xdb, 0xc6,
|
||||||
0x15, 0x5e, 0x5a, 0xfb, 0xa3, 0x9d, 0xfd, 0x9f, 0xfd, 0x29, 0xbd, 0xa8, 0x45, 0x47, 0x01, 0x0a,
|
0x15, 0x5e, 0x7a, 0xff, 0xb4, 0xb3, 0x3f, 0xd6, 0xce, 0xfe, 0x84, 0x5e, 0xd4, 0xa2, 0xc3, 0x00,
|
||||||
0x37, 0x48, 0xa8, 0x78, 0x9d, 0xa4, 0x46, 0xd3, 0x16, 0x59, 0x5a, 0xbb, 0xf6, 0x06, 0xde, 0xae,
|
0x85, 0x9b, 0x26, 0x54, 0xbc, 0x76, 0x52, 0xa3, 0x69, 0x8b, 0x2c, 0x57, 0xbb, 0xf6, 0x06, 0xde,
|
||||||
0x3a, 0xb2, 0x83, 0xb6, 0x70, 0x8b, 0x8e, 0xc4, 0x59, 0xed, 0x64, 0x29, 0x92, 0x9d, 0x19, 0x2a,
|
0xac, 0x3a, 0xb2, 0x83, 0xb6, 0x70, 0x8b, 0x8e, 0xc4, 0x59, 0xed, 0x64, 0x29, 0x92, 0x9d, 0x19,
|
||||||
0xab, 0xbb, 0x5e, 0xf4, 0xa2, 0x97, 0x7d, 0x81, 0xa0, 0x0f, 0x50, 0xf4, 0xaa, 0x2f, 0xe1, 0x02,
|
0x2a, 0xab, 0xbb, 0x5e, 0xf4, 0xa2, 0x97, 0x7d, 0x81, 0xa0, 0x0f, 0x50, 0xf4, 0xaa, 0x2f, 0xe1,
|
||||||
0x45, 0x91, 0xcb, 0xa0, 0x17, 0x42, 0xad, 0x22, 0x2f, 0xe1, 0xab, 0x80, 0xa3, 0x21, 0x25, 0xfe,
|
0x02, 0x45, 0x91, 0xcb, 0xa0, 0x05, 0x84, 0x5a, 0x45, 0x5f, 0xc2, 0x57, 0x05, 0x47, 0x43, 0x4a,
|
||||||
0x49, 0x5e, 0x03, 0xf6, 0x1d, 0x39, 0xe7, 0xfb, 0xbe, 0x73, 0xe6, 0xcc, 0x99, 0x33, 0x43, 0x02,
|
0xfc, 0x91, 0x64, 0x1b, 0xb0, 0xef, 0xc8, 0x39, 0xdf, 0xf7, 0x9d, 0xc3, 0x33, 0x67, 0xce, 0x0c,
|
||||||
0xeb, 0xf2, 0x3e, 0x37, 0xa9, 0x57, 0xbb, 0x0c, 0x5a, 0x84, 0xb9, 0x44, 0x10, 0x5e, 0xeb, 0x11,
|
0x07, 0xd8, 0x97, 0xf7, 0xb9, 0x45, 0xfd, 0xea, 0x65, 0xd8, 0x24, 0xcc, 0x23, 0x82, 0xf0, 0x6a,
|
||||||
0xd7, 0xf6, 0x58, 0x4d, 0x19, 0xb0, 0x4f, 0x6b, 0xbe, 0xe7, 0xd0, 0x76, 0xbf, 0xd6, 0xbb, 0xdb,
|
0x97, 0x78, 0x8e, 0xcf, 0xaa, 0xca, 0x80, 0x03, 0x5a, 0x0d, 0x7c, 0x97, 0xb6, 0x7a, 0xd5, 0xee,
|
||||||
0x22, 0x02, 0xdf, 0xad, 0x75, 0x88, 0x4b, 0x18, 0x16, 0xc4, 0x36, 0x7d, 0xe6, 0x09, 0x0f, 0xde,
|
0x9d, 0x26, 0x11, 0xf8, 0x4e, 0xb5, 0x4d, 0x3c, 0xc2, 0xb0, 0x20, 0x8e, 0x15, 0x30, 0x5f, 0xf8,
|
||||||
0x1c, 0x41, 0x4d, 0xec, 0x53, 0x73, 0x04, 0x35, 0x15, 0x74, 0xff, 0x83, 0x0e, 0x15, 0x17, 0x41,
|
0xf0, 0xc6, 0x10, 0x6a, 0xe1, 0x80, 0x5a, 0x43, 0xa8, 0xa5, 0xa0, 0x7b, 0x1f, 0xb6, 0xa9, 0xb8,
|
||||||
0xcb, 0x6c, 0x7b, 0xdd, 0x5a, 0xc7, 0xeb, 0x78, 0x35, 0xc9, 0x68, 0x05, 0xe7, 0xf2, 0x4d, 0xbe,
|
0x08, 0x9b, 0x56, 0xcb, 0xef, 0x54, 0xdb, 0x7e, 0xdb, 0xaf, 0x4a, 0x46, 0x33, 0x3c, 0x97, 0x6f,
|
||||||
0xc8, 0xa7, 0x91, 0xd2, 0x7e, 0x75, 0xc2, 0x69, 0xdb, 0x63, 0xa4, 0xd6, 0xcb, 0x78, 0xdb, 0xff,
|
0xf2, 0x45, 0x3e, 0x0d, 0x95, 0xf6, 0xcc, 0x31, 0xa7, 0x2d, 0x9f, 0x91, 0x6a, 0x37, 0xe7, 0x6d,
|
||||||
0x68, 0x8c, 0xe9, 0xe2, 0xf6, 0x05, 0x75, 0x09, 0xeb, 0xd7, 0xfc, 0xcb, 0x4e, 0x38, 0xc0, 0x6b,
|
0xef, 0xde, 0x08, 0xd3, 0xc1, 0xad, 0x0b, 0xea, 0x11, 0xd6, 0xab, 0x06, 0x97, 0xed, 0x68, 0x80,
|
||||||
0x5d, 0x22, 0x70, 0x1e, 0xab, 0x56, 0xc4, 0x62, 0x81, 0x2b, 0x68, 0x97, 0x64, 0x08, 0x9f, 0xcc,
|
0x57, 0x3b, 0x44, 0xe0, 0x22, 0x56, 0x75, 0x12, 0x8b, 0x85, 0x9e, 0xa0, 0x1d, 0x92, 0x23, 0x7c,
|
||||||
0x22, 0xf0, 0xf6, 0x05, 0xe9, 0xe2, 0x0c, 0xef, 0x5e, 0x11, 0x2f, 0x10, 0xd4, 0xa9, 0x51, 0x57,
|
0x32, 0x8b, 0xc0, 0x5b, 0x17, 0xa4, 0x83, 0x73, 0xbc, 0xbb, 0x93, 0x78, 0xa1, 0xa0, 0x6e, 0x95,
|
||||||
0x70, 0xc1, 0xd2, 0xa4, 0xea, 0xa7, 0x60, 0xeb, 0xd0, 0x71, 0xbc, 0xaf, 0x88, 0x7d, 0xec, 0x90,
|
0x7a, 0x82, 0x0b, 0x96, 0x25, 0x99, 0xf7, 0x40, 0xf9, 0xc0, 0x75, 0xfd, 0xaf, 0x89, 0x73, 0xd8,
|
||||||
0xab, 0x2f, 0x3c, 0x27, 0xe8, 0x12, 0xf8, 0x23, 0xb0, 0x68, 0x33, 0xda, 0x23, 0x4c, 0xd7, 0x6e,
|
0x38, 0xa9, 0x31, 0xda, 0x25, 0x0c, 0xde, 0x02, 0x0b, 0x1e, 0xee, 0x10, 0x5d, 0xbb, 0xa5, 0xdd,
|
||||||
0x6b, 0x77, 0x96, 0xad, 0xf5, 0xe7, 0x03, 0x63, 0x6e, 0x38, 0x30, 0x16, 0xeb, 0x72, 0x14, 0x29,
|
0x5e, 0xb1, 0xd7, 0x9e, 0xf5, 0x8d, 0xb9, 0x41, 0xdf, 0x58, 0xf8, 0x02, 0x77, 0x08, 0x92, 0x16,
|
||||||
0x6b, 0x95, 0x83, 0x0d, 0x45, 0x7e, 0xe4, 0x71, 0xd1, 0xc0, 0xe2, 0x02, 0x1e, 0x00, 0xe0, 0x63,
|
0xf3, 0x53, 0xb0, 0xa9, 0x58, 0xc7, 0x2e, 0xb9, 0xfa, 0xd2, 0x77, 0xc3, 0x0e, 0x81, 0xdf, 0x07,
|
||||||
0x71, 0xd1, 0x60, 0xe4, 0x9c, 0x5e, 0x29, 0x3a, 0x54, 0x74, 0xd0, 0x88, 0x2d, 0x68, 0x02, 0x05,
|
0x4b, 0x8e, 0x14, 0x50, 0xc4, 0x0d, 0x45, 0x5c, 0x1a, 0xca, 0x22, 0x65, 0x35, 0x39, 0xb8, 0xae,
|
||||||
0xdf, 0x07, 0x65, 0x46, 0xb0, 0x7d, 0xe6, 0x3a, 0x7d, 0xfd, 0xc6, 0x6d, 0xed, 0x4e, 0xd9, 0xda,
|
0xc8, 0x0f, 0x7d, 0x2e, 0xea, 0x58, 0x5c, 0xc0, 0x7d, 0x00, 0x02, 0x2c, 0x2e, 0xea, 0x8c, 0x9c,
|
||||||
0x54, 0x8c, 0x32, 0x52, 0xe3, 0x28, 0x46, 0x54, 0xff, 0xab, 0x81, 0xf2, 0x51, 0x8f, 0xb6, 0x05,
|
0xd3, 0x2b, 0x45, 0x87, 0x8a, 0x0e, 0xea, 0x89, 0x05, 0x8d, 0xa1, 0xe0, 0x07, 0xa0, 0xc4, 0x08,
|
||||||
0xf5, 0x5c, 0xf8, 0x07, 0x50, 0x0e, 0xf3, 0x6e, 0x63, 0x81, 0xa5, 0xb3, 0x95, 0x83, 0x0f, 0xcd,
|
0x76, 0xce, 0x3c, 0xb7, 0xa7, 0x5f, 0xbb, 0xa5, 0xdd, 0x2e, 0xd9, 0x65, 0xc5, 0x28, 0x21, 0x35,
|
||||||
0x71, 0x4d, 0xc4, 0x69, 0x30, 0xfd, 0xcb, 0x4e, 0x38, 0xc0, 0xcd, 0x10, 0x6d, 0xf6, 0xee, 0x9a,
|
0x8e, 0x12, 0x84, 0xf9, 0x2f, 0x0d, 0x94, 0x8e, 0xba, 0xb4, 0x25, 0xa8, 0xef, 0xc1, 0xdf, 0x82,
|
||||||
0x67, 0xad, 0x2f, 0x49, 0x5b, 0x9c, 0x12, 0x81, 0xc7, 0xe1, 0x8d, 0xc7, 0x50, 0xac, 0x0a, 0x1d,
|
0x52, 0x34, 0x5b, 0x0e, 0x16, 0x58, 0x3a, 0x5b, 0xdd, 0xff, 0xc8, 0x1a, 0x55, 0x52, 0x92, 0x3c,
|
||||||
0xb0, 0x66, 0x13, 0x87, 0x08, 0x72, 0xe6, 0x87, 0x1e, 0xb9, 0x8c, 0x70, 0xe5, 0xe0, 0xde, 0xab,
|
0x2b, 0xb8, 0x6c, 0x47, 0x03, 0xdc, 0x8a, 0xd0, 0x56, 0xf7, 0x8e, 0x75, 0xd6, 0xfc, 0x8a, 0xb4,
|
||||||
0xb9, 0xa9, 0x4f, 0x52, 0xad, 0xad, 0xe1, 0xc0, 0x58, 0x4b, 0x0c, 0xa1, 0xa4, 0x78, 0xf5, 0x6b,
|
0xc4, 0x29, 0x11, 0x78, 0x14, 0xde, 0x68, 0x0c, 0x25, 0xaa, 0xd0, 0x05, 0xeb, 0x0e, 0x71, 0x89,
|
||||||
0x0d, 0xec, 0x1d, 0x37, 0x1f, 0x32, 0x2f, 0xf0, 0x9b, 0x22, 0x5c, 0xa7, 0x4e, 0x5f, 0x99, 0xe0,
|
0x20, 0x67, 0x41, 0xe4, 0x91, 0xcb, 0x08, 0x57, 0xf7, 0xef, 0xbe, 0x9c, 0x9b, 0xda, 0x38, 0xd5,
|
||||||
0x4f, 0xc0, 0x3c, 0x0b, 0x1c, 0xa2, 0x72, 0xfa, 0xae, 0x0a, 0x7a, 0x1e, 0x05, 0x0e, 0x79, 0x39,
|
0xde, 0x1c, 0xf4, 0x8d, 0xf5, 0xd4, 0x10, 0x4a, 0x8b, 0x9b, 0xdf, 0x68, 0x60, 0xf7, 0xb8, 0xf1,
|
||||||
0x30, 0xb6, 0x53, 0xac, 0x27, 0x7d, 0x9f, 0x20, 0x49, 0x80, 0x9f, 0x83, 0x45, 0x86, 0xdd, 0x0e,
|
0x80, 0xf9, 0x61, 0xd0, 0x10, 0xd1, 0xec, 0xb6, 0x7b, 0xca, 0x04, 0x7f, 0x04, 0x16, 0x58, 0xe8,
|
||||||
0x09, 0x43, 0x2f, 0xdd, 0x59, 0x39, 0xa8, 0x9a, 0x85, 0xbb, 0xc6, 0x3c, 0xa9, 0xa3, 0x10, 0x3a,
|
0xc6, 0x73, 0xf9, 0x5e, 0x3c, 0x97, 0x28, 0x74, 0xc9, 0x8b, 0xbe, 0xb1, 0x95, 0x61, 0x3d, 0xee,
|
||||||
0x5e, 0x71, 0xf9, 0xca, 0x91, 0x52, 0xa8, 0x9e, 0x82, 0x35, 0xb9, 0xd4, 0x1e, 0x13, 0xd2, 0x02,
|
0x05, 0x04, 0x49, 0x02, 0xfc, 0x1c, 0x2c, 0x31, 0xec, 0xb5, 0x49, 0x14, 0xfa, 0xfc, 0xed, 0xd5,
|
||||||
0x6f, 0x81, 0x52, 0x97, 0xba, 0x32, 0xa8, 0x05, 0x6b, 0x45, 0xb1, 0x4a, 0xa7, 0xd4, 0x45, 0xe1,
|
0x7d, 0xd3, 0x9a, 0xb8, 0xd6, 0xac, 0x93, 0x1a, 0x8a, 0xa0, 0xa3, 0x19, 0x97, 0xaf, 0x1c, 0x29,
|
||||||
0xb8, 0x34, 0xe3, 0x2b, 0x99, 0xb3, 0x49, 0x33, 0xbe, 0x42, 0xe1, 0x78, 0xf5, 0x21, 0x58, 0x52,
|
0x05, 0xf3, 0x14, 0xac, 0xcb, 0xa9, 0xf6, 0x99, 0x90, 0x16, 0x78, 0x13, 0xcc, 0x77, 0xa8, 0x27,
|
||||||
0x1e, 0x27, 0x85, 0x4a, 0xd3, 0x85, 0x4a, 0x39, 0x42, 0x7f, 0xbf, 0x01, 0xb6, 0x1b, 0x9e, 0x5d,
|
0x83, 0x5a, 0xb4, 0x57, 0x15, 0x6b, 0xfe, 0x94, 0x7a, 0x28, 0x1a, 0x97, 0x66, 0x7c, 0x25, 0x73,
|
||||||
0xa7, 0x9c, 0x05, 0x32, 0x5f, 0x56, 0x60, 0x77, 0x88, 0x78, 0x0b, 0xf5, 0xf1, 0x04, 0xcc, 0x73,
|
0x36, 0x6e, 0xc6, 0x57, 0x28, 0x1a, 0x37, 0x1f, 0x80, 0x65, 0xe5, 0x71, 0x5c, 0x68, 0x7e, 0xba,
|
||||||
0x9f, 0xb4, 0x55, 0x59, 0x1c, 0x4c, 0xc9, 0x6d, 0x4e, 0x7c, 0x4d, 0x9f, 0xb4, 0xad, 0xd5, 0x68,
|
0xd0, 0x7c, 0x81, 0xd0, 0x5f, 0xae, 0x81, 0xad, 0xba, 0xef, 0xd4, 0x28, 0x67, 0xa1, 0xcc, 0x97,
|
||||||
0x29, 0xc3, 0x37, 0x24, 0xd5, 0xe0, 0x33, 0xb0, 0xc8, 0x05, 0x16, 0x01, 0xd7, 0x4b, 0x52, 0xf7,
|
0x1d, 0x3a, 0x6d, 0x22, 0xde, 0x42, 0x7d, 0x3c, 0x06, 0x0b, 0x3c, 0x20, 0x2d, 0x55, 0x16, 0xfb,
|
||||||
0xa3, 0x6b, 0xea, 0x4a, 0xee, 0x78, 0x15, 0x47, 0xef, 0x48, 0x69, 0x56, 0xff, 0xad, 0x81, 0x1f,
|
0x53, 0x72, 0x5b, 0x10, 0x5f, 0x23, 0x20, 0xad, 0xd1, 0xb2, 0x8c, 0xde, 0x90, 0x54, 0x83, 0x4f,
|
||||||
0xe4, 0xb0, 0x1e, 0x53, 0x2e, 0xe0, 0xb3, 0x4c, 0xc6, 0xcc, 0x57, 0xcb, 0x58, 0xc8, 0x96, 0xf9,
|
0xc1, 0x12, 0x17, 0x58, 0x84, 0x5c, 0x9f, 0x97, 0xba, 0xf7, 0x5e, 0x51, 0x57, 0x72, 0x47, 0xb3,
|
||||||
0x8a, 0x37, 0x6f, 0x34, 0x32, 0x91, 0xad, 0x26, 0x58, 0xa0, 0x82, 0x74, 0xa3, 0x52, 0x34, 0xaf,
|
0x38, 0x7c, 0x47, 0x4a, 0xd3, 0xfc, 0x87, 0x06, 0xde, 0x29, 0x60, 0x3d, 0xa2, 0x5c, 0xc0, 0xa7,
|
||||||
0x37, 0x2d, 0x6b, 0x4d, 0x49, 0x2f, 0x9c, 0x84, 0x22, 0x68, 0xa4, 0x55, 0xfd, 0xcf, 0x8d, 0xdc,
|
0xb9, 0x8c, 0x59, 0x2f, 0x97, 0xb1, 0x88, 0x2d, 0xf3, 0x95, 0x2c, 0xde, 0x78, 0x64, 0x2c, 0x5b,
|
||||||
0xe9, 0x84, 0xe9, 0x84, 0xe7, 0x60, 0xb5, 0x4b, 0xdd, 0xc3, 0x1e, 0xa6, 0x0e, 0x6e, 0xa9, 0xdd,
|
0x0d, 0xb0, 0x48, 0x05, 0xe9, 0xc4, 0xa5, 0x68, 0xbd, 0xda, 0x67, 0xd9, 0xeb, 0x4a, 0x7a, 0xf1,
|
||||||
0x33, 0xad, 0x08, 0xc2, 0x5e, 0x69, 0x8e, 0x7a, 0xa5, 0x79, 0xe2, 0x8a, 0x33, 0xd6, 0x14, 0x8c,
|
0x24, 0x12, 0x41, 0x43, 0x2d, 0xf3, 0x9f, 0xd7, 0x0a, 0x3f, 0x27, 0x4a, 0x27, 0x3c, 0x07, 0x6b,
|
||||||
0xba, 0x1d, 0x6b, 0x73, 0x38, 0x30, 0x56, 0x4f, 0x27, 0x94, 0x50, 0x42, 0x17, 0xfe, 0x0e, 0x94,
|
0x1d, 0xea, 0x1d, 0x74, 0x31, 0x75, 0x71, 0x53, 0xad, 0x9e, 0x69, 0x45, 0x10, 0x75, 0x58, 0x6b,
|
||||||
0x39, 0x71, 0x48, 0x5b, 0x78, 0xec, 0x7a, 0x1d, 0xe2, 0x31, 0x6e, 0x11, 0xa7, 0xa9, 0xa8, 0xd6,
|
0xd8, 0x61, 0xad, 0x13, 0x4f, 0x9c, 0xb1, 0x86, 0x60, 0xd4, 0x6b, 0xdb, 0xe5, 0x41, 0xdf, 0x58,
|
||||||
0x6a, 0x98, 0xb7, 0xe8, 0x0d, 0xc5, 0x92, 0xd0, 0x01, 0xeb, 0x5d, 0x7c, 0xf5, 0xd4, 0xc5, 0xf1,
|
0x3b, 0x1d, 0x53, 0x42, 0x29, 0x5d, 0xf8, 0x6b, 0x50, 0xe2, 0xc4, 0x25, 0x2d, 0xe1, 0xb3, 0x57,
|
||||||
0x44, 0x4a, 0xaf, 0x39, 0x11, 0x38, 0x1c, 0x18, 0xeb, 0xa7, 0x09, 0x2d, 0x94, 0xd2, 0xae, 0x7e,
|
0xeb, 0x10, 0x8f, 0x70, 0x93, 0xb8, 0x0d, 0x45, 0xb5, 0xd7, 0xa2, 0xbc, 0xc5, 0x6f, 0x28, 0x91,
|
||||||
0x37, 0x0f, 0x6e, 0x16, 0x56, 0x15, 0xfc, 0x1c, 0x40, 0xaf, 0xc5, 0x09, 0xeb, 0x11, 0xfb, 0xe1,
|
0x84, 0x2e, 0xd8, 0xe8, 0xe0, 0xab, 0x27, 0x1e, 0x4e, 0x3e, 0x64, 0xfe, 0x35, 0x3f, 0x04, 0x0e,
|
||||||
0xe8, 0x34, 0xa1, 0x5e, 0xb4, 0x71, 0xf7, 0xd5, 0x02, 0xc1, 0xb3, 0x0c, 0x02, 0xe5, 0xb0, 0xe0,
|
0xfa, 0xc6, 0xc6, 0x69, 0x4a, 0x0b, 0x65, 0xb4, 0xcd, 0xff, 0x2d, 0x80, 0x1b, 0x13, 0xab, 0x0a,
|
||||||
0x9f, 0x35, 0xb0, 0x66, 0x8f, 0xdc, 0x10, 0xbb, 0xe1, 0xd9, 0x51, 0x61, 0x3c, 0x7c, 0x9d, 0x7a,
|
0x7e, 0x0e, 0xa0, 0xdf, 0xe4, 0x84, 0x75, 0x89, 0xf3, 0x60, 0xb8, 0x07, 0x51, 0x3f, 0x5e, 0xb8,
|
||||||
0x37, 0xeb, 0x93, 0x4a, 0x47, 0xae, 0x60, 0x7d, 0x6b, 0x57, 0x05, 0xb4, 0x96, 0xb0, 0xa1, 0xa4,
|
0x7b, 0x6a, 0x82, 0xe0, 0x59, 0x0e, 0x81, 0x0a, 0x58, 0xf0, 0x0f, 0x1a, 0x58, 0x77, 0x86, 0x6e,
|
||||||
0x53, 0x78, 0x0a, 0xa0, 0x1d, 0x4b, 0x72, 0x75, 0xa6, 0xc9, 0x14, 0x2f, 0x58, 0xb7, 0x94, 0xc2,
|
0x88, 0x53, 0xf7, 0x9d, 0xb8, 0x30, 0x1e, 0xbc, 0x4e, 0xbd, 0x5b, 0xb5, 0x71, 0xa5, 0x23, 0x4f,
|
||||||
0x6e, 0xc2, 0x6f, 0x04, 0x42, 0x39, 0x44, 0xf8, 0x0b, 0xb0, 0xde, 0x0e, 0x18, 0x23, 0xae, 0x78,
|
0xb0, 0x9e, 0xbd, 0xa3, 0x02, 0x5a, 0x4f, 0xd9, 0x50, 0xda, 0x29, 0x3c, 0x05, 0xd0, 0x49, 0x24,
|
||||||
0x44, 0xb0, 0x23, 0x2e, 0xfa, 0xfa, 0xbc, 0x94, 0xda, 0x53, 0x52, 0xeb, 0x0f, 0x12, 0x56, 0x94,
|
0xb9, 0xda, 0xd3, 0x64, 0x8a, 0x17, 0xed, 0x9b, 0x4a, 0x61, 0x27, 0xe5, 0x37, 0x06, 0xa1, 0x02,
|
||||||
0x42, 0x87, 0x7c, 0x9b, 0x70, 0xca, 0x88, 0x1d, 0xf1, 0x17, 0x92, 0xfc, 0x7a, 0xc2, 0x8a, 0x52,
|
0x22, 0xfc, 0x19, 0xd8, 0x68, 0x85, 0x8c, 0x11, 0x4f, 0x3c, 0x24, 0xd8, 0x15, 0x17, 0x3d, 0x7d,
|
||||||
0x68, 0x78, 0x1f, 0xac, 0x92, 0x2b, 0x9f, 0xb4, 0xa3, 0x9c, 0x2e, 0x4a, 0xf6, 0x8e, 0x62, 0xaf,
|
0x41, 0x4a, 0xed, 0x2a, 0xa9, 0x8d, 0xc3, 0x94, 0x15, 0x65, 0xd0, 0x11, 0xdf, 0x21, 0x9c, 0x32,
|
||||||
0x1e, 0x4d, 0xd8, 0x50, 0x02, 0xb9, 0xef, 0x00, 0x98, 0x4d, 0x22, 0xdc, 0x04, 0xa5, 0x4b, 0xd2,
|
0xe2, 0xc4, 0xfc, 0xc5, 0x34, 0xbf, 0x96, 0xb2, 0xa2, 0x0c, 0x1a, 0xde, 0x07, 0x6b, 0xe4, 0x2a,
|
||||||
0x1f, 0x9d, 0x3c, 0x28, 0x7c, 0x84, 0x9f, 0x81, 0x85, 0x1e, 0x76, 0x02, 0xa2, 0x6a, 0xfd, 0xbd,
|
0x20, 0xad, 0x38, 0xa7, 0x4b, 0x92, 0xbd, 0xad, 0xd8, 0x6b, 0x47, 0x63, 0x36, 0x94, 0x42, 0xee,
|
||||||
0x57, 0xab, 0xf5, 0x27, 0xb4, 0x4b, 0xd0, 0x88, 0xf8, 0xd3, 0x1b, 0xf7, 0xb5, 0xea, 0xbf, 0x34,
|
0xb9, 0x00, 0xe6, 0x93, 0x08, 0xcb, 0x60, 0xfe, 0x92, 0xf4, 0x86, 0x3b, 0x0f, 0x8a, 0x1e, 0xe1,
|
||||||
0xb0, 0xd5, 0xf0, 0xec, 0x26, 0x69, 0x07, 0x8c, 0x8a, 0x7e, 0x43, 0xae, 0xf3, 0x5b, 0xe8, 0xd9,
|
0x67, 0x60, 0xb1, 0x8b, 0xdd, 0x90, 0xa8, 0x5a, 0x7f, 0xff, 0xe5, 0x6a, 0xfd, 0x31, 0xed, 0x10,
|
||||||
0x28, 0xd1, 0xb3, 0x3f, 0x9c, 0x5e, 0x6b, 0xc9, 0xe8, 0x8a, 0x3a, 0x76, 0xf5, 0xb9, 0x06, 0x76,
|
0x34, 0x24, 0xfe, 0xf8, 0xda, 0x7d, 0xcd, 0xfc, 0xbb, 0x06, 0x36, 0xeb, 0xbe, 0xd3, 0x20, 0xad,
|
||||||
0x33, 0xe8, 0xb7, 0xd0, 0x51, 0x7f, 0x95, 0xec, 0xa8, 0xef, 0x5f, 0x67, 0x32, 0x05, 0xfd, 0xf4,
|
0x90, 0x51, 0xd1, 0xab, 0xcb, 0x79, 0x7e, 0x0b, 0x3d, 0x1b, 0xa5, 0x7a, 0xf6, 0x47, 0xd3, 0x6b,
|
||||||
0xbb, 0x8d, 0x9c, 0xa9, 0xc8, 0x6e, 0x1a, 0xde, 0xee, 0x18, 0xed, 0x51, 0x87, 0x74, 0x88, 0x2d,
|
0x2d, 0x1d, 0xdd, 0xa4, 0x8e, 0x6d, 0x3e, 0xd3, 0xc0, 0x4e, 0x0e, 0xfd, 0x16, 0x3a, 0xea, 0xcf,
|
||||||
0x27, 0x53, 0x9e, 0xb8, 0xdd, 0xc5, 0x16, 0x34, 0x81, 0x82, 0x1c, 0xec, 0xd9, 0xe4, 0x1c, 0x07,
|
0xd3, 0x1d, 0xf5, 0x83, 0x57, 0xf9, 0x98, 0x09, 0xfd, 0xf4, 0xdf, 0xe5, 0x82, 0x4f, 0x91, 0xdd,
|
||||||
0x8e, 0x38, 0xb4, 0xed, 0x07, 0xd8, 0xc7, 0x2d, 0xea, 0x50, 0x41, 0xd5, 0x75, 0x64, 0xd9, 0xfa,
|
0x34, 0x3a, 0xdd, 0x31, 0xda, 0xa5, 0x2e, 0x69, 0x13, 0x47, 0x7e, 0x4c, 0x69, 0xec, 0x74, 0x97,
|
||||||
0x74, 0x38, 0x30, 0xf6, 0xea, 0xb9, 0x88, 0x97, 0x03, 0xe3, 0x56, 0xf6, 0x5e, 0x6e, 0xc6, 0x90,
|
0x58, 0xd0, 0x18, 0x0a, 0x72, 0xb0, 0xeb, 0x90, 0x73, 0x1c, 0xba, 0xe2, 0xc0, 0x71, 0x0e, 0x71,
|
||||||
0x3e, 0x2a, 0x90, 0x86, 0x7d, 0xa0, 0x33, 0xf2, 0xc7, 0x20, 0xdc, 0x14, 0x75, 0xe6, 0xf9, 0x09,
|
0x80, 0x9b, 0xd4, 0xa5, 0x82, 0xaa, 0xe3, 0xc8, 0x8a, 0xfd, 0xe9, 0xa0, 0x6f, 0xec, 0xd6, 0x0a,
|
||||||
0xb7, 0x25, 0xe9, 0xf6, 0xe7, 0xc3, 0x81, 0xa1, 0xa3, 0x02, 0xcc, 0x6c, 0xc7, 0x85, 0xf2, 0xf0,
|
0x11, 0x2f, 0xfa, 0xc6, 0xcd, 0xfc, 0x69, 0xde, 0x4a, 0x20, 0x3d, 0x34, 0x41, 0x1a, 0xf6, 0x80,
|
||||||
0x4b, 0xb0, 0x8d, 0x47, 0x7d, 0x20, 0xe1, 0x75, 0x5e, 0x7a, 0xbd, 0x3f, 0x1c, 0x18, 0xdb, 0x87,
|
0xce, 0xc8, 0xef, 0xc2, 0x68, 0x51, 0xd4, 0x98, 0x1f, 0xa4, 0xdc, 0xce, 0x4b, 0xb7, 0x3f, 0x1d,
|
||||||
0x59, 0xf3, 0x6c, 0x87, 0x79, 0xa2, 0xb0, 0x06, 0x96, 0x7a, 0xf2, 0xca, 0xce, 0xf5, 0x05, 0xa9,
|
0xf4, 0x0d, 0x1d, 0x4d, 0xc0, 0xcc, 0x76, 0x3c, 0x51, 0x1e, 0x7e, 0x05, 0xb6, 0xb0, 0x3a, 0x87,
|
||||||
0xbf, 0x3b, 0x1c, 0x18, 0x4b, 0xa3, 0x5b, 0x7c, 0xa8, 0xb9, 0x78, 0xdc, 0x94, 0x17, 0xc1, 0x08,
|
0x8f, 0x7b, 0x5d, 0x90, 0x5e, 0xef, 0x0f, 0xfa, 0xc6, 0xd6, 0x41, 0xde, 0x3c, 0xdb, 0x61, 0x91,
|
||||||
0x05, 0x3f, 0x06, 0x2b, 0x17, 0x1e, 0x17, 0xbf, 0x24, 0xe2, 0x2b, 0x8f, 0x5d, 0xca, 0xc6, 0x50,
|
0x28, 0xac, 0x82, 0xe5, 0xae, 0x3c, 0xb2, 0x73, 0x7d, 0x51, 0xea, 0xef, 0x0c, 0xfa, 0xc6, 0xf2,
|
||||||
0xb6, 0xb6, 0xd5, 0x0a, 0xae, 0x3c, 0x1a, 0x9b, 0xd0, 0x24, 0x0e, 0xfe, 0x06, 0x2c, 0x5f, 0xa8,
|
0xf0, 0x14, 0x1f, 0x69, 0x2e, 0x1d, 0x37, 0xe4, 0x41, 0x30, 0x46, 0xc1, 0x8f, 0xc1, 0xea, 0x85,
|
||||||
0x6b, 0x1f, 0xd7, 0x97, 0x64, 0xa1, 0xdd, 0x99, 0x52, 0x68, 0x89, 0x2b, 0xa2, 0xb5, 0xa5, 0xe4,
|
0xcf, 0xc5, 0x17, 0x44, 0x7c, 0xed, 0xb3, 0x4b, 0xd9, 0x18, 0x4a, 0xf6, 0x96, 0x9a, 0xc1, 0xd5,
|
||||||
0x97, 0xa3, 0x61, 0x8e, 0xc6, 0x6a, 0xf0, 0xc7, 0x60, 0x49, 0xbe, 0x9c, 0xd4, 0xf5, 0xb2, 0x8c,
|
0x87, 0x23, 0x13, 0x1a, 0xc7, 0xc1, 0x5f, 0x82, 0x95, 0x0b, 0x75, 0xec, 0xe3, 0xfa, 0xb2, 0x2c,
|
||||||
0x66, 0x43, 0xc1, 0x97, 0x1e, 0x8d, 0x86, 0x51, 0x64, 0x8f, 0xa0, 0x27, 0x8d, 0x07, 0xfa, 0x72,
|
0xb4, 0xdb, 0x53, 0x0a, 0x2d, 0x75, 0x44, 0xb4, 0x37, 0x95, 0xfc, 0x4a, 0x3c, 0xcc, 0xd1, 0x48,
|
||||||
0x16, 0x7a, 0xd2, 0x78, 0x80, 0x22, 0x3b, 0x7c, 0x06, 0x96, 0x38, 0x79, 0x4c, 0xdd, 0xe0, 0x4a,
|
0x0d, 0xfe, 0x00, 0x2c, 0xcb, 0x97, 0x93, 0x9a, 0x5e, 0x92, 0xd1, 0x5c, 0x57, 0xf0, 0xe5, 0x87,
|
||||||
0x07, 0x72, 0xcb, 0xdd, 0x9d, 0x12, 0x6e, 0xf3, 0x48, 0x22, 0x53, 0x17, 0xee, 0xb1, 0xba, 0xb2,
|
0xc3, 0x61, 0x14, 0xdb, 0x63, 0xe8, 0x49, 0xfd, 0x50, 0x5f, 0xc9, 0x43, 0x4f, 0xea, 0x87, 0x28,
|
||||||
0xa3, 0x48, 0x12, 0xda, 0x60, 0x99, 0x05, 0xee, 0x21, 0x7f, 0xca, 0x09, 0xd3, 0x57, 0x32, 0xa7,
|
0xb6, 0xc3, 0xa7, 0x60, 0x99, 0x93, 0x47, 0xd4, 0x0b, 0xaf, 0x74, 0x20, 0x97, 0xdc, 0x9d, 0x29,
|
||||||
0x7d, 0x5a, 0x1f, 0x45, 0xd8, 0xb4, 0x87, 0x38, 0x33, 0x31, 0x02, 0x8d, 0x85, 0xe1, 0x5f, 0x34,
|
0xe1, 0x36, 0x8e, 0x24, 0x32, 0x73, 0xe0, 0x1e, 0xa9, 0x2b, 0x3b, 0x8a, 0x25, 0xa1, 0x03, 0x56,
|
||||||
0x00, 0x79, 0xe0, 0xfb, 0x0e, 0xe9, 0x12, 0x57, 0x60, 0x47, 0xde, 0xef, 0xb9, 0xbe, 0x2a, 0xfd,
|
0x58, 0xe8, 0x1d, 0xf0, 0x27, 0x9c, 0x30, 0x7d, 0x35, 0xb7, 0xdb, 0x67, 0xf5, 0x51, 0x8c, 0xcd,
|
||||||
0xfd, 0x6c, 0xda, 0x7c, 0x32, 0xa4, 0xb4, 0xe3, 0xf8, 0x98, 0xce, 0x42, 0x51, 0x8e, 0xcf, 0x30,
|
0x7a, 0x48, 0x32, 0x93, 0x20, 0xd0, 0x48, 0x18, 0xfe, 0x51, 0x03, 0x90, 0x87, 0x41, 0xe0, 0x92,
|
||||||
0x9d, 0xe7, 0x5c, 0x3e, 0xeb, 0x6b, 0x33, 0xd3, 0x99, 0xff, 0xfd, 0x32, 0x4e, 0xa7, 0xb2, 0xa3,
|
0x0e, 0xf1, 0x04, 0x76, 0xe5, 0xf9, 0x9e, 0xeb, 0x6b, 0xd2, 0xdf, 0x4f, 0xa6, 0x7d, 0x4f, 0x8e,
|
||||||
0x48, 0x12, 0x7e, 0x01, 0xf6, 0xa2, 0xaf, 0x3b, 0xe4, 0x79, 0xe2, 0x98, 0x3a, 0x84, 0xf7, 0xb9,
|
0x94, 0x75, 0x9c, 0x6c, 0xd3, 0x79, 0x28, 0x2a, 0xf0, 0x19, 0xa5, 0xf3, 0x9c, 0xcb, 0x67, 0x7d,
|
||||||
0x20, 0x5d, 0x7d, 0x5d, 0x2e, 0x73, 0x45, 0x31, 0xf7, 0x50, 0x2e, 0x0a, 0x15, 0xb0, 0x61, 0x17,
|
0x7d, 0x66, 0x3a, 0x8b, 0xff, 0x5f, 0x46, 0xe9, 0x54, 0x76, 0x14, 0x4b, 0xc2, 0x2f, 0xc1, 0x6e,
|
||||||
0x18, 0x51, 0x7b, 0x08, 0xf7, 0x4e, 0xdc, 0x9f, 0x8e, 0x78, 0x1b, 0x3b, 0xa3, 0x5b, 0xcb, 0x86,
|
0xfc, 0x77, 0x87, 0x7c, 0x5f, 0x1c, 0x53, 0x97, 0xf0, 0x1e, 0x17, 0xa4, 0xa3, 0x6f, 0xc8, 0x69,
|
||||||
0x74, 0xf0, 0xee, 0x70, 0x60, 0x18, 0xf5, 0xe9, 0x50, 0x34, 0x4b, 0x0b, 0xfe, 0x1a, 0xe8, 0xb8,
|
0xae, 0x28, 0xe6, 0x2e, 0x2a, 0x44, 0xa1, 0x09, 0x6c, 0xd8, 0x01, 0x46, 0xdc, 0x1e, 0xa2, 0xb5,
|
||||||
0xc8, 0xcf, 0xa6, 0xf4, 0xf3, 0xc3, 0xb0, 0xe7, 0x14, 0x3a, 0x28, 0x64, 0x43, 0x1f, 0x6c, 0xe2,
|
0x93, 0xf4, 0xa7, 0x23, 0xde, 0xc2, 0xee, 0xf0, 0xd4, 0x72, 0x5d, 0x3a, 0x78, 0x6f, 0xd0, 0x37,
|
||||||
0xe4, 0x77, 0x36, 0xd7, 0xb7, 0xe4, 0x2e, 0x7c, 0x6f, 0xca, 0x3a, 0xa4, 0x3e, 0xcd, 0x2d, 0x5d,
|
0x8c, 0xda, 0x74, 0x28, 0x9a, 0xa5, 0x05, 0x7f, 0x01, 0x74, 0x3c, 0xc9, 0x4f, 0x59, 0xfa, 0xf9,
|
||||||
0xa5, 0x71, 0x33, 0x65, 0xe0, 0x28, 0xa3, 0x0e, 0xaf, 0x00, 0xc4, 0xe9, 0xdf, 0x02, 0x5c, 0x87,
|
0x5e, 0xd4, 0x73, 0x26, 0x3a, 0x98, 0xc8, 0x86, 0x01, 0x28, 0xe3, 0xf4, 0x7f, 0x36, 0xd7, 0x37,
|
||||||
0x33, 0x8f, 0x98, 0xcc, 0xbf, 0x84, 0x71, 0xa9, 0x65, 0x4c, 0x1c, 0xe5, 0xf8, 0x80, 0x8f, 0xc1,
|
0xe5, 0x2a, 0x7c, 0x7f, 0xca, 0x3c, 0x64, 0x7e, 0xcd, 0x6d, 0x5d, 0xa5, 0xb1, 0x9c, 0x31, 0x70,
|
||||||
0x8e, 0x1a, 0x7d, 0xea, 0x72, 0x7c, 0x4e, 0x9a, 0x7d, 0xde, 0x16, 0x0e, 0xd7, 0xb7, 0x65, 0x7f,
|
0x94, 0x53, 0x87, 0x57, 0x00, 0xe2, 0xec, 0xb5, 0x00, 0xd7, 0xe1, 0xcc, 0x2d, 0x26, 0x77, 0x97,
|
||||||
0xd3, 0x87, 0x03, 0x63, 0xe7, 0x30, 0xc7, 0x8e, 0x72, 0x59, 0xf0, 0x33, 0xb0, 0x79, 0xee, 0xb1,
|
0x30, 0x2a, 0xb5, 0x9c, 0x89, 0xa3, 0x02, 0x1f, 0xf0, 0x11, 0xd8, 0x56, 0xa3, 0x4f, 0x3c, 0x8e,
|
||||||
0x16, 0xb5, 0x6d, 0xe2, 0x46, 0x4a, 0x3b, 0x52, 0x69, 0x27, 0xcc, 0xc4, 0x71, 0xca, 0x86, 0x32,
|
0xcf, 0x49, 0xa3, 0xc7, 0x5b, 0xc2, 0xe5, 0xfa, 0x96, 0xec, 0x6f, 0xfa, 0xa0, 0x6f, 0x6c, 0x1f,
|
||||||
0x68, 0xc8, 0xc1, 0xae, 0x52, 0x6e, 0x30, 0xaf, 0x7d, 0xea, 0x05, 0xae, 0x08, 0x5b, 0x2a, 0xd7,
|
0x14, 0xd8, 0x51, 0x21, 0x0b, 0x7e, 0x06, 0xca, 0xe7, 0x3e, 0x6b, 0x52, 0xc7, 0x21, 0x5e, 0xac,
|
||||||
0x77, 0xe3, 0x63, 0x64, 0xf7, 0x30, 0x0f, 0xf0, 0x72, 0x60, 0xdc, 0xce, 0x69, 0xe9, 0x09, 0x10,
|
0xb4, 0x2d, 0x95, 0xb6, 0xa3, 0x4c, 0x1c, 0x67, 0x6c, 0x28, 0x87, 0x86, 0x1c, 0xec, 0x28, 0xe5,
|
||||||
0xca, 0xd7, 0x86, 0x36, 0x00, 0xb2, 0x0f, 0x8c, 0xb6, 0xdc, 0xde, 0xcc, 0x4f, 0x40, 0x14, 0x83,
|
0x3a, 0xf3, 0x5b, 0xa7, 0x7e, 0xe8, 0x89, 0xa8, 0xa5, 0x72, 0x7d, 0x27, 0xd9, 0x46, 0x76, 0x0e,
|
||||||
0xd3, 0xbb, 0x6e, 0x3d, 0x3c, 0x99, 0xc7, 0x66, 0x34, 0xa1, 0x5b, 0xfd, 0x9b, 0x06, 0x6e, 0x16,
|
0x8a, 0x00, 0x2f, 0xfa, 0xc6, 0xad, 0x82, 0x96, 0x9e, 0x02, 0xa1, 0x62, 0x6d, 0xe8, 0x00, 0x20,
|
||||||
0x32, 0xe1, 0x27, 0x89, 0xff, 0x0d, 0xd5, 0xd4, 0xff, 0x06, 0x98, 0x25, 0xbe, 0x81, 0xdf, 0x0d,
|
0xfb, 0xc0, 0x70, 0xc9, 0xed, 0xce, 0xfc, 0x05, 0x44, 0x09, 0x38, 0xbb, 0xea, 0x36, 0xa2, 0x9d,
|
||||||
0x5f, 0x6b, 0x40, 0x2f, 0xea, 0x9e, 0xf0, 0xe3, 0x44, 0x80, 0xef, 0xa4, 0x02, 0xdc, 0xca, 0xf0,
|
0x79, 0x64, 0x46, 0x63, 0xba, 0x50, 0x80, 0x4d, 0x9c, 0xb9, 0x31, 0xe2, 0xfa, 0x3b, 0x72, 0x8e,
|
||||||
0xde, 0x40, 0x7c, 0xff, 0xd0, 0xc0, 0x5e, 0xfe, 0xe9, 0x01, 0xef, 0x25, 0xa2, 0x33, 0x52, 0xd1,
|
0x7f, 0x38, 0x7b, 0x8e, 0x13, 0x8e, 0x7d, 0x43, 0x4d, 0xf1, 0x66, 0xd6, 0xc2, 0x51, 0xde, 0x81,
|
||||||
0x6d, 0xa4, 0x58, 0x2a, 0xb6, 0xdf, 0x83, 0x75, 0x75, 0xc6, 0x24, 0xff, 0x36, 0x25, 0x62, 0x0c,
|
0xf9, 0x67, 0x0d, 0xdc, 0x98, 0x18, 0x2f, 0xfc, 0x24, 0x75, 0xcb, 0x61, 0x66, 0x6e, 0x39, 0x60,
|
||||||
0x2b, 0x29, 0xbc, 0x1e, 0x2a, 0x89, 0x68, 0xa5, 0xe5, 0x87, 0x5d, 0x72, 0x0c, 0xa5, 0xd4, 0xaa,
|
0x9e, 0xf8, 0x06, 0x2e, 0x39, 0xbe, 0xd1, 0x80, 0x3e, 0xa9, 0x67, 0xc3, 0x8f, 0x53, 0x01, 0xbe,
|
||||||
0xff, 0xd4, 0xc0, 0x3b, 0x33, 0x4f, 0x07, 0x68, 0x25, 0x42, 0x37, 0x53, 0xa1, 0x57, 0x8a, 0x05,
|
0x9b, 0x09, 0x70, 0x33, 0xc7, 0x7b, 0x03, 0xf1, 0xfd, 0x55, 0x03, 0xbb, 0xc5, 0x7b, 0x16, 0xbc,
|
||||||
0xde, 0xcc, 0x4f, 0x27, 0xeb, 0x83, 0xe7, 0x2f, 0x2a, 0x73, 0xdf, 0xbc, 0xa8, 0xcc, 0x7d, 0xfb,
|
0x9b, 0x8a, 0xce, 0xc8, 0x44, 0x77, 0x3d, 0xc3, 0x52, 0xb1, 0xfd, 0x06, 0x6c, 0xa8, 0x9d, 0x2d,
|
||||||
0xa2, 0x32, 0xf7, 0xa7, 0x61, 0x45, 0x7b, 0x3e, 0xac, 0x68, 0xdf, 0x0c, 0x2b, 0xda, 0xb7, 0xc3,
|
0x7d, 0xc7, 0x95, 0x8a, 0x31, 0xaa, 0xdf, 0xe8, 0x50, 0xaa, 0x24, 0xe2, 0xfa, 0x92, 0xbf, 0x93,
|
||||||
0x8a, 0xf6, 0xbf, 0x61, 0x45, 0xfb, 0xeb, 0xff, 0x2b, 0x73, 0xbf, 0x5d, 0x52, 0x72, 0xdf, 0x07,
|
0xe9, 0x31, 0x94, 0x51, 0x33, 0xff, 0xa6, 0x81, 0x77, 0x67, 0xee, 0x49, 0xd0, 0x4e, 0x85, 0x6e,
|
||||||
0x00, 0x00, 0xff, 0xff, 0x15, 0x2e, 0xf4, 0x72, 0x59, 0x16, 0x00, 0x00,
|
0x65, 0x42, 0xaf, 0x4c, 0x16, 0x78, 0x33, 0x57, 0x5d, 0xf6, 0x87, 0xcf, 0x9e, 0x57, 0xe6, 0xbe,
|
||||||
|
0x7d, 0x5e, 0x99, 0xfb, 0xee, 0x79, 0x65, 0xee, 0xf7, 0x83, 0x8a, 0xf6, 0x6c, 0x50, 0xd1, 0xbe,
|
||||||
|
0x1d, 0x54, 0xb4, 0xef, 0x06, 0x15, 0xed, 0x3f, 0x83, 0x8a, 0xf6, 0xa7, 0xff, 0x56, 0xe6, 0x7e,
|
||||||
|
0xb5, 0xac, 0xe4, 0xfe, 0x1f, 0x00, 0x00, 0xff, 0xff, 0x6f, 0xf9, 0x85, 0x0c, 0x05, 0x17, 0x00,
|
||||||
|
0x00,
|
||||||
}
|
}
|
||||||
|
|
11
vendor/k8s.io/api/policy/v1beta1/generated.proto
generated
vendored
11
vendor/k8s.io/api/policy/v1beta1/generated.proto
generated
vendored
|
@ -30,6 +30,12 @@ import "k8s.io/apimachinery/pkg/util/intstr/generated.proto";
|
||||||
// Package-wide variables from generator "generated".
|
// Package-wide variables from generator "generated".
|
||||||
option go_package = "v1beta1";
|
option go_package = "v1beta1";
|
||||||
|
|
||||||
|
// AllowedCSIDriver represents a single inline CSI Driver that is allowed to be used.
|
||||||
|
message AllowedCSIDriver {
|
||||||
|
// Name is the registered name of the CSI driver
|
||||||
|
optional string name = 1;
|
||||||
|
}
|
||||||
|
|
||||||
// AllowedFlexVolume represents a single Flexvolume that is allowed to be used.
|
// AllowedFlexVolume represents a single Flexvolume that is allowed to be used.
|
||||||
message AllowedFlexVolume {
|
message AllowedFlexVolume {
|
||||||
// driver is the name of the Flexvolume driver.
|
// driver is the name of the Flexvolume driver.
|
||||||
|
@ -292,6 +298,11 @@ message PodSecurityPolicySpec {
|
||||||
// +optional
|
// +optional
|
||||||
repeated AllowedFlexVolume allowedFlexVolumes = 18;
|
repeated AllowedFlexVolume allowedFlexVolumes = 18;
|
||||||
|
|
||||||
|
// AllowedCSIDrivers is a whitelist of inline CSI drivers that must be explicitly set to be embedded within a pod spec.
|
||||||
|
// An empty value means no CSI drivers can run inline within a pod spec.
|
||||||
|
// +optional
|
||||||
|
repeated AllowedCSIDriver allowedCSIDrivers = 23;
|
||||||
|
|
||||||
// allowedUnsafeSysctls is a list of explicitly allowed unsafe sysctls, defaults to none.
|
// allowedUnsafeSysctls is a list of explicitly allowed unsafe sysctls, defaults to none.
|
||||||
// Each entry is either a plain sysctl name or ends in "*" in which case it is considered
|
// Each entry is either a plain sysctl name or ends in "*" in which case it is considered
|
||||||
// as a prefix of allowed sysctls. Single * means all unsafe sysctls are allowed.
|
// as a prefix of allowed sysctls. Single * means all unsafe sysctls are allowed.
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue