diff --git a/example/20-crd-resources.gardener.cloud_managedresources.yaml b/example/20-crd-resources.gardener.cloud_managedresources.yaml
index 14aa7da27..c389385de 100644
--- a/example/20-crd-resources.gardener.cloud_managedresources.yaml
+++ b/example/20-crd-resources.gardener.cloud_managedresources.yaml
@@ -225,6 +225,10 @@ spec:
type: string
type: object
type: array
+ secretsDataChecksum:
+ description: SecretsDataChecksum is the checksum of referenced secrets
+ data.
+ type: string
type: object
type: object
served: true
diff --git a/go.mod b/go.mod
index 1234e86a7..6fa2bd19a 100644
--- a/go.mod
+++ b/go.mod
@@ -9,25 +9,24 @@ require (
github.com/aliyun/aliyun-oss-go-sdk v2.0.1+incompatible
github.com/coreos/go-systemd/v22 v22.3.2
github.com/gardener/etcd-druid v0.9.0
- github.com/gardener/gardener v1.50.1
+ github.com/gardener/gardener v1.53.0
github.com/gardener/machine-controller-manager v0.46.0
github.com/go-logr/logr v1.2.3
github.com/golang/mock v1.6.0
github.com/onsi/ginkgo/v2 v2.1.4
github.com/onsi/gomega v1.19.0
- github.com/sirupsen/logrus v1.8.1
github.com/spf13/cobra v1.4.0
github.com/spf13/pflag v1.0.5
golang.org/x/time v0.0.0-20220210224613-90d013bbcef8
golang.org/x/tools v0.1.10
- k8s.io/api v0.24.2
- k8s.io/apiextensions-apiserver v0.24.2
- k8s.io/apimachinery v0.24.2
+ k8s.io/api v0.24.3
+ k8s.io/apiextensions-apiserver v0.24.3
+ k8s.io/apimachinery v0.24.3
k8s.io/autoscaler/vertical-pod-autoscaler v0.11.0
k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible
- k8s.io/code-generator v0.24.2
- k8s.io/component-base v0.24.2
- k8s.io/kubelet v0.24.2
+ k8s.io/code-generator v0.24.3
+ k8s.io/component-base v0.24.3
+ k8s.io/kubelet v0.24.3
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9
sigs.k8s.io/controller-runtime v0.12.1
sigs.k8s.io/controller-tools v0.9.0
@@ -124,23 +123,23 @@ require (
golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f // indirect
gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect
google.golang.org/appengine v1.6.7 // indirect
+ google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac // indirect
google.golang.org/protobuf v1.28.0 // indirect
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/ini.v1 v1.66.4 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect
- istio.io/api v0.0.0-20220304035241-8c47cbbea144 // indirect
- istio.io/client-go v1.12.5 // indirect
- istio.io/gogo-genproto v0.0.0-20210113155706-4daf5697332f // indirect
- k8s.io/apiserver v0.24.2 // indirect
+ istio.io/api v0.0.0-20220512181135-e8ec1e1d89de // indirect
+ istio.io/client-go v1.14.0 // indirect
+ k8s.io/apiserver v0.24.3 // indirect
k8s.io/gengo v0.0.0-20211129171323-c02415ce4185 // indirect
k8s.io/helm v2.16.1+incompatible // indirect
k8s.io/klog v1.0.0 // indirect
k8s.io/klog/v2 v2.60.1 // indirect
- k8s.io/kube-aggregator v0.24.2 // indirect
+ k8s.io/kube-aggregator v0.24.3 // indirect
k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 // indirect
- k8s.io/metrics v0.24.2 // indirect
+ k8s.io/metrics v0.24.3 // indirect
sigs.k8s.io/controller-runtime/tools/setup-envtest v0.0.0-20220613074012-11e533d55213 // indirect
sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2 // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.2.1 // indirect
@@ -149,16 +148,16 @@ require (
replace (
github.com/prometheus/client_golang => github.com/prometheus/client_golang v1.12.1 // keep this value in sync with sigs.k8s.io/controller-runtime
- k8s.io/api => k8s.io/api v0.24.2
- k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.24.2
- k8s.io/apimachinery => k8s.io/apimachinery v0.24.2
- k8s.io/apiserver => k8s.io/apiserver v0.24.2
+ k8s.io/api => k8s.io/api v0.24.3
+ k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.24.3
+ k8s.io/apimachinery => k8s.io/apimachinery v0.24.3
+ k8s.io/apiserver => k8s.io/apiserver v0.24.3
k8s.io/autoscaler => k8s.io/autoscaler v0.0.0-20220531185024-cc90d57b7fe1 // translates to k8s.io/autoscaler/vertical-pod-autoscaler@v0.11.0
k8s.io/autoscaler/vertical-pod-autoscaler => k8s.io/autoscaler/vertical-pod-autoscaler v0.11.0
- k8s.io/client-go => k8s.io/client-go v0.24.2
- k8s.io/code-generator => k8s.io/code-generator v0.24.2
- k8s.io/component-base => k8s.io/component-base v0.24.2
- k8s.io/helm => k8s.io/helm v2.13.1+incompatible
+ k8s.io/client-go => k8s.io/client-go v0.24.3
+ k8s.io/code-generator => k8s.io/code-generator v0.24.3
+ k8s.io/component-base => k8s.io/component-base v0.24.3
+ k8s.io/helm => k8s.io/helm v2.16.1+incompatible
sigs.k8s.io/controller-runtime => sigs.k8s.io/controller-runtime v0.12.1
)
diff --git a/go.sum b/go.sum
index 012b9f287..10e946954 100644
--- a/go.sum
+++ b/go.sum
@@ -299,8 +299,8 @@ github.com/gardener/gardener v1.11.3/go.mod h1:5DzqfOm+G8UftKu5zUbYJ+9Cnfd4XrvRN
github.com/gardener/gardener v1.17.1/go.mod h1:uucRHq0xV46xd9MpJJjRswx/Slq3+ipbbJg09FVUtvM=
github.com/gardener/gardener v1.23.0/go.mod h1:xS/sYyzYsq2W0C79mT98G/qoOTvy/hHTfApHIVF3v2o=
github.com/gardener/gardener v1.36.0/go.mod h1:aVEbZy2WybsuwfXfUFNfOYz1JOmMjEOeYbv+sN9PzE0=
-github.com/gardener/gardener v1.50.1 h1:crSoXqFsquARZnm2NeCt8vT8L2tDMfcmfw7N5AuD92c=
-github.com/gardener/gardener v1.50.1/go.mod h1:Rc2JNnGPMEH+0Wm04EOVLmu9VonyU4JCk1VjOjHUGx8=
+github.com/gardener/gardener v1.53.0 h1:SffBCuyxcPlveZkxFuek+sVwMeF2F5wEjD8F6+EiNvE=
+github.com/gardener/gardener v1.53.0/go.mod h1:O+59kTQavqxX5nr5jyHqD6o4JxIukHMaW2t5BLiXqmc=
github.com/gardener/gardener-resource-manager v0.10.0/go.mod h1:0pKTHOhvU91eQB0EYr/6Ymd7lXc/5Hi8P8tF/gpV0VQ=
github.com/gardener/gardener-resource-manager v0.13.1/go.mod h1:0No/XttYRUwDn5lSppq9EqlKdo/XJQ44aCZz5BVu3Vw=
github.com/gardener/gardener-resource-manager v0.18.0/go.mod h1:k53Yw2iDAIpTxnChQY9qFHrRtuPQWJDNnCP9eE6TnWQ=
@@ -840,7 +840,6 @@ github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMB
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
-github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE=
github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
@@ -1271,6 +1270,7 @@ golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
+golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -1518,6 +1518,7 @@ google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2
google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E=
+google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac h1:qSNTkEN+L2mvWcLgJOR+8bdHX9rN/IdU3A1Ghpfb1Rg=
google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
@@ -1548,6 +1549,7 @@ google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnD
google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE=
google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
+google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU=
google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU=
google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ=
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
@@ -1618,29 +1620,28 @@ honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9
honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las=
istio.io/api v0.0.0-20201123152548-197f11e4ea09/go.mod h1:88HN3o1fSD1jo+Z1WTLlJfMm9biopur6Ct9BFKjiB64=
istio.io/api v0.0.0-20210520012029-891c0c12abfd/go.mod h1:nsSFw1LIMmGL7r/+6fJI6FxeG/UGlLxRK8bkojIvBVs=
-istio.io/api v0.0.0-20220304035241-8c47cbbea144 h1:JIRhhxQ3LZKOmx2PXHO9xfcnT3mlHLmcewZtpTaAtoo=
-istio.io/api v0.0.0-20220304035241-8c47cbbea144/go.mod h1:lavaUNsnT7RGyMFNOGgV5XvOgP3fkTSZkxP/0H/ISt4=
+istio.io/api v0.0.0-20220512181135-e8ec1e1d89de h1:xYxUL/LyuJ5yb0o/d2GXseYjx9HIBpLHLArp2Zd8d+M=
+istio.io/api v0.0.0-20220512181135-e8ec1e1d89de/go.mod h1:00myJeQGWma4Y5pboJ+MM4P2uqEWulKA1duC8kYN5Wo=
istio.io/client-go v1.8.1/go.mod h1:Qymv71lwIqjDTkaE2NqBYLL+Bl5KsCfzEDhntXypHYY=
istio.io/client-go v1.10.1/go.mod h1:xiCalTDM2HqP1KGxMOt+OOkqCLOI6QrwQMb95cSWw9U=
-istio.io/client-go v1.12.5 h1:jRRXcL8kX1ph4BVU/yuRhO4JYX/av5KPimj+7uHqyfQ=
-istio.io/client-go v1.12.5/go.mod h1:rKTRGbzRHY/lb3VCCIF4wwTwvkW000acWEcseSy3V9M=
+istio.io/client-go v1.14.0 h1:KKXMnxXx3U2866OP8FBYlJhjKdI3yIUQnt8L6hSzDHE=
+istio.io/client-go v1.14.0/go.mod h1:C7K0CKQlvY84yQKkZhxQbD1riqvnsgXJm3jF5GOmzNg=
istio.io/gogo-genproto v0.0.0-20190930162913-45029607206a/go.mod h1:OzpAts7jljZceG4Vqi5/zXy/pOg1b209T3jb7Nv5wIs=
-istio.io/gogo-genproto v0.0.0-20210113155706-4daf5697332f h1:9710FpGLvIJ1GGEbpuTh1smVBv+r8cJfR3G82ouSxIQ=
istio.io/gogo-genproto v0.0.0-20210113155706-4daf5697332f/go.mod h1:6BwTZRNbWS570wHX/uR1Wqk5e0157TofTAUMzT7N4+s=
-k8s.io/api v0.24.2 h1:g518dPU/L7VRLxWfcadQn2OnsiGWVOadTLpdnqgY2OI=
-k8s.io/api v0.24.2/go.mod h1:AHqbSkTm6YrQ0ObxjO3Pmp/ubFF/KuM7jU+3khoBsOg=
-k8s.io/apiextensions-apiserver v0.24.2 h1:/4NEQHKlEz1MlaK/wHT5KMKC9UKYz6NZz6JE6ov4G6k=
-k8s.io/apiextensions-apiserver v0.24.2/go.mod h1:e5t2GMFVngUEHUd0wuCJzw8YDwZoqZfJiGOW6mm2hLQ=
-k8s.io/apimachinery v0.24.2 h1:5QlH9SL2C8KMcrNJPor+LbXVTaZRReml7svPEh4OKDM=
-k8s.io/apimachinery v0.24.2/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM=
-k8s.io/apiserver v0.24.2 h1:orxipm5elPJSkkFNlwH9ClqaKEDJJA3yR2cAAlCnyj4=
-k8s.io/apiserver v0.24.2/go.mod h1:pSuKzr3zV+L+MWqsEo0kHHYwCo77AT5qXbFXP2jbvFI=
+k8s.io/api v0.24.3 h1:tt55QEmKd6L2k5DP6G/ZzdMQKvG5ro4H4teClqm0sTY=
+k8s.io/api v0.24.3/go.mod h1:elGR/XSZrS7z7cSZPzVWaycpJuGIw57j9b95/1PdJNI=
+k8s.io/apiextensions-apiserver v0.24.3 h1:kyx+Tmro1qEsTUr07ZGQOfvTsF61yn+AxnxytBWq8As=
+k8s.io/apiextensions-apiserver v0.24.3/go.mod h1:cL0xkmUefpYM4f6IuOau+6NMFEIh6/7wXe/O4vPVJ8A=
+k8s.io/apimachinery v0.24.3 h1:hrFiNSA2cBZqllakVYyH/VyEh4B581bQRmqATJSeQTg=
+k8s.io/apimachinery v0.24.3/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM=
+k8s.io/apiserver v0.24.3 h1:J8CKjUaZopT0hSgxjzUyp3T1GK78iixxOuFpEC0MI3k=
+k8s.io/apiserver v0.24.3/go.mod h1:aXfwtIn4U27B7lYs5f2BKgz6DRbgWy+HJeYReN1jLJ8=
k8s.io/autoscaler v0.0.0-20220531185024-cc90d57b7fe1 h1:bb5M2BrlOa5lYbnfimnkCYWUe2xHaksKX6WcnmCMBl0=
k8s.io/autoscaler v0.0.0-20220531185024-cc90d57b7fe1/go.mod h1:QEXezc9uKPT91dwqhSJq3GNI3B1HxFRQHiku9kmrsSA=
k8s.io/autoscaler/vertical-pod-autoscaler v0.11.0 h1:vh6cHU/sZBjdfYlKZOhXkMI5CTCgK12TauHGoQOue+4=
k8s.io/autoscaler/vertical-pod-autoscaler v0.11.0/go.mod h1:CviXA+byKc3EV10oxt8S+YYVipks1+onIqLGNPV52xM=
-k8s.io/client-go v0.24.2 h1:CoXFSf8if+bLEbinDqN9ePIDGzcLtqhfd6jpfnwGOFA=
-k8s.io/client-go v0.24.2/go.mod h1:zg4Xaoo+umDsfCWr4fCnmLEtQXyCNXCvJuSsglNcV30=
+k8s.io/client-go v0.24.3 h1:Nl1840+6p4JqkFWEW2LnMKU667BUxw03REfLAVhuKQY=
+k8s.io/client-go v0.24.3/go.mod h1:AAovolf5Z9bY1wIg2FZ8LPQlEdKHjLI7ZD4rw920BJw=
k8s.io/cluster-bootstrap v0.0.0-20190918163108-da9fdfce26bb/go.mod h1:mQVbtFRxlw/BzBqBaQwIMzjDTST1KrGtzWaR4CGlsTU=
k8s.io/cluster-bootstrap v0.16.8/go.mod h1:fT1U/qWmXNmIColCsCBg4G881nWFaEqONL0xmP48rkI=
k8s.io/cluster-bootstrap v0.17.6/go.mod h1:4UjXhBYavwb5x+XcpbhXvSAbrkVTqTJgbNI0wR4/NdY=
@@ -1649,11 +1650,11 @@ k8s.io/cluster-bootstrap v0.19.6/go.mod h1:9Ft1ED2O3k+4+gtkkth/Y0qHCdi9y+IMI8wh4
k8s.io/cluster-bootstrap v0.20.6/go.mod h1:kSVTdUK8hR8oGkc2nONa/MV35QHiL+1rrbaqfjvRnB0=
k8s.io/cluster-bootstrap v0.22.2/go.mod h1:ZkmQKprEqvrUccMnbRHISsMscA1dsQ8SffM9nHq6CgE=
k8s.io/cluster-bootstrap v0.22.9/go.mod h1:OBxo9wtooiCYjWHssmUgXUAv5X3zoa8mtok8HcwTWQU=
-k8s.io/cluster-bootstrap v0.24.2/go.mod h1:eIHV338K03vBm3u/ROZiNXxWJ4AJRoTR9PEUhcTvYkg=
-k8s.io/code-generator v0.24.2 h1:EGeRWzJrpwi6T6CvoNl0spM6fnAnOdCr0rz7H4NU1rk=
-k8s.io/code-generator v0.24.2/go.mod h1:dpVhs00hTuTdTY6jvVxvTFCk6gSMrtfRydbhZwHI15w=
-k8s.io/component-base v0.24.2 h1:kwpQdoSfbcH+8MPN4tALtajLDfSfYxBDYlXobNWI6OU=
-k8s.io/component-base v0.24.2/go.mod h1:ucHwW76dajvQ9B7+zecZAP3BVqvrHoOxm8olHEg0nmM=
+k8s.io/cluster-bootstrap v0.24.3/go.mod h1:plud10KCFfNjsf2FNalENFGvJWVtcKa0KbKie5wQAvA=
+k8s.io/code-generator v0.24.3 h1:itd1V1ZAYKM+WT+qQDlFKhU1D/Ff5HcEFL/icfClnZA=
+k8s.io/code-generator v0.24.3/go.mod h1:dpVhs00hTuTdTY6jvVxvTFCk6gSMrtfRydbhZwHI15w=
+k8s.io/component-base v0.24.3 h1:u99WjuHYCRJjS1xeLOx72DdRaghuDnuMgueiGMFy1ec=
+k8s.io/component-base v0.24.3/go.mod h1:bqom2IWN9Lj+vwAkPNOv2TflsP1PeVDIwIN0lRthxYY=
k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
k8s.io/gengo v0.0.0-20190826232639-a874a240740c/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
@@ -1663,8 +1664,8 @@ k8s.io/gengo v0.0.0-20201214224949-b6c5ce23f027/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAE
k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E=
k8s.io/gengo v0.0.0-20211129171323-c02415ce4185 h1:TT1WdmqqXareKxZ/oNXEUSwKlLiHzPMyB0t8BaFeBYI=
k8s.io/gengo v0.0.0-20211129171323-c02415ce4185/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E=
-k8s.io/helm v2.13.1+incompatible h1:qt0LBsHQ7uxCtS3F2r3XI0DNm8ml0xQeSJixUorDyn0=
-k8s.io/helm v2.13.1+incompatible/go.mod h1:LZzlS4LQBHfciFOurYBFkCMTaZ0D1l+p0teMg7TSULI=
+k8s.io/helm v2.16.1+incompatible h1:L+k810plJlaGWEw1EszeT4deK8XVaKxac1oGcuB+WDc=
+k8s.io/helm v2.16.1+incompatible/go.mod h1:LZzlS4LQBHfciFOurYBFkCMTaZ0D1l+p0teMg7TSULI=
k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
k8s.io/klog v0.2.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
@@ -1675,6 +1676,7 @@ k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE=
k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
k8s.io/klog/v2 v2.4.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
k8s.io/klog/v2 v2.9.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec=
+k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc=
k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
k8s.io/kube-aggregator v0.0.0-20191004104030-d9d5f0cc7532/go.mod h1:8sbzT4QQKDEmSCIbfqjV0sd97GpUT7A4W626sBiYJmU=
@@ -1685,8 +1687,8 @@ k8s.io/kube-aggregator v0.18.10/go.mod h1:4hDj1WpnMJTXhMlDHf14zB0B/hrFCY6dBN0ZHQ
k8s.io/kube-aggregator v0.19.6/go.mod h1:BeD33Jp5LLaDH4t9oh1B+LkOY9D5+xhAC8I3ZSvI6m0=
k8s.io/kube-aggregator v0.20.6/go.mod h1:YYhRn55SGsIyUjJc95hYfnlIKMJ8RWqCVBYIh5GkUqw=
k8s.io/kube-aggregator v0.22.2/go.mod h1:hsd0LEmVQSvMc0UzAwmcm/Gk3HzLp50mq/o6cu1ky2A=
-k8s.io/kube-aggregator v0.24.2 h1:vaKw45vFA5fIT0wdSehPIL7idjVxgLqz6iedOHedLG4=
-k8s.io/kube-aggregator v0.24.2/go.mod h1:Ju2jNDixn+vqeeKEBfjfpc204bO1pbdXX0N9knCxeMQ=
+k8s.io/kube-aggregator v0.24.3 h1:7ScKNCG5JuSGnZPPH1DOu5R28/TU0DWll0fJgnKbEC8=
+k8s.io/kube-aggregator v0.24.3/go.mod h1:oMjdwraZtb0CtIxrzrAt/4GJxbivAM8AesZhYVmXZ54=
k8s.io/kube-openapi v0.0.0-20190816220812-743ec37842bf/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E=
k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E=
k8s.io/kube-openapi v0.0.0-20200410145947-61e04a5be9a6/go.mod h1:GRQhZsXIAJ1xR0C9bd8UpWHZ5plfAS9fzPjJuQ6JL3E=
@@ -1695,17 +1697,18 @@ k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6/go.mod h1:UuqjUnNftUyPE5H
k8s.io/kube-openapi v0.0.0-20201113171705-d219536bb9fd/go.mod h1:WOJ3KddDSol4tAGcJo0Tvi+dK12EcqSLqcWsryKMpfM=
k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw=
k8s.io/kube-openapi v0.0.0-20211110012726-3cc51fd1e909/go.mod h1:wXW5VT87nVfh/iLV8FpR2uDvrFyomxbtb1KivDbvPTE=
+k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65/go.mod h1:sX9MT8g7NVZM5lVL/j8QyCCJe8YSMW30QvGZWaCIDIk=
k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 h1:Gii5eqf+GmIEwGNKQYQClCayuJCe2/4fZUvF7VG99sU=
k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk=
-k8s.io/kube-proxy v0.24.2/go.mod h1:bozS2ufl/Ns6s40Ue34eV7rqyLVygi5usSmCgW7rFU8=
+k8s.io/kube-proxy v0.24.3/go.mod h1:zJ+koqfBkRUAzUfXlBtFfyfH3InqM38t5ELGlTlPwO0=
k8s.io/kubelet v0.16.8/go.mod h1:mzDpnryQg2dlB6V3/WAgb1baIamiICtWpXMFrPOFh6I=
k8s.io/kubelet v0.17.6/go.mod h1:H7KZAYjmw/M8LkZq14BfLcvOTOWWocOv8H4dGkkipLM=
k8s.io/kubelet v0.18.8/go.mod h1:6z1jHCk0NPE6WshFStfqcgQ1bnD3tetcPmhC2915aio=
k8s.io/kubelet v0.19.6/go.mod h1:/yashsvRBHMGFnxpmTjtaI0sJ4rLJno9zXzc6PPU8Ls=
k8s.io/kubelet v0.20.6/go.mod h1:U+v9PkJBpX61n7Id7VZqwejmwy1lV/Axm3Lbzb9UeW4=
k8s.io/kubelet v0.22.2/go.mod h1:ORIRua2/wTcx5UnEvxWosu650/8fatmzbMRC7m6WjAM=
-k8s.io/kubelet v0.24.2 h1:VAvULig8RiylCtyxudgHV7nhKsLnNIrdVBCRD4bXQ3Y=
-k8s.io/kubelet v0.24.2/go.mod h1:Xm9DkWQjwOs+uGOUIIGIPMvvmenvj0lDVOErvIKOOt0=
+k8s.io/kubelet v0.24.3 h1:6fqhHuUWkMpsGulIticCLUlDIhc30sypVVJjGVVKYzw=
+k8s.io/kubelet v0.24.3/go.mod h1:vIdQ8bybBvLeMysTyj37QZNKNnCGVfWqpbsLaMT7wTE=
k8s.io/kubernetes v1.14.0/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk=
k8s.io/metrics v0.0.0-20191004105854-2e8cf7d0888c/go.mod h1:a25VAbm3QT3xiVl1jtoF1ueAKQM149UdZ+L93ePfV3M=
k8s.io/metrics v0.16.8/go.mod h1:uBIJKJKdga8vL76a1dl+eRlUqOAdCbBpvFHC28SbUIY=
@@ -1715,8 +1718,8 @@ k8s.io/metrics v0.18.8/go.mod h1:j7JzZdiyhLP2BsJm/Fzjs+j5Lb1Y7TySjhPWqBPwRXA=
k8s.io/metrics v0.19.6/go.mod h1:jM61saf/bjMRmow6zan2cAk8vFDmqvbNXFRbB4g7TNs=
k8s.io/metrics v0.20.6/go.mod h1:d+OAIaXutom9kGWcBit/M8OkDpIzBKTsm47+KcUt7VI=
k8s.io/metrics v0.22.2/go.mod h1:GUcsBtpsqQD1tKFS/2wCKu4ZBowwRncLOJH1rgWs3uw=
-k8s.io/metrics v0.24.2 h1:3lgEq973VGPWAEaT9VI/p0XmI0R5kJgb/r9Ufr5fz8k=
-k8s.io/metrics v0.24.2/go.mod h1:5NWURxZ6Lz5gj8TFU83+vdWIVASx7W8lwPpHYCqopMo=
+k8s.io/metrics v0.24.3 h1:pXzh+PG8L8ANg0PD3Ce8+yG5oj8BLvzBgsz8yCVEXyg=
+k8s.io/metrics v0.24.3/go.mod h1:p1M0lhMySWfhISkSd3HEj8xIgrVnJTK3PPhFq2rA3To=
k8s.io/utils v0.0.0-20190801114015-581e00157fb1/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew=
k8s.io/utils v0.0.0-20191114184206-e782cd3c129f/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew=
k8s.io/utils v0.0.0-20191218082557-f07c713de883/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew=
@@ -1750,6 +1753,7 @@ sigs.k8s.io/controller-tools v0.4.1/go.mod h1:G9rHdZMVlBDocIxGkK3jHLWqcTMNvveypY
sigs.k8s.io/controller-tools v0.7.0/go.mod h1:bpBAo0VcSDDLuWt47evLhMLPxRPxMDInTEH/YbdeMK0=
sigs.k8s.io/controller-tools v0.9.0 h1:b/vSEPpA8hiMiyzDfLbZdCn3hoAcy3/868OHhYtHY9w=
sigs.k8s.io/controller-tools v0.9.0/go.mod h1:NUkn8FTV3Sad3wWpSK7dt/145qfuQ8CKJV6j4jHC5rM=
+sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6/go.mod h1:p4QtZmO4uMYipTQNzagwnNoseA6OxSUutVw05NhYDRs=
sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2 h1:kDi4JBNAsJWfz1aEXhO8Jg87JJaPNLh5tIzYHgStQ9Y=
sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY=
sigs.k8s.io/kind v0.7.0/go.mod h1:An/AbWHT6pA/Lm0Og8j3ukGhfJP3RiVN/IBU6Lo3zl8=
diff --git a/hack/api-reference/config.json b/hack/api-reference/config.json
index e28455437..1c5c6cfc4 100644
--- a/hack/api-reference/config.json
+++ b/hack/api-reference/config.json
@@ -1,33 +1,28 @@
{
- "hideMemberFields": [
- "TypeMeta"
- ],
- "hideTypePatterns": [
- "ParseError$",
- "List$"
- ],
- "externalPackages": [
- {
- "typeMatchPrefix": "^k8s\\.io/component-base/config/v1alpha1",
- "docsURLTemplate": "https://godoc.org/k8s.io/component-base/config/v1alpha1#{{.TypeIdentifier}}"
- },
- {
- "typeMatchPrefix": "^k8s\\.io/apimachinery/pkg/api/resource\\.Quantity$",
- "docsURLTemplate": "https://godoc.org/k8s.io/apimachinery/pkg/api/resource#Quantity"
- },
- {
- "typeMatchPrefix": "^k8s\\.io/(api|apimachinery/pkg/apis)/",
- "docsURLTemplate": "https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.15/#{{lower .TypeIdentifier}}-{{arrIndex .PackageSegments -1}}-{{arrIndex .PackageSegments -2}}"
- },
- {
- "typeMatchPrefix": "github.com/gardener/gardener/extensions/pkg/controller/healthcheck/config",
- "docsURLTemplate": "https://github.com/gardener/gardener/extensions/pkg/controller/healthcheck/config"
- }
- ],
- "typeDisplayNamePrefixOverrides": {
- "k8s.io/api/": "Kubernetes ",
- "k8s.io/apimachinery/pkg/apis/": "Kubernetes ",
- "k8s.io/component-base/config/": "Kubernetes "
+ "hideMemberFields": ["TypeMeta"],
+ "hideTypePatterns": ["ParseError$", "List$"],
+ "externalPackages": [
+ {
+ "typeMatchPrefix": "^k8s\\.io/component-base/config/v1alpha1",
+ "docsURLTemplate": "https://godoc.org/k8s.io/component-base/config/v1alpha1#{{.TypeIdentifier}}"
},
- "markdownDisabled": false
+ {
+ "typeMatchPrefix": "^k8s\\.io/apimachinery/pkg/api/resource\\.Quantity$",
+ "docsURLTemplate": "https://godoc.org/k8s.io/apimachinery/pkg/api/resource#Quantity"
+ },
+ {
+ "typeMatchPrefix": "^k8s\\.io/(api|apimachinery/pkg/apis)/",
+ "docsURLTemplate": "https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.15/#{{lower .TypeIdentifier}}-{{arrIndex .PackageSegments -1}}-{{arrIndex .PackageSegments -2}}"
+ },
+ {
+ "typeMatchPrefix": "github.com/gardener/gardener/extensions/pkg/apis/config",
+ "docsURLTemplate": "https://github.com/gardener/gardener/extensions/pkg/apis/config"
+ }
+ ],
+ "typeDisplayNamePrefixOverrides": {
+ "k8s.io/api/": "Kubernetes ",
+ "k8s.io/apimachinery/pkg/apis/": "Kubernetes ",
+ "k8s.io/component-base/config/": "Kubernetes "
+ },
+ "markdownDisabled": false
}
diff --git a/hack/api-reference/config.md b/hack/api-reference/config.md
index a018e291f..2382e04a2 100644
--- a/hack/api-reference/config.md
+++ b/hack/api-reference/config.md
@@ -125,8 +125,8 @@ ETCD
healthCheckConfig
-
-github.com/gardener/gardener/extensions/pkg/controller/healthcheck/config/v1alpha1.HealthCheckConfig
+
+github.com/gardener/gardener/extensions/pkg/apis/config/v1alpha1.HealthCheckConfig
|
diff --git a/hack/update-codegen.sh b/hack/update-codegen.sh
index 07506e43b..45f219b5d 100755
--- a/hack/update-codegen.sh
+++ b/hack/update-codegen.sh
@@ -57,5 +57,5 @@ bash "${PROJECT_ROOT}"/vendor/k8s.io/code-generator/generate-internal-groups.sh
github.com/gardener/gardener-extension-provider-alicloud/pkg/apis \
github.com/gardener/gardener-extension-provider-alicloud/pkg/apis \
"config:v1alpha1" \
- --extra-peer-dirs=github.com/gardener/gardener-extension-provider-alicloud/pkg/apis/config,github.com/gardener/gardener-extension-provider-alicloud/pkg/apis/config/v1alpha1,k8s.io/apimachinery/pkg/apis/meta/v1,k8s.io/apimachinery/pkg/conversion,k8s.io/apimachinery/pkg/runtime,github.com/gardener/gardener/extensions/pkg/controller/healthcheck/config/v1alpha1 \
+ --extra-peer-dirs=github.com/gardener/gardener-extension-provider-alicloud/pkg/apis/config,github.com/gardener/gardener-extension-provider-alicloud/pkg/apis/config/v1alpha1,k8s.io/apimachinery/pkg/apis/meta/v1,k8s.io/apimachinery/pkg/conversion,k8s.io/apimachinery/pkg/runtime,github.com/gardener/gardener/extensions/pkg/apis/config/v1alpha1 \
--go-header-file "${PROJECT_ROOT}/vendor/github.com/gardener/gardener/hack/LICENSE_BOILERPLATE.txt"
diff --git a/pkg/apis/config/types.go b/pkg/apis/config/types.go
index 08d7ddaa0..dcb7ffb80 100644
--- a/pkg/apis/config/types.go
+++ b/pkg/apis/config/types.go
@@ -15,7 +15,7 @@
package config
import (
- healthcheckconfig "github.com/gardener/gardener/extensions/pkg/controller/healthcheck/config"
+ healthcheckconfig "github.com/gardener/gardener/extensions/pkg/apis/config"
corev1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/resource"
diff --git a/pkg/apis/config/v1alpha1/types.go b/pkg/apis/config/v1alpha1/types.go
index f95d7831c..78ad18969 100644
--- a/pkg/apis/config/v1alpha1/types.go
+++ b/pkg/apis/config/v1alpha1/types.go
@@ -15,7 +15,7 @@
package v1alpha1
import (
- healthcheckconfigv1alpha1 "github.com/gardener/gardener/extensions/pkg/controller/healthcheck/config/v1alpha1"
+ healthcheckconfigv1alpha1 "github.com/gardener/gardener/extensions/pkg/apis/config/v1alpha1"
corev1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/resource"
diff --git a/pkg/apis/config/v1alpha1/zz_generated.conversion.go b/pkg/apis/config/v1alpha1/zz_generated.conversion.go
index edf4feeba..5f18d98aa 100644
--- a/pkg/apis/config/v1alpha1/zz_generated.conversion.go
+++ b/pkg/apis/config/v1alpha1/zz_generated.conversion.go
@@ -25,8 +25,8 @@ import (
unsafe "unsafe"
config "github.com/gardener/gardener-extension-provider-alicloud/pkg/apis/config"
- healthcheckconfig "github.com/gardener/gardener/extensions/pkg/controller/healthcheck/config"
- healthcheckconfigv1alpha1 "github.com/gardener/gardener/extensions/pkg/controller/healthcheck/config/v1alpha1"
+ apisconfig "github.com/gardener/gardener/extensions/pkg/apis/config"
+ apisconfigv1alpha1 "github.com/gardener/gardener/extensions/pkg/apis/config/v1alpha1"
v1 "k8s.io/api/core/v1"
resource "k8s.io/apimachinery/pkg/api/resource"
conversion "k8s.io/apimachinery/pkg/conversion"
@@ -146,7 +146,7 @@ func autoConvert_v1alpha1_ControllerConfiguration_To_config_ControllerConfigurat
if err := Convert_v1alpha1_ETCD_To_config_ETCD(&in.ETCD, &out.ETCD, s); err != nil {
return err
}
- out.HealthCheckConfig = (*healthcheckconfig.HealthCheckConfig)(unsafe.Pointer(in.HealthCheckConfig))
+ out.HealthCheckConfig = (*apisconfig.HealthCheckConfig)(unsafe.Pointer(in.HealthCheckConfig))
out.CSI = (*config.CSI)(unsafe.Pointer(in.CSI))
return nil
}
@@ -167,7 +167,7 @@ func autoConvert_config_ControllerConfiguration_To_v1alpha1_ControllerConfigurat
if err := Convert_config_ETCD_To_v1alpha1_ETCD(&in.ETCD, &out.ETCD, s); err != nil {
return err
}
- out.HealthCheckConfig = (*healthcheckconfigv1alpha1.HealthCheckConfig)(unsafe.Pointer(in.HealthCheckConfig))
+ out.HealthCheckConfig = (*apisconfigv1alpha1.HealthCheckConfig)(unsafe.Pointer(in.HealthCheckConfig))
out.CSI = (*CSI)(unsafe.Pointer(in.CSI))
return nil
}
diff --git a/pkg/apis/config/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/config/v1alpha1/zz_generated.deepcopy.go
index d8523143f..1a36192cb 100644
--- a/pkg/apis/config/v1alpha1/zz_generated.deepcopy.go
+++ b/pkg/apis/config/v1alpha1/zz_generated.deepcopy.go
@@ -22,7 +22,7 @@ limitations under the License.
package v1alpha1
import (
- healthcheckconfigv1alpha1 "github.com/gardener/gardener/extensions/pkg/controller/healthcheck/config/v1alpha1"
+ apisconfigv1alpha1 "github.com/gardener/gardener/extensions/pkg/apis/config/v1alpha1"
v1 "k8s.io/api/core/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
configv1alpha1 "k8s.io/component-base/config/v1alpha1"
@@ -77,8 +77,8 @@ func (in *ControllerConfiguration) DeepCopyInto(out *ControllerConfiguration) {
in.ETCD.DeepCopyInto(&out.ETCD)
if in.HealthCheckConfig != nil {
in, out := &in.HealthCheckConfig, &out.HealthCheckConfig
- *out = new(healthcheckconfigv1alpha1.HealthCheckConfig)
- **out = **in
+ *out = new(apisconfigv1alpha1.HealthCheckConfig)
+ (*in).DeepCopyInto(*out)
}
if in.CSI != nil {
in, out := &in.CSI, &out.CSI
diff --git a/pkg/apis/config/zz_generated.deepcopy.go b/pkg/apis/config/zz_generated.deepcopy.go
index 558741668..0a2942cce 100644
--- a/pkg/apis/config/zz_generated.deepcopy.go
+++ b/pkg/apis/config/zz_generated.deepcopy.go
@@ -22,7 +22,7 @@ limitations under the License.
package config
import (
- healthcheckconfig "github.com/gardener/gardener/extensions/pkg/controller/healthcheck/config"
+ apisconfig "github.com/gardener/gardener/extensions/pkg/apis/config"
v1 "k8s.io/api/core/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
componentbaseconfig "k8s.io/component-base/config"
@@ -77,8 +77,8 @@ func (in *ControllerConfiguration) DeepCopyInto(out *ControllerConfiguration) {
in.ETCD.DeepCopyInto(&out.ETCD)
if in.HealthCheckConfig != nil {
in, out := &in.HealthCheckConfig, &out.HealthCheckConfig
- *out = new(healthcheckconfig.HealthCheckConfig)
- **out = **in
+ *out = new(apisconfig.HealthCheckConfig)
+ (*in).DeepCopyInto(*out)
}
if in.CSI != nil {
in, out := &in.CSI, &out.CSI
diff --git a/pkg/cmd/config.go b/pkg/cmd/config.go
index 0e46e9fcd..d1b75babc 100644
--- a/pkg/cmd/config.go
+++ b/pkg/cmd/config.go
@@ -19,7 +19,7 @@ import (
"github.com/gardener/gardener-extension-provider-alicloud/pkg/apis/config"
configloader "github.com/gardener/gardener-extension-provider-alicloud/pkg/apis/config/loader"
- healthcheckconfig "github.com/gardener/gardener/extensions/pkg/controller/healthcheck/config"
+ healthcheckconfig "github.com/gardener/gardener/extensions/pkg/apis/config"
"github.com/spf13/pflag"
corev1 "k8s.io/api/core/v1"
diff --git a/pkg/controller/backupbucket/actuator.go b/pkg/controller/backupbucket/actuator.go
index c6488c3af..9441cdaa9 100644
--- a/pkg/controller/backupbucket/actuator.go
+++ b/pkg/controller/backupbucket/actuator.go
@@ -23,19 +23,15 @@ import (
extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
"github.com/go-logr/logr"
"sigs.k8s.io/controller-runtime/pkg/client"
- "sigs.k8s.io/controller-runtime/pkg/log"
)
type actuator struct {
backupbucket.Actuator
client client.Client
- logger logr.Logger
}
func newActuator() backupbucket.Actuator {
- return &actuator{
- logger: log.Log.WithName("alicloud-backupbucket-actuator"),
- }
+ return &actuator{}
}
func (a *actuator) InjectClient(client client.Client) error {
@@ -43,7 +39,7 @@ func (a *actuator) InjectClient(client client.Client) error {
return nil
}
-func (a *actuator) Reconcile(ctx context.Context, bb *extensionsv1alpha1.BackupBucket) error {
+func (a *actuator) Reconcile(ctx context.Context, _ logr.Logger, bb *extensionsv1alpha1.BackupBucket) error {
alicloudClient, err := alicloudclient.NewClientFactory().NewOSSClientFromSecretRef(ctx, a.client, &bb.Spec.SecretRef, bb.Spec.Region)
if err != nil {
return err
@@ -52,7 +48,7 @@ func (a *actuator) Reconcile(ctx context.Context, bb *extensionsv1alpha1.BackupB
return alicloudClient.CreateBucketIfNotExists(ctx, bb.Name)
}
-func (a *actuator) Delete(ctx context.Context, bb *extensionsv1alpha1.BackupBucket) error {
+func (a *actuator) Delete(ctx context.Context, _ logr.Logger, bb *extensionsv1alpha1.BackupBucket) error {
alicloudClient, err := alicloudclient.NewClientFactory().NewOSSClientFromSecretRef(ctx, a.client, &bb.Spec.SecretRef, bb.Spec.Region)
if err != nil {
return err
diff --git a/pkg/controller/backupentry/actuator.go b/pkg/controller/backupentry/actuator.go
index da158f5ff..375b25bff 100644
--- a/pkg/controller/backupentry/actuator.go
+++ b/pkg/controller/backupentry/actuator.go
@@ -29,13 +29,10 @@ import (
type actuator struct {
client client.Client
- logger logr.Logger
}
func newActuator() genericactuator.BackupEntryDelegate {
- return &actuator{
- logger: logger,
- }
+ return &actuator{}
}
func (a *actuator) InjectClient(client client.Client) error {
@@ -43,12 +40,12 @@ func (a *actuator) InjectClient(client client.Client) error {
return nil
}
-func (a *actuator) GetETCDSecretData(ctx context.Context, be *extensionsv1alpha1.BackupEntry, backupSecretData map[string][]byte) (map[string][]byte, error) {
+func (a *actuator) GetETCDSecretData(ctx context.Context, _ logr.Logger, be *extensionsv1alpha1.BackupEntry, backupSecretData map[string][]byte) (map[string][]byte, error) {
backupSecretData[alicloud.StorageEndpoint] = []byte(alicloudclient.ComputeStorageEndpoint(be.Spec.Region))
return backupSecretData, nil
}
-func (a *actuator) Delete(ctx context.Context, be *extensionsv1alpha1.BackupEntry) error {
+func (a *actuator) Delete(ctx context.Context, _ logr.Logger, be *extensionsv1alpha1.BackupEntry) error {
cli, err := alicloudclient.NewClientFactory().NewOSSClientFromSecretRef(ctx, a.client, &be.Spec.SecretRef, be.Spec.Region)
if err != nil {
return err
diff --git a/pkg/controller/backupentry/add.go b/pkg/controller/backupentry/add.go
index e8bc8ffe8..60b8a77a7 100644
--- a/pkg/controller/backupentry/add.go
+++ b/pkg/controller/backupentry/add.go
@@ -20,15 +20,12 @@ import (
"github.com/gardener/gardener/extensions/pkg/controller/backupentry/genericactuator"
"sigs.k8s.io/controller-runtime/pkg/controller"
- "sigs.k8s.io/controller-runtime/pkg/log"
"sigs.k8s.io/controller-runtime/pkg/manager"
)
var (
// DefaultAddOptions are the default DefaultAddOptions for AddToManager.
DefaultAddOptions = AddOptions{}
-
- logger = log.Log.WithName("alicloud-backupentry-actuator")
)
// AddOptions are options to apply when adding the Alicloud backupentry controller to the manager.
@@ -43,7 +40,7 @@ type AddOptions struct {
// The opts.Reconciler is being set with a newly instantiated actuator.
func AddToManagerWithOptions(mgr manager.Manager, opts AddOptions) error {
return backupentry.Add(mgr, backupentry.AddArgs{
- Actuator: genericactuator.NewActuator(newActuator(), logger),
+ Actuator: genericactuator.NewActuator(newActuator()),
ControllerOptions: opts.Controller,
Predicates: backupentry.DefaultPredicates(opts.IgnoreOperationAnnotation),
Type: alicloud.Type,
diff --git a/pkg/controller/bastion/actuator.go b/pkg/controller/bastion/actuator.go
index 7bdb6bab6..9fbcd6c7a 100644
--- a/pkg/controller/bastion/actuator.go
+++ b/pkg/controller/bastion/actuator.go
@@ -18,7 +18,6 @@ import (
alicloudclient "github.com/gardener/gardener-extension-provider-alicloud/pkg/alicloud/client"
"github.com/gardener/gardener/extensions/pkg/controller/bastion"
- "github.com/go-logr/logr"
"sigs.k8s.io/controller-runtime/pkg/client"
)
@@ -29,13 +28,11 @@ const (
type actuator struct {
client client.Client
- logger logr.Logger
newClientFactory alicloudclient.ClientFactory
}
func newActuator() bastion.Actuator {
return &actuator{
- logger: logger,
newClientFactory: alicloudclient.NewClientFactory(),
}
}
diff --git a/pkg/controller/bastion/actuator_delete.go b/pkg/controller/bastion/actuator_delete.go
index cf7014a9d..43357f3ce 100644
--- a/pkg/controller/bastion/actuator_delete.go
+++ b/pkg/controller/bastion/actuator_delete.go
@@ -23,12 +23,11 @@ import (
aliclient "github.com/gardener/gardener-extension-provider-alicloud/pkg/alicloud/client"
"github.com/gardener/gardener/extensions/pkg/controller"
extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
- "sigs.k8s.io/controller-runtime/pkg/client"
+ "github.com/go-logr/logr"
)
-func (a *actuator) Delete(ctx context.Context, bastion *extensionsv1alpha1.Bastion, cluster *controller.Cluster) error {
- logger := a.logger.WithValues("bastion", client.ObjectKeyFromObject(bastion), "operation", "reconcile")
-
+func (a *actuator) Delete(ctx context.Context, log logr.Logger, bastion *extensionsv1alpha1.Bastion, cluster *controller.Cluster) error {
+ log.Info("Bastion deletion operation")
opt, err := DetermineOptions(bastion, cluster)
if err != nil {
return err
@@ -49,7 +48,7 @@ func (a *actuator) Delete(ctx context.Context, bastion *extensionsv1alpha1.Basti
return fmt.Errorf("failed to terminate bastion instance: %w", err)
}
- logger.Info("Instance remove processing", "instance", opt.BastionInstanceName)
+ log.Info("Instance remove processing", "instance", opt.BastionInstanceName)
time.Sleep(10 * time.Second)
@@ -58,7 +57,7 @@ func (a *actuator) Delete(ctx context.Context, bastion *extensionsv1alpha1.Basti
return fmt.Errorf("failed to remove security group: %w", err)
}
- logger.Info("security group removed:", "security group", opt.SecurityGroupName)
+ log.Info("security group removed:", "security group", opt.SecurityGroupName)
return nil
}
diff --git a/pkg/controller/bastion/actuator_reconcile.go b/pkg/controller/bastion/actuator_reconcile.go
index 953bce044..e16d52e53 100644
--- a/pkg/controller/bastion/actuator_reconcile.go
+++ b/pkg/controller/bastion/actuator_reconcile.go
@@ -50,9 +50,8 @@ func (be *bastionEndpoints) Ready() bool {
return be != nil && IngressReady(be.private) && IngressReady(be.public)
}
-func (a *actuator) Reconcile(ctx context.Context, bastion *extensionsv1alpha1.Bastion, cluster *controller.Cluster) error {
- logger := a.logger.WithValues("bastion", client.ObjectKeyFromObject(bastion), "operation", "reconcile")
-
+func (a *actuator) Reconcile(ctx context.Context, log logr.Logger, bastion *extensionsv1alpha1.Bastion, cluster *controller.Cluster) error {
+ log.Info("Bastion reconciles operation")
opt, err := DetermineOptions(bastion, cluster)
if err != nil {
return err
@@ -104,15 +103,15 @@ func (a *actuator) Reconcile(ctx context.Context, bastion *extensionsv1alpha1.Ba
}
instanceTypeId = cluster.CloudProfile.Spec.MachineTypes[0].Name
- logger.Info("falling back to first machine type of cloud profile as bastion instance type id", "instance type", cluster.CloudProfile.Spec.MachineTypes[0].Name)
+ log.Info("falling back to first machine type of cloud profile as bastion instance type id", "instance type", cluster.CloudProfile.Spec.MachineTypes[0].Name)
}
- securityGroupID, err := ensureSecurityGroup(aliCloudECSClient, opt.SecurityGroupName, vpcId, logger)
+ securityGroupID, err := ensureSecurityGroup(aliCloudECSClient, opt.SecurityGroupName, vpcId, log)
if err != nil {
return err
}
- instanceID, err := ensureComputeInstance(aliCloudECSClient, logger, opt, securityGroupID, imageID, vSwitchesID, vSwitchesZoneID, instanceTypeId)
+ instanceID, err := ensureComputeInstance(aliCloudECSClient, log, opt, securityGroupID, imageID, vSwitchesID, vSwitchesZoneID, instanceTypeId)
if err != nil {
return err
}
@@ -214,7 +213,7 @@ func getInstanceEndpoints(c aliclient.ECS, opt *Options, ip string) (*bastionEnd
return endpoints, nil
}
-func ensureComputeInstance(c aliclient.ECS, logger logr.Logger, opt *Options, securityGroupID, imageID, vSwitchId, zoneID, instanceTypeID string) (string, error) {
+func ensureComputeInstance(c aliclient.ECS, log logr.Logger, opt *Options, securityGroupID, imageID, vSwitchId, zoneID, instanceTypeID string) (string, error) {
response, err := c.GetInstances(opt.BastionInstanceName)
if err != nil {
return "", err
@@ -224,7 +223,7 @@ func ensureComputeInstance(c aliclient.ECS, logger logr.Logger, opt *Options, se
return response.Instances.Instance[0].InstanceId, nil
}
- logger.Info("creating new bastion compute instance")
+ log.Info("creating new bastion compute instance")
instance, err := c.CreateInstances(opt.BastionInstanceName, securityGroupID, imageID, vSwitchId, zoneID, instanceTypeID, opt.UserData)
if err != nil {
@@ -234,18 +233,18 @@ func ensureComputeInstance(c aliclient.ECS, logger logr.Logger, opt *Options, se
return instance.InstanceIdSets.InstanceIdSet[0], nil
}
-func ensureSecurityGroup(c aliclient.ECS, securityGroupName, vpcID string, logger logr.Logger) (string, error) {
+func ensureSecurityGroup(c aliclient.ECS, securityGroupName, vpcID string, log logr.Logger) (string, error) {
response, err := c.GetSecurityGroup(securityGroupName)
if err != nil {
return "", err
}
if len(response.SecurityGroups.SecurityGroup) > 0 && response.SecurityGroups.SecurityGroup[0].SecurityGroupName == securityGroupName {
- logger.Info("Security Group found", "security group", securityGroupName)
+ log.Info("Security Group found", "security group", securityGroupName)
return response.SecurityGroups.SecurityGroup[0].SecurityGroupId, nil
}
- logger.Info("creating Security Group")
+ log.Info("creating Security Group")
createResponse, err := c.CreateSecurityGroups(vpcID, securityGroupName)
if err != nil {
diff --git a/pkg/controller/bastion/add.go b/pkg/controller/bastion/add.go
index 740a145a5..9d4c37083 100644
--- a/pkg/controller/bastion/add.go
+++ b/pkg/controller/bastion/add.go
@@ -18,15 +18,12 @@ import (
"github.com/gardener/gardener-extension-provider-alicloud/pkg/alicloud"
"github.com/gardener/gardener/extensions/pkg/controller/bastion"
"sigs.k8s.io/controller-runtime/pkg/controller"
- "sigs.k8s.io/controller-runtime/pkg/log"
"sigs.k8s.io/controller-runtime/pkg/manager"
)
var (
// DefaultAddOptions are the default AddOptions for AddToManager.
DefaultAddOptions = AddOptions{}
-
- logger = log.Log.WithName("alicloud-bastion-actuator")
)
// AddOptions are Options to apply when adding the Azure bastion controller to the manager.
diff --git a/pkg/controller/controlplane/add.go b/pkg/controller/controlplane/add.go
index adb8f8b60..bd4cfe4d7 100644
--- a/pkg/controller/controlplane/add.go
+++ b/pkg/controller/controlplane/add.go
@@ -26,15 +26,12 @@ import (
"github.com/gardener/gardener/extensions/pkg/controller/controlplane/genericactuator"
"github.com/gardener/gardener/extensions/pkg/util"
"sigs.k8s.io/controller-runtime/pkg/controller"
- "sigs.k8s.io/controller-runtime/pkg/log"
"sigs.k8s.io/controller-runtime/pkg/manager"
)
var (
// DefaultAddOptions are the default AddOptions for AddToManager.
DefaultAddOptions = AddOptions{}
-
- logger = log.Log.WithName("alicloud-controlplane-controller")
)
// AddOptions are options to apply when adding the Alicloud controlplane controller to the manager.
@@ -55,8 +52,8 @@ func AddToManagerWithOptions(mgr manager.Manager, opts AddOptions) error {
return controlplane.Add(mgr, controlplane.AddArgs{
Actuator: genericactuator.NewActuator(alicloud.Name, secretConfigsFunc, shootAccessSecretsFunc, nil, nil,
nil, controlPlaneChart, controlPlaneShootChart, controlPlaneShootCRDsChart, storageClassChart, nil,
- NewValuesProvider(logger, opts.CSI), extensionscontroller.ChartRendererFactoryFunc(util.NewChartRendererForShoot),
- imagevector.ImageVector(), "", opts.ShootWebhookConfig, mgr.GetWebhookServer().Port, logger),
+ NewValuesProvider(opts.CSI), extensionscontroller.ChartRendererFactoryFunc(util.NewChartRendererForShoot),
+ imagevector.ImageVector(), "", opts.ShootWebhookConfig, mgr.GetWebhookServer().Port),
ControllerOptions: opts.Controller,
Predicates: controlplane.DefaultPredicates(opts.IgnoreOperationAnnotation),
Type: alicloud.Type,
diff --git a/pkg/controller/controlplane/valuesprovider.go b/pkg/controller/controlplane/valuesprovider.go
index 818bd1c85..c343aed33 100644
--- a/pkg/controller/controlplane/valuesprovider.go
+++ b/pkg/controller/controlplane/valuesprovider.go
@@ -39,7 +39,6 @@ import (
secretutils "github.com/gardener/gardener/pkg/utils/secrets"
secretsmanager "github.com/gardener/gardener/pkg/utils/secrets/manager"
- "github.com/go-logr/logr"
admissionregistrationv1 "k8s.io/api/admissionregistration/v1"
appsv1 "k8s.io/api/apps/v1"
corev1 "k8s.io/api/core/v1"
@@ -238,10 +237,9 @@ var storageClassChart = &chart.Chart{
}
// NewValuesProvider creates a new ValuesProvider for the generic actuator.
-func NewValuesProvider(logger logr.Logger, csi config.CSI) genericactuator.ValuesProvider {
+func NewValuesProvider(csi config.CSI) genericactuator.ValuesProvider {
return &valuesProvider{
- logger: logger.WithName("alicloud-values-provider"),
- csi: csi,
+ csi: csi,
}
}
@@ -249,8 +247,7 @@ func NewValuesProvider(logger logr.Logger, csi config.CSI) genericactuator.Value
type valuesProvider struct {
genericactuator.NoopValuesProvider
common.ClientContext
- logger logr.Logger
- csi config.CSI
+ csi config.CSI
}
// GetControlPlaneChartValues returns the values for the control plane chart applied by the generic actuator.
diff --git a/pkg/controller/controlplane/valuesprovider_test.go b/pkg/controller/controlplane/valuesprovider_test.go
index e8d55ead9..3b9eeb641 100644
--- a/pkg/controller/controlplane/valuesprovider_test.go
+++ b/pkg/controller/controlplane/valuesprovider_test.go
@@ -38,7 +38,6 @@ import (
"k8s.io/utils/pointer"
"sigs.k8s.io/controller-runtime/pkg/client"
fakeclient "sigs.k8s.io/controller-runtime/pkg/client/fake"
- "sigs.k8s.io/controller-runtime/pkg/log"
"sigs.k8s.io/controller-runtime/pkg/runtime/inject"
)
@@ -198,8 +197,7 @@ var _ = Describe("ValuesProvider", func() {
},
}
- logger = log.Log.WithName("test")
- csi = config.CSI{}
+ csi = config.CSI{}
)
BeforeEach(func() {
@@ -224,7 +222,7 @@ var _ = Describe("ValuesProvider", func() {
client := mockclient.NewMockClient(ctrl)
client.EXPECT().Get(context.TODO(), cpSecretKey, &corev1.Secret{}).DoAndReturn(clientGet(cpSecret))
// Create valuesProvider
- vp := NewValuesProvider(logger, csi)
+ vp := NewValuesProvider(csi)
err := vp.(inject.Scheme).InjectScheme(scheme)
Expect(err).NotTo(HaveOccurred())
err = vp.(inject.Client).InjectClient(client)
@@ -250,7 +248,7 @@ var _ = Describe("ValuesProvider", func() {
client.EXPECT().Get(context.TODO(), cpSecretKey, &corev1.Secret{}).DoAndReturn(clientGet(cpSecret))
// Create valuesProvider
- vp := NewValuesProvider(logger, csi)
+ vp := NewValuesProvider(csi)
err := vp.(inject.Scheme).InjectScheme(scheme)
Expect(err).NotTo(HaveOccurred())
err = vp.(inject.Client).InjectClient(client)
@@ -265,7 +263,7 @@ var _ = Describe("ValuesProvider", func() {
Describe("#GetControlPlaneShootCRDsChartValues", func() {
It("should return correct control plane shoot CRDs chart values ", func() {
- vp := NewValuesProvider(logger, csi)
+ vp := NewValuesProvider(csi)
values, err := vp.GetControlPlaneShootCRDsChartValues(context.TODO(), cp, cluster)
Expect(err).NotTo(HaveOccurred())
diff --git a/pkg/controller/dnsrecord/actuator.go b/pkg/controller/dnsrecord/actuator.go
index c644e66e5..262985428 100644
--- a/pkg/controller/dnsrecord/actuator.go
+++ b/pkg/controller/dnsrecord/actuator.go
@@ -45,19 +45,17 @@ const (
type actuator struct {
common.ClientContext
alicloudClientFactory alicloudclient.ClientFactory
- logger logr.Logger
}
// NewActuator creates a new dnsrecord.Actuator.
func NewActuator(alicloudClientFactory alicloudclient.ClientFactory, logger logr.Logger) dnsrecord.Actuator {
return &actuator{
alicloudClientFactory: alicloudClientFactory,
- logger: logger.WithName("alicloud-dnsrecord-actuator"),
}
}
// Reconcile reconciles the DNSRecord.
-func (a *actuator) Reconcile(ctx context.Context, dns *extensionsv1alpha1.DNSRecord, cluster *extensionscontroller.Cluster) error {
+func (a *actuator) Reconcile(ctx context.Context, log logr.Logger, dns *extensionsv1alpha1.DNSRecord, cluster *extensionscontroller.Cluster) error {
// Create Alicloud client
credentials, err := alicloud.ReadDNSCredentialsFromSecretRef(ctx, a.Client(), &dns.Spec.SecretRef)
if err != nil {
@@ -69,14 +67,14 @@ func (a *actuator) Reconcile(ctx context.Context, dns *extensionsv1alpha1.DNSRec
}
// Determine DNS domain name
- domainName, err := a.getDomainName(ctx, dns, dnsClient)
+ domainName, err := a.getDomainName(ctx, log, dns, dnsClient)
if err != nil {
return err
}
// Create or update DNS records
ttl := extensionsv1alpha1helper.GetDNSRecordTTL(dns.Spec.TTL)
- a.logger.Info("Creating or updating DNS records", "domainName", domainName, "name", dns.Spec.Name, "type", dns.Spec.RecordType, "values", dns.Spec.Values, "dnsrecord", kutil.ObjectName(dns))
+ log.Info("Creating or updating DNS records", "domainName", domainName, "name", dns.Spec.Name, "type", dns.Spec.RecordType, "values", dns.Spec.Values, "dnsrecord", kutil.ObjectName(dns))
if err := dnsClient.CreateOrUpdateDomainRecords(ctx, domainName, dns.Spec.Name, string(dns.Spec.RecordType), dns.Spec.Values, ttl); err != nil {
return wrapAliClientError(err, fmt.Sprintf("could not create or update DNS records in domain %s with name %s, type %s, and values %v", domainName, dns.Spec.Name, dns.Spec.RecordType, dns.Spec.Values))
}
@@ -84,7 +82,7 @@ func (a *actuator) Reconcile(ctx context.Context, dns *extensionsv1alpha1.DNSRec
// Delete meta DNS records if any exist
if dns.Status.LastOperation == nil || dns.Status.LastOperation.Type == gardencorev1beta1.LastOperationTypeCreate {
name, recordType := dnsrecord.GetMetaRecordName(dns.Spec.Name), "TXT"
- a.logger.Info("Deleting meta DNS records", "domainName", domainName, "name", name, "type", recordType, "dnsrecord", kutil.ObjectName(dns))
+ log.Info("Deleting meta DNS records", "domainName", domainName, "name", name, "type", recordType, "dnsrecord", kutil.ObjectName(dns))
if err := dnsClient.DeleteDomainRecords(ctx, domainName, name, recordType); err != nil {
return wrapAliClientError(err, fmt.Sprintf("could not delete meta DNS records in domain %s with name %s and type %s", domainName, name, recordType))
}
@@ -97,7 +95,7 @@ func (a *actuator) Reconcile(ctx context.Context, dns *extensionsv1alpha1.DNSRec
}
// Delete deletes the DNSRecord.
-func (a *actuator) Delete(ctx context.Context, dns *extensionsv1alpha1.DNSRecord, cluster *extensionscontroller.Cluster) error {
+func (a *actuator) Delete(ctx context.Context, log logr.Logger, dns *extensionsv1alpha1.DNSRecord, cluster *extensionscontroller.Cluster) error {
// Create Alicloud client
credentials, err := alicloud.ReadDNSCredentialsFromSecretRef(ctx, a.Client(), &dns.Spec.SecretRef)
if err != nil {
@@ -109,13 +107,13 @@ func (a *actuator) Delete(ctx context.Context, dns *extensionsv1alpha1.DNSRecord
}
// Determine DNS domain name
- domainName, err := a.getDomainName(ctx, dns, dnsClient)
+ domainName, err := a.getDomainName(ctx, log, dns, dnsClient)
if err != nil {
return err
}
// Delete DNS records
- a.logger.Info("Deleting DNS records", "domainName", domainName, "name", dns.Spec.Name, "type", dns.Spec.RecordType, "dnsrecord", kutil.ObjectName(dns))
+ log.Info("Deleting DNS records", "domainName", domainName, "name", dns.Spec.Name, "type", dns.Spec.RecordType, "dnsrecord", kutil.ObjectName(dns))
if err := dnsClient.DeleteDomainRecords(ctx, domainName, dns.Spec.Name, string(dns.Spec.RecordType)); err != nil {
return wrapAliClientError(err, fmt.Sprintf("could not delete DNS records in domain %s with name %s and type %s", domainName, dns.Spec.Name, dns.Spec.RecordType))
}
@@ -124,16 +122,16 @@ func (a *actuator) Delete(ctx context.Context, dns *extensionsv1alpha1.DNSRecord
}
// Restore restores the DNSRecord.
-func (a *actuator) Restore(ctx context.Context, dns *extensionsv1alpha1.DNSRecord, cluster *extensionscontroller.Cluster) error {
- return a.Reconcile(ctx, dns, cluster)
+func (a *actuator) Restore(ctx context.Context, log logr.Logger, dns *extensionsv1alpha1.DNSRecord, cluster *extensionscontroller.Cluster) error {
+ return a.Reconcile(ctx, log, dns, cluster)
}
// Migrate migrates the DNSRecord.
-func (a *actuator) Migrate(ctx context.Context, dns *extensionsv1alpha1.DNSRecord, cluster *extensionscontroller.Cluster) error {
+func (a *actuator) Migrate(ctx context.Context, _ logr.Logger, dns *extensionsv1alpha1.DNSRecord, cluster *extensionscontroller.Cluster) error {
return nil
}
-func (a *actuator) getDomainName(ctx context.Context, dns *extensionsv1alpha1.DNSRecord, dnsClient alicloudclient.DNS) (string, error) {
+func (a *actuator) getDomainName(ctx context.Context, log logr.Logger, dns *extensionsv1alpha1.DNSRecord, dnsClient alicloudclient.DNS) (string, error) {
switch {
case dns.Spec.Zone != nil && *dns.Spec.Zone != "" && (dns.Status.Zone == nil || *dns.Status.Zone == "" || !zoneMatchesDomainName(*dns.Spec.Zone, *dns.Status.Zone)):
if isDomainName(*dns.Spec.Zone) {
@@ -145,7 +143,7 @@ func (a *actuator) getDomainName(ctx context.Context, dns *extensionsv1alpha1.DN
if err != nil {
return "", wrapAliClientError(err, fmt.Sprintf("could not get DNS domain name for domain id %s", *dns.Spec.Zone))
}
- a.logger.Info("Got DNS domain name", "domainName", domainName, "dnsrecord", kutil.ObjectName(dns))
+ log.Info("Got DNS domain name", "domainName", domainName, "dnsrecord", kutil.ObjectName(dns))
return domainName, nil
case dns.Status.Zone != nil && *dns.Status.Zone != "":
return *dns.Status.Zone, nil
@@ -156,7 +154,7 @@ func (a *actuator) getDomainName(ctx context.Context, dns *extensionsv1alpha1.DN
if err != nil {
return "", wrapAliClientError(err, "could not get DNS domain names")
}
- a.logger.Info("Got DNS domain names", "domainNames", domainNames, "dnsrecord", kutil.ObjectName(dns))
+ log.Info("Got DNS domain names", "domainNames", domainNames, "dnsrecord", kutil.ObjectName(dns))
domainName := dnsrecord.FindZoneForName(domainNames, dns.Spec.Name)
if domainName == "" {
return "", fmt.Errorf("could not find DNS domain name for name %s", dns.Spec.Name)
diff --git a/pkg/controller/dnsrecord/actuator_test.go b/pkg/controller/dnsrecord/actuator_test.go
index 3b54910f1..3aece1471 100644
--- a/pkg/controller/dnsrecord/actuator_test.go
+++ b/pkg/controller/dnsrecord/actuator_test.go
@@ -154,7 +154,7 @@ var _ = Describe("Actuator", func() {
dnsClient.EXPECT().DeleteDomainRecords(ctx, compositeDomainName, "comment-"+dnsName, "TXT").Return(nil)
expectUpdateDNSRecordStatus(compositeDomainName)
- err := a.Reconcile(ctx, dns, nil)
+ err := a.Reconcile(ctx, logger, dns, nil)
Expect(err).NotTo(HaveOccurred())
})
@@ -167,7 +167,7 @@ var _ = Describe("Actuator", func() {
dnsClient.EXPECT().DeleteDomainRecords(ctx, domainName, "comment-"+dnsName, "TXT").Return(nil)
expectUpdateDNSRecordStatus(domainName)
- err := a.Reconcile(ctx, dns, nil)
+ err := a.Reconcile(ctx, logger, dns, nil)
Expect(err).NotTo(HaveOccurred())
})
@@ -181,7 +181,7 @@ var _ = Describe("Actuator", func() {
dnsClient.EXPECT().DeleteDomainRecords(ctx, compositeDomainName, "comment-"+dnsName, "TXT").Return(nil)
expectUpdateDNSRecordStatus(compositeDomainName)
- err := a.Reconcile(ctx, dns, nil)
+ err := a.Reconcile(ctx, logger, dns, nil)
Expect(err).NotTo(HaveOccurred())
})
@@ -196,7 +196,7 @@ var _ = Describe("Actuator", func() {
dnsClient.EXPECT().DeleteDomainRecords(ctx, compositeDomainName, "comment-"+dnsName, "TXT").Return(nil)
expectUpdateDNSRecordStatus(compositeDomainName)
- err := a.Reconcile(ctx, dns, nil)
+ err := a.Reconcile(ctx, logger, dns, nil)
Expect(err).NotTo(HaveOccurred())
})
})
@@ -209,7 +209,7 @@ var _ = Describe("Actuator", func() {
alicloudClientFactory.EXPECT().NewDNSClient(alicloud.DefaultDNSRegion, accessKeyID, accessKeySecret).Return(dnsClient, nil)
dnsClient.EXPECT().DeleteDomainRecords(ctx, compositeDomainName, dnsName, string(extensionsv1alpha1.DNSRecordTypeA)).Return(nil)
- err := a.Delete(ctx, dns, nil)
+ err := a.Delete(ctx, logger, dns, nil)
Expect(err).NotTo(HaveOccurred())
})
@@ -220,7 +220,7 @@ var _ = Describe("Actuator", func() {
alicloudClientFactory.EXPECT().NewDNSClient(alicloud.DefaultDNSRegion, accessKeyID, accessKeySecret).Return(dnsClient, nil)
dnsClient.EXPECT().DeleteDomainRecords(ctx, domainName, dnsName, string(extensionsv1alpha1.DNSRecordTypeA)).Return(nil)
- err := a.Delete(ctx, dns, nil)
+ err := a.Delete(ctx, logger, dns, nil)
Expect(err).NotTo(HaveOccurred())
})
})
diff --git a/pkg/controller/healthcheck/add.go b/pkg/controller/healthcheck/add.go
index 8f42a35f1..20feea699 100644
--- a/pkg/controller/healthcheck/add.go
+++ b/pkg/controller/healthcheck/add.go
@@ -20,10 +20,10 @@ import (
"github.com/gardener/gardener-extension-provider-alicloud/pkg/alicloud"
+ healthcheckconfig "github.com/gardener/gardener/extensions/pkg/apis/config"
extensionscontroller "github.com/gardener/gardener/extensions/pkg/controller"
genericcontrolplaneactuator "github.com/gardener/gardener/extensions/pkg/controller/controlplane/genericactuator"
"github.com/gardener/gardener/extensions/pkg/controller/healthcheck"
- healthcheckconfig "github.com/gardener/gardener/extensions/pkg/controller/healthcheck/config"
"github.com/gardener/gardener/extensions/pkg/controller/healthcheck/general"
"github.com/gardener/gardener/extensions/pkg/controller/healthcheck/worker"
genericworkeractuator "github.com/gardener/gardener/extensions/pkg/controller/worker/genericactuator"
diff --git a/pkg/controller/infrastructure/actuator.go b/pkg/controller/infrastructure/actuator.go
index 443164bf2..125133876 100644
--- a/pkg/controller/infrastructure/actuator.go
+++ b/pkg/controller/infrastructure/actuator.go
@@ -45,7 +45,6 @@ import (
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/utils/pointer"
"sigs.k8s.io/controller-runtime/pkg/client"
- "sigs.k8s.io/controller-runtime/pkg/log"
)
// StatusTypeMeta is the TypeMeta of InfrastructureStatus.
@@ -60,7 +59,6 @@ var StatusTypeMeta = func() metav1.TypeMeta {
// NewActuator instantiates an actuator with the default dependencies.
func NewActuator(machineImageOwnerSecretRef *corev1.SecretReference, toBeSharedImageIDs []string, disableProjectedTokenMount bool) infrastructure.Actuator {
return NewActuatorWithDeps(
- log.Log.WithName("infrastructure-actuator"),
alicloudclient.NewClientFactory(),
terraformer.DefaultFactory(),
DefaultTerraformOps(),
@@ -72,7 +70,7 @@ func NewActuator(machineImageOwnerSecretRef *corev1.SecretReference, toBeSharedI
// NewActuatorWithDeps instantiates an actuator with the given dependencies.
func NewActuatorWithDeps(
- logger logr.Logger,
+
newClientFactory alicloudclient.ClientFactory,
terraformerFactory terraformer.Factory,
terraformChartOps TerraformChartOps,
@@ -81,7 +79,6 @@ func NewActuatorWithDeps(
disableProjectedTokenMount bool,
) infrastructure.Actuator {
a := &actuator{
- logger: logger,
newClientFactory: newClientFactory,
terraformerFactory: terraformerFactory,
terraformChartOps: terraformChartOps,
@@ -94,7 +91,6 @@ func NewActuatorWithDeps(
}
type actuator struct {
- logger logr.Logger
commonext.RESTConfigContext
alicloudECSClient alicloudclient.ECS
@@ -307,7 +303,7 @@ func (a *actuator) toBeShared(imageID string) bool {
}
// ensureOldSSHKeyDetached ensures the compatibility when ssh key is generated in the current cluster via terraform.
-func (a *actuator) ensureOldSSHKeyDetached(ctx context.Context, infra *extensionsv1alpha1.Infrastructure) error {
+func (a *actuator) ensureOldSSHKeyDetached(ctx context.Context, log logr.Logger, infra *extensionsv1alpha1.Infrastructure) error {
if infra.Status.ProviderStatus == nil {
return nil
}
@@ -333,11 +329,11 @@ func (a *actuator) ensureOldSSHKeyDetached(ctx context.Context, infra *extension
}
// nolint
- a.logger.V(2).Info("Detaching ssh key pair from ECS instances", "keypair", infrastructureStatus.KeyPairName)
+ log.V(2).Info("Detaching ssh key pair from ECS instances", "keypair", infrastructureStatus.KeyPairName)
// nolint
err = shootAlicloudECSClient.DetachECSInstancesFromSSHKeyPair(infrastructureStatus.KeyPairName)
// nolint
- a.logger.V(2).Info("Finished detaching ssh key pair from ECS instances", "keypair", infrastructureStatus.KeyPairName)
+ log.V(2).Info("Finished detaching ssh key pair from ECS instances", "keypair", infrastructureStatus.KeyPairName)
return err
}
@@ -346,7 +342,7 @@ func (a *actuator) ensureOldSSHKeyDetached(ctx context.Context, infra *extension
// 1. If worker needs an encrypted image, this method will ensure an corresponding encrypted image is copied.
// 2. If worker needs a plain image, this method will make the corresponding image is visible to shoot's provider account.
// The list of images that workers use will be returned.
-func (a *actuator) ensureImagesForShootProviderAccount(ctx context.Context, infra *extensionsv1alpha1.Infrastructure, cluster *extensioncontroller.Cluster) ([]apisalicloud.MachineImage, error) {
+func (a *actuator) ensureImagesForShootProviderAccount(ctx context.Context, log logr.Logger, infra *extensionsv1alpha1.Infrastructure, cluster *extensioncontroller.Cluster) ([]apisalicloud.MachineImage, error) {
var (
machineImages []apisalicloud.MachineImage
)
@@ -381,7 +377,7 @@ func (a *actuator) ensureImagesForShootProviderAccount(ctx context.Context, infr
return nil, err
}
- a.logger.Info("Preparing virtual machine images for Shoot's Alicloud account", "infrastructure", infra.Name)
+ log.Info("Preparing virtual machine images for Shoot's Alicloud account", "infrastructure", infra.Name)
for _, worker := range cluster.Shoot.Spec.Provider.Workers {
var machineImage *apisalicloud.MachineImage
useEncrytedDisk, err := common.UseEncryptedSystemDisk(worker.Volume)
@@ -389,23 +385,24 @@ func (a *actuator) ensureImagesForShootProviderAccount(ctx context.Context, infr
return nil, err
}
if useEncrytedDisk {
- if machineImage, err = a.ensureEncryptedImageForShootProviderAccount(ctx, cloudProfileConfig, worker, infra, shootAlicloudROSClient, shootAlicloudECSClient, shootCloudProviderAccountID); err != nil {
+ if machineImage, err = a.ensureEncryptedImageForShootProviderAccount(ctx, log, cloudProfileConfig, worker, infra, shootAlicloudROSClient, shootAlicloudECSClient, shootCloudProviderAccountID); err != nil {
return nil, err
}
} else {
- if machineImage, err = a.ensurePlainImageForShootProviderAccount(ctx, cloudProfileConfig, worker, infra, shootAlicloudECSClient, shootCloudProviderAccountID); err != nil {
+ if machineImage, err = a.ensurePlainImageForShootProviderAccount(ctx, log, cloudProfileConfig, worker, infra, shootAlicloudECSClient, shootCloudProviderAccountID); err != nil {
return nil, err
}
}
machineImages = helper.AppendMachineImage(machineImages, *machineImage)
}
- a.logger.Info("Finish preparing virtual machine images for Shoot's Alicloud account", "infrastructure", infra.Name)
+ log.Info("Finish preparing virtual machine images for Shoot's Alicloud account", "infrastructure", infra.Name)
return machineImages, nil
}
func (a *actuator) ensureEncryptedImageForShootProviderAccount(
ctx context.Context,
+ log logr.Logger,
cloudProfileConfig *apisalicloud.CloudProfileConfig,
worker gardencorev1beta1.Worker,
infra *extensionsv1alpha1.Infrastructure,
@@ -435,7 +432,7 @@ func (a *actuator) ensureEncryptedImageForShootProviderAccount(
}
// If it is a custom image, it need to be shared with shoot account
- if err = a.makeImageVisibleForShoot(ctx, shootECSClient, infra.Spec.Region, imageID, shootCloudProviderAccountID); err != nil {
+ if err = a.makeImageVisibleForShoot(ctx, log, shootECSClient, infra.Spec.Region, imageID, shootCloudProviderAccountID); err != nil {
return nil, err
}
@@ -452,7 +449,7 @@ func (a *actuator) ensureEncryptedImageForShootProviderAccount(
// else {} it is private shared
// It may block 10 minutes
- a.logger.Info("Preparing encrypted image for shoot account", "name", worker.Machine.Image.Name, "version", *worker.Machine.Image.Version)
+ log.Info("Preparing encrypted image for shoot account", "name", worker.Machine.Image.Name, "version", *worker.Machine.Image.Version)
encryptor := common.NewImageEncryptor(shootROSClient, infra.Spec.Region, worker.Machine.Image.Name, *worker.Machine.Image.Version, imageID)
encryptedImageID, err := encryptor.TryToGetEncryptedImageID(ctx, 15*time.Minute, 10*time.Second)
if err != nil {
@@ -467,7 +464,7 @@ func (a *actuator) ensureEncryptedImageForShootProviderAccount(
}, nil
}
-func (a *actuator) ensurePlainImageForShootProviderAccount(ctx context.Context, cloudProfileConfig *apisalicloud.CloudProfileConfig, worker gardencorev1beta1.Worker, infra *extensionsv1alpha1.Infrastructure, shootECSClient alicloudclient.ECS, shootCloudProviderAccountID string) (*apisalicloud.MachineImage, error) {
+func (a *actuator) ensurePlainImageForShootProviderAccount(ctx context.Context, log logr.Logger, cloudProfileConfig *apisalicloud.CloudProfileConfig, worker gardencorev1beta1.Worker, infra *extensionsv1alpha1.Infrastructure, shootECSClient alicloudclient.ECS, shootCloudProviderAccountID string) (*apisalicloud.MachineImage, error) {
imageID, err := helper.FindImageForRegionFromCloudProfile(cloudProfileConfig, worker.Machine.Image.Name, *worker.Machine.Image.Version, infra.Spec.Region)
if err != nil {
if providerStatus := infra.Status.ProviderStatus; providerStatus != nil {
@@ -485,7 +482,7 @@ func (a *actuator) ensurePlainImageForShootProviderAccount(ctx context.Context,
}
}
- if err = a.makeImageVisibleForShoot(ctx, shootECSClient, infra.Spec.Region, imageID, shootCloudProviderAccountID); err != nil {
+ if err = a.makeImageVisibleForShoot(ctx, log, shootECSClient, infra.Spec.Region, imageID, shootCloudProviderAccountID); err != nil {
return nil, err
}
@@ -496,12 +493,12 @@ func (a *actuator) ensurePlainImageForShootProviderAccount(ctx context.Context,
}, nil
}
-func (a *actuator) makeImageVisibleForShoot(ctx context.Context, shootECSClient alicloudclient.ECS, region, imageID, shootAccountID string) error {
+func (a *actuator) makeImageVisibleForShoot(ctx context.Context, log logr.Logger, shootECSClient alicloudclient.ECS, region, imageID, shootAccountID string) error {
// if this is a whitelisted machine image, we no longer need to check if it exists in cloud provider account, and
// we don't need to share the image to that account either.
- a.logger.Info("Sharing customized image with Shoot's Alicloud account from Seed", "imageID", imageID)
+ log.Info("Sharing customized image with Shoot's Alicloud account from Seed", "imageID", imageID)
if !a.toBeShared(imageID) {
- a.logger.Info("Skip image sharing as it is not in the ToBeSharedImageIDs", "imageID", imageID)
+ log.Info("Skip image sharing as it is not in the ToBeSharedImageIDs", "imageID", imageID)
return nil
}
@@ -521,20 +518,20 @@ func (a *actuator) makeImageVisibleForShoot(ctx context.Context, shootECSClient
}
// Reconcile implements infrastructure.Actuator.
-func (a *actuator) Reconcile(ctx context.Context, infra *extensionsv1alpha1.Infrastructure, cluster *extensioncontroller.Cluster) error {
- return a.reconcile(ctx, infra, cluster, terraformer.StateConfigMapInitializerFunc(terraformer.CreateState))
+func (a *actuator) Reconcile(ctx context.Context, log logr.Logger, infra *extensionsv1alpha1.Infrastructure, cluster *extensioncontroller.Cluster) error {
+ return a.reconcile(ctx, log, infra, cluster, terraformer.StateConfigMapInitializerFunc(terraformer.CreateState))
}
// Restore implements infrastructure.Actuator.
-func (a *actuator) Restore(ctx context.Context, infra *extensionsv1alpha1.Infrastructure, cluster *extensioncontroller.Cluster) error {
+func (a *actuator) Restore(ctx context.Context, log logr.Logger, infra *extensionsv1alpha1.Infrastructure, cluster *extensioncontroller.Cluster) error {
terraformState, err := terraformer.UnmarshalRawState(infra.Status.State)
if err != nil {
return err
}
- return a.reconcile(ctx, infra, cluster, terraformer.CreateOrUpdateState{State: &terraformState.Data})
+ return a.reconcile(ctx, log, infra, cluster, terraformer.CreateOrUpdateState{State: &terraformState.Data})
}
-func (a *actuator) reconcile(ctx context.Context, infra *extensionsv1alpha1.Infrastructure, cluster *extensioncontroller.Cluster, stateInitializer terraformer.StateConfigMapInitializer) error {
+func (a *actuator) reconcile(ctx context.Context, log logr.Logger, infra *extensionsv1alpha1.Infrastructure, cluster *extensioncontroller.Cluster, stateInitializer terraformer.StateConfigMapInitializer) error {
config, credentials, err := a.getConfigAndCredentialsForInfra(ctx, infra)
if err != nil {
return err
@@ -544,11 +541,11 @@ func (a *actuator) reconcile(ctx context.Context, infra *extensionsv1alpha1.Infr
return gardencorev1beta1helper.DeprecatedDetermineError(err)
}
- if err = a.ensureOldSSHKeyDetached(ctx, infra); err != nil {
+ if err = a.ensureOldSSHKeyDetached(ctx, log, infra); err != nil {
return gardencorev1beta1helper.DeprecatedDetermineError(err)
}
- tf, err := common.NewTerraformerWithAuth(a.logger, a.terraformerFactory, a.RESTConfig(), TerraformerPurpose, infra, a.disableProjectedTokenMount)
+ tf, err := common.NewTerraformerWithAuth(log, a.terraformerFactory, a.RESTConfig(), TerraformerPurpose, infra, a.disableProjectedTokenMount)
if err != nil {
return err
}
@@ -569,7 +566,7 @@ func (a *actuator) reconcile(ctx context.Context, infra *extensionsv1alpha1.Infr
var machineImages []apisalicloud.MachineImage
if cluster.Shoot != nil {
- machineImages, err = a.ensureImagesForShootProviderAccount(ctx, infra, cluster)
+ machineImages, err = a.ensureImagesForShootProviderAccount(ctx, log, infra, cluster)
if err != nil {
return fmt.Errorf("failed to ensure machine images for shoot: %w", err)
}
@@ -639,10 +636,8 @@ func (a *actuator) cleanupServiceLoadBalancers(ctx context.Context, infra *exten
}
// Delete implements infrastructure.Actuator.
-func (a *actuator) Delete(ctx context.Context, infra *extensionsv1alpha1.Infrastructure, cluster *extensioncontroller.Cluster) error {
- logger := a.logger.WithValues("infrastructure", client.ObjectKeyFromObject(infra), "operation", "delete")
-
- tf, err := common.NewTerraformer(logger, a.terraformerFactory, a.RESTConfig(), TerraformerPurpose, infra, a.disableProjectedTokenMount)
+func (a *actuator) Delete(ctx context.Context, log logr.Logger, infra *extensionsv1alpha1.Infrastructure, cluster *extensioncontroller.Cluster) error {
+ tf, err := common.NewTerraformer(log, a.terraformerFactory, a.RESTConfig(), TerraformerPurpose, infra, a.disableProjectedTokenMount)
if err != nil {
return err
}
@@ -659,7 +654,7 @@ func (a *actuator) Delete(ctx context.Context, infra *extensionsv1alpha1.Infrast
return err
}
if stateIsEmpty {
- a.logger.Info("exiting early as infrastructure state is empty or contains no resources - nothing to do")
+ log.Info("exiting early as infrastructure state is empty or contains no resources - nothing to do")
return tf.CleanupConfiguration(ctx)
}
@@ -697,9 +692,8 @@ func (a *actuator) Delete(ctx context.Context, infra *extensionsv1alpha1.Infrast
}
// Migrate implements infrastructure.Actuator.
-func (a *actuator) Migrate(ctx context.Context, infra *extensionsv1alpha1.Infrastructure, cluster *extensioncontroller.Cluster) error {
- logger := a.logger.WithValues("infrastructure", client.ObjectKeyFromObject(infra), "operation", "migrate")
- tf, err := common.NewTerraformer(logger, a.terraformerFactory, a.RESTConfig(), TerraformerPurpose, infra, a.disableProjectedTokenMount)
+func (a *actuator) Migrate(ctx context.Context, log logr.Logger, infra *extensionsv1alpha1.Infrastructure, cluster *extensioncontroller.Cluster) error {
+ tf, err := common.NewTerraformer(log, a.terraformerFactory, a.RESTConfig(), TerraformerPurpose, infra, a.disableProjectedTokenMount)
if err != nil {
return err
}
diff --git a/pkg/controller/infrastructure/actuator_test.go b/pkg/controller/infrastructure/actuator_test.go
index 7b85cdeef..2d96f9edc 100644
--- a/pkg/controller/infrastructure/actuator_test.go
+++ b/pkg/controller/infrastructure/actuator_test.go
@@ -26,6 +26,7 @@ import (
gardencorev1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1"
extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
mockclient "github.com/gardener/gardener/pkg/mock/controller-runtime/client"
+ "github.com/go-logr/logr"
"github.com/golang/mock/gomock"
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
@@ -94,6 +95,7 @@ var _ = Describe("Actuator", func() {
c *mockclient.MockClient
initializer *mockterraformer.MockInitializer
restConfig rest.Config
+ logger logr.Logger
cidr string
config alicloudv1alpha1.InfrastructureConfig
@@ -132,8 +134,8 @@ var _ = Describe("Actuator", func() {
shootRAMClient = mockalicloudclient.NewMockRAM(ctrl)
shootROSClient = mockalicloudclient.NewMockROS(ctrl)
terraformChartOps = mockinfrastructure.NewMockTerraformChartOps(ctrl)
+ logger = log.Log.WithName("test")
actuator = NewActuatorWithDeps(
- log.Log.WithName("test"),
alicloudClientFactory,
terraformerFactory,
terraformChartOps,
@@ -303,7 +305,7 @@ var _ = Describe("Actuator", func() {
expectInject(inject.SchemeInto(scheme, actuator))
expectInject(inject.ConfigInto(&restConfig, actuator))
- Expect(actuator.Reconcile(ctx, &infra, &cluster)).To(Succeed())
+ Expect(actuator.Reconcile(ctx, logger, &infra, &cluster)).To(Succeed())
Expect(infra.Status.ProviderStatus.Object).To(Equal(&alicloudv1alpha1.InfrastructureStatus{
TypeMeta: StatusTypeMeta,
VPC: alicloudv1alpha1.VPCStatus{
@@ -398,7 +400,7 @@ var _ = Describe("Actuator", func() {
expectInject(inject.SchemeInto(scheme, actuator))
expectInject(inject.ConfigInto(&restConfig, actuator))
- Expect(actuator.Restore(ctx, &infra, &cluster)).To(Succeed())
+ Expect(actuator.Restore(ctx, logger, &infra, &cluster)).To(Succeed())
Expect(infra.Status.ProviderStatus.Object).To(Equal(&alicloudv1alpha1.InfrastructureStatus{
TypeMeta: StatusTypeMeta,
VPC: alicloudv1alpha1.VPCStatus{
diff --git a/pkg/controller/worker/actuator.go b/pkg/controller/worker/actuator.go
index 11b043b01..6f00b76bd 100644
--- a/pkg/controller/worker/actuator.go
+++ b/pkg/controller/worker/actuator.go
@@ -29,24 +29,18 @@ import (
extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
gardener "github.com/gardener/gardener/pkg/client/kubernetes"
- "github.com/go-logr/logr"
"k8s.io/client-go/kubernetes"
- "sigs.k8s.io/controller-runtime/pkg/log"
)
type delegateFactory struct {
- logger logr.Logger
common.RESTConfigContext
}
// NewActuator creates a new Actuator that updates the status of the handled WorkerPoolConfigs.
func NewActuator() worker.Actuator {
- delegateFactory := &delegateFactory{
- logger: log.Log.WithName("worker-actuator"),
- }
+ delegateFactory := &delegateFactory{}
return genericactuator.NewActuator(
- log.Log.WithName("alicloud-worker-actuator"),
delegateFactory,
alicloud.MachineControllerManagerName,
mcmChart,
diff --git a/pkg/controller/worker/machine_dependencies.go b/pkg/controller/worker/machine_dependencies.go
index eaf5b9cbe..08a498eee 100644
--- a/pkg/controller/worker/machine_dependencies.go
+++ b/pkg/controller/worker/machine_dependencies.go
@@ -25,3 +25,8 @@ func (w *workerDelegate) DeployMachineDependencies(_ context.Context) error {
func (w *workerDelegate) CleanupMachineDependencies(_ context.Context) error {
return nil
}
+
+func (w *workerDelegate) PreReconcileHook(_ context.Context) error { return nil }
+func (w *workerDelegate) PostReconcileHook(_ context.Context) error { return nil }
+func (w *workerDelegate) PreDeleteHook(_ context.Context) error { return nil }
+func (w *workerDelegate) PostDeleteHook(_ context.Context) error { return nil }
diff --git a/test/integration/bastion/bastion_test.go b/test/integration/bastion/bastion_test.go
index 86bad7360..58b515556 100644
--- a/test/integration/bastion/bastion_test.go
+++ b/test/integration/bastion/bastion_test.go
@@ -40,11 +40,12 @@ import (
v1beta1constants "github.com/gardener/gardener/pkg/apis/core/v1beta1/constants"
extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
"github.com/gardener/gardener/pkg/extensions"
+ "github.com/gardener/gardener/pkg/logger"
gardenerutils "github.com/gardener/gardener/pkg/utils"
"github.com/gardener/gardener/test/framework"
+ "github.com/go-logr/logr"
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
- "github.com/sirupsen/logrus"
corev1 "k8s.io/api/core/v1"
networkingv1 "k8s.io/api/networking/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -97,8 +98,8 @@ type infrastructureIdentifiers struct {
}
var (
- ctx = context.Background()
- logger *logrus.Entry
+ ctx = context.Background()
+ log logr.Logger
extensionscluster *extensionsv1alpha1.Cluster
controllercluster *controller.Cluster
@@ -126,11 +127,8 @@ var _ = BeforeSuite(func() {
alicloud.InternalChartsPath = filepath.Join(repoRoot, alicloud.InternalChartsPath)
// enable manager logs
- logf.SetLogger(zap.New(zap.UseDevMode(true), zap.WriteTo(GinkgoWriter)))
-
- log := logrus.New()
- log.SetOutput(GinkgoWriter)
- logger = logrus.NewEntry(log)
+ logf.SetLogger(logger.MustNewZapLogger(logger.DebugLevel, logger.FormatJSON, zap.WriteTo(GinkgoWriter)))
+ log = logf.Log.WithName("bastion-test")
randString, err := randomString()
Expect(err).NotTo(HaveOccurred())
@@ -232,7 +230,7 @@ var _ = Describe("Bastion tests", func() {
Expect(err).NotTo(HaveOccurred())
framework.AddCleanupAction(func() {
- teardownBastion(ctx, logger, c, bastion)
+ teardownBastion(ctx, log, c, bastion)
By("verify bastion deletion")
verifyDeletion(clientFactory, options)
})
@@ -241,7 +239,7 @@ var _ = Describe("Bastion tests", func() {
Expect(extensions.WaitUntilExtensionObjectReady(
ctx,
c,
- logger,
+ log,
bastion,
extensionsv1alpha1.BastionResource,
60*time.Second,
@@ -674,7 +672,7 @@ func teardownShootEnvironment(ctx context.Context, c client.Client, namespace *c
Expect(client.IgnoreNotFound(c.Delete(ctx, namespace))).To(Succeed())
}
-func teardownBastion(ctx context.Context, logger *logrus.Entry, c client.Client, bastion *extensionsv1alpha1.Bastion) {
+func teardownBastion(ctx context.Context, logger logr.Logger, c client.Client, bastion *extensionsv1alpha1.Bastion) {
By("delete bastion")
Expect(client.IgnoreNotFound(c.Delete(ctx, bastion))).To(Succeed())
diff --git a/test/integration/infrastructure/infrastructure_test.go b/test/integration/infrastructure/infrastructure_test.go
index 7030dd954..fc9bb8af6 100644
--- a/test/integration/infrastructure/infrastructure_test.go
+++ b/test/integration/infrastructure/infrastructure_test.go
@@ -24,6 +24,8 @@ import (
gardencorev1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1"
gardencorev1beta1helper "github.com/gardener/gardener/pkg/apis/core/v1beta1/helper"
+ "github.com/gardener/gardener/pkg/logger"
+ "github.com/go-logr/logr"
"github.com/aliyun/alibaba-cloud-sdk-go/services/ecs"
"github.com/aliyun/alibaba-cloud-sdk-go/services/vpc"
@@ -32,7 +34,6 @@ import (
"github.com/gardener/gardener/test/framework"
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
- "github.com/sirupsen/logrus"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
@@ -54,8 +55,8 @@ import (
)
var (
- ctx = context.Background()
- logger *logrus.Entry
+ ctx = context.Background()
+ log logr.Logger
testEnv *envtest.Environment
mgrCancel context.CancelFunc
@@ -70,10 +71,10 @@ var (
var _ = BeforeSuite(func() {
repoRoot := filepath.Join("..", "..", "..")
- logf.SetLogger(zap.New(zap.UseDevMode(true), zap.WriteTo(GinkgoWriter)))
- log := logrus.New()
- log.SetOutput(GinkgoWriter)
- logger = logrus.NewEntry(log)
+ // enable manager logs
+ logf.SetLogger(logger.MustNewZapLogger(logger.DebugLevel, logger.FormatJSON, zap.WriteTo(GinkgoWriter)))
+
+ log = logf.Log.WithName("infrastructure-test")
By("starting test environment")
testEnv = &envtest.Environment{
@@ -149,7 +150,7 @@ var _ = Describe("Infrastructure tests", func() {
CIDR: pointer.StringPtr(vpcCIDR),
}, availabilityZone)
- err := runTest(ctx, logger, c, providerConfig, decoder, clientFactory)
+ err := runTest(ctx, log, c, providerConfig, decoder, clientFactory)
Expect(err).NotTo(HaveOccurred())
})
})
@@ -165,7 +166,7 @@ var _ = Describe("Infrastructure tests", func() {
ID: identifiers.vpcID,
}, availabilityZone)
- err := runTest(ctx, logger, c, providerConfig, decoder, clientFactory)
+ err := runTest(ctx, log, c, providerConfig, decoder, clientFactory)
Expect(err).NotTo(HaveOccurred())
})
})
@@ -198,7 +199,7 @@ var _ = Describe("Infrastructure tests", func() {
err := extensions.WaitUntilExtensionObjectDeleted(
ctx,
c,
- logger,
+ log,
infra,
extensionsv1alpha1.InfrastructureResource,
10*time.Second,
@@ -242,7 +243,7 @@ var _ = Describe("Infrastructure tests", func() {
err = extensions.WaitUntilExtensionObjectReady(
ctx,
c,
- logger,
+ log,
infra,
extensionsv1alpha1.InfrastructureResource,
10*time.Second,
@@ -258,7 +259,7 @@ var _ = Describe("Infrastructure tests", func() {
})
})
-func runTest(ctx context.Context, logger *logrus.Entry, c client.Client, providerConfig *alicloudv1alpha1.InfrastructureConfig, decoder runtime.Decoder, clientFactory alicloudclient.ClientFactory) error {
+func runTest(ctx context.Context, logger logr.Logger, c client.Client, providerConfig *alicloudv1alpha1.InfrastructureConfig, decoder runtime.Decoder, clientFactory alicloudclient.ClientFactory) error {
var (
namespace *corev1.Namespace
cluster *extensionsv1alpha1.Cluster
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/apis/config/doc.go b/vendor/github.com/gardener/gardener/extensions/pkg/apis/config/doc.go
new file mode 100644
index 000000000..e19531c5e
--- /dev/null
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/apis/config/doc.go
@@ -0,0 +1,16 @@
+// Copyright (c) 2022 SAP SE or an SAP affiliate company. All rights reserved. This file is licensed under the Apache Software License, v. 2 except as noted otherwise in the LICENSE file
+//
+// 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
+package config
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/healthcheck/config/types.go b/vendor/github.com/gardener/gardener/extensions/pkg/apis/config/types.go
similarity index 62%
rename from vendor/github.com/gardener/gardener/extensions/pkg/controller/healthcheck/config/types.go
rename to vendor/github.com/gardener/gardener/extensions/pkg/apis/config/types.go
index 3139bea0e..fc08347ed 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/healthcheck/config/types.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/apis/config/types.go
@@ -14,7 +14,11 @@
package config
-import metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+import (
+ "time"
+
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+)
// HealthCheckConfig contains the health check controller configuration.
type HealthCheckConfig struct {
@@ -23,4 +27,17 @@ type HealthCheckConfig struct {
// already running on them).
// defaults to 30 sec
SyncPeriod metav1.Duration
+ // ShootRESTOptions allow overwriting certain default settings of the shoot rest.Config.
+ ShootRESTOptions *RESTOptions
+}
+
+// RESTOptions define a subset of optional parameters for a rest.Config.
+// Default values when unset are those from https://github.com/kubernetes/client-go/blob/master/rest/config.go.
+type RESTOptions struct {
+ // QPS indicates the maximum QPS to the master from this client.
+ QPS *float32
+ // Maximum burst for throttle.
+ Burst *int
+ // The maximum length of time to wait before giving up on a server request. A value of zero means no timeout.
+ Timeout *time.Duration
}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/healthcheck/config/v1alpha1/types.go b/vendor/github.com/gardener/gardener/extensions/pkg/apis/config/v1alpha1/doc.go
similarity index 58%
rename from vendor/github.com/gardener/gardener/extensions/pkg/controller/healthcheck/config/v1alpha1/types.go
rename to vendor/github.com/gardener/gardener/extensions/pkg/apis/config/v1alpha1/doc.go
index 4011513e2..91ddda2a9 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/healthcheck/config/v1alpha1/types.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/apis/config/v1alpha1/doc.go
@@ -1,4 +1,4 @@
-// Copyright (c) 2019 SAP SE or an SAP affiliate company. All rights reserved. This file is licensed under the Apache Software License, v. 2 except as noted otherwise in the LICENSE file
+// Copyright (c) 2022 SAP SE or an SAP affiliate company. All rights reserved. This file is licensed under the Apache Software License, v. 2 except as noted otherwise in the LICENSE file
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,15 +12,5 @@
// See the License for the specific language governing permissions and
// limitations under the License.
+// +k8s:deepcopy-gen=package
package v1alpha1
-
-import metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-
-// HealthCheckConfig contains the health check controller configuration.
-type HealthCheckConfig struct {
- // SyncPeriod is the duration how often the existing resources are reconciled (how
- // often the health check of Shoot clusters is performed (only if no operation is
- // already running on them).
- // defaults to 30 sec
- SyncPeriod metav1.Duration `json:"syncPeriod"`
-}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/apis/config/v1alpha1/types.go b/vendor/github.com/gardener/gardener/extensions/pkg/apis/config/v1alpha1/types.go
new file mode 100644
index 000000000..70b3b591c
--- /dev/null
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/apis/config/v1alpha1/types.go
@@ -0,0 +1,47 @@
+// Copyright (c) 2019 SAP SE or an SAP affiliate company. All rights reserved. This file is licensed under the Apache Software License, v. 2 except as noted otherwise in the LICENSE file
+//
+// 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 (
+ "time"
+
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+)
+
+// HealthCheckConfig contains the health check controller configuration.
+type HealthCheckConfig struct {
+ // SyncPeriod is the duration how often the existing resources are reconciled (how
+ // often the health check of Shoot clusters is performed (only if no operation is
+ // already running on them).
+ // defaults to 30 sec
+ SyncPeriod metav1.Duration `json:"syncPeriod"`
+ // ShootRESTOptions allow overwriting certain default settings of the shoot rest.Config.
+ // +optional
+ ShootRESTOptions *RESTOptions `json:"shootRESTOptions,omitempty"`
+}
+
+// RESTOptions define a subset of optional parameters for a rest.Config.
+// Default values when unset are those from https://github.com/kubernetes/client-go/blob/master/rest/config.go.
+type RESTOptions struct {
+ // QPS indicates the maximum QPS to the master from this client.
+ // +optional
+ QPS *float32 `json:"qps,omitempty"`
+ // Maximum burst for throttle.
+ // +optional
+ Burst *int `json:"burst,omitempty"`
+ // The maximum length of time to wait before giving up on a server request. A value of zero means no timeout.
+ // +optional
+ Timeout *time.Duration `json:"timeout,omitempty"`
+}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/apis/config/v1alpha1/zz_generated.deepcopy.go b/vendor/github.com/gardener/gardener/extensions/pkg/apis/config/v1alpha1/zz_generated.deepcopy.go
new file mode 100644
index 000000000..5b2c87b23
--- /dev/null
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/apis/config/v1alpha1/zz_generated.deepcopy.go
@@ -0,0 +1,79 @@
+//go:build !ignore_autogenerated
+// +build !ignore_autogenerated
+
+/*
+Copyright (c) SAP SE or an SAP affiliate company. All rights reserved. This file is licensed under the Apache Software License, v. 2 except as noted otherwise in the LICENSE file
+
+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 v1alpha1
+
+import (
+ time "time"
+)
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *HealthCheckConfig) DeepCopyInto(out *HealthCheckConfig) {
+ *out = *in
+ out.SyncPeriod = in.SyncPeriod
+ if in.ShootRESTOptions != nil {
+ in, out := &in.ShootRESTOptions, &out.ShootRESTOptions
+ *out = new(RESTOptions)
+ (*in).DeepCopyInto(*out)
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckConfig.
+func (in *HealthCheckConfig) DeepCopy() *HealthCheckConfig {
+ if in == nil {
+ return nil
+ }
+ out := new(HealthCheckConfig)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *RESTOptions) DeepCopyInto(out *RESTOptions) {
+ *out = *in
+ if in.QPS != nil {
+ in, out := &in.QPS, &out.QPS
+ *out = new(float32)
+ **out = **in
+ }
+ if in.Burst != nil {
+ in, out := &in.Burst, &out.Burst
+ *out = new(int)
+ **out = **in
+ }
+ if in.Timeout != nil {
+ in, out := &in.Timeout, &out.Timeout
+ *out = new(time.Duration)
+ **out = **in
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RESTOptions.
+func (in *RESTOptions) DeepCopy() *RESTOptions {
+ if in == nil {
+ return nil
+ }
+ out := new(RESTOptions)
+ in.DeepCopyInto(out)
+ return out
+}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/apis/config/zz_generated.deepcopy.go b/vendor/github.com/gardener/gardener/extensions/pkg/apis/config/zz_generated.deepcopy.go
new file mode 100644
index 000000000..8a6490b96
--- /dev/null
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/apis/config/zz_generated.deepcopy.go
@@ -0,0 +1,79 @@
+//go:build !ignore_autogenerated
+// +build !ignore_autogenerated
+
+/*
+Copyright (c) SAP SE or an SAP affiliate company. All rights reserved. This file is licensed under the Apache Software License, v. 2 except as noted otherwise in the LICENSE file
+
+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 config
+
+import (
+ time "time"
+)
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *HealthCheckConfig) DeepCopyInto(out *HealthCheckConfig) {
+ *out = *in
+ out.SyncPeriod = in.SyncPeriod
+ if in.ShootRESTOptions != nil {
+ in, out := &in.ShootRESTOptions, &out.ShootRESTOptions
+ *out = new(RESTOptions)
+ (*in).DeepCopyInto(*out)
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckConfig.
+func (in *HealthCheckConfig) DeepCopy() *HealthCheckConfig {
+ if in == nil {
+ return nil
+ }
+ out := new(HealthCheckConfig)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *RESTOptions) DeepCopyInto(out *RESTOptions) {
+ *out = *in
+ if in.QPS != nil {
+ in, out := &in.QPS, &out.QPS
+ *out = new(float32)
+ **out = **in
+ }
+ if in.Burst != nil {
+ in, out := &in.Burst, &out.Burst
+ *out = new(int)
+ **out = **in
+ }
+ if in.Timeout != nil {
+ in, out := &in.Timeout, &out.Timeout
+ *out = new(time.Duration)
+ **out = **in
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RESTOptions.
+func (in *RESTOptions) DeepCopy() *RESTOptions {
+ if in == nil {
+ return nil
+ }
+ out := new(RESTOptions)
+ in.DeepCopyInto(out)
+ return out
+}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupbucket/actuator.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupbucket/actuator.go
index 84e79d7ba..28ae97c9a 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupbucket/actuator.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupbucket/actuator.go
@@ -18,12 +18,14 @@ import (
"context"
extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
+
+ "github.com/go-logr/logr"
)
// Actuator acts upon BackupBucket resources.
type Actuator interface {
// Reconcile reconciles the BackupBucket.
- Reconcile(context.Context, *extensionsv1alpha1.BackupBucket) error
+ Reconcile(context.Context, logr.Logger, *extensionsv1alpha1.BackupBucket) error
// Delete deletes the BackupBucket.
- Delete(context.Context, *extensionsv1alpha1.BackupBucket) error
+ Delete(context.Context, logr.Logger, *extensionsv1alpha1.BackupBucket) error
}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupbucket/controller.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupbucket/controller.go
index e515b1b37..08374677f 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupbucket/controller.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupbucket/controller.go
@@ -31,7 +31,7 @@ const (
// FinalizerName is the backupbucket controller finalizer.
FinalizerName = "extensions.gardener.cloud/backupbucket"
// ControllerName is the name of the controller
- ControllerName = "backupbucket_controller"
+ ControllerName = "backupbucket"
)
// AddArgs are arguments for adding a BackupBucket controller to a manager.
@@ -78,7 +78,7 @@ func add(mgr manager.Manager, args AddArgs, predicates []predicate.Predicate) er
if args.IgnoreOperationAnnotation {
if err := ctrl.Watch(
&source.Kind{Type: &corev1.Secret{}},
- mapper.EnqueueRequestsFrom(SecretToBackupBucketMapper(predicates), mapper.UpdateWithNew),
+ mapper.EnqueueRequestsFrom(SecretToBackupBucketMapper(predicates), mapper.UpdateWithNew, ctrl.GetLogger()),
); err != nil {
return err
}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupbucket/mapper.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupbucket/mapper.go
index c5613f9e2..f83e98f6f 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupbucket/mapper.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupbucket/mapper.go
@@ -18,46 +18,24 @@ import (
"context"
"time"
+ extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
+ "github.com/gardener/gardener/pkg/controllerutils/mapper"
+ predicateutils "github.com/gardener/gardener/pkg/controllerutils/predicate"
+
+ "github.com/go-logr/logr"
corev1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/types"
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/predicate"
"sigs.k8s.io/controller-runtime/pkg/reconcile"
- "sigs.k8s.io/controller-runtime/pkg/runtime/inject"
-
- extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
- "github.com/gardener/gardener/pkg/controllerutils/mapper"
- predicateutils "github.com/gardener/gardener/pkg/controllerutils/predicate"
- ctxutils "github.com/gardener/gardener/pkg/utils/context"
)
type secretToBackupBucketMapper struct {
- ctx context.Context
- client client.Client
predicates []predicate.Predicate
}
-func (m *secretToBackupBucketMapper) InjectClient(c client.Client) error {
- m.client = c
- return nil
-}
-
-func (m *secretToBackupBucketMapper) InjectStopChannel(stopCh <-chan struct{}) error {
- m.ctx = ctxutils.FromStopChannel(stopCh)
- return nil
-}
-
-func (m *secretToBackupBucketMapper) InjectFunc(f inject.Func) error {
- for _, p := range m.predicates {
- if err := f(p); err != nil {
- return err
- }
- }
- return nil
-}
-
-func (m *secretToBackupBucketMapper) Map(obj client.Object) []reconcile.Request {
- ctx, cancel := context.WithTimeout(m.ctx, 5*time.Second)
+func (m *secretToBackupBucketMapper) Map(ctx context.Context, _ logr.Logger, reader client.Reader, obj client.Object) []reconcile.Request {
+ ctx, cancel := context.WithTimeout(ctx, 5*time.Second)
defer cancel()
secret, ok := obj.(*corev1.Secret)
@@ -66,7 +44,7 @@ func (m *secretToBackupBucketMapper) Map(obj client.Object) []reconcile.Request
}
backupBucketList := &extensionsv1alpha1.BackupBucketList{}
- if err := m.client.List(ctx, backupBucketList); err != nil {
+ if err := reader.List(ctx, backupBucketList); err != nil {
return nil
}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupbucket/reconciler.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupbucket/reconciler.go
index 1115ade65..026d1d28c 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupbucket/reconciler.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupbucket/reconciler.go
@@ -18,24 +18,23 @@ import (
"context"
"fmt"
- "github.com/go-logr/logr"
- "k8s.io/apimachinery/pkg/api/errors"
- "sigs.k8s.io/controller-runtime/pkg/client"
- "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
- "sigs.k8s.io/controller-runtime/pkg/log"
- "sigs.k8s.io/controller-runtime/pkg/reconcile"
- "sigs.k8s.io/controller-runtime/pkg/runtime/inject"
-
extensionscontroller "github.com/gardener/gardener/extensions/pkg/controller"
gardencorev1beta1helper "github.com/gardener/gardener/pkg/apis/core/v1beta1/helper"
extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
"github.com/gardener/gardener/pkg/controllerutils"
reconcilerutils "github.com/gardener/gardener/pkg/controllerutils/reconciler"
kutil "github.com/gardener/gardener/pkg/utils/kubernetes"
+
+ "github.com/go-logr/logr"
+ apierrors "k8s.io/apimachinery/pkg/api/errors"
+ "sigs.k8s.io/controller-runtime/pkg/client"
+ "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
+ logf "sigs.k8s.io/controller-runtime/pkg/log"
+ "sigs.k8s.io/controller-runtime/pkg/reconcile"
+ "sigs.k8s.io/controller-runtime/pkg/runtime/inject"
)
type reconciler struct {
- logger logr.Logger
actuator Actuator
client client.Client
@@ -46,14 +45,11 @@ type reconciler struct {
// NewReconciler creates a new reconcile.Reconciler that reconciles
// BackupBucket resources of Gardener's `extensions.gardener.cloud` API group.
func NewReconciler(actuator Actuator) reconcile.Reconciler {
- logger := log.Log.WithName(ControllerName)
-
return reconcilerutils.OperationAnnotationWrapper(
func() client.Object { return &extensionsv1alpha1.BackupBucket{} },
&reconciler{
- logger: logger,
actuator: actuator,
- statusUpdater: extensionscontroller.NewStatusUpdater(logger),
+ statusUpdater: extensionscontroller.NewStatusUpdater(),
},
)
}
@@ -74,28 +70,34 @@ func (r *reconciler) InjectAPIReader(reader client.Reader) error {
}
func (r *reconciler) Reconcile(ctx context.Context, request reconcile.Request) (reconcile.Result, error) {
+ log := logf.FromContext(ctx)
+
bb := &extensionsv1alpha1.BackupBucket{}
if err := r.client.Get(ctx, request.NamespacedName, bb); err != nil {
- if errors.IsNotFound(err) {
+ if apierrors.IsNotFound(err) {
+ log.V(1).Info("Object is gone, stop reconciling")
return reconcile.Result{}, nil
}
- return reconcile.Result{}, err
+ return reconcile.Result{}, fmt.Errorf("error retrieving object from store: %w", err)
}
if bb.DeletionTimestamp != nil {
- return r.delete(ctx, bb)
+ return r.delete(ctx, log, bb)
}
- return r.reconcile(ctx, bb)
+ return r.reconcile(ctx, log, bb)
}
-func (r *reconciler) reconcile(ctx context.Context, bb *extensionsv1alpha1.BackupBucket) (reconcile.Result, error) {
- if err := controllerutils.EnsureFinalizer(ctx, r.reader, r.client, bb, FinalizerName); err != nil {
- return reconcile.Result{}, fmt.Errorf("failed to ensure finalizer on backup bucket: %+v", err)
+func (r *reconciler) reconcile(ctx context.Context, log logr.Logger, bb *extensionsv1alpha1.BackupBucket) (reconcile.Result, error) {
+ if !controllerutil.ContainsFinalizer(bb, FinalizerName) {
+ log.Info("Adding finalizer")
+ if err := controllerutils.AddFinalizers(ctx, r.client, bb, FinalizerName); err != nil {
+ return reconcile.Result{}, fmt.Errorf("failed to add finalizer: %w", err)
+ }
}
operationType := gardencorev1beta1helper.ComputeOperationType(bb.ObjectMeta, bb.Status.LastOperation)
- if err := r.statusUpdater.Processing(ctx, bb, operationType, "Reconciling the backupbucket"); err != nil {
+ if err := r.statusUpdater.Processing(ctx, log, bb, operationType, "Reconciling the backupbucket"); err != nil {
return reconcile.Result{}, err
}
@@ -103,41 +105,45 @@ func (r *reconciler) reconcile(ctx context.Context, bb *extensionsv1alpha1.Backu
if err != nil {
return reconcile.Result{}, fmt.Errorf("failed to get backup bucket secret: %+v", err)
}
- if err := controllerutils.EnsureFinalizer(ctx, r.reader, r.client, secret, FinalizerName); err != nil {
- return reconcile.Result{}, fmt.Errorf("failed to ensure finalizer on bucket secret: %+v", err)
+
+ if !controllerutil.ContainsFinalizer(secret, FinalizerName) {
+ log.Info("Adding finalizer to secret", "secret", client.ObjectKeyFromObject(secret))
+ if err := controllerutils.AddFinalizers(ctx, r.client, secret, FinalizerName); err != nil {
+ return reconcile.Result{}, fmt.Errorf("failed to add finalizer to secret: %w", err)
+ }
}
- r.logger.Info("Starting the reconciliation of backupbucket", "backupbucket", kutil.ObjectName(bb))
- if err := r.actuator.Reconcile(ctx, bb); err != nil {
- _ = r.statusUpdater.Error(ctx, bb, reconcilerutils.ReconcileErrCauseOrErr(err), operationType, "Error reconciling backupbucket")
+ log.Info("Starting the reconciliation of BackupBucket")
+ if err := r.actuator.Reconcile(ctx, log, bb); err != nil {
+ _ = r.statusUpdater.Error(ctx, log, bb, reconcilerutils.ReconcileErrCauseOrErr(err), operationType, "Error reconciling backupbucket")
return reconcilerutils.ReconcileErr(err)
}
- if err := r.statusUpdater.Success(ctx, bb, operationType, "Successfully reconciled backupbucket"); err != nil {
+ if err := r.statusUpdater.Success(ctx, log, bb, operationType, "Successfully reconciled backupbucket"); err != nil {
return reconcile.Result{}, err
}
return reconcile.Result{}, nil
}
-func (r *reconciler) delete(ctx context.Context, bb *extensionsv1alpha1.BackupBucket) (reconcile.Result, error) {
+func (r *reconciler) delete(ctx context.Context, log logr.Logger, bb *extensionsv1alpha1.BackupBucket) (reconcile.Result, error) {
if !controllerutil.ContainsFinalizer(bb, FinalizerName) {
- r.logger.Info("Deleting backupbucket causes a no-op as there is no finalizer", "backupbucket", kutil.ObjectName(bb))
+ log.Info("Deleting BackupBucket causes a no-op as there is no finalizer")
return reconcile.Result{}, nil
}
operationType := gardencorev1beta1helper.ComputeOperationType(bb.ObjectMeta, bb.Status.LastOperation)
- if err := r.statusUpdater.Processing(ctx, bb, operationType, "Deleting the backupbucket"); err != nil {
+ if err := r.statusUpdater.Processing(ctx, log, bb, operationType, "Deleting the BackupBucket"); err != nil {
return reconcile.Result{}, err
}
- r.logger.Info("Starting the deletion of backupbucket", "backupbucket", kutil.ObjectName(bb))
- if err := r.actuator.Delete(ctx, bb); err != nil {
- _ = r.statusUpdater.Error(ctx, bb, reconcilerutils.ReconcileErrCauseOrErr(err), operationType, "Error deleting backupbucket")
+ log.Info("Starting the deletion of BackupBucket")
+ if err := r.actuator.Delete(ctx, log, bb); err != nil {
+ _ = r.statusUpdater.Error(ctx, log, bb, reconcilerutils.ReconcileErrCauseOrErr(err), operationType, "Error deleting BackupBucket")
return reconcilerutils.ReconcileErr(err)
}
- if err := r.statusUpdater.Success(ctx, bb, operationType, "Successfully deleted backupbucket"); err != nil {
+ if err := r.statusUpdater.Success(ctx, log, bb, operationType, "Successfully deleted BackupBucket"); err != nil {
return reconcile.Result{}, err
}
@@ -145,13 +151,19 @@ func (r *reconciler) delete(ctx context.Context, bb *extensionsv1alpha1.BackupBu
if err != nil {
return reconcile.Result{}, fmt.Errorf("failed to get backup bucket secret: %+v", err)
}
- if err := controllerutils.RemoveFinalizer(ctx, r.reader, r.client, secret, FinalizerName); err != nil {
- return reconcile.Result{}, fmt.Errorf("failed to remove finalizer on bucket secret: %+v", err)
+
+ if controllerutil.ContainsFinalizer(secret, FinalizerName) {
+ log.Info("Removing finalizer from secret", "secret", client.ObjectKeyFromObject(secret))
+ if err := controllerutils.RemoveFinalizers(ctx, r.client, secret, FinalizerName); err != nil {
+ return reconcile.Result{}, fmt.Errorf("failed to remove finalizer from secret: %w", err)
+ }
}
- r.logger.Info("Removing finalizer", "backupbucket", kutil.ObjectName(bb))
- if err := controllerutils.RemoveFinalizer(ctx, r.reader, r.client, bb, FinalizerName); err != nil {
- return reconcile.Result{}, fmt.Errorf("error removing finalizer from backupbucket: %+v", err)
+ if controllerutil.ContainsFinalizer(bb, FinalizerName) {
+ log.Info("Removing finalizer")
+ if err := controllerutils.RemoveFinalizers(ctx, r.client, bb, FinalizerName); err != nil {
+ return reconcile.Result{}, fmt.Errorf("failed to remove finalizer: %w", err)
+ }
}
return reconcile.Result{}, nil
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupentry/actuator.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupentry/actuator.go
index d9155df18..4ff5bb49d 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupentry/actuator.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupentry/actuator.go
@@ -18,16 +18,18 @@ import (
"context"
extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
+
+ "github.com/go-logr/logr"
)
// Actuator acts upon BackupEntry resources.
type Actuator interface {
// Reconcile reconciles the BackupEntry.
- Reconcile(context.Context, *extensionsv1alpha1.BackupEntry) error
+ Reconcile(context.Context, logr.Logger, *extensionsv1alpha1.BackupEntry) error
// Delete deletes the BackupEntry.
- Delete(context.Context, *extensionsv1alpha1.BackupEntry) error
+ Delete(context.Context, logr.Logger, *extensionsv1alpha1.BackupEntry) error
// Restore restores the BackupEntry.
- Restore(context.Context, *extensionsv1alpha1.BackupEntry) error
+ Restore(context.Context, logr.Logger, *extensionsv1alpha1.BackupEntry) error
// Migrate migrates the BackupEntry.
- Migrate(context.Context, *extensionsv1alpha1.BackupEntry) error
+ Migrate(context.Context, logr.Logger, *extensionsv1alpha1.BackupEntry) error
}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupentry/controller.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupentry/controller.go
index c36de6658..bd0805cc2 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupentry/controller.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupentry/controller.go
@@ -31,7 +31,7 @@ const (
// FinalizerName is the backupentry controller finalizer.
FinalizerName = "extensions.gardener.cloud/backupentry"
// ControllerName is the name of the controller
- ControllerName = "backupentry_controller"
+ ControllerName = "backupentry"
)
// AddArgs are arguments for adding a BackupEntry controller to a manager.
@@ -77,14 +77,14 @@ func add(mgr manager.Manager, args AddArgs, predicates []predicate.Predicate) er
if args.IgnoreOperationAnnotation {
if err := ctrl.Watch(
&source.Kind{Type: &corev1.Namespace{}},
- mapper.EnqueueRequestsFrom(NamespaceToBackupEntryMapper(predicates), mapper.UpdateWithNew),
+ mapper.EnqueueRequestsFrom(NamespaceToBackupEntryMapper(predicates), mapper.UpdateWithNew, ctrl.GetLogger()),
); err != nil {
return err
}
if err := ctrl.Watch(
&source.Kind{Type: &corev1.Secret{}},
- mapper.EnqueueRequestsFrom(SecretToBackupEntryMapper(predicates), mapper.UpdateWithNew),
+ mapper.EnqueueRequestsFrom(SecretToBackupEntryMapper(predicates), mapper.UpdateWithNew, ctrl.GetLogger()),
); err != nil {
return err
}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupentry/genericactuator/actuator.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupentry/genericactuator/actuator.go
index 244dc8530..e6962d2c2 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupentry/genericactuator/actuator.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupentry/genericactuator/actuator.go
@@ -19,24 +19,23 @@ import (
"fmt"
"strings"
+ "github.com/gardener/gardener/extensions/pkg/controller/backupentry"
+ v1beta1constants "github.com/gardener/gardener/pkg/apis/core/v1beta1/constants"
+ extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
+ "github.com/gardener/gardener/pkg/controllerutils"
+ kutil "github.com/gardener/gardener/pkg/utils/kubernetes"
+
"github.com/go-logr/logr"
corev1 "k8s.io/api/core/v1"
apierrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/runtime/inject"
-
- "github.com/gardener/gardener/extensions/pkg/controller/backupentry"
- v1beta1constants "github.com/gardener/gardener/pkg/apis/core/v1beta1/constants"
- extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
- "github.com/gardener/gardener/pkg/controllerutils"
- kutil "github.com/gardener/gardener/pkg/utils/kubernetes"
)
type actuator struct {
backupEntryDelegate BackupEntryDelegate
client client.Client
- logger logr.Logger
}
// InjectClient injects the given client into the valuesProvider.
@@ -51,37 +50,37 @@ func (a *actuator) InjectFunc(f inject.Func) error {
}
// NewActuator creates a new Actuator that updates the status of the handled BackupEntry resources.
-func NewActuator(backupEntryDelegate BackupEntryDelegate, logger logr.Logger) backupentry.Actuator {
+func NewActuator(backupEntryDelegate BackupEntryDelegate) backupentry.Actuator {
return &actuator{
- logger: logger,
backupEntryDelegate: backupEntryDelegate,
}
}
// Reconcile reconciles the update of a BackupEntry.
-func (a *actuator) Reconcile(ctx context.Context, be *extensionsv1alpha1.BackupEntry) error {
- return a.deployEtcdBackupSecret(ctx, be)
+func (a *actuator) Reconcile(ctx context.Context, log logr.Logger, be *extensionsv1alpha1.BackupEntry) error {
+ return a.deployEtcdBackupSecret(ctx, log, be)
}
-func (a *actuator) deployEtcdBackupSecret(ctx context.Context, be *extensionsv1alpha1.BackupEntry) error {
+func (a *actuator) deployEtcdBackupSecret(ctx context.Context, log logr.Logger, be *extensionsv1alpha1.BackupEntry) error {
shootTechnicalID, _ := backupentry.ExtractShootDetailsFromBackupEntryName(be.Name)
+
namespace := &corev1.Namespace{}
if err := a.client.Get(ctx, kutil.Key(shootTechnicalID), namespace); err != nil {
if apierrors.IsNotFound(err) {
- a.logger.Info("SeedNamespace for shoot not found. Avoiding etcd backup secret deployment")
+ log.Info("SeedNamespace for shoot not found. Avoiding etcd backup secret deployment")
return nil
}
- a.logger.Error(err, "Failed to get seed namespace")
+ log.Error(err, "Failed to get seed namespace")
return err
}
if namespace.DeletionTimestamp != nil {
- a.logger.Info("SeedNamespace for shoot is being terminated. Avoiding etcd backup secret deployment")
+ log.Info("SeedNamespace for shoot is being terminated. Avoiding etcd backup secret deployment")
return nil
}
backupSecret, err := kutil.GetSecretByReference(ctx, a.client, &be.Spec.SecretRef)
if err != nil {
- a.logger.Error(err, "Failed to read backup extension secret")
+ log.Error(err, "Failed to read backup extension secret")
return err
}
@@ -90,7 +89,7 @@ func (a *actuator) deployEtcdBackupSecret(ctx context.Context, be *extensionsv1a
backupSecretData = map[string][]byte{}
}
backupSecretData[v1beta1constants.DataKeyBackupBucketName] = []byte(be.Spec.BucketName)
- etcdSecretData, err := a.backupEntryDelegate.GetETCDSecretData(ctx, be, backupSecretData)
+ etcdSecretData, err := a.backupEntryDelegate.GetETCDSecretData(ctx, log, be, backupSecretData)
if err != nil {
return err
}
@@ -105,11 +104,11 @@ func (a *actuator) deployEtcdBackupSecret(ctx context.Context, be *extensionsv1a
}
// Delete deletes the BackupEntry.
-func (a *actuator) Delete(ctx context.Context, be *extensionsv1alpha1.BackupEntry) error {
+func (a *actuator) Delete(ctx context.Context, log logr.Logger, be *extensionsv1alpha1.BackupEntry) error {
if err := a.deleteEtcdBackupSecret(ctx, be.Name); err != nil {
return err
}
- return a.backupEntryDelegate.Delete(ctx, be)
+ return a.backupEntryDelegate.Delete(ctx, log, be)
}
func (a *actuator) deleteEtcdBackupSecret(ctx context.Context, secretName string) error {
@@ -133,11 +132,11 @@ func emptyEtcdBackupSecret(backupEntryName string) *corev1.Secret {
}
// Restore restores the BackupEntry.
-func (a *actuator) Restore(ctx context.Context, be *extensionsv1alpha1.BackupEntry) error {
- return a.Reconcile(ctx, be)
+func (a *actuator) Restore(ctx context.Context, log logr.Logger, be *extensionsv1alpha1.BackupEntry) error {
+ return a.Reconcile(ctx, log, be)
}
// Migrate migrates the BackupEntry.
-func (a *actuator) Migrate(_ context.Context, _ *extensionsv1alpha1.BackupEntry) error {
+func (a *actuator) Migrate(_ context.Context, _ logr.Logger, _ *extensionsv1alpha1.BackupEntry) error {
return nil
}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupentry/genericactuator/types.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupentry/genericactuator/types.go
index 2f27e25cf..d6745ac03 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupentry/genericactuator/types.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupentry/genericactuator/types.go
@@ -17,13 +17,15 @@ package genericactuator
import (
"context"
+ "github.com/go-logr/logr"
+
extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
)
// BackupEntryDelegate preforms provider specific operation with BackupBucket resources.
type BackupEntryDelegate interface {
// Delete deletes the BackupBucket.
- Delete(context.Context, *extensionsv1alpha1.BackupEntry) error
+ Delete(context.Context, logr.Logger, *extensionsv1alpha1.BackupEntry) error
// GetETCDSecretData returns the updated secret data as per provider requirement.
- GetETCDSecretData(context.Context, *extensionsv1alpha1.BackupEntry, map[string][]byte) (map[string][]byte, error)
+ GetETCDSecretData(context.Context, logr.Logger, *extensionsv1alpha1.BackupEntry, map[string][]byte) (map[string][]byte, error)
}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupentry/mapper.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupentry/mapper.go
index 2b2c58630..cd7a74103 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupentry/mapper.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupentry/mapper.go
@@ -18,37 +18,25 @@ import (
"context"
"time"
+ v1beta1constants "github.com/gardener/gardener/pkg/apis/core/v1beta1/constants"
+ extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
+ "github.com/gardener/gardener/pkg/controllerutils/mapper"
+ predicateutils "github.com/gardener/gardener/pkg/controllerutils/predicate"
+
+ "github.com/go-logr/logr"
corev1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/types"
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/predicate"
"sigs.k8s.io/controller-runtime/pkg/reconcile"
-
- v1beta1constants "github.com/gardener/gardener/pkg/apis/core/v1beta1/constants"
- extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
- "github.com/gardener/gardener/pkg/controllerutils/mapper"
- predicateutils "github.com/gardener/gardener/pkg/controllerutils/predicate"
- ctxutils "github.com/gardener/gardener/pkg/utils/context"
)
type secretToBackupEntryMapper struct {
- ctx context.Context
- client client.Client
predicates []predicate.Predicate
}
-func (m *secretToBackupEntryMapper) InjectClient(c client.Client) error {
- m.client = c
- return nil
-}
-
-func (m *secretToBackupEntryMapper) InjectStopChannel(stopCh <-chan struct{}) error {
- m.ctx = ctxutils.FromStopChannel(stopCh)
- return nil
-}
-
-func (m *secretToBackupEntryMapper) Map(obj client.Object) []reconcile.Request {
- ctx, cancel := context.WithTimeout(m.ctx, 5*time.Second)
+func (m *secretToBackupEntryMapper) Map(ctx context.Context, _ logr.Logger, reader client.Reader, obj client.Object) []reconcile.Request {
+ ctx, cancel := context.WithTimeout(ctx, 5*time.Second)
defer cancel()
secret, ok := obj.(*corev1.Secret)
@@ -57,7 +45,7 @@ func (m *secretToBackupEntryMapper) Map(obj client.Object) []reconcile.Request {
}
backupEntryList := &extensionsv1alpha1.BackupEntryList{}
- if err := m.client.List(ctx, backupEntryList); err != nil {
+ if err := reader.List(ctx, backupEntryList); err != nil {
return nil
}
@@ -84,23 +72,11 @@ func SecretToBackupEntryMapper(predicates []predicate.Predicate) mapper.Mapper {
}
type namespaceToBackupEntryMapper struct {
- ctx context.Context
- client client.Client
predicates []predicate.Predicate
}
-func (m *namespaceToBackupEntryMapper) InjectClient(c client.Client) error {
- m.client = c
- return nil
-}
-
-func (m *namespaceToBackupEntryMapper) InjectStopChannel(stopCh <-chan struct{}) error {
- m.ctx = ctxutils.FromStopChannel(stopCh)
- return nil
-}
-
-func (m *namespaceToBackupEntryMapper) Map(obj client.Object) []reconcile.Request {
- ctx, cancel := context.WithTimeout(m.ctx, 5*time.Second)
+func (m *namespaceToBackupEntryMapper) Map(ctx context.Context, _ logr.Logger, reader client.Reader, obj client.Object) []reconcile.Request {
+ ctx, cancel := context.WithTimeout(ctx, 5*time.Second)
defer cancel()
namespace, ok := obj.(*corev1.Namespace)
@@ -109,7 +85,7 @@ func (m *namespaceToBackupEntryMapper) Map(obj client.Object) []reconcile.Reques
}
backupEntryList := &extensionsv1alpha1.BackupEntryList{}
- if err := m.client.List(ctx, backupEntryList); err != nil {
+ if err := reader.List(ctx, backupEntryList); err != nil {
return nil
}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupentry/reconciler.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupentry/reconciler.go
index 26d2bf7d7..92e7f1855 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupentry/reconciler.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/backupentry/reconciler.go
@@ -18,14 +18,6 @@ import (
"context"
"fmt"
- "github.com/go-logr/logr"
- apierrors "k8s.io/apimachinery/pkg/api/errors"
- "sigs.k8s.io/controller-runtime/pkg/client"
- "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
- "sigs.k8s.io/controller-runtime/pkg/log"
- "sigs.k8s.io/controller-runtime/pkg/reconcile"
- "sigs.k8s.io/controller-runtime/pkg/runtime/inject"
-
extensionscontroller "github.com/gardener/gardener/extensions/pkg/controller"
"github.com/gardener/gardener/extensions/pkg/controller/common"
gardencorev1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1"
@@ -35,10 +27,17 @@ import (
"github.com/gardener/gardener/pkg/controllerutils"
reconcilerutils "github.com/gardener/gardener/pkg/controllerutils/reconciler"
kutil "github.com/gardener/gardener/pkg/utils/kubernetes"
+
+ "github.com/go-logr/logr"
+ apierrors "k8s.io/apimachinery/pkg/api/errors"
+ "sigs.k8s.io/controller-runtime/pkg/client"
+ "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
+ logf "sigs.k8s.io/controller-runtime/pkg/log"
+ "sigs.k8s.io/controller-runtime/pkg/reconcile"
+ "sigs.k8s.io/controller-runtime/pkg/runtime/inject"
)
type reconciler struct {
- logger logr.Logger
actuator Actuator
client client.Client
@@ -49,14 +48,11 @@ type reconciler struct {
// NewReconciler creates a new reconcile.Reconciler that reconciles
// backupentry resources of Gardener's `extensions.gardener.cloud` API group.
func NewReconciler(actuator Actuator) reconcile.Reconciler {
- logger := log.Log.WithName(ControllerName)
-
return reconcilerutils.OperationAnnotationWrapper(
func() client.Object { return &extensionsv1alpha1.BackupEntry{} },
&reconciler{
- logger: logger,
actuator: actuator,
- statusUpdater: extensionscontroller.NewStatusUpdater(logger),
+ statusUpdater: extensionscontroller.NewStatusUpdater(),
},
)
}
@@ -77,12 +73,15 @@ func (r *reconciler) InjectAPIReader(reader client.Reader) error {
}
func (r *reconciler) Reconcile(ctx context.Context, request reconcile.Request) (reconcile.Result, error) {
+ log := logf.FromContext(ctx)
+
be := &extensionsv1alpha1.BackupEntry{}
if err := r.client.Get(ctx, request.NamespacedName, be); err != nil {
if apierrors.IsNotFound(err) {
+ log.V(1).Info("Object is gone, stop reconciling")
return reconcile.Result{}, nil
}
- return reconcile.Result{}, err
+ return reconcile.Result{}, fmt.Errorf("error retrieving object from store: %w", err)
}
shootTechnicalID, _ := ExtractShootDetailsFromBackupEntryName(be.Name)
@@ -93,9 +92,8 @@ func (r *reconciler) Reconcile(ctx context.Context, request reconcile.Request) (
return reconcile.Result{}, err
}
- logger := r.logger.WithValues("backupentry", be.Name)
if extensionscontroller.IsFailed(cluster) {
- logger.Info("Skipping the reconciliation of backupentry of failed shoot")
+ log.Info("Skipping the reconciliation of BackupEntry of failed shoot")
return reconcile.Result{}, nil
}
@@ -119,22 +117,33 @@ func (r *reconciler) Reconcile(ctx context.Context, request reconcile.Request) (
case extensionscontroller.ShouldSkipOperation(operationType, be):
return reconcile.Result{}, nil
case operationType == gardencorev1beta1.LastOperationTypeMigrate:
- return r.migrate(ctx, be)
+ return r.migrate(ctx, log, be)
case be.DeletionTimestamp != nil:
- return r.delete(ctx, be)
+ return r.delete(ctx, log, be)
case operationType == gardencorev1beta1.LastOperationTypeRestore:
- return r.restore(ctx, be)
+ return r.restore(ctx, log, be)
default:
- return r.reconcile(ctx, be, operationType)
+ return r.reconcile(ctx, log, be, operationType)
}
}
-func (r *reconciler) reconcile(ctx context.Context, be *extensionsv1alpha1.BackupEntry, operationType gardencorev1beta1.LastOperationType) (reconcile.Result, error) {
- if err := controllerutils.EnsureFinalizer(ctx, r.reader, r.client, be, FinalizerName); err != nil {
- return reconcile.Result{}, err
+func (r *reconciler) reconcile(
+ ctx context.Context,
+ log logr.Logger,
+ be *extensionsv1alpha1.BackupEntry,
+ operationType gardencorev1beta1.LastOperationType,
+) (
+ reconcile.Result,
+ error,
+) {
+ if !controllerutil.ContainsFinalizer(be, FinalizerName) {
+ log.Info("Adding finalizer")
+ if err := controllerutils.AddFinalizers(ctx, r.client, be, FinalizerName); err != nil {
+ return reconcile.Result{}, fmt.Errorf("failed to add finalizer: %w", err)
+ }
}
- if err := r.statusUpdater.Processing(ctx, be, operationType, "Reconciling the backupentry"); err != nil {
+ if err := r.statusUpdater.Processing(ctx, log, be, operationType, "Reconciling the BackupEntry"); err != nil {
return reconcile.Result{}, err
}
@@ -142,29 +151,36 @@ func (r *reconciler) reconcile(ctx context.Context, be *extensionsv1alpha1.Backu
if err != nil {
return reconcile.Result{}, fmt.Errorf("failed to get backup entry secret: %+v", err)
}
- if err := controllerutils.EnsureFinalizer(ctx, r.reader, r.client, secret, FinalizerName); err != nil {
- return reconcile.Result{}, fmt.Errorf("failed to ensure finalizer on backup entry secret: %+v", err)
+
+ if !controllerutil.ContainsFinalizer(secret, FinalizerName) {
+ log.Info("Adding finalizer to secret", "secret", client.ObjectKeyFromObject(secret))
+ if err := controllerutils.AddFinalizers(ctx, r.client, secret, FinalizerName); err != nil {
+ return reconcile.Result{}, fmt.Errorf("failed to add finalizer to secret: %w", err)
+ }
}
- r.logger.Info("Starting the reconciliation of backupentry", "backupentry", kutil.ObjectName(be))
- if err := r.actuator.Reconcile(ctx, be); err != nil {
- _ = r.statusUpdater.Error(ctx, be, reconcilerutils.ReconcileErrCauseOrErr(err), operationType, "Error reconciling backupentry")
+ log.Info("Starting the reconciliation of BackupEntry")
+ if err := r.actuator.Reconcile(ctx, log, be); err != nil {
+ _ = r.statusUpdater.Error(ctx, log, be, reconcilerutils.ReconcileErrCauseOrErr(err), operationType, "Error reconciling BackupEntry")
return reconcilerutils.ReconcileErr(err)
}
- if err := r.statusUpdater.Success(ctx, be, operationType, "Successfully reconciled backupentry"); err != nil {
+ if err := r.statusUpdater.Success(ctx, log, be, operationType, "Successfully reconciled BackupEntry"); err != nil {
return reconcile.Result{}, err
}
return reconcile.Result{}, nil
}
-func (r *reconciler) restore(ctx context.Context, be *extensionsv1alpha1.BackupEntry) (reconcile.Result, error) {
- if err := controllerutils.EnsureFinalizer(ctx, r.reader, r.client, be, FinalizerName); err != nil {
- return reconcile.Result{}, err
+func (r *reconciler) restore(ctx context.Context, log logr.Logger, be *extensionsv1alpha1.BackupEntry) (reconcile.Result, error) {
+ if !controllerutil.ContainsFinalizer(be, FinalizerName) {
+ log.Info("Adding finalizer")
+ if err := controllerutils.AddFinalizers(ctx, r.client, be, FinalizerName); err != nil {
+ return reconcile.Result{}, fmt.Errorf("failed to add finalizer: %w", err)
+ }
}
- if err := r.statusUpdater.Processing(ctx, be, gardencorev1beta1.LastOperationTypeRestore, "Restoring the backupentry"); err != nil {
+ if err := r.statusUpdater.Processing(ctx, log, be, gardencorev1beta1.LastOperationTypeRestore, "Restoring the BackupEntry"); err != nil {
return reconcile.Result{}, err
}
@@ -172,39 +188,43 @@ func (r *reconciler) restore(ctx context.Context, be *extensionsv1alpha1.BackupE
if err != nil {
return reconcile.Result{}, fmt.Errorf("failed to get backup entry secret: %+v", err)
}
- if err := controllerutils.EnsureFinalizer(ctx, r.reader, r.client, secret, FinalizerName); err != nil {
- return reconcile.Result{}, fmt.Errorf("failed to ensure finalizer on backup entry secret: %+v", err)
+
+ if !controllerutil.ContainsFinalizer(secret, FinalizerName) {
+ log.Info("Adding finalizer to secret", "secret", client.ObjectKeyFromObject(secret))
+ if err := controllerutils.AddFinalizers(ctx, r.client, secret, FinalizerName); err != nil {
+ return reconcile.Result{}, fmt.Errorf("failed to add finalizer to secret: %w", err)
+ }
}
- r.logger.Info("Starting the restoration of backupentry", "backupentry", kutil.ObjectName(be))
- if err := r.actuator.Restore(ctx, be); err != nil {
- _ = r.statusUpdater.Error(ctx, be, reconcilerutils.ReconcileErrCauseOrErr(err), gardencorev1beta1.LastOperationTypeRestore, "Error restoring backupentry")
+ log.Info("Starting the restoration of BackupEntry")
+ if err := r.actuator.Restore(ctx, log, be); err != nil {
+ _ = r.statusUpdater.Error(ctx, log, be, reconcilerutils.ReconcileErrCauseOrErr(err), gardencorev1beta1.LastOperationTypeRestore, "Error restoring BackupEntry")
return reconcilerutils.ReconcileErr(err)
}
- if err := r.statusUpdater.Success(ctx, be, gardencorev1beta1.LastOperationTypeRestore, "Successfully restored backupentry"); err != nil {
+ if err := r.statusUpdater.Success(ctx, log, be, gardencorev1beta1.LastOperationTypeRestore, "Successfully restored BackupEntry"); err != nil {
return reconcile.Result{}, err
}
if err := extensionscontroller.RemoveAnnotation(ctx, r.client, be, v1beta1constants.GardenerOperation); err != nil {
- return reconcile.Result{}, fmt.Errorf("failed to remove the annotation from backupentry: %+v", err)
+ return reconcile.Result{}, fmt.Errorf("failed to remove the annotation from BackupEntry: %+v", err)
}
return reconcile.Result{}, nil
}
-func (r *reconciler) delete(ctx context.Context, be *extensionsv1alpha1.BackupEntry) (reconcile.Result, error) {
+func (r *reconciler) delete(ctx context.Context, log logr.Logger, be *extensionsv1alpha1.BackupEntry) (reconcile.Result, error) {
if !controllerutil.ContainsFinalizer(be, FinalizerName) {
- r.logger.Info("Deleting backupentry causes a no-op as there is no finalizer", "backupentry", kutil.ObjectName(be))
+ log.Info("Deleting BackupEntry causes a no-op as there is no finalizer")
return reconcile.Result{}, nil
}
operationType := gardencorev1beta1helper.ComputeOperationType(be.ObjectMeta, be.Status.LastOperation)
- if err := r.statusUpdater.Processing(ctx, be, operationType, "Deleting the backupentry"); err != nil {
+ if err := r.statusUpdater.Processing(ctx, log, be, operationType, "Deleting the BackupEntry"); err != nil {
return reconcile.Result{}, err
}
- r.logger.Info("Starting the deletion of backupentry", "backupentry", kutil.ObjectName(be))
+ log.Info("Starting the deletion of BackupEntry")
secret, err := kutil.GetSecretByReference(ctx, r.client, &be.Spec.SecretRef)
if err != nil {
@@ -212,47 +232,56 @@ func (r *reconciler) delete(ctx context.Context, be *extensionsv1alpha1.BackupEn
return reconcile.Result{}, fmt.Errorf("failed to get backup entry secret: %+v", err)
}
- r.logger.Info("Skipping deletion as referred secret does not exist any more - removing finalizer", "backupentry", kutil.ObjectName(be))
- if err := controllerutils.RemoveFinalizer(ctx, r.reader, r.client, be, FinalizerName); err != nil {
- return reconcile.Result{}, fmt.Errorf("error removing finalizer from backupentry: %+v", err)
+ log.Info("Skipping deletion as referred secret does not exist any more")
+
+ if controllerutil.ContainsFinalizer(be, FinalizerName) {
+ log.Info("Removing finalizer")
+ if err := controllerutils.RemoveFinalizers(ctx, r.client, be, FinalizerName); err != nil {
+ return reconcile.Result{}, fmt.Errorf("failed to remove finalizer: %w", err)
+ }
}
return reconcile.Result{}, nil
}
- if err := r.actuator.Delete(ctx, be); err != nil {
- _ = r.statusUpdater.Error(ctx, be, reconcilerutils.ReconcileErrCauseOrErr(err), operationType, "Error deleting backupentry")
+ if err := r.actuator.Delete(ctx, log, be); err != nil {
+ _ = r.statusUpdater.Error(ctx, log, be, reconcilerutils.ReconcileErrCauseOrErr(err), operationType, "Error deleting BackupEntry")
return reconcilerutils.ReconcileErr(err)
}
- if err := r.statusUpdater.Success(ctx, be, operationType, "Successfully deleted backupentry"); err != nil {
+ if err := r.statusUpdater.Success(ctx, log, be, operationType, "Successfully deleted BackupEntry"); err != nil {
return reconcile.Result{}, err
}
- if err := controllerutils.RemoveFinalizer(ctx, r.reader, r.client, secret, FinalizerName); err != nil {
- return reconcile.Result{}, fmt.Errorf("failed to remove finalizer on backup entry secret: %+v", err)
+ if controllerutil.ContainsFinalizer(secret, FinalizerName) {
+ log.Info("Removing finalizer from secret", "secret", client.ObjectKeyFromObject(secret))
+ if err := controllerutils.RemoveFinalizers(ctx, r.client, secret, FinalizerName); err != nil {
+ return reconcile.Result{}, fmt.Errorf("failed to remove finalizer from secret: %w", err)
+ }
}
- r.logger.Info("Removing finalizer", "backupentry", be.Name)
- if err := controllerutils.RemoveFinalizer(ctx, r.reader, r.client, be, FinalizerName); err != nil {
- return reconcile.Result{}, fmt.Errorf("error removing finalizer from backupentry: %+v", err)
+ if controllerutil.ContainsFinalizer(be, FinalizerName) {
+ log.Info("Removing finalizer")
+ if err := controllerutils.RemoveFinalizers(ctx, r.client, be, FinalizerName); err != nil {
+ return reconcile.Result{}, fmt.Errorf("failed to remove finalizer: %w", err)
+ }
}
return reconcile.Result{}, nil
}
-func (r *reconciler) migrate(ctx context.Context, be *extensionsv1alpha1.BackupEntry) (reconcile.Result, error) {
- if err := r.statusUpdater.Processing(ctx, be, gardencorev1beta1.LastOperationTypeMigrate, "Migrating the backupentry"); err != nil {
+func (r *reconciler) migrate(ctx context.Context, log logr.Logger, be *extensionsv1alpha1.BackupEntry) (reconcile.Result, error) {
+ if err := r.statusUpdater.Processing(ctx, log, be, gardencorev1beta1.LastOperationTypeMigrate, "Migrating the BackupEntry"); err != nil {
return reconcile.Result{}, err
}
- r.logger.Info("Starting the migration of backupentry", "backupentry", kutil.ObjectName(be))
- if err := r.actuator.Migrate(ctx, be); err != nil {
- _ = r.statusUpdater.Error(ctx, be, reconcilerutils.ReconcileErrCauseOrErr(err), gardencorev1beta1.LastOperationTypeMigrate, "Error migrating backupentry")
+ log.Info("Starting the migration of BackupEntry")
+ if err := r.actuator.Migrate(ctx, log, be); err != nil {
+ _ = r.statusUpdater.Error(ctx, log, be, reconcilerutils.ReconcileErrCauseOrErr(err), gardencorev1beta1.LastOperationTypeMigrate, "Error migrating BackupEntry")
return reconcilerutils.ReconcileErr(err)
}
- if err := r.statusUpdater.Success(ctx, be, gardencorev1beta1.LastOperationTypeMigrate, "Successfully migrated backupentry"); err != nil {
+ if err := r.statusUpdater.Success(ctx, log, be, gardencorev1beta1.LastOperationTypeMigrate, "Successfully migrated BackupEntry"); err != nil {
return reconcile.Result{}, err
}
@@ -260,17 +289,21 @@ func (r *reconciler) migrate(ctx context.Context, be *extensionsv1alpha1.BackupE
if err != nil {
return reconcile.Result{}, fmt.Errorf("failed to get backup entry secret: %+v", err)
}
- if err := controllerutils.RemoveFinalizer(ctx, r.reader, r.client, secret, FinalizerName); err != nil {
- return reconcile.Result{}, fmt.Errorf("failed to remove finalizer on backup entry secret: %+v", err)
+
+ if controllerutil.ContainsFinalizer(secret, FinalizerName) {
+ log.Info("Removing finalizer from secret", "secret", client.ObjectKeyFromObject(secret))
+ if err := controllerutils.RemoveFinalizers(ctx, r.client, secret, FinalizerName); err != nil {
+ return reconcile.Result{}, fmt.Errorf("failed to remove finalizer from secret: %w", err)
+ }
}
- r.logger.Info("Removing all finalizers", "backupentry", kutil.ObjectName(be))
- if err := controllerutils.RemoveAllFinalizers(ctx, r.client, r.client, be); err != nil {
- return reconcile.Result{}, fmt.Errorf("error removing all finalizers from backupentry: %+v", err)
+ log.Info("Removing all finalizers")
+ if err := controllerutils.RemoveAllFinalizers(ctx, r.client, be); err != nil {
+ return reconcile.Result{}, fmt.Errorf("error removing all finalizers: %w", err)
}
if err := extensionscontroller.RemoveAnnotation(ctx, r.client, be, v1beta1constants.GardenerOperation); err != nil {
- return reconcile.Result{}, fmt.Errorf("error removing annotation from backupentry: %+v", err)
+ return reconcile.Result{}, fmt.Errorf("error removing annotation from BackupEntry: %+v", err)
}
return reconcile.Result{}, nil
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/bastion/actuator.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/bastion/actuator.go
index 2cb9c03df..32f2b8484 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/bastion/actuator.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/bastion/actuator.go
@@ -18,14 +18,15 @@ import (
"context"
extensionscontroller "github.com/gardener/gardener/extensions/pkg/controller"
-
extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
+
+ "github.com/go-logr/logr"
)
// Actuator acts upon Bastion resources.
type Actuator interface {
// Reconcile reconciles the Bastion.
- Reconcile(context.Context, *extensionsv1alpha1.Bastion, *extensionscontroller.Cluster) error
+ Reconcile(context.Context, logr.Logger, *extensionsv1alpha1.Bastion, *extensionscontroller.Cluster) error
// Delete deletes the Bastion.
- Delete(context.Context, *extensionsv1alpha1.Bastion, *extensionscontroller.Cluster) error
+ Delete(context.Context, logr.Logger, *extensionsv1alpha1.Bastion, *extensionscontroller.Cluster) error
}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/bastion/configvalidator.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/bastion/configvalidator.go
new file mode 100644
index 000000000..b3c131e8d
--- /dev/null
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/bastion/configvalidator.go
@@ -0,0 +1,32 @@
+// Copyright (c) 2022 SAP SE or an SAP affiliate company. All rights reserved. This file is licensed under the Apache Software License, v. 2 except as noted otherwise in the LICENSE file
+//
+// 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 bastion
+
+import (
+ "context"
+
+ extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
+ "github.com/gardener/gardener/pkg/extensions"
+ "k8s.io/apimachinery/pkg/util/validation/field"
+)
+
+// ConfigValidator validates the provider config of bastion resource with the cloud provider.
+type ConfigValidator interface {
+ // Validate validates the provider config of the given bastion and cluster resources used by Bastion.
+ // If the returned error list is non-empty, the reconciliation will fail with an error.
+ // This error will have the error code ERR_CONFIGURATION_PROBLEM, unless there is at least one error in the list
+ // that has its ErrorType field set to field.ErrorTypeInternal.
+ Validate(ctx context.Context, bastion *extensionsv1alpha1.Bastion, cluster *extensions.Cluster) field.ErrorList
+}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/bastion/controller.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/bastion/controller.go
index b29169cad..23518a658 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/bastion/controller.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/bastion/controller.go
@@ -29,13 +29,15 @@ const (
// FinalizerName is the bastion controller finalizer.
FinalizerName = "extensions.gardener.cloud/bastion"
// ControllerName is the name of the controller
- ControllerName = "bastion_controller"
+ ControllerName = "bastion"
)
// AddArgs are arguments for adding a Bastion controller to a manager.
type AddArgs struct {
// Actuator is a Bastion actuator.
Actuator Actuator
+ // ConfigValidator is a bastion config validator.
+ ConfigValidator ConfigValidator
// ControllerOptions are the controller options used for creating a controller.
// The options.Reconciler is always overridden with a reconciler created from the
// given actuator.
@@ -55,7 +57,7 @@ func DefaultPredicates(ignoreOperationAnnotation bool) []predicate.Predicate {
// Add creates a new Bastion Controller and adds it to the Manager.
// and Start it when the Manager is Started.
func Add(mgr manager.Manager, args AddArgs) error {
- args.ControllerOptions.Reconciler = NewReconciler(args.Actuator)
+ args.ControllerOptions.Reconciler = NewReconciler(args.Actuator, args.ConfigValidator)
args.ControllerOptions.RecoverPanic = true
predicates := extensionspredicate.AddTypePredicate(args.Predicates, args.Type)
return add(mgr, args, predicates)
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/bastion/reconciler.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/bastion/reconciler.go
index 03ed49130..9938490cd 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/bastion/reconciler.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/bastion/reconciler.go
@@ -18,26 +18,27 @@ import (
"context"
"fmt"
- "github.com/go-logr/logr"
- apierrors "k8s.io/apimachinery/pkg/api/errors"
- "sigs.k8s.io/controller-runtime/pkg/client"
- "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
- "sigs.k8s.io/controller-runtime/pkg/log"
- "sigs.k8s.io/controller-runtime/pkg/reconcile"
- "sigs.k8s.io/controller-runtime/pkg/runtime/inject"
-
extensionscontroller "github.com/gardener/gardener/extensions/pkg/controller"
gardencorev1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1"
gardencorev1beta1helper "github.com/gardener/gardener/pkg/apis/core/v1beta1/helper"
extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
"github.com/gardener/gardener/pkg/controllerutils"
reconcilerutils "github.com/gardener/gardener/pkg/controllerutils/reconciler"
- kutil "github.com/gardener/gardener/pkg/utils/kubernetes"
+ "github.com/gardener/gardener/pkg/extensions"
+
+ "github.com/go-logr/logr"
+ apierrors "k8s.io/apimachinery/pkg/api/errors"
+ "k8s.io/apimachinery/pkg/util/validation/field"
+ "sigs.k8s.io/controller-runtime/pkg/client"
+ "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
+ logf "sigs.k8s.io/controller-runtime/pkg/log"
+ "sigs.k8s.io/controller-runtime/pkg/reconcile"
+ "sigs.k8s.io/controller-runtime/pkg/runtime/inject"
)
type reconciler struct {
- logger logr.Logger
- actuator Actuator
+ actuator Actuator
+ configValidator ConfigValidator
client client.Client
reader client.Reader
@@ -46,20 +47,23 @@ type reconciler struct {
// NewReconciler creates a new reconcile.Reconciler that reconciles
// bastion resources of Gardener's `extensions.gardener.cloud` API group.
-func NewReconciler(actuator Actuator) reconcile.Reconciler {
- logger := log.Log.WithName(ControllerName)
-
+func NewReconciler(actuator Actuator, configValidator ConfigValidator) reconcile.Reconciler {
return reconcilerutils.OperationAnnotationWrapper(
func() client.Object { return &extensionsv1alpha1.Bastion{} },
&reconciler{
- logger: logger,
- actuator: actuator,
- statusUpdater: extensionscontroller.NewStatusUpdater(logger),
+ actuator: actuator,
+ configValidator: configValidator,
+ statusUpdater: extensionscontroller.NewStatusUpdater(),
},
)
}
func (r *reconciler) InjectFunc(f inject.Func) error {
+ if r.configValidator != nil {
+ if err := f(r.configValidator); err != nil {
+ return err
+ }
+ }
return f(r.actuator)
}
@@ -75,12 +79,15 @@ func (r *reconciler) InjectAPIReader(reader client.Reader) error {
}
func (r *reconciler) Reconcile(ctx context.Context, request reconcile.Request) (reconcile.Result, error) {
+ log := logf.FromContext(ctx)
+
bastion := &extensionsv1alpha1.Bastion{}
if err := r.client.Get(ctx, request.NamespacedName, bastion); err != nil {
if apierrors.IsNotFound(err) {
+ log.V(1).Info("Object is gone, stop reconciling")
return reconcile.Result{}, nil
}
- return reconcile.Result{}, err
+ return reconcile.Result{}, fmt.Errorf("error retrieving object from store: %w", err)
}
cluster, err := extensionscontroller.GetCluster(ctx, r.client, bastion.Namespace)
@@ -92,60 +99,103 @@ func (r *reconciler) Reconcile(ctx context.Context, request reconcile.Request) (
switch {
case bastion.DeletionTimestamp != nil:
- return r.delete(ctx, bastion, cluster)
+ return r.delete(ctx, log, bastion, cluster)
default:
- return r.reconcile(ctx, bastion, cluster, operationType)
+ return r.reconcile(ctx, log, bastion, cluster, operationType)
}
}
-func (r *reconciler) reconcile(ctx context.Context, bastion *extensionsv1alpha1.Bastion, cluster *extensionscontroller.Cluster, operationType gardencorev1beta1.LastOperationType) (reconcile.Result, error) {
- if err := controllerutils.EnsureFinalizer(ctx, r.reader, r.client, bastion, FinalizerName); err != nil {
+func (r *reconciler) reconcile(
+ ctx context.Context,
+ log logr.Logger,
+ bastion *extensionsv1alpha1.Bastion,
+ cluster *extensionscontroller.Cluster,
+ operationType gardencorev1beta1.LastOperationType,
+) (
+ reconcile.Result,
+ error,
+) {
+ if !controllerutil.ContainsFinalizer(bastion, FinalizerName) {
+ log.Info("Adding finalizer")
+ if err := controllerutils.AddFinalizers(ctx, r.client, bastion, FinalizerName); err != nil {
+ return reconcile.Result{}, fmt.Errorf("failed to add finalizer: %w", err)
+ }
+ }
+
+ if err := r.statusUpdater.Processing(ctx, log, bastion, operationType, "Reconciling the Bastion"); err != nil {
return reconcile.Result{}, err
}
- if err := r.statusUpdater.Processing(ctx, bastion, operationType, "Reconciling the bastion"); err != nil {
+ if err := r.validateConfig(ctx, bastion, cluster); err != nil {
+ _ = r.statusUpdater.Error(ctx, log, bastion, err, operationType, "Error checking bastion config")
return reconcile.Result{}, err
}
- r.logger.Info("Starting the reconciliation of bastion", "bastion", kutil.ObjectName(bastion))
- if err := r.actuator.Reconcile(ctx, bastion, cluster); err != nil {
- _ = r.statusUpdater.Error(ctx, bastion, reconcilerutils.ReconcileErrCauseOrErr(err), operationType, "Error reconciling bastion")
+ log.Info("Starting the reconciliation of Bastion")
+ if err := r.actuator.Reconcile(ctx, log, bastion, cluster); err != nil {
+ _ = r.statusUpdater.Error(ctx, log, bastion, reconcilerutils.ReconcileErrCauseOrErr(err), operationType, "Error reconciling Bastion")
return reconcilerutils.ReconcileErr(err)
}
- if err := r.statusUpdater.Success(ctx, bastion, operationType, "Successfully reconciled bastion"); err != nil {
+ if err := r.statusUpdater.Success(ctx, log, bastion, operationType, "Successfully reconciled Bastion"); err != nil {
return reconcile.Result{}, err
}
return reconcile.Result{}, nil
}
-func (r *reconciler) delete(ctx context.Context, bastion *extensionsv1alpha1.Bastion, cluster *extensionscontroller.Cluster) (reconcile.Result, error) {
+func (r *reconciler) delete(
+ ctx context.Context,
+ log logr.Logger,
+ bastion *extensionsv1alpha1.Bastion,
+ cluster *extensionscontroller.Cluster,
+) (
+ reconcile.Result,
+ error,
+) {
if !controllerutil.ContainsFinalizer(bastion, FinalizerName) {
- r.logger.Info("Deleting bastion causes a no-op as there is no finalizer", "bastion", kutil.ObjectName(bastion))
+ log.Info("Deleting Bastion causes a no-op as there is no finalizer")
return reconcile.Result{}, nil
}
operationType := gardencorev1beta1helper.ComputeOperationType(bastion.ObjectMeta, bastion.Status.LastOperation)
- if err := r.statusUpdater.Processing(ctx, bastion, operationType, "Deleting the bastion"); err != nil {
+ if err := r.statusUpdater.Processing(ctx, log, bastion, operationType, "Deleting the Bastion"); err != nil {
return reconcile.Result{}, err
}
- r.logger.Info("Starting the deletion of bastion", "bastion", kutil.ObjectName(bastion))
+ log.Info("Starting the deletion of Bastion")
- if err := r.actuator.Delete(ctx, bastion, cluster); err != nil {
- _ = r.statusUpdater.Error(ctx, bastion, reconcilerutils.ReconcileErrCauseOrErr(err), operationType, "Error deleting bastion")
+ if err := r.actuator.Delete(ctx, log, bastion, cluster); err != nil {
+ _ = r.statusUpdater.Error(ctx, log, bastion, reconcilerutils.ReconcileErrCauseOrErr(err), operationType, "Error deleting Bastion")
return reconcilerutils.ReconcileErr(err)
}
- if err := r.statusUpdater.Success(ctx, bastion, operationType, "Successfully reconciled bastion"); err != nil {
+ if err := r.statusUpdater.Success(ctx, log, bastion, operationType, "Successfully reconciled Bastion"); err != nil {
return reconcile.Result{}, err
}
- r.logger.Info("Removing finalizer", "bastion", kutil.ObjectName(bastion))
- if err := controllerutils.RemoveFinalizer(ctx, r.reader, r.client, bastion, FinalizerName); err != nil {
- return reconcile.Result{}, fmt.Errorf("error removing finalizer from bastion: %+v", err)
+ if controllerutil.ContainsFinalizer(bastion, FinalizerName) {
+ log.Info("Removing finalizer")
+ if err := controllerutils.RemoveFinalizers(ctx, r.client, bastion, FinalizerName); err != nil {
+ return reconcile.Result{}, fmt.Errorf("failed to remove finalizer: %w", err)
+ }
}
return reconcile.Result{}, nil
}
+
+func (r *reconciler) validateConfig(ctx context.Context, bastion *extensionsv1alpha1.Bastion, cluster *extensions.Cluster) error {
+ if r.configValidator == nil {
+ return nil
+ }
+
+ if allErrs := r.configValidator.Validate(ctx, bastion, cluster); len(allErrs) > 0 {
+ if filteredErrs := allErrs.Filter(field.NewErrorTypeMatcher(field.ErrorTypeInternal)); len(filteredErrs) < len(allErrs) {
+ return allErrs.ToAggregate()
+ }
+
+ return gardencorev1beta1helper.NewErrorWithCodes(allErrs.ToAggregate(), gardencorev1beta1.ErrorConfigurationProblem)
+ }
+
+ return nil
+}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/cmd/options.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/cmd/options.go
index 8b6132f41..42ed1d6d7 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/cmd/options.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/cmd/options.go
@@ -202,7 +202,7 @@ func (m *ManagerOptions) AddFlags(fs *pflag.FlagSet) {
fs.BoolVar(&m.LeaderElection, LeaderElectionFlag, m.LeaderElection, "Whether to use leader election or not when running this controller manager.")
fs.StringVar(&m.LeaderElectionResourceLock, LeaderElectionResourceLockFlag, defaultLeaderElectionResourceLock, "Which resource type to use for leader election. "+
- "Supported options are 'endpoints', 'configmaps', 'leases', 'endpointsleases' and 'configmapsleases'.")
+ "Supported options are 'leases', 'endpointsleases' and 'configmapsleases'.")
fs.StringVar(&m.LeaderElectionID, LeaderElectionIDFlag, m.LeaderElectionID, "The leader election id to use.")
fs.StringVar(&m.LeaderElectionNamespace, LeaderElectionNamespaceFlag, m.LeaderElectionNamespace, "The namespace to do leader election in.")
fs.StringVar(&m.WebhookServerHost, WebhookServerHostFlag, m.WebhookServerHost, "The webhook server host.")
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/controlplane/actuator.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/controlplane/actuator.go
index 45fced459..b8eacea3e 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/controlplane/actuator.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/controlplane/actuator.go
@@ -18,18 +18,19 @@ import (
"context"
extensionscontroller "github.com/gardener/gardener/extensions/pkg/controller"
-
extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
+
+ "github.com/go-logr/logr"
)
// Actuator acts upon ControlPlane resources.
type Actuator interface {
// Reconcile reconciles the ControlPlane.
- Reconcile(context.Context, *extensionsv1alpha1.ControlPlane, *extensionscontroller.Cluster) (bool, error)
+ Reconcile(context.Context, logr.Logger, *extensionsv1alpha1.ControlPlane, *extensionscontroller.Cluster) (bool, error)
// Delete deletes the ControlPlane.
- Delete(context.Context, *extensionsv1alpha1.ControlPlane, *extensionscontroller.Cluster) error
+ Delete(context.Context, logr.Logger, *extensionsv1alpha1.ControlPlane, *extensionscontroller.Cluster) error
// Restore restores the ControlPlane.
- Restore(context.Context, *extensionsv1alpha1.ControlPlane, *extensionscontroller.Cluster) (bool, error)
+ Restore(context.Context, logr.Logger, *extensionsv1alpha1.ControlPlane, *extensionscontroller.Cluster) (bool, error)
// Migrate migrates the ControlPlane.
- Migrate(context.Context, *extensionsv1alpha1.ControlPlane, *extensionscontroller.Cluster) error
+ Migrate(context.Context, logr.Logger, *extensionsv1alpha1.ControlPlane, *extensionscontroller.Cluster) error
}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/controlplane/controller.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/controlplane/controller.go
index 2102858f5..6a2965978 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/controlplane/controller.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/controlplane/controller.go
@@ -30,7 +30,7 @@ const (
// FinalizerName is the controlplane controller finalizer.
FinalizerName = "extensions.gardener.cloud/controlplane"
// ControllerName is the name of the controller
- ControllerName = "controlplane_controller"
+ ControllerName = "controlplane"
)
// AddArgs are arguments for adding an controlplane controller to a manager.
@@ -72,7 +72,7 @@ func Add(mgr manager.Manager, args AddArgs) error {
if args.IgnoreOperationAnnotation {
if err := ctrl.Watch(
&source.Kind{Type: &extensionsv1alpha1.Cluster{}},
- mapper.EnqueueRequestsFrom(ClusterToControlPlaneMapper(predicates), mapper.UpdateWithNew),
+ mapper.EnqueueRequestsFrom(ClusterToControlPlaneMapper(predicates), mapper.UpdateWithNew, ctrl.GetLogger()),
); err != nil {
return err
}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/controlplane/genericactuator/actuator.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/controlplane/genericactuator/actuator.go
index 3903a95e6..b134209de 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/controlplane/genericactuator/actuator.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/controlplane/genericactuator/actuator.go
@@ -76,7 +76,6 @@ func NewActuator(
configName string,
atomicShootWebhookConfig *atomic.Value,
webhookServerPort int,
- logger logr.Logger,
) controlplane.Actuator {
return &actuator{
providerName: providerName,
@@ -99,7 +98,6 @@ func NewActuator(
configName: configName,
atomicShootWebhookConfig: atomicShootWebhookConfig,
webhookServerPort: webhookServerPort,
- logger: logger.WithName("controlplane-actuator"),
newSecretsManager: extensionssecretsmanager.SecretsManagerForCluster,
}
@@ -133,7 +131,6 @@ type actuator struct {
gardenerClientset gardenerkubernetes.Interface
chartApplier gardenerkubernetes.ChartApplier
client client.Client
- logger logr.Logger
newSecretsManager newSecretsManagerFunc
}
@@ -182,17 +179,19 @@ func ShootWebhookNamespaceSelector(providerType string) map[string]string {
// control plane components as needed.
func (a *actuator) Reconcile(
ctx context.Context,
+ log logr.Logger,
cp *extensionsv1alpha1.ControlPlane,
cluster *extensionscontroller.Cluster,
) (bool, error) {
if cp.Spec.Purpose != nil && *cp.Spec.Purpose == extensionsv1alpha1.Exposure {
- return a.reconcileControlPlaneExposure(ctx, cp, cluster)
+ return a.reconcileControlPlaneExposure(ctx, log, cp, cluster)
}
- return a.reconcileControlPlane(ctx, cp, cluster)
+ return a.reconcileControlPlane(ctx, log, cp, cluster)
}
func (a *actuator) reconcileControlPlaneExposure(
ctx context.Context,
+ log logr.Logger,
cp *extensionsv1alpha1.ControlPlane,
cluster *extensionscontroller.Cluster,
) (bool, error) {
@@ -205,13 +204,13 @@ func (a *actuator) reconcileControlPlaneExposure(
secretConfigs = a.exposureSecretConfigsFunc(cp.Namespace)
}
- sm, err := a.newSecretsManagerForControlPlane(ctx, cp, cluster, secretConfigs)
+ sm, err := a.newSecretsManagerForControlPlane(ctx, log, cp, cluster, secretConfigs)
if err != nil {
return false, fmt.Errorf("failed to create secrets manager for ControlPlane: %w", err)
}
// Deploy secrets managed by secretsmanager
- a.logger.Info("Deploying control plane exposure secrets", "controlplane", kutil.ObjectName(cp))
+ log.Info("Deploying control plane exposure secrets")
deployedSecrets, err := extensionssecretsmanager.GenerateAllSecrets(ctx, sm, secretConfigs)
if err != nil {
return false, fmt.Errorf("could not deploy control plane exposure secrets for controlplane '%s': %w", kutil.ObjectName(cp), err)
@@ -236,7 +235,7 @@ func (a *actuator) reconcileControlPlaneExposure(
}
// Apply control plane exposure chart
- a.logger.Info("Applying control plane exposure chart", "controlplaneexposure", kutil.ObjectName(cp), "values", values)
+ log.Info("Applying control plane exposure chart", "values", values)
version := cluster.Shoot.Spec.Kubernetes.Version
if err := a.controlPlaneExposureChart.Apply(ctx, a.chartApplier, cp.Namespace, a.imageVector, a.gardenerClientset.Version(), version, values); err != nil {
return false, fmt.Errorf("could not apply control plane exposure chart for controlplane '%s': %w", kutil.ObjectName(cp), err)
@@ -249,6 +248,7 @@ func (a *actuator) reconcileControlPlaneExposure(
// control plane components as needed.
func (a *actuator) reconcileControlPlane(
ctx context.Context,
+ log logr.Logger,
cp *extensionsv1alpha1.ControlPlane,
cluster *extensionscontroller.Cluster,
) (
@@ -272,13 +272,13 @@ func (a *actuator) reconcileControlPlane(
secretConfigs = a.secretConfigsFunc(cp.Namespace)
}
- sm, err := a.newSecretsManagerForControlPlane(ctx, cp, cluster, secretConfigs)
+ sm, err := a.newSecretsManagerForControlPlane(ctx, log, cp, cluster, secretConfigs)
if err != nil {
return false, fmt.Errorf("failed to create secrets manager for ControlPlane: %w", err)
}
// Deploy secrets managed by secretsmanager
- a.logger.Info("Deploying secrets", "controlplane", kutil.ObjectName(cp))
+ log.Info("Deploying secrets")
deployedSecrets, err := extensionssecretsmanager.GenerateAllSecrets(ctx, sm, secretConfigs)
if err != nil {
return false, fmt.Errorf("could not deploy secrets for controlplane '%s': %w", kutil.ObjectName(cp), err)
@@ -301,7 +301,7 @@ func (a *actuator) reconcileControlPlane(
}
// Apply config chart
- a.logger.Info("Applying configuration chart", "controlplane", kutil.ObjectName(cp))
+ log.Info("Applying configuration chart")
if err := a.configChart.Apply(ctx, a.chartApplier, cp.Namespace, nil, "", "", values); err != nil {
return false, fmt.Errorf("could not apply configuration chart for controlplane '%s': %w", kutil.ObjectName(cp), err)
}
@@ -347,7 +347,7 @@ func (a *actuator) reconcileControlPlane(
return false, err
}
- a.logger.Info("Applying control plane chart", "controlplane", kutil.ObjectName(cp))
+ log.Info("Applying control plane chart")
if err := a.controlPlaneChart.Apply(ctx, a.chartApplier, cp.Namespace, a.imageVector, a.gardenerClientset.Version(), version, values); err != nil {
return false, fmt.Errorf("could not apply control plane chart for controlplane '%s': %w", kutil.ObjectName(cp), err)
}
@@ -402,30 +402,32 @@ func (a *actuator) reconcileControlPlane(
// control plane components as needed.
func (a *actuator) Delete(
ctx context.Context,
+ log logr.Logger,
cp *extensionsv1alpha1.ControlPlane,
cluster *extensionscontroller.Cluster,
) error {
if cp.Spec.Purpose != nil && *cp.Spec.Purpose == extensionsv1alpha1.Exposure {
- return a.deleteControlPlaneExposure(ctx, cp, cluster)
+ return a.deleteControlPlaneExposure(ctx, log, cp, cluster)
}
- return a.deleteControlPlane(ctx, cp, cluster)
+ return a.deleteControlPlane(ctx, log, cp, cluster)
}
// deleteControlPlaneExposure reconciles the given controlplane and cluster, deleting the additional Seed
// control plane components as needed.
func (a *actuator) deleteControlPlaneExposure(
ctx context.Context,
+ log logr.Logger,
cp *extensionsv1alpha1.ControlPlane,
cluster *extensionscontroller.Cluster,
) error {
- sm, err := a.newSecretsManagerForControlPlane(ctx, cp, cluster, nil)
+ sm, err := a.newSecretsManagerForControlPlane(ctx, log, cp, cluster, nil)
if err != nil {
return fmt.Errorf("failed to create secrets manager for ControlPlane: %w", err)
}
// Delete control plane objects
if a.controlPlaneExposureChart != nil {
- a.logger.Info("Deleting control plane exposure with objects", "controlplane", kutil.ObjectName(cp))
+ log.Info("Deleting control plane exposure with objects")
if err := a.controlPlaneExposureChart.Delete(ctx, a.client, cp.Namespace); client.IgnoreNotFound(err) != nil {
return fmt.Errorf("could not delete control plane exposure objects for controlplane '%s': %w", kutil.ObjectName(cp), err)
}
@@ -446,10 +448,11 @@ func (a *actuator) deleteControlPlaneExposure(
// control plane components as needed.
func (a *actuator) deleteControlPlane(
ctx context.Context,
+ log logr.Logger,
cp *extensionsv1alpha1.ControlPlane,
cluster *extensionscontroller.Cluster,
) error {
- sm, err := a.newSecretsManagerForControlPlane(ctx, cp, cluster, nil)
+ sm, err := a.newSecretsManagerForControlPlane(ctx, log, cp, cluster, nil)
if err != nil {
return fmt.Errorf("failed to create secrets manager for ControlPlane: %w", err)
}
@@ -488,7 +491,7 @@ func (a *actuator) deleteControlPlane(
// Delete control plane objects
if a.controlPlaneChart != nil {
- a.logger.Info("Deleting control plane objects", "controlplane", kutil.ObjectName(cp))
+ log.Info("Deleting control plane objects")
if err := a.controlPlaneChart.Delete(ctx, a.client, cp.Namespace); client.IgnoreNotFound(err) != nil {
return fmt.Errorf("could not delete control plane objects for controlplane '%s': %w", kutil.ObjectName(cp), err)
}
@@ -496,7 +499,7 @@ func (a *actuator) deleteControlPlane(
if a.configChart != nil {
// Delete config objects
- a.logger.Info("Deleting configuration objects", "controlplane", kutil.ObjectName(cp))
+ log.Info("Deleting configuration objects")
if err := a.configChart.Delete(ctx, a.client, cp.Namespace); client.IgnoreNotFound(err) != nil {
return fmt.Errorf("could not delete configuration objects for controlplane '%s': %w", kutil.ObjectName(cp), err)
}
@@ -566,16 +569,21 @@ func (a *actuator) computeChecksums(
// control plane components as needed.
func (a *actuator) Restore(
ctx context.Context,
+ log logr.Logger,
cp *extensionsv1alpha1.ControlPlane,
cluster *extensionscontroller.Cluster,
-) (bool, error) {
- return a.Reconcile(ctx, cp, cluster)
+) (
+ bool,
+ error,
+) {
+ return a.Reconcile(ctx, log, cp, cluster)
}
// Migrate reconciles the given controlplane and cluster, deleting the additional
// control plane components as needed.
func (a *actuator) Migrate(
ctx context.Context,
+ log logr.Logger,
cp *extensionsv1alpha1.ControlPlane,
cluster *extensionscontroller.Cluster,
) error {
@@ -592,14 +600,14 @@ func (a *actuator) Migrate(
return fmt.Errorf("could not keep objects of managed resource containing storage classes chart for controlplane '%s': %w", kutil.ObjectName(cp), err)
}
- return a.Delete(ctx, cp, cluster)
+ return a.Delete(ctx, log, cp, cluster)
}
-func (a *actuator) newSecretsManagerForControlPlane(ctx context.Context, cp *extensionsv1alpha1.ControlPlane, cluster *extensionscontroller.Cluster, secretConfigs []extensionssecretsmanager.SecretConfigWithOptions) (secretsmanager.Interface, error) {
+func (a *actuator) newSecretsManagerForControlPlane(ctx context.Context, log logr.Logger, cp *extensionsv1alpha1.ControlPlane, cluster *extensionscontroller.Cluster, secretConfigs []extensionssecretsmanager.SecretConfigWithOptions) (secretsmanager.Interface, error) {
identity := a.providerName + "-controlplane"
if purpose := cp.Spec.Purpose; purpose != nil && *purpose != extensionsv1alpha1.Normal {
identity += "-" + string(*purpose)
}
- return a.newSecretsManager(ctx, a.logger.WithName("secretsmanager"), clock.RealClock{}, a.client, cluster, identity, secretConfigs)
+ return a.newSecretsManager(ctx, log.WithName("secretsmanager"), clock.RealClock{}, a.client, cluster, identity, secretConfigs)
}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/controlplane/reconciler.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/controlplane/reconciler.go
index 21c6b5e39..8a6d74455 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/controlplane/reconciler.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/controlplane/reconciler.go
@@ -19,14 +19,6 @@ import (
"fmt"
"time"
- "github.com/go-logr/logr"
- "k8s.io/apimachinery/pkg/api/errors"
- "sigs.k8s.io/controller-runtime/pkg/client"
- "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
- "sigs.k8s.io/controller-runtime/pkg/log"
- "sigs.k8s.io/controller-runtime/pkg/reconcile"
- "sigs.k8s.io/controller-runtime/pkg/runtime/inject"
-
extensionscontroller "github.com/gardener/gardener/extensions/pkg/controller"
"github.com/gardener/gardener/extensions/pkg/controller/common"
gardencorev1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1"
@@ -36,15 +28,21 @@ import (
"github.com/gardener/gardener/pkg/controllerutils"
reconcilerutils "github.com/gardener/gardener/pkg/controllerutils/reconciler"
kutil "github.com/gardener/gardener/pkg/utils/kubernetes"
+
+ "github.com/go-logr/logr"
+ apierrors "k8s.io/apimachinery/pkg/api/errors"
+ "sigs.k8s.io/controller-runtime/pkg/client"
+ "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
+ logf "sigs.k8s.io/controller-runtime/pkg/log"
+ "sigs.k8s.io/controller-runtime/pkg/reconcile"
+ "sigs.k8s.io/controller-runtime/pkg/runtime/inject"
)
// RequeueAfter is the duration to requeue a controlplane reconciliation if indicated by the actuator.
const RequeueAfter = 2 * time.Second
type reconciler struct {
- logger logr.Logger
- actuator Actuator
-
+ actuator Actuator
client client.Client
reader client.Reader
statusUpdater extensionscontroller.StatusUpdater
@@ -53,14 +51,11 @@ type reconciler struct {
// NewReconciler creates a new reconcile.Reconciler that reconciles
// controlplane resources of Gardener's `extensions.gardener.cloud` API group.
func NewReconciler(actuator Actuator) reconcile.Reconciler {
- logger := log.Log.WithName(ControllerName)
-
return reconcilerutils.OperationAnnotationWrapper(
func() client.Object { return &extensionsv1alpha1.ControlPlane{} },
&reconciler{
- logger: logger,
actuator: actuator,
- statusUpdater: extensionscontroller.NewStatusUpdater(logger),
+ statusUpdater: extensionscontroller.NewStatusUpdater(),
},
)
}
@@ -81,12 +76,15 @@ func (r *reconciler) InjectAPIReader(reader client.Reader) error {
}
func (r *reconciler) Reconcile(ctx context.Context, request reconcile.Request) (reconcile.Result, error) {
+ log := logf.FromContext(ctx)
+
cp := &extensionsv1alpha1.ControlPlane{}
if err := r.client.Get(ctx, request.NamespacedName, cp); err != nil {
- if errors.IsNotFound(err) {
+ if apierrors.IsNotFound(err) {
+ log.V(1).Info("Object is gone, stop reconciling")
return reconcile.Result{}, nil
}
- return reconcile.Result{}, err
+ return reconcile.Result{}, fmt.Errorf("error retrieving object from store: %w", err)
}
cluster, err := extensionscontroller.GetCluster(ctx, r.client, cp.Namespace)
@@ -94,9 +92,8 @@ func (r *reconciler) Reconcile(ctx context.Context, request reconcile.Request) (
return reconcile.Result{}, err
}
- logger := r.logger.WithValues("controlplane", kutil.ObjectName(cp))
if extensionscontroller.IsFailed(cluster) {
- logger.Info("Skipping the reconciliation of controlplane of failed shoot")
+ log.Info("Skipping the reconciliation of ControlPlane of failed shoot")
return reconcile.Result{}, nil
}
@@ -120,33 +117,45 @@ func (r *reconciler) Reconcile(ctx context.Context, request reconcile.Request) (
case extensionscontroller.ShouldSkipOperation(operationType, cp):
return reconcile.Result{}, nil
case operationType == gardencorev1beta1.LastOperationTypeMigrate:
- return r.migrate(ctx, cp, cluster)
+ return r.migrate(ctx, log, cp, cluster)
case cp.DeletionTimestamp != nil:
- return r.delete(ctx, cp, cluster)
+ return r.delete(ctx, log, cp, cluster)
case operationType == gardencorev1beta1.LastOperationTypeRestore:
- return r.restore(ctx, cp, cluster)
+ return r.restore(ctx, log, cp, cluster)
default:
- return r.reconcile(ctx, cp, cluster, operationType)
+ return r.reconcile(ctx, log, cp, cluster, operationType)
}
}
-func (r *reconciler) reconcile(ctx context.Context, cp *extensionsv1alpha1.ControlPlane, cluster *extensionscontroller.Cluster, operationType gardencorev1beta1.LastOperationType) (reconcile.Result, error) {
- if err := controllerutils.EnsureFinalizer(ctx, r.reader, r.client, cp, FinalizerName); err != nil {
- return reconcile.Result{}, err
+func (r *reconciler) reconcile(
+ ctx context.Context,
+ log logr.Logger,
+ cp *extensionsv1alpha1.ControlPlane,
+ cluster *extensionscontroller.Cluster,
+ operationType gardencorev1beta1.LastOperationType,
+) (
+ reconcile.Result,
+ error,
+) {
+ if !controllerutil.ContainsFinalizer(cp, FinalizerName) {
+ log.Info("Adding finalizer")
+ if err := controllerutils.AddFinalizers(ctx, r.client, cp, FinalizerName); err != nil {
+ return reconcile.Result{}, fmt.Errorf("failed to add finalizer: %w", err)
+ }
}
- if err := r.statusUpdater.Processing(ctx, cp, operationType, "Reconciling the controlplane"); err != nil {
+ if err := r.statusUpdater.Processing(ctx, log, cp, operationType, "Reconciling the ControlPlane"); err != nil {
return reconcile.Result{}, err
}
- r.logger.Info("Starting the reconciliation of controlplane", "controlplane", kutil.ObjectName(cp))
- requeue, err := r.actuator.Reconcile(ctx, cp, cluster)
+ log.Info("Starting the reconciliation of ControlPlane")
+ requeue, err := r.actuator.Reconcile(ctx, log, cp, cluster)
if err != nil {
- _ = r.statusUpdater.Error(ctx, cp, reconcilerutils.ReconcileErrCauseOrErr(err), operationType, "Error reconciling controlplane")
+ _ = r.statusUpdater.Error(ctx, log, cp, reconcilerutils.ReconcileErrCauseOrErr(err), operationType, "Error reconciling ControlPlane")
return reconcilerutils.ReconcileErr(err)
}
- if err := r.statusUpdater.Success(ctx, cp, operationType, "Successfully reconciled controlplane"); err != nil {
+ if err := r.statusUpdater.Success(ctx, log, cp, operationType, "Successfully reconciled ControlPlane"); err != nil {
return reconcile.Result{}, err
}
@@ -156,23 +165,34 @@ func (r *reconciler) reconcile(ctx context.Context, cp *extensionsv1alpha1.Contr
return reconcile.Result{}, nil
}
-func (r *reconciler) restore(ctx context.Context, cp *extensionsv1alpha1.ControlPlane, cluster *extensionscontroller.Cluster) (reconcile.Result, error) {
- if err := controllerutils.EnsureFinalizer(ctx, r.reader, r.client, cp, FinalizerName); err != nil {
- return reconcile.Result{}, err
+func (r *reconciler) restore(
+ ctx context.Context,
+ log logr.Logger,
+ cp *extensionsv1alpha1.ControlPlane,
+ cluster *extensionscontroller.Cluster,
+) (
+ reconcile.Result,
+ error,
+) {
+ if !controllerutil.ContainsFinalizer(cp, FinalizerName) {
+ log.Info("Adding finalizer")
+ if err := controllerutils.AddFinalizers(ctx, r.client, cp, FinalizerName); err != nil {
+ return reconcile.Result{}, fmt.Errorf("failed to add finalizer: %w", err)
+ }
}
- if err := r.statusUpdater.Processing(ctx, cp, gardencorev1beta1.LastOperationTypeRestore, "Restoring the controlplane"); err != nil {
+ if err := r.statusUpdater.Processing(ctx, log, cp, gardencorev1beta1.LastOperationTypeRestore, "Restoring the ControlPlane"); err != nil {
return reconcile.Result{}, err
}
- r.logger.Info("Starting the restoration of controlplane", "controlplane", kutil.ObjectName(cp))
- requeue, err := r.actuator.Restore(ctx, cp, cluster)
+ log.Info("Starting the restoration of ControlPlane")
+ requeue, err := r.actuator.Restore(ctx, log, cp, cluster)
if err != nil {
- _ = r.statusUpdater.Error(ctx, cp, reconcilerutils.ReconcileErrCauseOrErr(err), gardencorev1beta1.LastOperationTypeRestore, "Error restoring controlplane")
+ _ = r.statusUpdater.Error(ctx, log, cp, reconcilerutils.ReconcileErrCauseOrErr(err), gardencorev1beta1.LastOperationTypeRestore, "Error restoring ControlPlane")
return reconcilerutils.ReconcileErr(err)
}
- if err := r.statusUpdater.Success(ctx, cp, gardencorev1beta1.LastOperationTypeRestore, "Successfully restored controlplane"); err != nil {
+ if err := r.statusUpdater.Success(ctx, log, cp, gardencorev1beta1.LastOperationTypeRestore, "Successfully restored ControlPlane"); err != nil {
return reconcile.Result{}, err
}
@@ -181,63 +201,81 @@ func (r *reconciler) restore(ctx context.Context, cp *extensionsv1alpha1.Control
}
if err := extensionscontroller.RemoveAnnotation(ctx, r.client, cp, v1beta1constants.GardenerOperation); err != nil {
- return reconcile.Result{}, fmt.Errorf("error removing annotation from controlplane: %+v", err)
+ return reconcile.Result{}, fmt.Errorf("error removing annotation from ControlPlane: %+v", err)
}
return reconcile.Result{}, nil
}
-func (r *reconciler) migrate(ctx context.Context, cp *extensionsv1alpha1.ControlPlane, cluster *extensionscontroller.Cluster) (reconcile.Result, error) {
- if err := r.statusUpdater.Processing(ctx, cp, gardencorev1beta1.LastOperationTypeMigrate, "Migrating the controlplane"); err != nil {
+func (r *reconciler) migrate(
+ ctx context.Context,
+ log logr.Logger,
+ cp *extensionsv1alpha1.ControlPlane,
+ cluster *extensionscontroller.Cluster,
+) (
+ reconcile.Result,
+ error,
+) {
+ if err := r.statusUpdater.Processing(ctx, log, cp, gardencorev1beta1.LastOperationTypeMigrate, "Migrating the ControlPlane"); err != nil {
return reconcile.Result{}, err
}
- r.logger.Info("Starting the migration of controlplane", "controlplane", kutil.ObjectName(cp))
- if err := r.actuator.Migrate(ctx, cp, cluster); err != nil {
- _ = r.statusUpdater.Error(ctx, cp, reconcilerutils.ReconcileErrCauseOrErr(err), gardencorev1beta1.LastOperationTypeMigrate, "Error migrating controlplane")
+ log.Info("Starting the migration of ControlPlane")
+ if err := r.actuator.Migrate(ctx, log, cp, cluster); err != nil {
+ _ = r.statusUpdater.Error(ctx, log, cp, reconcilerutils.ReconcileErrCauseOrErr(err), gardencorev1beta1.LastOperationTypeMigrate, "Error migrating ControlPlane")
return reconcilerutils.ReconcileErr(err)
}
- if err := r.statusUpdater.Success(ctx, cp, gardencorev1beta1.LastOperationTypeMigrate, "Successfully migrated controlplane"); err != nil {
+ if err := r.statusUpdater.Success(ctx, log, cp, gardencorev1beta1.LastOperationTypeMigrate, "Successfully migrated ControlPlane"); err != nil {
return reconcile.Result{}, err
}
- r.logger.Info("Removing all finalizers", "controlplane", kutil.ObjectName(cp))
- if err := controllerutils.RemoveAllFinalizers(ctx, r.client, r.client, cp); err != nil {
- return reconcile.Result{}, fmt.Errorf("error removing finalizers from controlplane: %+v", err)
+ log.Info("Removing all finalizers")
+ if err := controllerutils.RemoveAllFinalizers(ctx, r.client, cp); err != nil {
+ return reconcile.Result{}, fmt.Errorf("error removing finalizers: %w", err)
}
if err := extensionscontroller.RemoveAnnotation(ctx, r.client, cp, v1beta1constants.GardenerOperation); err != nil {
- return reconcile.Result{}, fmt.Errorf("error removing annotation from controlplane: %+v", err)
+ return reconcile.Result{}, fmt.Errorf("error removing annotation from ControlPlane: %+v", err)
}
return reconcile.Result{}, nil
}
-func (r *reconciler) delete(ctx context.Context, cp *extensionsv1alpha1.ControlPlane, cluster *extensionscontroller.Cluster) (reconcile.Result, error) {
+func (r *reconciler) delete(
+ ctx context.Context,
+ log logr.Logger,
+ cp *extensionsv1alpha1.ControlPlane,
+ cluster *extensionscontroller.Cluster,
+) (
+ reconcile.Result,
+ error,
+) {
if !controllerutil.ContainsFinalizer(cp, FinalizerName) {
- r.logger.Info("Deleting controlplane causes a no-op as there is no finalizer", "controlplane", kutil.ObjectName(cp))
+ log.Info("Deleting ControlPlane causes a no-op as there is no finalizer")
return reconcile.Result{}, nil
}
operationType := gardencorev1beta1helper.ComputeOperationType(cp.ObjectMeta, cp.Status.LastOperation)
- if err := r.statusUpdater.Processing(ctx, cp, operationType, "Deleting the controlplane"); err != nil {
+ if err := r.statusUpdater.Processing(ctx, log, cp, operationType, "Deleting the ControlPlane"); err != nil {
return reconcile.Result{}, err
}
- r.logger.Info("Starting the deletion of controlplane", "controlplane", kutil.ObjectName(cp))
- if err := r.actuator.Delete(ctx, cp, cluster); err != nil {
- _ = r.statusUpdater.Error(ctx, cp, reconcilerutils.ReconcileErrCauseOrErr(err), operationType, "Error deleting controlplane")
+ log.Info("Starting the deletion of ControlPlane")
+ if err := r.actuator.Delete(ctx, log, cp, cluster); err != nil {
+ _ = r.statusUpdater.Error(ctx, log, cp, reconcilerutils.ReconcileErrCauseOrErr(err), operationType, "Error deleting ControlPlane")
return reconcilerutils.ReconcileErr(err)
}
- if err := r.statusUpdater.Success(ctx, cp, operationType, "Successfully deleted controlplane"); err != nil {
+ if err := r.statusUpdater.Success(ctx, log, cp, operationType, "Successfully deleted ControlPlane"); err != nil {
return reconcile.Result{}, err
}
- r.logger.Info("Removing finalizer", "controlplane", kutil.ObjectName(cp))
- if err := controllerutils.RemoveFinalizer(ctx, r.reader, r.client, cp, FinalizerName); err != nil {
- return reconcile.Result{}, fmt.Errorf("error removing finalizer from controlplane: %+v", err)
+ if controllerutil.ContainsFinalizer(cp, FinalizerName) {
+ log.Info("Removing finalizer")
+ if err := controllerutils.RemoveFinalizers(ctx, r.client, cp, FinalizerName); err != nil {
+ return reconcile.Result{}, fmt.Errorf("failed to remove finalizer: %w", err)
+ }
}
return reconcile.Result{}, nil
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/dnsrecord/actuator.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/dnsrecord/actuator.go
index cfd585d86..5809e8c69 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/dnsrecord/actuator.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/dnsrecord/actuator.go
@@ -19,16 +19,18 @@ import (
extensionscontroller "github.com/gardener/gardener/extensions/pkg/controller"
extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
+
+ "github.com/go-logr/logr"
)
// Actuator acts upon DNSRecord resources.
type Actuator interface {
// Reconcile reconciles the DNSRecord.
- Reconcile(context.Context, *extensionsv1alpha1.DNSRecord, *extensionscontroller.Cluster) error
+ Reconcile(context.Context, logr.Logger, *extensionsv1alpha1.DNSRecord, *extensionscontroller.Cluster) error
// Delete deletes the DNSRecord.
- Delete(context.Context, *extensionsv1alpha1.DNSRecord, *extensionscontroller.Cluster) error
+ Delete(context.Context, logr.Logger, *extensionsv1alpha1.DNSRecord, *extensionscontroller.Cluster) error
// Restore restores the DNSRecord.
- Restore(context.Context, *extensionsv1alpha1.DNSRecord, *extensionscontroller.Cluster) error
+ Restore(context.Context, logr.Logger, *extensionsv1alpha1.DNSRecord, *extensionscontroller.Cluster) error
// Migrate migrates the DNSRecord.
- Migrate(context.Context, *extensionsv1alpha1.DNSRecord, *extensionscontroller.Cluster) error
+ Migrate(context.Context, logr.Logger, *extensionsv1alpha1.DNSRecord, *extensionscontroller.Cluster) error
}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/dnsrecord/controller.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/dnsrecord/controller.go
index 1c7c21f6f..89a8ac4a6 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/dnsrecord/controller.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/dnsrecord/controller.go
@@ -24,14 +24,13 @@ import (
extensionspredicate "github.com/gardener/gardener/extensions/pkg/predicate"
extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
"github.com/gardener/gardener/pkg/controllerutils/mapper"
- predicateutils "github.com/gardener/gardener/pkg/controllerutils/predicate"
)
const (
// FinalizerName is the dnsrecord controller finalizer.
FinalizerName = "extensions.gardener.cloud/dnsrecord"
// ControllerName is the name of the controller
- ControllerName = "dnsrecord_controller"
+ ControllerName = "dnsrecord"
)
// AddArgs are arguments for adding an dnsrecord controller to a manager.
@@ -60,7 +59,7 @@ func DefaultPredicates(ignoreOperationAnnotation bool) []predicate.Predicate {
// 'garden' namespace and don't belong to a Shoot. Most other DNSRecord resources are created in regular shoot
// namespaces (in such cases we want to check whether the respective Shoot is failed). Consequently, we add both
// preconditions and ensure at least one of them applies.
- predicateutils.Or(
+ predicate.Or(
extensionspredicate.IsInGardenNamespacePredicate,
extensionspredicate.ShootNotFailedPredicate(),
),
@@ -81,7 +80,7 @@ func Add(mgr manager.Manager, args AddArgs) error {
if args.IgnoreOperationAnnotation {
if err := ctrl.Watch(
&source.Kind{Type: &extensionsv1alpha1.Cluster{}},
- mapper.EnqueueRequestsFrom(ClusterToDNSRecordMapper(predicates), mapper.UpdateWithNew),
+ mapper.EnqueueRequestsFrom(ClusterToDNSRecordMapper(predicates), mapper.UpdateWithNew, ctrl.GetLogger()),
); err != nil {
return err
}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/dnsrecord/reconciler.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/dnsrecord/reconciler.go
index 69923a5f1..daf63be15 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/dnsrecord/reconciler.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/dnsrecord/reconciler.go
@@ -18,14 +18,6 @@ import (
"context"
"fmt"
- "github.com/go-logr/logr"
- "k8s.io/apimachinery/pkg/api/errors"
- "sigs.k8s.io/controller-runtime/pkg/client"
- "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
- "sigs.k8s.io/controller-runtime/pkg/log"
- "sigs.k8s.io/controller-runtime/pkg/reconcile"
- "sigs.k8s.io/controller-runtime/pkg/runtime/inject"
-
extensionscontroller "github.com/gardener/gardener/extensions/pkg/controller"
"github.com/gardener/gardener/extensions/pkg/controller/common"
gardencorev1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1"
@@ -36,10 +28,17 @@ import (
reconcilerutils "github.com/gardener/gardener/pkg/controllerutils/reconciler"
"github.com/gardener/gardener/pkg/extensions"
kutil "github.com/gardener/gardener/pkg/utils/kubernetes"
+
+ "github.com/go-logr/logr"
+ apierrors "k8s.io/apimachinery/pkg/api/errors"
+ "sigs.k8s.io/controller-runtime/pkg/client"
+ "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
+ logf "sigs.k8s.io/controller-runtime/pkg/log"
+ "sigs.k8s.io/controller-runtime/pkg/reconcile"
+ "sigs.k8s.io/controller-runtime/pkg/runtime/inject"
)
type reconciler struct {
- logger logr.Logger
actuator Actuator
client client.Client
@@ -50,14 +49,11 @@ type reconciler struct {
// NewReconciler creates a new reconcile.Reconciler that reconciles
// dnsrecord resources of Gardener's `extensions.gardener.cloud` API group.
func NewReconciler(actuator Actuator) reconcile.Reconciler {
- logger := log.Log.WithName(ControllerName)
-
return reconcilerutils.OperationAnnotationWrapper(
func() client.Object { return &extensionsv1alpha1.DNSRecord{} },
&reconciler{
- logger: logger,
actuator: actuator,
- statusUpdater: extensionscontroller.NewStatusUpdater(logger),
+ statusUpdater: extensionscontroller.NewStatusUpdater(),
},
)
}
@@ -78,15 +74,17 @@ func (r *reconciler) InjectAPIReader(reader client.Reader) error {
}
func (r *reconciler) Reconcile(ctx context.Context, request reconcile.Request) (reconcile.Result, error) {
+ log := logf.FromContext(ctx)
+
dns := &extensionsv1alpha1.DNSRecord{}
if err := r.client.Get(ctx, request.NamespacedName, dns); err != nil {
- if errors.IsNotFound(err) {
+ if apierrors.IsNotFound(err) {
+ log.V(1).Info("Object is gone, stop reconciling")
return reconcile.Result{}, nil
}
- return reconcile.Result{}, err
+ return reconcile.Result{}, fmt.Errorf("error retrieving object from store: %w", err)
}
- logger := r.logger.WithValues("dnsrecord", kutil.ObjectName(dns))
var cluster *extensions.Cluster
if dns.Namespace != v1beta1constants.GardenNamespace {
var err error
@@ -96,7 +94,7 @@ func (r *reconciler) Reconcile(ctx context.Context, request reconcile.Request) (
}
if extensionscontroller.IsFailed(cluster) {
- logger.Info("Skipping the reconciliation of dnsrecord of failed shoot")
+ log.Info("Skipping the reconciliation of DNSRecord of failed shoot")
return reconcile.Result{}, nil
}
}
@@ -121,120 +119,161 @@ func (r *reconciler) Reconcile(ctx context.Context, request reconcile.Request) (
case extensionscontroller.ShouldSkipOperation(operationType, dns):
return reconcile.Result{}, nil
case operationType == gardencorev1beta1.LastOperationTypeMigrate:
- return r.migrate(ctx, dns, cluster)
+ return r.migrate(ctx, log, dns, cluster)
case dns.DeletionTimestamp != nil:
- return r.delete(ctx, dns, cluster)
+ return r.delete(ctx, log, dns, cluster)
case operationType == gardencorev1beta1.LastOperationTypeRestore:
- return r.restore(ctx, dns, cluster)
+ return r.restore(ctx, log, dns, cluster)
default:
- return r.reconcile(ctx, dns, cluster, operationType)
+ return r.reconcile(ctx, log, dns, cluster, operationType)
}
}
-func (r *reconciler) reconcile(ctx context.Context, dns *extensionsv1alpha1.DNSRecord, cluster *extensionscontroller.Cluster, operationType gardencorev1beta1.LastOperationType) (reconcile.Result, error) {
- if err := controllerutils.EnsureFinalizer(ctx, r.reader, r.client, dns, FinalizerName); err != nil {
- return reconcile.Result{}, err
+func (r *reconciler) reconcile(
+ ctx context.Context,
+ log logr.Logger,
+ dns *extensionsv1alpha1.DNSRecord,
+ cluster *extensionscontroller.Cluster,
+ operationType gardencorev1beta1.LastOperationType,
+) (
+ reconcile.Result,
+ error,
+) {
+ if !controllerutil.ContainsFinalizer(dns, FinalizerName) {
+ log.Info("Adding finalizer")
+ if err := controllerutils.AddFinalizers(ctx, r.client, dns, FinalizerName); err != nil {
+ return reconcile.Result{}, fmt.Errorf("failed to add finalizer: %w", err)
+ }
}
- if err := r.statusUpdater.ProcessingCustom(ctx, dns, operationType, "Reconciling the dnsrecord", nil); err != nil {
+ if err := r.statusUpdater.ProcessingCustom(ctx, log, dns, operationType, "Reconciling the DNSRecord", nil); err != nil {
return reconcile.Result{}, err
}
- r.logger.Info("Starting the reconciliation of dnsrecord", "dnsrecord", kutil.ObjectName(dns))
- if err := r.actuator.Reconcile(ctx, dns, cluster); err != nil {
- _ = r.statusUpdater.ErrorCustom(ctx, dns, reconcilerutils.ReconcileErrCauseOrErr(err), operationType, "Error reconciling dnsrecord", addCreatedConditionFalse)
+ log.Info("Starting the reconciliation of DNSRecord")
+ if err := r.actuator.Reconcile(ctx, log, dns, cluster); err != nil {
+ _ = r.statusUpdater.ErrorCustom(ctx, log, dns, reconcilerutils.ReconcileErrCauseOrErr(err), operationType, "Error reconciling DNSRecord", addCreatedConditionFalse)
return reconcilerutils.ReconcileErr(err)
}
- if err := r.statusUpdater.SuccessCustom(ctx, dns, operationType, "Successfully reconciled dnsrecord", addCreatedConditionTrue); err != nil {
+ if err := r.statusUpdater.SuccessCustom(ctx, log, dns, operationType, "Successfully reconciled DNSRecord", addCreatedConditionTrue); err != nil {
return reconcile.Result{}, err
}
return reconcile.Result{}, nil
}
-func (r *reconciler) restore(ctx context.Context, dns *extensionsv1alpha1.DNSRecord, cluster *extensionscontroller.Cluster) (reconcile.Result, error) {
- if err := controllerutils.EnsureFinalizer(ctx, r.reader, r.client, dns, FinalizerName); err != nil {
- return reconcile.Result{}, err
+func (r *reconciler) restore(
+ ctx context.Context,
+ log logr.Logger,
+ dns *extensionsv1alpha1.DNSRecord,
+ cluster *extensionscontroller.Cluster,
+) (
+ reconcile.Result,
+ error,
+) {
+ if !controllerutil.ContainsFinalizer(dns, FinalizerName) {
+ log.Info("Adding finalizer")
+ if err := controllerutils.AddFinalizers(ctx, r.client, dns, FinalizerName); err != nil {
+ return reconcile.Result{}, fmt.Errorf("failed to add finalizer: %w", err)
+ }
}
- if err := r.statusUpdater.ProcessingCustom(ctx, dns, gardencorev1beta1.LastOperationTypeRestore, "Restoring the dnsrecord", nil); err != nil {
+ if err := r.statusUpdater.ProcessingCustom(ctx, log, dns, gardencorev1beta1.LastOperationTypeRestore, "Restoring the DNSRecord", nil); err != nil {
return reconcile.Result{}, err
}
- r.logger.Info("Starting the restoration of dnsrecord", "dnsrecord", kutil.ObjectName(dns))
- if err := r.actuator.Restore(ctx, dns, cluster); err != nil {
- _ = r.statusUpdater.ErrorCustom(ctx, dns, reconcilerutils.ReconcileErrCauseOrErr(err), gardencorev1beta1.LastOperationTypeRestore, "Error restoring dnsrecord", addCreatedConditionFalse)
+ log.Info("Starting the restoration of DNSRecord")
+ if err := r.actuator.Restore(ctx, log, dns, cluster); err != nil {
+ _ = r.statusUpdater.ErrorCustom(ctx, log, dns, reconcilerutils.ReconcileErrCauseOrErr(err), gardencorev1beta1.LastOperationTypeRestore, "Error restoring DNSRecord", addCreatedConditionFalse)
return reconcilerutils.ReconcileErr(err)
}
- if err := r.statusUpdater.SuccessCustom(ctx, dns, gardencorev1beta1.LastOperationTypeRestore, "Successfully restored dnsrecord", addCreatedConditionTrue); err != nil {
+ if err := r.statusUpdater.SuccessCustom(ctx, log, dns, gardencorev1beta1.LastOperationTypeRestore, "Successfully restored DNSRecord", addCreatedConditionTrue); err != nil {
return reconcile.Result{}, err
}
if err := extensionscontroller.RemoveAnnotation(ctx, r.client, dns, v1beta1constants.GardenerOperation); err != nil {
- return reconcile.Result{}, fmt.Errorf("error removing annotation from dnsrecord: %+v", err)
+ return reconcile.Result{}, fmt.Errorf("error removing annotation from DNSRecord: %+v", err)
}
return reconcile.Result{}, nil
}
-func (r *reconciler) migrate(ctx context.Context, dns *extensionsv1alpha1.DNSRecord, cluster *extensionscontroller.Cluster) (reconcile.Result, error) {
- if err := r.statusUpdater.ProcessingCustom(ctx, dns, gardencorev1beta1.LastOperationTypeMigrate, "Migrating the dnsrecord", nil); err != nil {
+func (r *reconciler) migrate(
+ ctx context.Context,
+ log logr.Logger,
+ dns *extensionsv1alpha1.DNSRecord,
+ cluster *extensionscontroller.Cluster,
+) (
+ reconcile.Result,
+ error,
+) {
+ if err := r.statusUpdater.ProcessingCustom(ctx, log, dns, gardencorev1beta1.LastOperationTypeMigrate, "Migrating the DNSRecord", nil); err != nil {
return reconcile.Result{}, err
}
- r.logger.Info("Starting the migration of dnsrecord", "dnsrecord", kutil.ObjectName(dns))
- if err := r.actuator.Migrate(ctx, dns, cluster); err != nil {
- _ = r.statusUpdater.ErrorCustom(ctx, dns, reconcilerutils.ReconcileErrCauseOrErr(err), gardencorev1beta1.LastOperationTypeMigrate, "Error migrating dnsrecord", nil)
+ log.Info("Starting the migration of DNSRecord")
+ if err := r.actuator.Migrate(ctx, log, dns, cluster); err != nil {
+ _ = r.statusUpdater.ErrorCustom(ctx, log, dns, reconcilerutils.ReconcileErrCauseOrErr(err), gardencorev1beta1.LastOperationTypeMigrate, "Error migrating DNSRecord", nil)
return reconcilerutils.ReconcileErr(err)
}
- if err := r.statusUpdater.SuccessCustom(ctx, dns, gardencorev1beta1.LastOperationTypeMigrate, "Successfully migrated dnsrecord", nil); err != nil {
+ if err := r.statusUpdater.SuccessCustom(ctx, log, dns, gardencorev1beta1.LastOperationTypeMigrate, "Successfully migrated DNSRecord", nil); err != nil {
return reconcile.Result{}, err
}
- r.logger.Info("Removing all finalizers", "dnsrecord", kutil.ObjectName(dns))
- if err := controllerutils.RemoveAllFinalizers(ctx, r.client, r.client, dns); err != nil {
- return reconcile.Result{}, fmt.Errorf("error removing finalizers from dnsrecord: %+v", err)
+ log.Info("Removing all finalizers")
+ if err := controllerutils.RemoveAllFinalizers(ctx, r.client, dns); err != nil {
+ return reconcile.Result{}, fmt.Errorf("error removing finalizers: %w", err)
}
if err := extensionscontroller.RemoveAnnotation(ctx, r.client, dns, v1beta1constants.GardenerOperation); err != nil {
- return reconcile.Result{}, fmt.Errorf("error removing annotation from dnsrecord: %+v", err)
+ return reconcile.Result{}, fmt.Errorf("error removing annotation from DNSRecord: %+v", err)
}
return reconcile.Result{}, nil
}
-func (r *reconciler) delete(ctx context.Context, dns *extensionsv1alpha1.DNSRecord, cluster *extensionscontroller.Cluster) (reconcile.Result, error) {
+func (r *reconciler) delete(
+ ctx context.Context,
+ log logr.Logger,
+ dns *extensionsv1alpha1.DNSRecord,
+ cluster *extensionscontroller.Cluster,
+) (
+ reconcile.Result,
+ error,
+) {
if !controllerutil.ContainsFinalizer(dns, FinalizerName) {
- r.logger.Info("Deleting dnsrecord causes a no-op as there is no finalizer", "dnsrecord", kutil.ObjectName(dns))
+ log.Info("Deleting DNSRecord causes a no-op as there is no finalizer")
return reconcile.Result{}, nil
}
switch getCreatedConditionStatus(dns.GetExtensionStatus()) {
case gardencorev1beta1.ConditionTrue, gardencorev1beta1.ConditionUnknown:
operationType := gardencorev1beta1helper.ComputeOperationType(dns.ObjectMeta, dns.Status.LastOperation)
- if err := r.statusUpdater.ProcessingCustom(ctx, dns, operationType, "Deleting the dnsrecord", nil); err != nil {
+ if err := r.statusUpdater.ProcessingCustom(ctx, log, dns, operationType, "Deleting the DNSRecord", nil); err != nil {
return reconcile.Result{}, err
}
- r.logger.Info("Starting the deletion of dnsrecord", "dnsrecord", kutil.ObjectName(dns))
- if err := r.actuator.Delete(ctx, dns, cluster); err != nil {
- _ = r.statusUpdater.ErrorCustom(ctx, dns, reconcilerutils.ReconcileErrCauseOrErr(err), operationType, "Error deleting dnsrecord", nil)
+ log.Info("Starting the deletion of DNSRecord")
+ if err := r.actuator.Delete(ctx, log, dns, cluster); err != nil {
+ _ = r.statusUpdater.ErrorCustom(ctx, log, dns, reconcilerutils.ReconcileErrCauseOrErr(err), operationType, "Error deleting DNSRecord", nil)
return reconcilerutils.ReconcileErr(err)
}
- if err := r.statusUpdater.SuccessCustom(ctx, dns, operationType, "Successfully deleted dnsrecord", nil); err != nil {
+ if err := r.statusUpdater.SuccessCustom(ctx, log, dns, operationType, "Successfully deleted DNSRecord", nil); err != nil {
return reconcile.Result{}, err
}
case gardencorev1beta1.ConditionFalse:
- r.logger.Info("Deleting dnsrecord is no-op as not created", "dnsrecord", kutil.ObjectName(dns))
+ log.Info("Deleting DNSRecord is no-op as not created")
}
- r.logger.Info("Removing finalizer", "dnsrecord", kutil.ObjectName(dns))
- if err := controllerutils.RemoveFinalizer(ctx, r.reader, r.client, dns, FinalizerName); err != nil {
- return reconcile.Result{}, fmt.Errorf("error removing finalizer from dnsrecord: %+v", err)
+ if controllerutil.ContainsFinalizer(dns, FinalizerName) {
+ log.Info("Removing finalizer")
+ if err := controllerutils.RemoveFinalizers(ctx, r.client, dns, FinalizerName); err != nil {
+ return reconcile.Result{}, fmt.Errorf("failed to remove finalizer: %w", err)
+ }
}
return reconcile.Result{}, nil
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/healthcheck/actuator.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/healthcheck/actuator.go
index fde1fc3c2..c17581923 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/healthcheck/actuator.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/healthcheck/actuator.go
@@ -18,6 +18,7 @@ import (
"context"
"time"
+ "github.com/go-logr/logr"
"k8s.io/apimachinery/pkg/types"
"sigs.k8s.io/controller-runtime/pkg/client"
@@ -74,7 +75,7 @@ type HealthCheckActuator interface {
// - Result for each healthConditionTypes registered with the individual health checks.
// - an error if it could not execute the health checks.
// This results in a condition with with type "Unknown" with reason "ConditionCheckError".
- ExecuteHealthCheckFunctions(context.Context, types.NamespacedName) (*[]Result, error)
+ ExecuteHealthCheckFunctions(context.Context, logr.Logger, types.NamespacedName) (*[]Result, error)
}
// Result represents an aggregated health status for the health checks performed on the dependent API Objects of an extension resource.
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/healthcheck/controller.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/healthcheck/controller.go
index 73e28e111..2116d1b8f 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/healthcheck/controller.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/healthcheck/controller.go
@@ -17,7 +17,7 @@ package healthcheck
import (
"fmt"
- healthcheckconfig "github.com/gardener/gardener/extensions/pkg/controller/healthcheck/config"
+ extensionsconfig "github.com/gardener/gardener/extensions/pkg/apis/config"
extensionspredicate "github.com/gardener/gardener/extensions/pkg/predicate"
"github.com/gardener/gardener/pkg/api/extensions"
extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
@@ -37,7 +37,7 @@ import (
const (
// ControllerName is the name of the controller.
- ControllerName = "healthcheck_controller"
+ ControllerName = "healthcheck"
)
// AddArgs are arguments for adding an health check controller to a controller-runtime manager.
@@ -66,7 +66,7 @@ type DefaultAddArgs struct {
// Controller are the controller.Options.
Controller controller.Options
// HealthCheckConfig contains additional config for the health check controller
- HealthCheckConfig healthcheckconfig.HealthCheckConfig
+ HealthCheckConfig extensionsconfig.HealthCheckConfig
}
// RegisteredExtension is a registered extensions that the HealthCheck Controller watches.
@@ -108,7 +108,12 @@ func DefaultRegistration(extensionType string, kind schema.GroupVersionKind, get
return err
}
- healthCheckActuator := NewActuator(args.Type, args.GetExtensionGroupVersionKind().Kind, getExtensionObjFunc, healthChecks)
+ var shootRestOptions extensionsconfig.RESTOptions
+ if opts.HealthCheckConfig.ShootRESTOptions != nil {
+ shootRestOptions = *opts.HealthCheckConfig.ShootRESTOptions
+ }
+
+ healthCheckActuator := NewActuator(args.Type, args.GetExtensionGroupVersionKind().Kind, getExtensionObjFunc, healthChecks, shootRestOptions)
return Register(mgr, args, healthCheckActuator)
}
@@ -181,7 +186,7 @@ func add(mgr manager.Manager, args AddArgs) error {
// this is to be notified when the Shoot is being hibernated (stop health checks) and wakes up (start health checks again)
return ctrl.Watch(
&source.Kind{Type: &extensionsv1alpha1.Cluster{}},
- mapper.EnqueueRequestsFrom(mapper.ClusterToObjectMapper(args.GetExtensionObjListFunc, predicates), mapper.UpdateWithNew),
+ mapper.EnqueueRequestsFrom(mapper.ClusterToObjectMapper(args.GetExtensionObjListFunc, predicates), mapper.UpdateWithNew, ctrl.GetLogger()),
)
}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/healthcheck/healthcheck_actuator.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/healthcheck/healthcheck_actuator.go
index 6cf751e70..a67fb78d9 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/healthcheck/healthcheck_actuator.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/healthcheck/healthcheck_actuator.go
@@ -21,6 +21,7 @@ import (
"sync"
"time"
+ extensionsconfig "github.com/gardener/gardener/extensions/pkg/apis/config"
extensionscontroller "github.com/gardener/gardener/extensions/pkg/controller"
"github.com/gardener/gardener/extensions/pkg/util"
gardencorev1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1"
@@ -32,13 +33,10 @@ import (
"k8s.io/client-go/rest"
"k8s.io/utils/pointer"
"sigs.k8s.io/controller-runtime/pkg/client"
- "sigs.k8s.io/controller-runtime/pkg/log"
)
// Actuator contains all the health checks and the means to execute them
type Actuator struct {
- logger logr.Logger
-
restConfig *rest.Config
seedClient client.Client
scheme *runtime.Scheme
@@ -48,16 +46,17 @@ type Actuator struct {
extensionKind string
getExtensionObjFunc GetExtensionObjectFunc
healthChecks []ConditionTypeToHealthCheck
+ shootRESTOptions extensionsconfig.RESTOptions
}
// NewActuator creates a new Actuator.
-func NewActuator(provider, extensionKind string, getExtensionObjFunc GetExtensionObjectFunc, healthChecks []ConditionTypeToHealthCheck) HealthCheckActuator {
+func NewActuator(provider, extensionKind string, getExtensionObjFunc GetExtensionObjectFunc, healthChecks []ConditionTypeToHealthCheck, shootRESTOptions extensionsconfig.RESTOptions) HealthCheckActuator {
return &Actuator{
healthChecks: healthChecks,
getExtensionObjFunc: getExtensionObjFunc,
provider: provider,
extensionKind: extensionKind,
- logger: log.Log.WithName(fmt.Sprintf("%s-%s-healthcheck-actuator", provider, extensionKind)),
+ shootRESTOptions: shootRESTOptions,
}
}
@@ -105,7 +104,7 @@ type checkResultForConditionType struct {
// ExecuteHealthCheckFunctions executes all the health check functions, injects clients and logger & aggregates the results.
// returns an Result for each HealthConditionType (e.g ControlPlaneHealthy)
-func (a *Actuator) ExecuteHealthCheckFunctions(ctx context.Context, request types.NamespacedName) (*[]Result, error) {
+func (a *Actuator) ExecuteHealthCheckFunctions(ctx context.Context, log logr.Logger, request types.NamespacedName) (*[]Result, error) {
var (
shootClient client.Client
channel = make(chan channelResult, len(a.healthChecks))
@@ -119,7 +118,7 @@ func (a *Actuator) ExecuteHealthCheckFunctions(ctx context.Context, request type
if _, ok := check.(ShootClient); ok {
if shootClient == nil {
var err error
- _, shootClient, err = util.NewClientForShoot(ctx, a.seedClient, request.Namespace, client.Options{})
+ _, shootClient, err = util.NewClientForShoot(ctx, a.seedClient, request.Namespace, client.Options{}, a.shootRESTOptions)
if err != nil {
// don't return here, as we might have started some goroutines already to prevent leakage
channel <- channelResult{
@@ -170,7 +169,7 @@ func (a *Actuator) ExecuteHealthCheckFunctions(ctx context.Context, request type
}
if !preCheckFunc(ctx, a.seedClient, obj, cluster) {
- a.logger.V(6).Info("Skipping health check as pre check function returned false", "conditionType", healthConditionType)
+ log.V(1).Info("Skipping health check as pre check function returned false", "conditionType", healthConditionType)
channel <- channelResult{
healthCheckResult: &SingleCheckResult{
Status: gardencorev1beta1.ConditionTrue,
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/healthcheck/reconciler.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/healthcheck/reconciler.go
index 34ef4a822..da8c45f19 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/healthcheck/reconciler.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/healthcheck/reconciler.go
@@ -19,30 +19,27 @@ import (
"fmt"
"time"
- "github.com/go-logr/logr"
- "k8s.io/apimachinery/pkg/api/errors"
- metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- "k8s.io/apimachinery/pkg/types"
- "sigs.k8s.io/controller-runtime/pkg/client"
- "sigs.k8s.io/controller-runtime/pkg/log"
- "sigs.k8s.io/controller-runtime/pkg/reconcile"
- "sigs.k8s.io/controller-runtime/pkg/runtime/inject"
-
extensionscontroller "github.com/gardener/gardener/extensions/pkg/controller"
"github.com/gardener/gardener/pkg/api/extensions"
gardencorev1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1"
gardenv1beta1constants "github.com/gardener/gardener/pkg/apis/core/v1beta1/constants"
gardencorev1beta1helper "github.com/gardener/gardener/pkg/apis/core/v1beta1/helper"
extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
- kutil "github.com/gardener/gardener/pkg/utils/kubernetes"
+
+ "github.com/go-logr/logr"
+ apierrors "k8s.io/apimachinery/pkg/api/errors"
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/apimachinery/pkg/types"
+ "sigs.k8s.io/controller-runtime/pkg/client"
+ logf "sigs.k8s.io/controller-runtime/pkg/log"
+ "sigs.k8s.io/controller-runtime/pkg/reconcile"
+ "sigs.k8s.io/controller-runtime/pkg/runtime/inject"
)
type reconciler struct {
- logger logr.Logger
- actuator HealthCheckActuator
-
client client.Client
+ actuator HealthCheckActuator
registeredExtension RegisteredExtension
syncPeriod metav1.Duration
}
@@ -60,7 +57,6 @@ const (
// the registered extension resources (Gardener's `extensions.gardener.cloud` API group).
func NewReconciler(actuator HealthCheckActuator, registeredExtension RegisteredExtension, syncPeriod metav1.Duration) reconcile.Reconciler {
return &reconciler{
- logger: log.Log.WithName(ControllerName),
actuator: actuator,
registeredExtension: registeredExtension,
syncPeriod: syncPeriod,
@@ -82,11 +78,14 @@ func (r *reconciler) Reconcile(ctx context.Context, request reconcile.Request) (
extension := r.registeredExtension.getExtensionObjFunc()
+ log := logf.FromContext(ctx)
+
if err := r.client.Get(ctx, request.NamespacedName, extension); err != nil {
- if errors.IsNotFound(err) {
+ if apierrors.IsNotFound(err) {
+ log.V(1).Info("Object was not found, requeueing")
return r.resultWithRequeue(), nil
}
- return reconcile.Result{}, err
+ return reconcile.Result{}, fmt.Errorf("error retrieving object from store: %w", err)
}
acc, err := extensions.Accessor(extension.DeepCopyObject())
@@ -95,12 +94,12 @@ func (r *reconciler) Reconcile(ctx context.Context, request reconcile.Request) (
}
if acc.GetDeletionTimestamp() != nil {
- r.logger.V(6).Info("Do not perform HealthCheck for extension resource, extension is being deleted", "healthcheck", kutil.ObjectName(acc))
+ log.V(1).Info("Do not perform HealthCheck for extension resource, extension is being deleted")
return reconcile.Result{}, nil
}
if isInMigration(acc) {
- r.logger.Info("Do not perform HealthCheck for extension resource, extension is being migrated", "healthecheck", kutil.ObjectName(acc))
+ log.Info("Do not perform HealthCheck for extension resource, extension is being migrated")
return reconcile.Result{}, nil
}
@@ -123,19 +122,19 @@ func (r *reconciler) Reconcile(ctx context.Context, request reconcile.Request) (
return reconcile.Result{}, err
}
- r.logger.V(6).Info("Do not perform HealthCheck for extension resource, Shoot is hibernated", "healthcheck", kutil.ObjectName(acc), "groupVersionKind", r.registeredExtension.groupVersionKind)
+ log.V(1).Info("Do not perform HealthCheck for extension resource, Shoot is hibernated", "groupVersionKind", r.registeredExtension.groupVersionKind)
return reconcile.Result{}, nil
}
- r.logger.V(6).Info("Performing healthcheck", "healthcheck", kutil.ObjectName(acc), "groupVersionKind", r.registeredExtension.groupVersionKind)
- return r.performHealthCheck(ctx, request, extension)
+ log.V(1).Info("Performing healthcheck", "groupVersionKind", r.registeredExtension.groupVersionKind)
+ return r.performHealthCheck(ctx, log, request, extension)
}
-func (r *reconciler) performHealthCheck(ctx context.Context, request reconcile.Request, extension extensionsv1alpha1.Object) (reconcile.Result, error) {
- healthCheckResults, err := r.actuator.ExecuteHealthCheckFunctions(ctx, types.NamespacedName{Namespace: request.Namespace, Name: request.Name})
+func (r *reconciler) performHealthCheck(ctx context.Context, log logr.Logger, request reconcile.Request, extension extensionsv1alpha1.Object) (reconcile.Result, error) {
+ healthCheckResults, err := r.actuator.ExecuteHealthCheckFunctions(ctx, log, types.NamespacedName{Namespace: request.Namespace, Name: request.Name})
if err != nil {
var conditions []condition
- r.logger.Info("Failed to execute healthChecks, updating each HealthCheckCondition for the extension resource to ConditionCheckError", "kind", r.registeredExtension.groupVersionKind.Kind, "conditionTypes", r.registeredExtension.healthConditionTypes, "name", request.Name, "namespace", request.Namespace, "error", err.Error())
+ log.Error(err, "Failed to execute healthChecks, updating each HealthCheckCondition for the extension resource to ConditionCheckError", "kind", r.registeredExtension.groupVersionKind.Kind, "conditionTypes", r.registeredExtension.healthConditionTypes)
for _, healthConditionType := range r.registeredExtension.healthConditionTypes {
conditionBuilder, buildErr := gardencorev1beta1helper.NewConditionBuilder(gardencorev1beta1.ConditionType(healthConditionType))
if buildErr != nil {
@@ -159,24 +158,24 @@ func (r *reconciler) performHealthCheck(ctx context.Context, request reconcile.R
var logger logr.Logger
if healthCheckResult.Status == gardencorev1beta1.ConditionTrue || healthCheckResult.Status == gardencorev1beta1.ConditionProgressing {
- logger = r.logger.V(6)
+ logger = log.V(1)
} else {
- logger = r.logger
+ logger = log
}
if healthCheckResult.Status == gardencorev1beta1.ConditionTrue {
- logger.Info("Health check for extension resource successful", "kind", r.registeredExtension.groupVersionKind.Kind, "conditionType", healthCheckResult.HealthConditionType, "name", request.Name, "namespace", request.Namespace)
+ logger.Info("Health check for extension resource successful", "kind", r.registeredExtension.groupVersionKind.Kind, "conditionType", healthCheckResult.HealthConditionType)
conditions = append(conditions, extensionConditionSuccessful(conditionBuilder, healthCheckResult.HealthConditionType, healthCheckResult))
continue
}
if healthCheckResult.FailedChecks > 0 {
- r.logger.Info("Updating HealthCheckCondition for extension resource to ConditionCheckError", "kind", r.registeredExtension.groupVersionKind.Kind, "conditionType", healthCheckResult.HealthConditionType, "name", request.Name, "namespace", request.Namespace)
+ logger.Info("Updating HealthCheckCondition for extension resource to ConditionCheckError", "kind", r.registeredExtension.groupVersionKind.Kind, "conditionType", healthCheckResult.HealthConditionType)
conditions = append(conditions, extensionConditionCheckError(conditionBuilder, healthCheckResult.HealthConditionType, healthCheckResult))
continue
}
- logger.Info("Health check for extension resource progressing or unsuccessful", "kind", fmt.Sprintf("%s.%s.%s", r.registeredExtension.groupVersionKind.Kind, r.registeredExtension.groupVersionKind.Group, r.registeredExtension.groupVersionKind.Version), "name", request.Name, "namespace", request.Namespace, "failed", healthCheckResult.FailedChecks, "progressing", healthCheckResult.ProgressingChecks, "successful", healthCheckResult.SuccessfulChecks, "details", healthCheckResult.GetDetails())
+ logger.Info("Health check for extension resource progressing or unsuccessful", "kind", fmt.Sprintf("%s.%s.%s", r.registeredExtension.groupVersionKind.Kind, r.registeredExtension.groupVersionKind.Group, r.registeredExtension.groupVersionKind.Version), "failed", healthCheckResult.FailedChecks, "progressing", healthCheckResult.ProgressingChecks, "successful", healthCheckResult.SuccessfulChecks, "details", healthCheckResult.GetDetails())
conditions = append(conditions, extensionConditionUnsuccessful(conditionBuilder, healthCheckResult.HealthConditionType, extension, healthCheckResult))
}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/infrastructure/actuator.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/infrastructure/actuator.go
index cf3f1867b..28faa1294 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/infrastructure/actuator.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/infrastructure/actuator.go
@@ -18,18 +18,19 @@ import (
"context"
extensionscontroller "github.com/gardener/gardener/extensions/pkg/controller"
-
extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
+
+ "github.com/go-logr/logr"
)
// Actuator acts upon Infrastructure resources.
type Actuator interface {
// Reconcile the Infrastructure config.
- Reconcile(context.Context, *extensionsv1alpha1.Infrastructure, *extensionscontroller.Cluster) error
+ Reconcile(context.Context, logr.Logger, *extensionsv1alpha1.Infrastructure, *extensionscontroller.Cluster) error
// Delete the Infrastructure config.
- Delete(context.Context, *extensionsv1alpha1.Infrastructure, *extensionscontroller.Cluster) error
+ Delete(context.Context, logr.Logger, *extensionsv1alpha1.Infrastructure, *extensionscontroller.Cluster) error
// Restore takes the state of the Infrastrucure resource and applies it to the terraform pod's output state
- Restore(context.Context, *extensionsv1alpha1.Infrastructure, *extensionscontroller.Cluster) error
+ Restore(context.Context, logr.Logger, *extensionsv1alpha1.Infrastructure, *extensionscontroller.Cluster) error
// Migrate deletes the terraform k8s resources without deleting the corresponding resources in the IaaS provider
- Migrate(context.Context, *extensionsv1alpha1.Infrastructure, *extensionscontroller.Cluster) error
+ Migrate(context.Context, logr.Logger, *extensionsv1alpha1.Infrastructure, *extensionscontroller.Cluster) error
}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/infrastructure/controller.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/infrastructure/controller.go
index 10df63b4f..25c1a0e69 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/infrastructure/controller.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/infrastructure/controller.go
@@ -31,7 +31,7 @@ const (
// FinalizerName is the infrastructure controller finalizer.
FinalizerName = "extensions.gardener.cloud/infrastructure"
// ControllerName is the name of the controller.
- ControllerName = "infrastructure_controller"
+ ControllerName = "infrastructure"
)
// AddArgs are arguments for adding an infrastructure controller to a manager.
@@ -88,7 +88,7 @@ func add(mgr manager.Manager, args AddArgs) error {
if args.IgnoreOperationAnnotation {
if err := ctrl.Watch(
&source.Kind{Type: &extensionsv1alpha1.Cluster{}},
- mapper.EnqueueRequestsFrom(ClusterToInfrastructureMapper(predicates), mapper.UpdateWithNew),
+ mapper.EnqueueRequestsFrom(ClusterToInfrastructureMapper(predicates), mapper.UpdateWithNew, ctrl.GetLogger()),
); err != nil {
return err
}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/infrastructure/reconciler.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/infrastructure/reconciler.go
index 657893679..8bcd751ad 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/infrastructure/reconciler.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/infrastructure/reconciler.go
@@ -18,15 +18,6 @@ import (
"context"
"fmt"
- "github.com/go-logr/logr"
- "k8s.io/apimachinery/pkg/api/errors"
- "k8s.io/apimachinery/pkg/util/validation/field"
- "sigs.k8s.io/controller-runtime/pkg/client"
- "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
- "sigs.k8s.io/controller-runtime/pkg/log"
- "sigs.k8s.io/controller-runtime/pkg/reconcile"
- "sigs.k8s.io/controller-runtime/pkg/runtime/inject"
-
extensionscontroller "github.com/gardener/gardener/extensions/pkg/controller"
"github.com/gardener/gardener/extensions/pkg/controller/common"
gardencorev1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1"
@@ -36,10 +27,18 @@ import (
"github.com/gardener/gardener/pkg/controllerutils"
reconcilerutils "github.com/gardener/gardener/pkg/controllerutils/reconciler"
kutil "github.com/gardener/gardener/pkg/utils/kubernetes"
+
+ "github.com/go-logr/logr"
+ apierrors "k8s.io/apimachinery/pkg/api/errors"
+ "k8s.io/apimachinery/pkg/util/validation/field"
+ "sigs.k8s.io/controller-runtime/pkg/client"
+ "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
+ logf "sigs.k8s.io/controller-runtime/pkg/log"
+ "sigs.k8s.io/controller-runtime/pkg/reconcile"
+ "sigs.k8s.io/controller-runtime/pkg/runtime/inject"
)
type reconciler struct {
- logger logr.Logger
actuator Actuator
configValidator ConfigValidator
@@ -51,15 +50,12 @@ type reconciler struct {
// NewReconciler creates a new reconcile.Reconciler that reconciles
// infrastructure resources of Gardener's `extensions.gardener.cloud` API group.
func NewReconciler(actuator Actuator, configValidator ConfigValidator) reconcile.Reconciler {
- logger := log.Log.WithName(ControllerName)
-
return reconcilerutils.OperationAnnotationWrapper(
func() client.Object { return &extensionsv1alpha1.Infrastructure{} },
&reconciler{
- logger: logger,
actuator: actuator,
configValidator: configValidator,
- statusUpdater: extensionscontroller.NewStatusUpdater(logger),
+ statusUpdater: extensionscontroller.NewStatusUpdater(),
},
)
}
@@ -85,12 +81,15 @@ func (r *reconciler) InjectAPIReader(reader client.Reader) error {
}
func (r *reconciler) Reconcile(ctx context.Context, request reconcile.Request) (reconcile.Result, error) {
+ log := logf.FromContext(ctx)
+
infrastructure := &extensionsv1alpha1.Infrastructure{}
if err := r.client.Get(ctx, request.NamespacedName, infrastructure); err != nil {
- if errors.IsNotFound(err) {
+ if apierrors.IsNotFound(err) {
+ log.V(1).Info("Object is gone, stop reconciling")
return reconcile.Result{}, nil
}
- return reconcile.Result{}, err
+ return reconcile.Result{}, fmt.Errorf("error retrieving object from store: %w", err)
}
cluster, err := extensionscontroller.GetCluster(ctx, r.client, infrastructure.Namespace)
@@ -98,9 +97,8 @@ func (r *reconciler) Reconcile(ctx context.Context, request reconcile.Request) (
return reconcile.Result{}, err
}
- logger := r.logger.WithValues("infrastructure", kutil.ObjectName(infrastructure))
if extensionscontroller.IsFailed(cluster) {
- logger.Info("Skipping the reconciliation of infrastructure of failed shoot")
+ log.Info("Skipping the reconciliation of Infrastructure of failed shoot")
return reconcile.Result{}, nil
}
@@ -124,131 +122,171 @@ func (r *reconciler) Reconcile(ctx context.Context, request reconcile.Request) (
case extensionscontroller.ShouldSkipOperation(operationType, infrastructure):
return reconcile.Result{}, nil
case operationType == gardencorev1beta1.LastOperationTypeMigrate:
- return r.migrate(ctx, logger.WithValues("operation", "migrate"), infrastructure, cluster)
+ return r.migrate(ctx, log.WithValues("operation", "migrate"), infrastructure, cluster)
case infrastructure.DeletionTimestamp != nil:
- return r.delete(ctx, logger.WithValues("operation", "delete"), infrastructure, cluster)
+ return r.delete(ctx, log.WithValues("operation", "delete"), infrastructure, cluster)
case operationType == gardencorev1beta1.LastOperationTypeRestore:
- return r.restore(ctx, logger.WithValues("operation", "restore"), infrastructure, cluster)
+ return r.restore(ctx, log.WithValues("operation", "restore"), infrastructure, cluster)
default:
- return r.reconcile(ctx, logger.WithValues("operation", "reconcile"), infrastructure, cluster, operationType)
+ return r.reconcile(ctx, log.WithValues("operation", "reconcile"), infrastructure, cluster, operationType)
}
}
-func (r *reconciler) reconcile(ctx context.Context, logger logr.Logger, infrastructure *extensionsv1alpha1.Infrastructure, cluster *extensionscontroller.Cluster, operationType gardencorev1beta1.LastOperationType) (reconcile.Result, error) {
- if err := controllerutils.EnsureFinalizer(ctx, r.reader, r.client, infrastructure, FinalizerName); err != nil {
- return reconcile.Result{}, err
+func (r *reconciler) reconcile(
+ ctx context.Context,
+ log logr.Logger,
+ infrastructure *extensionsv1alpha1.Infrastructure,
+ cluster *extensionscontroller.Cluster,
+ operationType gardencorev1beta1.LastOperationType,
+) (
+ reconcile.Result,
+ error,
+) {
+ if !controllerutil.ContainsFinalizer(infrastructure, FinalizerName) {
+ log.Info("Adding finalizer")
+ if err := controllerutils.AddFinalizers(ctx, r.client, infrastructure, FinalizerName); err != nil {
+ return reconcile.Result{}, fmt.Errorf("failed to add finalizer: %w", err)
+ }
}
- if err := r.statusUpdater.Processing(ctx, infrastructure, operationType, "Reconciling the infrastructure"); err != nil {
+ if err := r.statusUpdater.Processing(ctx, log, infrastructure, operationType, "Reconciling the infrastructure"); err != nil {
return reconcile.Result{}, err
}
if err := r.validateConfig(ctx, infrastructure); err != nil {
- _ = r.statusUpdater.Error(ctx, infrastructure, err, operationType, "Error checking infrastructure config")
+ _ = r.statusUpdater.Error(ctx, log, infrastructure, err, operationType, "Error checking infrastructure config")
return reconcile.Result{}, err
}
- logger.Info("Starting the reconciliation of infrastructure", "infrastructure", kutil.ObjectName(infrastructure))
- if err := r.actuator.Reconcile(ctx, infrastructure, cluster); err != nil {
- _ = r.statusUpdater.Error(ctx, infrastructure, reconcilerutils.ReconcileErrCauseOrErr(err), operationType, "Error reconciling infrastructure")
+ log.Info("Starting the reconciliation of infrastructure")
+ if err := r.actuator.Reconcile(ctx, log, infrastructure, cluster); err != nil {
+ _ = r.statusUpdater.Error(ctx, log, infrastructure, reconcilerutils.ReconcileErrCauseOrErr(err), operationType, "Error reconciling infrastructure")
return reconcilerutils.ReconcileErr(err)
}
- if err := r.statusUpdater.Success(ctx, infrastructure, operationType, "Successfully reconciled infrastructure"); err != nil {
+ if err := r.statusUpdater.Success(ctx, log, infrastructure, operationType, "Successfully reconciled infrastructure"); err != nil {
return reconcile.Result{}, err
}
return reconcile.Result{}, nil
}
-func (r *reconciler) delete(ctx context.Context, logger logr.Logger, infrastructure *extensionsv1alpha1.Infrastructure, cluster *extensionscontroller.Cluster) (reconcile.Result, error) {
+func (r *reconciler) delete(
+ ctx context.Context,
+ log logr.Logger,
+ infrastructure *extensionsv1alpha1.Infrastructure,
+ cluster *extensionscontroller.Cluster,
+) (
+ reconcile.Result,
+ error,
+) {
if !controllerutil.ContainsFinalizer(infrastructure, FinalizerName) {
- logger.Info("Deleting infrastructure causes a no-op as there is no finalizer", "infrastructure", kutil.ObjectName(infrastructure))
+ log.Info("Deleting infrastructure causes a no-op as there is no finalizer")
return reconcile.Result{}, nil
}
- if err := r.statusUpdater.Processing(ctx, infrastructure, gardencorev1beta1.LastOperationTypeDelete, "Deleting the infrastructure"); err != nil {
+ if err := r.statusUpdater.Processing(ctx, log, infrastructure, gardencorev1beta1.LastOperationTypeDelete, "Deleting the Infrastructure"); err != nil {
return reconcile.Result{}, err
}
- if err := r.actuator.Delete(ctx, infrastructure, cluster); err != nil {
- _ = r.statusUpdater.Error(ctx, infrastructure, reconcilerutils.ReconcileErrCauseOrErr(err), gardencorev1beta1.LastOperationTypeDelete, "Error deleting infrastructure")
+ if err := r.actuator.Delete(ctx, log, infrastructure, cluster); err != nil {
+ _ = r.statusUpdater.Error(ctx, log, infrastructure, reconcilerutils.ReconcileErrCauseOrErr(err), gardencorev1beta1.LastOperationTypeDelete, "Error deleting Infrastructure")
return reconcilerutils.ReconcileErr(err)
}
- if err := r.statusUpdater.Success(ctx, infrastructure, gardencorev1beta1.LastOperationTypeDelete, "Successfully deleted infrastructure"); err != nil {
+ if err := r.statusUpdater.Success(ctx, log, infrastructure, gardencorev1beta1.LastOperationTypeDelete, "Successfully deleted Infrastructure"); err != nil {
return reconcile.Result{}, err
}
- err := r.removeFinalizerFromInfrastructure(ctx, logger, infrastructure)
+ err := r.removeFinalizerFromInfrastructure(ctx, log, infrastructure)
return reconcile.Result{}, err
}
-func (r *reconciler) migrate(ctx context.Context, logger logr.Logger, infrastructure *extensionsv1alpha1.Infrastructure, cluster *extensionscontroller.Cluster) (reconcile.Result, error) {
- if err := r.statusUpdater.Processing(ctx, infrastructure, gardencorev1beta1.LastOperationTypeMigrate, "Starting Migration of the infrastructure"); err != nil {
+func (r *reconciler) migrate(
+ ctx context.Context,
+ log logr.Logger,
+ infrastructure *extensionsv1alpha1.Infrastructure,
+ cluster *extensionscontroller.Cluster,
+) (
+ reconcile.Result,
+ error,
+) {
+ if err := r.statusUpdater.Processing(ctx, log, infrastructure, gardencorev1beta1.LastOperationTypeMigrate, "Starting migration of the Infrastructure"); err != nil {
return reconcile.Result{}, err
}
- if err := r.actuator.Migrate(ctx, infrastructure, cluster); err != nil {
- _ = r.statusUpdater.Error(ctx, infrastructure, reconcilerutils.ReconcileErrCauseOrErr(err), gardencorev1beta1.LastOperationTypeMigrate, "Error migrating infrastructure")
+ if err := r.actuator.Migrate(ctx, log, infrastructure, cluster); err != nil {
+ _ = r.statusUpdater.Error(ctx, log, infrastructure, reconcilerutils.ReconcileErrCauseOrErr(err), gardencorev1beta1.LastOperationTypeMigrate, "Error migrating Infrastructure")
return reconcilerutils.ReconcileErr(err)
}
- if err := r.statusUpdater.Success(ctx, infrastructure, gardencorev1beta1.LastOperationTypeMigrate, "Successfully migrated infrastructure"); err != nil {
+ if err := r.statusUpdater.Success(ctx, log, infrastructure, gardencorev1beta1.LastOperationTypeMigrate, "Successfully migrated Infrastructure"); err != nil {
return reconcile.Result{}, err
}
- if err := r.removeFinalizerFromInfrastructure(ctx, logger, infrastructure); err != nil {
+ if err := r.removeFinalizerFromInfrastructure(ctx, log, infrastructure); err != nil {
return reconcile.Result{}, err
}
- if err := r.removeAnnotation(ctx, logger, infrastructure); err != nil {
+ if err := r.removeAnnotation(ctx, log, infrastructure); err != nil {
return reconcile.Result{}, err
}
return reconcile.Result{}, nil
}
-func (r *reconciler) restore(ctx context.Context, logger logr.Logger, infrastructure *extensionsv1alpha1.Infrastructure, cluster *extensionscontroller.Cluster) (reconcile.Result, error) {
- logger.Info("Ensuring finalizer")
- if err := controllerutils.EnsureFinalizer(ctx, r.reader, r.client, infrastructure, FinalizerName); err != nil {
- return reconcile.Result{}, err
+func (r *reconciler) restore(
+ ctx context.Context,
+ log logr.Logger,
+ infrastructure *extensionsv1alpha1.Infrastructure,
+ cluster *extensionscontroller.Cluster,
+) (
+ reconcile.Result,
+ error,
+) {
+ if !controllerutil.ContainsFinalizer(infrastructure, FinalizerName) {
+ log.Info("Adding finalizer")
+ if err := controllerutils.AddFinalizers(ctx, r.client, infrastructure, FinalizerName); err != nil {
+ return reconcile.Result{}, fmt.Errorf("failed to add finalizer: %w", err)
+ }
}
- if err := r.statusUpdater.Processing(ctx, infrastructure, gardencorev1beta1.LastOperationTypeRestore, "Restoring the infrastructure"); err != nil {
+ if err := r.statusUpdater.Processing(ctx, log, infrastructure, gardencorev1beta1.LastOperationTypeRestore, "Restoring the Infrastructure"); err != nil {
return reconcile.Result{}, err
}
if err := r.validateConfig(ctx, infrastructure); err != nil {
- _ = r.statusUpdater.Error(ctx, infrastructure, err, gardencorev1beta1.LastOperationTypeRestore, "Error checking infrastructure config")
+ _ = r.statusUpdater.Error(ctx, log, infrastructure, err, gardencorev1beta1.LastOperationTypeRestore, "Error checking Infrastructure config")
return reconcile.Result{}, err
}
- if err := r.actuator.Restore(ctx, infrastructure, cluster); err != nil {
- _ = r.statusUpdater.Error(ctx, infrastructure, reconcilerutils.ReconcileErrCauseOrErr(err), gardencorev1beta1.LastOperationTypeRestore, "Error restoring infrastructure")
+ if err := r.actuator.Restore(ctx, log, infrastructure, cluster); err != nil {
+ _ = r.statusUpdater.Error(ctx, log, infrastructure, reconcilerutils.ReconcileErrCauseOrErr(err), gardencorev1beta1.LastOperationTypeRestore, "Error restoring Infrastructure")
return reconcilerutils.ReconcileErr(err)
}
- if err := r.removeAnnotation(ctx, logger, infrastructure); err != nil {
+ if err := r.removeAnnotation(ctx, log, infrastructure); err != nil {
return reconcile.Result{}, err
}
- err := r.statusUpdater.Success(ctx, infrastructure, gardencorev1beta1.LastOperationTypeRestore, "Successfully restored infrastructure")
+ err := r.statusUpdater.Success(ctx, log, infrastructure, gardencorev1beta1.LastOperationTypeRestore, "Successfully restored Infrastructure")
return reconcile.Result{}, err
}
-func (r *reconciler) removeFinalizerFromInfrastructure(ctx context.Context, logger logr.Logger, infrastructure *extensionsv1alpha1.Infrastructure) error {
- logger.Info("Removing finalizer", "infrastructure", kutil.ObjectName(infrastructure))
- if err := controllerutils.RemoveFinalizer(ctx, r.reader, r.client, infrastructure, FinalizerName); err != nil {
- return fmt.Errorf("error removing finalizer from infrastructure: %+v", err)
+func (r *reconciler) removeFinalizerFromInfrastructure(ctx context.Context, log logr.Logger, infrastructure *extensionsv1alpha1.Infrastructure) error {
+ if controllerutil.ContainsFinalizer(infrastructure, FinalizerName) {
+ log.Info("Removing finalizer")
+ if err := controllerutils.RemoveFinalizers(ctx, r.client, infrastructure, FinalizerName); err != nil {
+ return fmt.Errorf("failed to remove finalizer: %w", err)
+ }
}
return nil
}
-func (r *reconciler) removeAnnotation(ctx context.Context, logger logr.Logger, infrastructure *extensionsv1alpha1.Infrastructure) error {
- logger.Info("Removing operation annotation")
+func (r *reconciler) removeAnnotation(ctx context.Context, log logr.Logger, infrastructure *extensionsv1alpha1.Infrastructure) error {
+ log.Info("Removing operation annotation")
if err := extensionscontroller.RemoveAnnotation(ctx, r.client, infrastructure, v1beta1constants.GardenerOperation); err != nil {
- return fmt.Errorf("error removing annotation from infrastructure: %+v", err)
+ return fmt.Errorf("error removing annotation from Infrastructure: %+v", err)
}
return nil
}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/status.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/status.go
index d896b6a2b..c94d4c60a 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/status.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/status.go
@@ -18,13 +18,13 @@ import (
"context"
"fmt"
- "github.com/go-logr/logr"
- metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- "sigs.k8s.io/controller-runtime/pkg/client"
-
gardencorev1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1"
gardencorev1beta1helper "github.com/gardener/gardener/pkg/apis/core/v1beta1/helper"
extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
+
+ "github.com/go-logr/logr"
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "sigs.k8s.io/controller-runtime/pkg/client"
)
// LastOperation creates a new LastOperation from the given parameters.
@@ -64,11 +64,11 @@ type StatusUpdater interface {
// InjectClient injects the client into the status updater.
InjectClient(client.Client)
// Processing updates the last operation of an extension resource when an operation is started.
- Processing(context.Context, extensionsv1alpha1.Object, gardencorev1beta1.LastOperationType, string) error
+ Processing(context.Context, logr.Logger, extensionsv1alpha1.Object, gardencorev1beta1.LastOperationType, string) error
// Error updates the last operation of an extension resource when an operation was erroneous.
- Error(context.Context, extensionsv1alpha1.Object, error, gardencorev1beta1.LastOperationType, string) error
+ Error(context.Context, logr.Logger, extensionsv1alpha1.Object, error, gardencorev1beta1.LastOperationType, string) error
// Success updates the last operation of an extension resource when an operation was successful.
- Success(context.Context, extensionsv1alpha1.Object, gardencorev1beta1.LastOperationType, string) error
+ Success(context.Context, logr.Logger, extensionsv1alpha1.Object, gardencorev1beta1.LastOperationType, string) error
}
// UpdaterFunc is a function to perform additional updates of the status.
@@ -79,20 +79,19 @@ type StatusUpdaterCustom interface {
// InjectClient injects the client into the status updater.
InjectClient(client.Client)
// ProcessingCustom updates the last operation of an extension resource when an operation is started.
- ProcessingCustom(context.Context, extensionsv1alpha1.Object, gardencorev1beta1.LastOperationType, string, UpdaterFunc) error
+ ProcessingCustom(context.Context, logr.Logger, extensionsv1alpha1.Object, gardencorev1beta1.LastOperationType, string, UpdaterFunc) error
// ErrorCustom updates the last operation of an extension resource when an operation was erroneous.
- ErrorCustom(context.Context, extensionsv1alpha1.Object, error, gardencorev1beta1.LastOperationType, string, UpdaterFunc) error
+ ErrorCustom(context.Context, logr.Logger, extensionsv1alpha1.Object, error, gardencorev1beta1.LastOperationType, string, UpdaterFunc) error
// SuccessCustom updates the last operation of an extension resource when an operation was successful.
- SuccessCustom(context.Context, extensionsv1alpha1.Object, gardencorev1beta1.LastOperationType, string, UpdaterFunc) error
+ SuccessCustom(context.Context, logr.Logger, extensionsv1alpha1.Object, gardencorev1beta1.LastOperationType, string, UpdaterFunc) error
}
// NewStatusUpdater returns a new status updater.
-func NewStatusUpdater(logger logr.Logger) *statusUpdater {
- return &statusUpdater{logger: logger}
+func NewStatusUpdater() *statusUpdater {
+ return &statusUpdater{}
}
type statusUpdater struct {
- logger logr.Logger
client client.Client
}
@@ -103,18 +102,29 @@ func (s *statusUpdater) InjectClient(c client.Client) {
s.client = c
}
-func (s *statusUpdater) Processing(ctx context.Context, obj extensionsv1alpha1.Object, lastOperationType gardencorev1beta1.LastOperationType, description string) error {
- return s.ProcessingCustom(ctx, obj, lastOperationType, description, nil)
-}
-
-func (s *statusUpdater) ProcessingCustom(ctx context.Context, obj extensionsv1alpha1.Object, lastOperationType gardencorev1beta1.LastOperationType, description string, updater UpdaterFunc) error {
+func (s *statusUpdater) Processing(
+ ctx context.Context,
+ log logr.Logger,
+ obj extensionsv1alpha1.Object,
+ lastOperationType gardencorev1beta1.LastOperationType,
+ description string,
+) error {
+ return s.ProcessingCustom(ctx, log, obj, lastOperationType, description, nil)
+}
+
+func (s *statusUpdater) ProcessingCustom(
+ ctx context.Context,
+ log logr.Logger,
+ obj extensionsv1alpha1.Object,
+ lastOperationType gardencorev1beta1.LastOperationType,
+ description string,
+ updater UpdaterFunc,
+) error {
if s.client == nil {
return fmt.Errorf("client is not set. Call InjectClient() first")
}
- // TODO: get a logger from the reconciler context via logf.FromContext everywhere and pass a logger down to this func
- // instead of adding key-value pairs ourselves here
- s.logger.Info(description, s.logKeysAndValues(obj)...) //nolint:logcheck
+ log.Info(description) //nolint:logcheck
patch := client.MergeFrom(obj.DeepCopyObject().(client.Object))
lastOp := LastOperation(lastOperationType, gardencorev1beta1.LastOperationStateProcessing, 1, description)
@@ -128,22 +138,36 @@ func (s *statusUpdater) ProcessingCustom(ctx context.Context, obj extensionsv1al
return s.client.Status().Patch(ctx, obj, patch)
}
-func (s *statusUpdater) Error(ctx context.Context, obj extensionsv1alpha1.Object, err error, lastOperationType gardencorev1beta1.LastOperationType, description string) error {
- return s.ErrorCustom(ctx, obj, err, lastOperationType, description, nil)
-}
-
-func (s *statusUpdater) ErrorCustom(ctx context.Context, obj extensionsv1alpha1.Object, err error, lastOperationType gardencorev1beta1.LastOperationType, description string, updater UpdaterFunc) error {
+func (s *statusUpdater) Error(
+ ctx context.Context,
+ log logr.Logger,
+ obj extensionsv1alpha1.Object,
+ err error,
+ lastOperationType gardencorev1beta1.LastOperationType,
+ description string,
+) error {
+ return s.ErrorCustom(ctx, log, obj, err, lastOperationType, description, nil)
+}
+
+func (s *statusUpdater) ErrorCustom(
+ ctx context.Context,
+ log logr.Logger,
+ obj extensionsv1alpha1.Object,
+ err error,
+ lastOperationType gardencorev1beta1.LastOperationType,
+ description string,
+ updater UpdaterFunc,
+) error {
if s.client == nil {
return fmt.Errorf("client is not set. Call InjectClient() first")
}
- errDescription := gardencorev1beta1helper.FormatLastErrDescription(fmt.Errorf("%s: %v", description, err))
+ var (
+ errDescription = gardencorev1beta1helper.FormatLastErrDescription(fmt.Errorf("%s: %v", description, err))
+ lastOp, lastErr = ReconcileError(lastOperationType, errDescription, 50, gardencorev1beta1helper.ExtractErrorCodes(err)...)
+ )
- // TODO: get a logger from the reconciler context via logf.FromContext everywhere and pass a logger down to this func
- // instead of adding key-value pairs ourselves here
- s.logger.Error(fmt.Errorf(errDescription), "Error", s.logKeysAndValues(obj)...) //nolint:logcheck
-
- lastOp, lastErr := ReconcileError(lastOperationType, errDescription, 50, gardencorev1beta1helper.ExtractErrorCodes(err)...)
+ log.Error(fmt.Errorf(errDescription), "Error") //nolint:logcheck
patch := client.MergeFrom(obj.DeepCopyObject().(client.Object))
obj.GetExtensionStatus().SetObservedGeneration(obj.GetGeneration())
@@ -158,18 +182,29 @@ func (s *statusUpdater) ErrorCustom(ctx context.Context, obj extensionsv1alpha1.
return s.client.Status().Patch(ctx, obj, patch)
}
-func (s *statusUpdater) Success(ctx context.Context, obj extensionsv1alpha1.Object, lastOperationType gardencorev1beta1.LastOperationType, description string) error {
- return s.SuccessCustom(ctx, obj, lastOperationType, description, nil)
-}
-
-func (s *statusUpdater) SuccessCustom(ctx context.Context, obj extensionsv1alpha1.Object, lastOperationType gardencorev1beta1.LastOperationType, description string, updater UpdaterFunc) error {
+func (s *statusUpdater) Success(
+ ctx context.Context,
+ log logr.Logger,
+ obj extensionsv1alpha1.Object,
+ lastOperationType gardencorev1beta1.LastOperationType,
+ description string,
+) error {
+ return s.SuccessCustom(ctx, log, obj, lastOperationType, description, nil)
+}
+
+func (s *statusUpdater) SuccessCustom(
+ ctx context.Context,
+ log logr.Logger,
+ obj extensionsv1alpha1.Object,
+ lastOperationType gardencorev1beta1.LastOperationType,
+ description string,
+ updater UpdaterFunc,
+) error {
if s.client == nil {
return fmt.Errorf("client is not set. Call InjectClient() first")
}
- // TODO: get a logger from the reconciler context via logf.FromContext everywhere and pass a logger down to this func
- // instead of adding key-value pairs ourselves here
- s.logger.Info(description, s.logKeysAndValues(obj)...) //nolint:logcheck
+ log.Info(description) //nolint:logcheck
patch := client.MergeFrom(obj.DeepCopyObject().(client.Object))
lastOp, lastErr := ReconcileSucceeded(lastOperationType, description)
@@ -184,12 +219,3 @@ func (s *statusUpdater) SuccessCustom(ctx context.Context, obj extensionsv1alpha
}
return s.client.Status().Patch(ctx, obj, patch)
}
-
-func (s *statusUpdater) logKeysAndValues(obj metav1.Object) []interface{} {
- var keysAndValues []interface{}
- if ns := obj.GetNamespace(); ns != "" {
- keysAndValues = append(keysAndValues, "namespace", ns)
- }
- keysAndValues = append(keysAndValues, "name", obj.GetName())
- return keysAndValues
-}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/actuator.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/actuator.go
index 4230225e5..43d2d4ee0 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/actuator.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/actuator.go
@@ -18,25 +18,26 @@ import (
"context"
extensionscontroller "github.com/gardener/gardener/extensions/pkg/controller"
-
extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
+
+ "github.com/go-logr/logr"
)
// Actuator acts upon Worker resources.
type Actuator interface {
// Reconcile reconciles the Worker.
- Reconcile(context.Context, *extensionsv1alpha1.Worker, *extensionscontroller.Cluster) error
+ Reconcile(context.Context, logr.Logger, *extensionsv1alpha1.Worker, *extensionscontroller.Cluster) error
// Delete deletes the Worker.
- Delete(context.Context, *extensionsv1alpha1.Worker, *extensionscontroller.Cluster) error
+ Delete(context.Context, logr.Logger, *extensionsv1alpha1.Worker, *extensionscontroller.Cluster) error
// Restore reads from the worker.status.state field and deploys the machines and machineSet
- Restore(context.Context, *extensionsv1alpha1.Worker, *extensionscontroller.Cluster) error
+ Restore(context.Context, logr.Logger, *extensionsv1alpha1.Worker, *extensionscontroller.Cluster) error
// Migrate deletes the MCM, machineDeployments, machineClasses, machineClassSecrets,
// machineSets and the machines. The underlying VMs representing the Shoot nodes are not deleted
- Migrate(context.Context, *extensionsv1alpha1.Worker, *extensionscontroller.Cluster) error
+ Migrate(context.Context, logr.Logger, *extensionsv1alpha1.Worker, *extensionscontroller.Cluster) error
}
// StateActuator acts upon Worker's State resources.
type StateActuator interface {
// Reconcile reconciles the Worker State.
- Reconcile(context.Context, *extensionsv1alpha1.Worker) error
+ Reconcile(context.Context, logr.Logger, *extensionsv1alpha1.Worker) error
}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/controller.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/controller.go
index 7ad8a9fd4..f600b74ce 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/controller.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/controller.go
@@ -18,7 +18,6 @@ import (
machinev1alpha1 "github.com/gardener/machine-controller-manager/pkg/apis/machine/v1alpha1"
"sigs.k8s.io/controller-runtime/pkg/controller"
"sigs.k8s.io/controller-runtime/pkg/handler"
- "sigs.k8s.io/controller-runtime/pkg/log"
"sigs.k8s.io/controller-runtime/pkg/manager"
"sigs.k8s.io/controller-runtime/pkg/predicate"
"sigs.k8s.io/controller-runtime/pkg/source"
@@ -33,9 +32,9 @@ const (
// FinalizerName is the worker controller finalizer.
FinalizerName = "extensions.gardener.cloud/worker"
// ControllerName is the name of the controller.
- ControllerName = "worker_controller"
- // StateUpdatingControllerName is the name of the controller responsible for updating the worker's state.
- StateUpdatingControllerName = "worker_state_controller"
+ ControllerName = "worker"
+ // ControllerNameState is the name of the controller responsible for updating the worker's state.
+ ControllerNameState = "worker-state"
)
// AddArgs are arguments for adding an worker controller to a manager.
@@ -85,7 +84,7 @@ func add(mgr manager.Manager, args AddArgs, predicates []predicate.Predicate) er
if args.IgnoreOperationAnnotation {
if err := ctrl.Watch(
&source.Kind{Type: &extensionsv1alpha1.Cluster{}},
- mapper.EnqueueRequestsFrom(ClusterToWorkerMapper(predicates), mapper.UpdateWithNew),
+ mapper.EnqueueRequestsFrom(ClusterToWorkerMapper(predicates), mapper.UpdateWithNew, ctrl.GetLogger()),
); err != nil {
return err
}
@@ -96,8 +95,8 @@ func add(mgr manager.Manager, args AddArgs, predicates []predicate.Predicate) er
func addStateUpdatingController(mgr manager.Manager, options controller.Options, extensionType string) error {
var (
- stateActuator = NewStateActuator(log.Log.WithName("worker-state-actuator"))
- stateReconciler = NewStateReconciler(mgr, stateActuator)
+ stateActuator = NewStateActuator()
+ stateReconciler = NewStateReconciler(stateActuator)
addStateUpdatingControllerOptions = controller.Options{
MaxConcurrentReconciles: options.MaxConcurrentReconciles,
@@ -115,14 +114,14 @@ func addStateUpdatingController(mgr manager.Manager, options controller.Options,
}
)
- ctrl, err := controller.New(StateUpdatingControllerName, mgr, addStateUpdatingControllerOptions)
+ ctrl, err := controller.New(ControllerNameState, mgr, addStateUpdatingControllerOptions)
if err != nil {
return err
}
if err := ctrl.Watch(
&source.Kind{Type: &machinev1alpha1.MachineSet{}},
- mapper.EnqueueRequestsFrom(MachineSetToWorkerMapper(workerPredicates), mapper.UpdateWithNew),
+ mapper.EnqueueRequestsFrom(MachineSetToWorkerMapper(workerPredicates), mapper.UpdateWithNew, ctrl.GetLogger()),
machinePredicates...,
); err != nil {
return err
@@ -130,7 +129,7 @@ func addStateUpdatingController(mgr manager.Manager, options controller.Options,
return ctrl.Watch(
&source.Kind{Type: &machinev1alpha1.Machine{}},
- mapper.EnqueueRequestsFrom(MachineToWorkerMapper(workerPredicates), mapper.UpdateWithNew),
+ mapper.EnqueueRequestsFrom(MachineToWorkerMapper(workerPredicates), mapper.UpdateWithNew, ctrl.GetLogger()),
machinePredicates...,
)
}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/genericactuator/actuator.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/genericactuator/actuator.go
index 2f0be8157..d183f23b0 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/genericactuator/actuator.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/genericactuator/actuator.go
@@ -50,8 +50,6 @@ import (
const GardenPurposeMachineClass = "machineclass"
type genericActuator struct {
- logger logr.Logger
-
delegateFactory DelegateFactory
mcmName string
mcmSeedChart chart.Interface
@@ -71,7 +69,6 @@ type genericActuator struct {
// Worker resources of Gardener's `extensions.gardener.cloud` API group.
// It provides a default implementation that allows easier integration of providers.
func NewActuator(
- logger logr.Logger,
delegateFactory DelegateFactory,
mcmName string,
mcmSeedChart,
@@ -80,7 +77,6 @@ func NewActuator(
chartRendererFactory extensionscontroller.ChartRendererFactory,
) worker.Actuator {
return &genericActuator{
- logger: logger.WithName("worker-actuator"),
delegateFactory: delegateFactory,
mcmName: mcmName,
mcmSeedChart: mcmSeedChart,
@@ -237,8 +233,8 @@ func (a *genericActuator) updateCloudCredentialsInAllMachineClassSecrets(ctx con
// shallowDeleteMachineClassSecrets deletes all unused machine class secrets (i.e., those which are not part
// of the provided list ) without waiting for MCM to do this.
-func (a *genericActuator) shallowDeleteMachineClassSecrets(ctx context.Context, logger logr.Logger, namespace string, wantedMachineDeployments worker.MachineDeployments) error {
- logger.Info("Shallow deleting machine class secrets")
+func (a *genericActuator) shallowDeleteMachineClassSecrets(ctx context.Context, log logr.Logger, namespace string, wantedMachineDeployments worker.MachineDeployments) error {
+ log.Info("Shallow deleting machine class secrets")
secretList, err := a.listMachineClassSecrets(ctx, namespace)
if err != nil {
return err
@@ -246,8 +242,9 @@ func (a *genericActuator) shallowDeleteMachineClassSecrets(ctx context.Context,
// Delete the finalizers to all secrets which were used for machine classes that do not exist anymore.
for _, secret := range secretList.Items {
if !wantedMachineDeployments.HasSecret(secret.Name) {
- if err := controllerutils.RemoveAllFinalizers(ctx, a.client, a.client, &secret); err != nil {
- return fmt.Errorf("error removing finalizer from MachineClassSecret: %s/%s: %w", secret.Namespace, secret.Name, err)
+ log.Info("Removing all finalizers from machine class secret", "secret", client.ObjectKeyFromObject(&secret))
+ if err := controllerutils.RemoveAllFinalizers(ctx, a.client, &secret); err != nil {
+ return fmt.Errorf("error removing all finalizers from machine class secret: %s/%s: %w", secret.Namespace, secret.Name, err)
}
if err := a.client.Delete(ctx, &secret); err != nil {
return err
@@ -259,8 +256,7 @@ func (a *genericActuator) shallowDeleteMachineClassSecrets(ctx context.Context,
}
// removeFinalizerFromWorkerSecretRef removes the MCM finalizers from the secret that is referenced by the worker
-func (a *genericActuator) removeFinalizerFromWorkerSecretRef(ctx context.Context, logger logr.Logger, worker *extensionsv1alpha1.Worker) error {
- logger.Info("Removing MCM finalizers from worker`s secret")
+func (a *genericActuator) removeFinalizerFromWorkerSecretRef(ctx context.Context, log logr.Logger, worker *extensionsv1alpha1.Worker) error {
secret, err := kutil.GetSecretByReference(ctx, a.client, &worker.Spec.SecretRef)
if err != nil {
if apierrors.IsNotFound(err) {
@@ -268,6 +264,7 @@ func (a *genericActuator) removeFinalizerFromWorkerSecretRef(ctx context.Context
}
return err
}
+
finalizersToRemove := []string{}
if controllerutil.ContainsFinalizer(secret, mcmFinalizer) {
finalizersToRemove = append(finalizersToRemove, mcmFinalizer)
@@ -278,7 +275,15 @@ func (a *genericActuator) removeFinalizerFromWorkerSecretRef(ctx context.Context
if len(finalizersToRemove) == 0 {
return nil
}
- return controllerutils.PatchRemoveFinalizers(ctx, a.client, secret, finalizersToRemove...)
+
+ if len(finalizersToRemove) > 0 {
+ log.Info("Removing finalizers from secret", "secret", client.ObjectKeyFromObject(secret))
+ if err := controllerutils.RemoveFinalizers(ctx, a.client, secret, finalizersToRemove...); err != nil {
+ return fmt.Errorf("failed to remove finalizer from secret: %w", err)
+ }
+ }
+
+ return nil
}
// cleanupMachineSets deletes MachineSets having number of desired and actual replicas equaling 0
@@ -300,12 +305,14 @@ func (a *genericActuator) cleanupMachineSets(ctx context.Context, logger logr.Lo
return nil
}
-func (a *genericActuator) shallowDeleteAllObjects(ctx context.Context, logger logr.Logger, namespace string, objectList client.ObjectList) error {
+func (a *genericActuator) shallowDeleteAllObjects(ctx context.Context, log logr.Logger, namespace string, objectList client.ObjectList) error {
var objectKind interface{} = strings.TrimSuffix(fmt.Sprintf("%T", objectList), "List")
if gvk, err := apiutil.GVKForObject(objectList, a.scheme); err == nil {
objectKind = gvk
}
- logger.Info("Shallow deleting all objects of kind", "kind", objectKind)
+
+ log = log.WithValues("kind", objectKind)
+ log.Info("Shallow deleting all objects of kind")
if err := a.client.List(ctx, objectList, client.InNamespace(namespace)); err != nil {
return err
@@ -313,9 +320,13 @@ func (a *genericActuator) shallowDeleteAllObjects(ctx context.Context, logger lo
return meta.EachListItem(objectList, func(obj runtime.Object) error {
object := obj.(client.Object)
- if err := controllerutils.RemoveAllFinalizers(ctx, a.client, a.client, object); err != nil {
+ if err := controllerutils.RemoveAllFinalizers(ctx, a.client, object); err != nil {
return err
}
+ log.Info("Removing all finalizers from object", "object", client.ObjectKeyFromObject(object))
+ if err := controllerutils.RemoveAllFinalizers(ctx, a.client, object); err != nil {
+ return fmt.Errorf("error removing all finalizers from object: %s/%s: %w", object.GetNamespace(), object.GetName(), err)
+ }
if err := a.client.Delete(ctx, object); client.IgnoreNotFound(err) != nil {
return err
}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/genericactuator/actuator_delete.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/genericactuator/actuator_delete.go
index 2f80864f6..a210183ae 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/genericactuator/actuator_delete.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/genericactuator/actuator_delete.go
@@ -21,18 +21,18 @@ import (
"strings"
"time"
+ extensionscontroller "github.com/gardener/gardener/extensions/pkg/controller"
+ extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
+ "github.com/gardener/gardener/pkg/utils/flow"
+ kutil "github.com/gardener/gardener/pkg/utils/kubernetes"
+ retryutils "github.com/gardener/gardener/pkg/utils/retry"
+
machinev1alpha1 "github.com/gardener/machine-controller-manager/pkg/apis/machine/v1alpha1"
"github.com/go-logr/logr"
corev1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/meta"
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
-
- extensionscontroller "github.com/gardener/gardener/extensions/pkg/controller"
- extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
- "github.com/gardener/gardener/pkg/utils/flow"
- kutil "github.com/gardener/gardener/pkg/utils/kubernetes"
- retryutils "github.com/gardener/gardener/pkg/utils/retry"
)
const (
@@ -40,32 +40,37 @@ const (
forceDeletionLabelValue = "True"
)
-func (a *genericActuator) Delete(ctx context.Context, worker *extensionsv1alpha1.Worker, cluster *extensionscontroller.Cluster) error {
- logger := a.logger.WithValues("worker", client.ObjectKeyFromObject(worker), "operation", "delete")
+func (a *genericActuator) Delete(ctx context.Context, log logr.Logger, worker *extensionsv1alpha1.Worker, cluster *extensionscontroller.Cluster) error {
+ log = log.WithValues("operation", "delete")
workerDelegate, err := a.delegateFactory.WorkerDelegate(ctx, worker, cluster)
if err != nil {
return fmt.Errorf("could not instantiate actuator context: %w", err)
}
+ // Call pre deletion hook to prepare Worker deletion.
+ if err := workerDelegate.PreDeleteHook(ctx); err != nil {
+ return fmt.Errorf("pre worker deletion hook failed: %w", err)
+ }
+
// Make sure machine-controller-manager is awake before deleting the machines.
var replicaFunc = func() int32 {
return 1
}
// Deploy the machine-controller-manager into the cluster to make sure worker nodes can be removed.
- if err := a.deployMachineControllerManager(ctx, logger, worker, cluster, workerDelegate, replicaFunc); err != nil {
+ if err := a.deployMachineControllerManager(ctx, log, worker, cluster, workerDelegate, replicaFunc); err != nil {
return err
}
// Redeploy generated machine classes to update credentials machine-controller-manager used.
- logger.Info("Deploying the machine classes")
+ log.Info("Deploying the machine classes")
if err := workerDelegate.DeployMachineClasses(ctx); err != nil {
return fmt.Errorf("failed to deploy the machine classes: %w", err)
}
// Wait until the machine class credentials secret has been acquired.
- logger.Info("Waiting until the machine class credentials secret has been acquired")
+ log.Info("Waiting until the machine class credentials secret has been acquired")
if err := a.waitUntilCredentialsSecretAcquiredOrReleased(ctx, true, worker, workerDelegate); err != nil {
return fmt.Errorf("failed while waiting for the machine class credentials secret to be acquired: %w", err)
}
@@ -76,62 +81,68 @@ func (a *genericActuator) Delete(ctx context.Context, worker *extensionsv1alpha1
if err != nil {
return fmt.Errorf("failed to get the cloud credentials in namespace %s: %w", worker.Namespace, err)
}
- if err = a.updateCloudCredentialsInAllMachineClassSecrets(ctx, logger, cloudCredentials, worker.Namespace); err != nil {
+ if err = a.updateCloudCredentialsInAllMachineClassSecrets(ctx, log, cloudCredentials, worker.Namespace); err != nil {
return fmt.Errorf("failed to update cloud credentials in machine class secrets for namespace %s: %w", worker.Namespace, err)
}
}
// Mark all existing machines to become forcefully deleted.
- logger.Info("Marking all machines to become forcefully deleted")
- if err := a.markAllMachinesForcefulDeletion(ctx, logger, worker.Namespace); err != nil {
+ log.Info("Marking all machines to become forcefully deleted")
+ if err := a.markAllMachinesForcefulDeletion(ctx, log, worker.Namespace); err != nil {
return fmt.Errorf("marking all machines for forceful deletion failed: %w", err)
}
// Delete all machine deployments.
- logger.Info("Deleting all machine deployments")
+ log.Info("Deleting all machine deployments")
if err := a.client.DeleteAllOf(ctx, &machinev1alpha1.MachineDeployment{}, client.InNamespace(worker.Namespace)); err != nil {
return fmt.Errorf("cleaning up all machine deployments failed: %w", err)
}
// Delete all machine classes.
- logger.Info("Deleting all machine classes")
+ log.Info("Deleting all machine classes")
if err := a.client.DeleteAllOf(ctx, workerDelegate.MachineClass(), client.InNamespace(worker.Namespace)); err != nil {
return fmt.Errorf("cleaning up all machine classes failed: %w", err)
}
// Delete all machine class secrets.
- logger.Info("Deleting all machine class secrets")
+ log.Info("Deleting all machine class secrets")
if err := a.client.DeleteAllOf(ctx, &corev1.Secret{}, client.InNamespace(worker.Namespace), client.MatchingLabels(getMachineClassSecretLabels())); err != nil {
return fmt.Errorf("cleaning up all machine class secrets failed: %w", err)
}
// Wait until all machine resources have been properly deleted.
- if err := a.waitUntilMachineResourcesDeleted(ctx, logger, worker, workerDelegate); err != nil {
+ if err := a.waitUntilMachineResourcesDeleted(ctx, log, worker, workerDelegate); err != nil {
return fmt.Errorf("Failed while waiting for all machine resources to be deleted: %w", err)
}
// Wait until the machine class credentials secret has been released.
- logger.Info("Waiting until the machine class credentials secret has been released")
+ log.Info("Waiting until the machine class credentials secret has been released")
if err := a.waitUntilCredentialsSecretAcquiredOrReleased(ctx, false, worker, workerDelegate); err != nil {
return fmt.Errorf("failed while waiting for the machine class credentials secret to be released: %w", err)
}
// Delete the machine-controller-manager.
- if err := a.deleteMachineControllerManager(ctx, logger, worker); err != nil {
+ if err := a.deleteMachineControllerManager(ctx, log, worker); err != nil {
return fmt.Errorf("failed deleting machine-controller-manager: %w", err)
}
// Cleanup machine dependencies.
+ // TODO(dkistner): Remove in a future release.
if err := workerDelegate.CleanupMachineDependencies(ctx); err != nil {
return fmt.Errorf("failed to cleanup machine dependencies: %w", err)
}
+ // Call post deletion hook after Worker deletion has happened.
+ if err := workerDelegate.PostDeleteHook(ctx); err != nil {
+ return fmt.Errorf("post worker deletion hook failed: %w", err)
+ }
+
return nil
}
// Mark all existing machines to become forcefully deleted.
-func (a *genericActuator) markAllMachinesForcefulDeletion(ctx context.Context, logger logr.Logger, namespace string) error {
- logger.Info("Marking all machines for forceful deletion")
+func (a *genericActuator) markAllMachinesForcefulDeletion(ctx context.Context, log logr.Logger, namespace string) error {
+ log.Info("Marking all machines for forceful deletion")
// Mark all existing machines to become forcefully deleted.
existingMachines := &machinev1alpha1.MachineList{}
if err := a.client.List(ctx, existingMachines, client.InNamespace(namespace)); err != nil {
@@ -170,7 +181,7 @@ func (a *genericActuator) markMachineForcefulDeletion(ctx context.Context, machi
// waitUntilMachineResourcesDeleted waits for a maximum of 30 minutes until all machine resources have been properly
// deleted by the machine-controller-manager. It polls the status every 5 seconds.
// TODO: Parallelise this?
-func (a *genericActuator) waitUntilMachineResourcesDeleted(ctx context.Context, logger logr.Logger, worker *extensionsv1alpha1.Worker, workerDelegate WorkerDelegate) error {
+func (a *genericActuator) waitUntilMachineResourcesDeleted(ctx context.Context, log logr.Logger, worker *extensionsv1alpha1.Worker, workerDelegate WorkerDelegate) error {
var (
countMachines = -1
countMachineSets = -1
@@ -178,7 +189,7 @@ func (a *genericActuator) waitUntilMachineResourcesDeleted(ctx context.Context,
countMachineClasses = -1
countMachineClassSecrets = -1
)
- logger.Info("Waiting until all machine resources have been deleted")
+ log.Info("Waiting until all machine resources have been deleted")
return retryutils.UntilTimeout(ctx, 5*time.Second, 5*time.Minute, func(ctx context.Context) (bool, error) {
msg := ""
@@ -251,7 +262,7 @@ func (a *genericActuator) waitUntilMachineResourcesDeleted(ctx context.Context,
}
if countMachines != 0 || countMachineSets != 0 || countMachineDeployments != 0 || countMachineClasses != 0 || countMachineClassSecrets != 0 {
- logger.Info("Waiting until machine resources have been deleted",
+ log.Info("Waiting until machine resources have been deleted",
"machines", countMachines, "machineSets", countMachineSets, "machineDeployments", countMachineDeployments,
"machineClasses", countMachineClasses, "machineClassSecrets", countMachineClassSecrets)
return retryutils.MinorError(fmt.Errorf("waiting until the following machine resources have been deleted: %s", strings.TrimSuffix(msg, ", ")))
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/genericactuator/actuator_migrate.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/genericactuator/actuator_migrate.go
index d3d38590c..967b3e63f 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/genericactuator/actuator_migrate.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/genericactuator/actuator_migrate.go
@@ -18,19 +18,19 @@ import (
"context"
"fmt"
- machinev1alpha1 "github.com/gardener/machine-controller-manager/pkg/apis/machine/v1alpha1"
- "sigs.k8s.io/controller-runtime/pkg/client"
-
"github.com/gardener/gardener/extensions/pkg/controller"
extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
kutil "github.com/gardener/gardener/pkg/utils/kubernetes"
"github.com/gardener/gardener/pkg/utils/managedresources"
+
+ machinev1alpha1 "github.com/gardener/machine-controller-manager/pkg/apis/machine/v1alpha1"
+ "github.com/go-logr/logr"
)
// Migrate removes all machine related resources (e.g. MachineDeployments, MachineClasses, MachineClassSecrets, MachineSets and Machines)
// without waiting for machine-controller-manager to do that. Before removal it ensures that the MCM is deleted.
-func (a *genericActuator) Migrate(ctx context.Context, worker *extensionsv1alpha1.Worker, cluster *controller.Cluster) error {
- logger := a.logger.WithValues("worker", client.ObjectKeyFromObject(worker), "operation", "migrate")
+func (a *genericActuator) Migrate(ctx context.Context, log logr.Logger, worker *extensionsv1alpha1.Worker, cluster *controller.Cluster) error {
+ log = log.WithValues("operation", "migrate")
workerDelegate, err := a.delegateFactory.WorkerDelegate(ctx, worker, cluster)
if err != nil {
@@ -43,40 +43,40 @@ func (a *genericActuator) Migrate(ctx context.Context, worker *extensionsv1alpha
}
// Make sure machine-controller-manager is deleted before deleting the machines.
- if err := a.deleteMachineControllerManager(ctx, logger, worker); err != nil {
+ if err := a.deleteMachineControllerManager(ctx, log, worker); err != nil {
return fmt.Errorf("failed deleting machine-controller-manager: %w", err)
}
- if err := a.waitUntilMachineControllerManagerIsDeleted(ctx, logger, worker.Namespace); err != nil {
+ if err := a.waitUntilMachineControllerManagerIsDeleted(ctx, log, worker.Namespace); err != nil {
return fmt.Errorf("failed deleting machine-controller-manager: %w", err)
}
- if err := a.shallowDeleteAllObjects(ctx, logger, worker.Namespace, &machinev1alpha1.MachineList{}); err != nil {
+ if err := a.shallowDeleteAllObjects(ctx, log, worker.Namespace, &machinev1alpha1.MachineList{}); err != nil {
return fmt.Errorf("shallow deletion of all machine failed: %w", err)
}
- if err := a.shallowDeleteAllObjects(ctx, logger, worker.Namespace, &machinev1alpha1.MachineSetList{}); err != nil {
+ if err := a.shallowDeleteAllObjects(ctx, log, worker.Namespace, &machinev1alpha1.MachineSetList{}); err != nil {
return fmt.Errorf("shallow deletion of all machineSets failed: %w", err)
}
- if err := a.shallowDeleteAllObjects(ctx, logger, worker.Namespace, &machinev1alpha1.MachineDeploymentList{}); err != nil {
+ if err := a.shallowDeleteAllObjects(ctx, log, worker.Namespace, &machinev1alpha1.MachineDeploymentList{}); err != nil {
return fmt.Errorf("shallow deletion of all machineDeployments failed: %w", err)
}
- if err := a.shallowDeleteAllObjects(ctx, logger, worker.Namespace, workerDelegate.MachineClassList()); err != nil {
+ if err := a.shallowDeleteAllObjects(ctx, log, worker.Namespace, workerDelegate.MachineClassList()); err != nil {
return fmt.Errorf("cleaning up machine classes failed: %w", err)
}
- if err := a.shallowDeleteMachineClassSecrets(ctx, logger, worker.Namespace, nil); err != nil {
+ if err := a.shallowDeleteMachineClassSecrets(ctx, log, worker.Namespace, nil); err != nil {
return fmt.Errorf("cleaning up machine class secrets failed: %w", err)
}
- if err := a.removeFinalizerFromWorkerSecretRef(ctx, logger, worker); err != nil {
+ if err := a.removeFinalizerFromWorkerSecretRef(ctx, log, worker); err != nil {
return fmt.Errorf("unable to remove the finalizers from worker`s secret: %w", err)
}
// Wait until all machine resources have been properly deleted.
- if err := a.waitUntilMachineResourcesDeleted(ctx, logger, worker, workerDelegate); err != nil {
+ if err := a.waitUntilMachineResourcesDeleted(ctx, log, worker, workerDelegate); err != nil {
return fmt.Errorf("Failed while waiting for all machine resources to be deleted: %w", err)
}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/genericactuator/actuator_reconcile.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/genericactuator/actuator_reconcile.go
index 0af3b533c..2d3921ae8 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/genericactuator/actuator_reconcile.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/genericactuator/actuator_reconcile.go
@@ -21,36 +21,40 @@ import (
"strings"
"time"
- machinev1alpha1 "github.com/gardener/machine-controller-manager/pkg/apis/machine/v1alpha1"
- "github.com/go-logr/logr"
- corev1 "k8s.io/api/core/v1"
- metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- "k8s.io/apimachinery/pkg/util/sets"
- "sigs.k8s.io/controller-runtime/pkg/client"
-
"github.com/gardener/gardener/extensions/pkg/controller"
extensionscontroller "github.com/gardener/gardener/extensions/pkg/controller"
workerhealthcheck "github.com/gardener/gardener/extensions/pkg/controller/healthcheck/worker"
extensionsworker "github.com/gardener/gardener/extensions/pkg/controller/worker"
workerhelper "github.com/gardener/gardener/extensions/pkg/controller/worker/helper"
v1beta1constants "github.com/gardener/gardener/pkg/apis/core/v1beta1/constants"
- gardencorev1beta1helper "github.com/gardener/gardener/pkg/apis/core/v1beta1/helper"
extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
extensionsv1alpha1helper "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1/helper"
"github.com/gardener/gardener/pkg/client/kubernetes"
"github.com/gardener/gardener/pkg/controllerutils"
kutil "github.com/gardener/gardener/pkg/utils/kubernetes"
retryutils "github.com/gardener/gardener/pkg/utils/retry"
+
+ machinev1alpha1 "github.com/gardener/machine-controller-manager/pkg/apis/machine/v1alpha1"
+ "github.com/go-logr/logr"
+ corev1 "k8s.io/api/core/v1"
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/apimachinery/pkg/util/sets"
+ "sigs.k8s.io/controller-runtime/pkg/client"
)
-func (a *genericActuator) Reconcile(ctx context.Context, worker *extensionsv1alpha1.Worker, cluster *controller.Cluster) error {
- logger := a.logger.WithValues("worker", client.ObjectKeyFromObject(worker), "operation", "reconcile")
+func (a *genericActuator) Reconcile(ctx context.Context, log logr.Logger, worker *extensionsv1alpha1.Worker, cluster *controller.Cluster) error {
+ log = log.WithValues("operation", "reconcile")
workerDelegate, err := a.delegateFactory.WorkerDelegate(ctx, worker, cluster)
if err != nil {
return fmt.Errorf("could not instantiate actuator context: %w", err)
}
+ // Call pre reconcilation hook to prepare Worker reconciliation.
+ if err := workerDelegate.PreReconcileHook(ctx); err != nil {
+ return fmt.Errorf("pre worker reconciliation hook failed: %w", err)
+ }
+
// mcmReplicaFunc returns the desired replicas for machine controller manager
var mcmReplicaFunc = func() int32 {
switch {
@@ -70,17 +74,18 @@ func (a *genericActuator) Reconcile(ctx context.Context, worker *extensionsv1alp
}
// Deploy machine dependencies.
+ // TODO(dkistner): Remove in a future release.
if err := workerDelegate.DeployMachineDependencies(ctx); err != nil {
return fmt.Errorf("failed to deploy machine dependencies: %w", err)
}
// Deploy the machine-controller-manager into the cluster.
- if err := a.deployMachineControllerManager(ctx, logger, worker, cluster, workerDelegate, mcmReplicaFunc); err != nil {
+ if err := a.deployMachineControllerManager(ctx, log, worker, cluster, workerDelegate, mcmReplicaFunc); err != nil {
return err
}
// Generate the desired machine deployments.
- logger.Info("Generating machine deployments")
+ log.Info("Generating machine deployments")
wantedMachineDeployments, err := workerDelegate.GenerateMachineDeployments(ctx)
if err != nil {
return fmt.Errorf("failed to generate the machine deployments: %w", err)
@@ -92,7 +97,7 @@ func (a *genericActuator) Reconcile(ctx context.Context, worker *extensionsv1alp
// with Gardeners modifications on the machine deployment's replicas fields.
isHibernationEnabled := controller.IsHibernationEnabled(cluster)
if clusterAutoscalerUsed && isHibernationEnabled {
- if err = a.scaleClusterAutoscaler(ctx, logger, worker, 0); err != nil {
+ if err = a.scaleClusterAutoscaler(ctx, log, worker, 0); err != nil {
return err
}
}
@@ -104,7 +109,7 @@ func (a *genericActuator) Reconcile(ctx context.Context, worker *extensionsv1alp
}
// Deploy generated machine classes.
- logger.Info("Deploying machine classes")
+ log.Info("Deploying machine classes")
if err := workerDelegate.DeployMachineClasses(ctx); err != nil {
return fmt.Errorf("failed to deploy the machine classes: %w", err)
}
@@ -115,7 +120,7 @@ func (a *genericActuator) Reconcile(ctx context.Context, worker *extensionsv1alp
if err != nil {
return fmt.Errorf("failed to get the cloud credentials in namespace %s: %w", worker.Namespace, err)
}
- if err = a.updateCloudCredentialsInAllMachineClassSecrets(ctx, logger, cloudCredentials, worker.Namespace); err != nil {
+ if err = a.updateCloudCredentialsInAllMachineClassSecrets(ctx, log, cloudCredentials, worker.Namespace); err != nil {
return fmt.Errorf("failed to update cloud credentials in machine class secrets for namespace %s: %w", worker.Namespace, err)
}
}
@@ -137,16 +142,16 @@ func (a *genericActuator) Reconcile(ctx context.Context, worker *extensionsv1alp
}
// Generate machine deployment configuration based on previously computed list of deployments and deploy them.
- if err := a.deployMachineDeployments(ctx, logger, cluster, worker, existingMachineDeployments, wantedMachineDeployments, workerDelegate.MachineClassKind(), clusterAutoscalerUsed); err != nil {
+ if err := a.deployMachineDeployments(ctx, log, cluster, worker, existingMachineDeployments, wantedMachineDeployments, workerDelegate.MachineClassKind(), clusterAutoscalerUsed); err != nil {
return fmt.Errorf("failed to generate the machine deployment config: %w", err)
}
// Wait until all generated machine deployments are healthy/available.
- if err := a.waitUntilWantedMachineDeploymentsAvailable(ctx, logger, cluster, worker, existingMachineDeploymentNames, existingMachineClassNames, wantedMachineDeployments); err != nil {
+ if err := a.waitUntilWantedMachineDeploymentsAvailable(ctx, log, cluster, worker, existingMachineDeploymentNames, existingMachineClassNames, wantedMachineDeployments); err != nil {
// check if the machine-controller-manager is stuck
isStuck, msg, err2 := a.IsMachineControllerStuck(ctx, worker)
if err2 != nil {
- logger.Error(err2, "Failed to check if the machine-controller-manager pod is stuck after unsuccessfully waiting for all machine deployments to be ready")
+ log.Error(err2, "Failed to check if the machine-controller-manager pod is stuck after unsuccessfully waiting for all machine deployments to be ready")
// continue in order to return `err` and determine error codes
}
@@ -161,49 +166,49 @@ func (a *genericActuator) Reconcile(ctx context.Context, worker *extensionsv1alp
return fmt.Errorf("failed to delete stuck machine-controller-manager pod for worker (%s/%s): %w", worker.Namespace, worker.Name, err2)
}
}
- logger.Info("Successfully deleted stuck machine-controller-manager pod", "reason", msg)
+ log.Info("Successfully deleted stuck machine-controller-manager pod", "reason", msg)
}
return fmt.Errorf("Failed while waiting for all machine deployments to be ready: %w", err)
}
// Delete all old machine deployments (i.e. those which were not previously computed but exist in the cluster).
- if err := a.cleanupMachineDeployments(ctx, logger, existingMachineDeployments, wantedMachineDeployments); err != nil {
+ if err := a.cleanupMachineDeployments(ctx, log, existingMachineDeployments, wantedMachineDeployments); err != nil {
return fmt.Errorf("failed to cleanup the machine deployments: %w", err)
}
// Delete all old machine classes (i.e. those which were not previously computed but exist in the cluster).
- if err := a.cleanupMachineClasses(ctx, logger, worker.Namespace, workerDelegate.MachineClassList(), wantedMachineDeployments); err != nil {
+ if err := a.cleanupMachineClasses(ctx, log, worker.Namespace, workerDelegate.MachineClassList(), wantedMachineDeployments); err != nil {
return fmt.Errorf("failed to cleanup the machine classes: %w", err)
}
// Delete all old machine class secrets (i.e. those which were not previously computed but exist in the cluster).
- if err := a.cleanupMachineClassSecrets(ctx, logger, worker.Namespace, wantedMachineDeployments); err != nil {
+ if err := a.cleanupMachineClassSecrets(ctx, log, worker.Namespace, wantedMachineDeployments); err != nil {
return fmt.Errorf("failed to cleanup the orphaned machine class secrets: %w", err)
}
replicas := mcmReplicaFunc()
if replicas > 0 {
// Wait until all unwanted machine deployments are deleted from the system.
- if err := a.waitUntilUnwantedMachineDeploymentsDeleted(ctx, logger, worker, wantedMachineDeployments); err != nil {
+ if err := a.waitUntilUnwantedMachineDeploymentsDeleted(ctx, log, worker, wantedMachineDeployments); err != nil {
return fmt.Errorf("error while waiting for all undesired machine deployments to be deleted: %w", err)
}
}
// Delete MachineSets having number of desired and actual replicas equaling 0
- if err := a.cleanupMachineSets(ctx, logger, worker.Namespace); err != nil {
+ if err := a.cleanupMachineSets(ctx, log, worker.Namespace); err != nil {
return fmt.Errorf("failed to cleanup the machine sets: %w", err)
}
// Scale down machine-controller-manager if shoot is hibernated.
if isHibernationEnabled {
- if err := a.scaleMachineControllerManager(ctx, logger, worker, 0); err != nil {
+ if err := a.scaleMachineControllerManager(ctx, log, worker, 0); err != nil {
return err
}
}
if clusterAutoscalerUsed && !isHibernationEnabled {
- if err = a.scaleClusterAutoscaler(ctx, logger, worker, 1); err != nil {
+ if err = a.scaleClusterAutoscaler(ctx, log, worker, 1); err != nil {
return err
}
}
@@ -213,25 +218,26 @@ func (a *genericActuator) Reconcile(ctx context.Context, worker *extensionsv1alp
}
// Cleanup machine dependencies.
+ // TODO(dkistner): Remove in a future release.
if err := workerDelegate.CleanupMachineDependencies(ctx); err != nil {
return fmt.Errorf("failed to cleanup machine dependencies: %w", err)
}
- // TODO(ary1992): Remove this in a future release.
- if err := a.cleanupRollingUpdateCondition(ctx, worker); err != nil {
- return fmt.Errorf("failed to cleanup the RollingUpdate condition: %w", err)
+ // Call post reconcilation hook after Worker reconciliation has happened.
+ if err := workerDelegate.PostReconcileHook(ctx); err != nil {
+ return fmt.Errorf("post worker reconciliation hook failed: %w", err)
}
return nil
}
-func (a *genericActuator) scaleClusterAutoscaler(ctx context.Context, logger logr.Logger, worker *extensionsv1alpha1.Worker, replicas int32) error {
- logger.Info("Scaling cluster-autoscaler", "replicas", replicas)
+func (a *genericActuator) scaleClusterAutoscaler(ctx context.Context, log logr.Logger, worker *extensionsv1alpha1.Worker, replicas int32) error {
+ log.Info("Scaling cluster-autoscaler", "replicas", replicas)
return client.IgnoreNotFound(kubernetes.ScaleDeployment(ctx, a.client, kutil.Key(worker.Namespace, v1beta1constants.DeploymentNameClusterAutoscaler), replicas))
}
-func (a *genericActuator) deployMachineDeployments(ctx context.Context, logger logr.Logger, cluster *extensionscontroller.Cluster, worker *extensionsv1alpha1.Worker, existingMachineDeployments *machinev1alpha1.MachineDeploymentList, wantedMachineDeployments extensionsworker.MachineDeployments, classKind string, clusterAutoscalerUsed bool) error {
- logger.Info("Deploying machine deployments")
+func (a *genericActuator) deployMachineDeployments(ctx context.Context, log logr.Logger, cluster *extensionscontroller.Cluster, worker *extensionsv1alpha1.Worker, existingMachineDeployments *machinev1alpha1.MachineDeploymentList, wantedMachineDeployments extensionsworker.MachineDeployments, classKind string, clusterAutoscalerUsed bool) error {
+ log.Info("Deploying machine deployments")
for _, deployment := range wantedMachineDeployments {
var (
labels = map[string]string{"name": deployment.Name}
@@ -244,7 +250,7 @@ func (a *genericActuator) deployMachineDeployments(ctx context.Context, logger l
// Also mark all machines for forceful deletion to avoid respecting of PDBs/SLAs in case of cluster hibernation.
case controller.IsHibernationEnabled(cluster):
replicas = 0
- if err := a.markAllMachinesForcefulDeletion(ctx, logger, worker.Namespace); err != nil {
+ if err := a.markAllMachinesForcefulDeletion(ctx, log, worker.Namespace); err != nil {
return fmt.Errorf("marking all machines for forceful deletion failed: %w", err)
}
// If the cluster autoscaler is not enabled then min=max (as per API validation), hence
@@ -338,8 +344,8 @@ func (a *genericActuator) deployMachineDeployments(ctx context.Context, logger l
// waitUntilWantedMachineDeploymentsAvailable waits until all the desired were marked as healthy /
// available by the machine-controller-manager. It polls the status every 5 seconds.
-func (a *genericActuator) waitUntilWantedMachineDeploymentsAvailable(ctx context.Context, logger logr.Logger, cluster *extensionscontroller.Cluster, worker *extensionsv1alpha1.Worker, alreadyExistingMachineDeploymentNames sets.String, alreadyExistingMachineClassNames sets.String, wantedMachineDeployments extensionsworker.MachineDeployments) error {
- logger.Info("Waiting until wanted machine deployments are available")
+func (a *genericActuator) waitUntilWantedMachineDeploymentsAvailable(ctx context.Context, log logr.Logger, cluster *extensionscontroller.Cluster, worker *extensionsv1alpha1.Worker, alreadyExistingMachineDeploymentNames sets.String, alreadyExistingMachineClassNames sets.String, wantedMachineDeployments extensionsworker.MachineDeployments) error {
+ log.Info("Waiting until wanted machine deployments are available")
return retryutils.UntilTimeout(ctx, 5*time.Second, 5*time.Minute, func(ctx context.Context) (bool, error) {
var numHealthyDeployments, numUpdated, numAvailable, numUnavailable, numDesired, numberOfAwakeMachines int32
@@ -390,11 +396,11 @@ func (a *genericActuator) waitUntilWantedMachineDeploymentsAvailable(ctx context
newMachineClass := !alreadyExistingMachineClassNames.Has(wantedDeployment.ClassName)
if alreadyExistingMachineDeployment && newMachineClass {
- logger.Info("Machine deployment is performing a rolling update", "machineDeployment", &deployment)
+ log.Info("Machine deployment is performing a rolling update", "machineDeployment", &deployment)
// Already existing machine deployments with a rolling update should have > 1 machine sets
if len(machineSets) <= 1 {
err := fmt.Errorf("waiting for the machine-controller-manager to create the machine sets for the machine deployment (%s/%s)", deployment.Namespace, deployment.Name)
- logger.Error(err, "Minor error while waiting for wanted MachineDeployments to become available")
+ log.Error(err, "Minor error while waiting for wanted MachineDeployments to become available")
return retryutils.MinorError(err)
}
}
@@ -440,15 +446,15 @@ func (a *genericActuator) waitUntilWantedMachineDeploymentsAvailable(ctx context
// TODO: Rework logging in this method. There should be one proper log message per MachineDeployment and on aggregated error to return.
// Currently, later MachineDeployments override earlier messages, logs are not structured, etc.
- logger.Info(msg) //nolint:logcheck
+ log.Info(msg) //nolint:logcheck
return retryutils.MinorError(errors.New(msg))
})
}
// waitUntilUnwantedMachineDeploymentsDeleted waits until all the undesired are deleted from the
// system. It polls the status every 5 seconds.
-func (a *genericActuator) waitUntilUnwantedMachineDeploymentsDeleted(ctx context.Context, logger logr.Logger, worker *extensionsv1alpha1.Worker, wantedMachineDeployments extensionsworker.MachineDeployments) error {
- logger.Info("Waiting until unwanted machine deployments are deleted")
+func (a *genericActuator) waitUntilUnwantedMachineDeploymentsDeleted(ctx context.Context, log logr.Logger, worker *extensionsv1alpha1.Worker, wantedMachineDeployments extensionsworker.MachineDeployments) error {
+ log.Info("Waiting until unwanted machine deployments are deleted")
return retryutils.UntilTimeout(ctx, 5*time.Second, 5*time.Minute, func(ctx context.Context) (bool, error) {
existingMachineDeployments := &machinev1alpha1.MachineDeploymentList{}
if err := a.client.List(ctx, existingMachineDeployments, client.InNamespace(worker.Namespace)); err != nil {
@@ -461,7 +467,7 @@ func (a *genericActuator) waitUntilUnwantedMachineDeploymentsDeleted(ctx context
return retryutils.SevereError(fmt.Errorf("machine %s failed: %s", failedMachine.Name, failedMachine.LastOperation.Description))
}
- logger.Info("Waiting until unwanted machine deployment is deleted", "machineDeployment", &existingMachineDeployment)
+ log.Info("Waiting until unwanted machine deployment is deleted", "machineDeployment", &existingMachineDeployment)
return retryutils.MinorError(fmt.Errorf("at least one unwanted machine deployment (%s) still exists", existingMachineDeployment.Name))
}
}
@@ -546,16 +552,3 @@ func ReadMachineConfiguration(pool extensionsv1alpha1.WorkerPool) *machinev1alph
}
return machineConfiguration
}
-
-// cleanupRollingUpdateCondition removes the RollingUpdate condition from the Worker status.
-// TODO(ary1992): Remove this in a future release.
-func (a *genericActuator) cleanupRollingUpdateCondition(ctx context.Context, worker *extensionsv1alpha1.Worker) error {
- if c := gardencorev1beta1helper.GetCondition(worker.Status.Conditions, "RollingUpdate"); c != nil {
- conditions := gardencorev1beta1helper.RemoveConditions(worker.Status.Conditions, "RollingUpdate")
-
- patch := client.MergeFromWithOptions(worker.DeepCopy(), client.MergeFromWithOptimisticLock{})
- worker.Status.Conditions = conditions
- return a.client.Status().Patch(ctx, worker, patch)
- }
- return nil
-}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/genericactuator/actuator_restore.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/genericactuator/actuator_restore.go
index 9956a65f3..3e0d92f9c 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/genericactuator/actuator_restore.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/genericactuator/actuator_restore.go
@@ -19,23 +19,23 @@ import (
"encoding/json"
"fmt"
- machinev1alpha1 "github.com/gardener/machine-controller-manager/pkg/apis/machine/v1alpha1"
- "github.com/go-logr/logr"
- apierrors "k8s.io/apimachinery/pkg/api/errors"
- "sigs.k8s.io/controller-runtime/pkg/client"
-
extensionscontroller "github.com/gardener/gardener/extensions/pkg/controller"
workercontroller "github.com/gardener/gardener/extensions/pkg/controller/worker"
extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
"github.com/gardener/gardener/pkg/client/kubernetes"
kutil "github.com/gardener/gardener/pkg/utils/kubernetes"
+
+ machinev1alpha1 "github.com/gardener/machine-controller-manager/pkg/apis/machine/v1alpha1"
+ "github.com/go-logr/logr"
+ apierrors "k8s.io/apimachinery/pkg/api/errors"
+ "sigs.k8s.io/controller-runtime/pkg/client"
)
// Restore uses the Worker's spec to figure out the wanted MachineDeployments. Then it parses the Worker's state.
// If there is a record in the state corresponding to a wanted deployment then the Restore function
// deploys that MachineDeployment with all related MachineSet and Machines.
-func (a *genericActuator) Restore(ctx context.Context, worker *extensionsv1alpha1.Worker, cluster *extensionscontroller.Cluster) error {
- logger := a.logger.WithValues("worker", client.ObjectKeyFromObject(worker), "operation", "restore")
+func (a *genericActuator) Restore(ctx context.Context, log logr.Logger, worker *extensionsv1alpha1.Worker, cluster *extensionscontroller.Cluster) error {
+ log = log.WithValues("operation", "restore")
workerDelegate, err := a.delegateFactory.WorkerDelegate(ctx, worker, cluster)
if err != nil {
@@ -43,7 +43,7 @@ func (a *genericActuator) Restore(ctx context.Context, worker *extensionsv1alpha
}
// Generate the desired machine deployments.
- logger.Info("Generating machine deployments")
+ log.Info("Generating machine deployments")
wantedMachineDeployments, err := workerDelegate.GenerateMachineDeployments(ctx)
if err != nil {
return fmt.Errorf("failed to generate the machine deployments: %w", err)
@@ -57,7 +57,7 @@ func (a *genericActuator) Restore(ctx context.Context, worker *extensionsv1alpha
// Parse the worker state to a separate machineDeployment states and attach them to
// the corresponding machineDeployments which are to be deployed later
- logger.Info("Extracting state from worker status")
+ log.Info("Extracting state from worker status")
if err := a.addStateToMachineDeployment(worker, wantedMachineDeployments); err != nil {
return err
}
@@ -65,7 +65,7 @@ func (a *genericActuator) Restore(ctx context.Context, worker *extensionsv1alpha
wantedMachineDeployments = removeWantedDeploymentWithoutState(wantedMachineDeployments)
// Scale the machine-controller-manager to 0. During restoration MCM must not be working
- if err := a.scaleMachineControllerManager(ctx, logger, worker, 0); err != nil {
+ if err := a.scaleMachineControllerManager(ctx, log, worker, 0); err != nil {
return fmt.Errorf("failed scale down machine-controller-manager: %w", err)
}
@@ -79,18 +79,18 @@ func (a *genericActuator) Restore(ctx context.Context, worker *extensionsv1alpha
}
// Do the actual restoration
- if err := a.restoreMachineSetsAndMachines(ctx, logger, wantedMachineDeployments); err != nil {
+ if err := a.restoreMachineSetsAndMachines(ctx, log, wantedMachineDeployments); err != nil {
return fmt.Errorf("failed restoration of the machineSet and the machines: %w", err)
}
// Generate machine deployment configuration based on previously computed list of deployments and deploy them.
- if err := a.deployMachineDeployments(ctx, logger, cluster, worker, existingMachineDeployments, wantedMachineDeployments, workerDelegate.MachineClassKind(), true); err != nil {
+ if err := a.deployMachineDeployments(ctx, log, cluster, worker, existingMachineDeployments, wantedMachineDeployments, workerDelegate.MachineClassKind(), true); err != nil {
return fmt.Errorf("failed to restore the machine deployment config: %w", err)
}
// Finally reconcile the worker so that the machine-controller-manager gets scaled up and OwnerReferences between
// machinedeployments, machinesets and machines are added properly.
- return a.Reconcile(ctx, worker, cluster)
+ return a.Reconcile(ctx, log, worker, cluster)
}
func (a *genericActuator) addStateToMachineDeployment(worker *extensionsv1alpha1.Worker, wantedMachineDeployments workercontroller.MachineDeployments) error {
@@ -115,8 +115,8 @@ func (a *genericActuator) addStateToMachineDeployment(worker *extensionsv1alpha1
return nil
}
-func (a *genericActuator) restoreMachineSetsAndMachines(ctx context.Context, logger logr.Logger, wantedMachineDeployments workercontroller.MachineDeployments) error {
- logger.Info("Deploying Machines and MachineSets")
+func (a *genericActuator) restoreMachineSetsAndMachines(ctx context.Context, log logr.Logger, wantedMachineDeployments workercontroller.MachineDeployments) error {
+ log.Info("Deploying Machines and MachineSets")
for _, wantedMachineDeployment := range wantedMachineDeployments {
for _, machineSet := range wantedMachineDeployment.State.MachineSets {
if err := a.client.Create(ctx, &machineSet); kutil.IgnoreAlreadyExists(err) != nil {
@@ -125,26 +125,10 @@ func (a *genericActuator) restoreMachineSetsAndMachines(ctx context.Context, log
}
for _, machine := range wantedMachineDeployment.State.Machines {
- newMachine := (&machine).DeepCopy()
- newMachine.Status = machinev1alpha1.MachineStatus{}
- if err := a.client.Create(ctx, newMachine); err != nil {
+ if err := a.client.Create(ctx, &machine); err != nil {
if !apierrors.IsAlreadyExists(err) {
return err
}
-
- // machine already exists, get the current object and update the status
- if err := a.client.Get(ctx, client.ObjectKeyFromObject(newMachine), newMachine); err != nil {
- return err
- }
- }
-
- // Patch() is used here instead of Update() so that only the machine.Status.Node field is modified as a workaround
- // for https://github.com/gardener/machine-controller-manager/issues/642. Check also https://github.com/kubernetes/kubernetes/issues/86811.
- // Calling Update() would include the whole MachineStatus in the request - including fields of type metav1.Time causing the mentioned issues.
- patch := client.MergeFrom(newMachine.DeepCopy())
- newMachine.Status.Node = machine.Status.Node
- if err := a.client.Status().Patch(ctx, newMachine, patch); err != nil {
- return err
}
}
}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/genericactuator/interface.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/genericactuator/interface.go
index ab49b2b5d..c3d920748 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/genericactuator/interface.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/genericactuator/interface.go
@@ -52,10 +52,23 @@ type WorkerDelegate interface {
UpdateMachineImagesStatus(context.Context) error
// DeployMachineDependencies is a hook to create external machine dependencies.
+ // Deprecated: Use PreReconcileHook() instead.
+ // TODO(dkistner): Remove in a future release.
DeployMachineDependencies(context.Context) error
// CleanupMachineDependencies is a hook to cleanup external machine dependencies.
+ // Deprecated: Use PostReconcileHook() and PostDeleteHook() instead.
+ // TODO(dkistner): Remove in a future release.
CleanupMachineDependencies(context.Context) error
+
+ // PreReconcileHook is a hook called at the beginning of the worker reconciliation flow.
+ PreReconcileHook(context.Context) error
+ // PostReconcileHook is a hook called at the end of the worker reconciliation flow.
+ PostReconcileHook(context.Context) error
+ // PreDeleteHook is a hook called at the beginning of the worker deletion flow.
+ PreDeleteHook(context.Context) error
+ // PostDeleteHook is a hook called at the end of the worker deletion flow.
+ PostDeleteHook(context.Context) error
}
// WorkerCredentialsDelegate is an interface that can optionally be implemented to be
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/mapper.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/mapper.go
index c083559d7..08c8c4df1 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/mapper.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/mapper.go
@@ -18,20 +18,16 @@ import (
"context"
"time"
+ extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
+ "github.com/gardener/gardener/pkg/controllerutils/mapper"
+ predicateutils "github.com/gardener/gardener/pkg/controllerutils/predicate"
+
machinev1alpha1 "github.com/gardener/machine-controller-manager/pkg/apis/machine/v1alpha1"
- "k8s.io/apimachinery/pkg/api/meta"
- "k8s.io/apimachinery/pkg/runtime"
- "k8s.io/apimachinery/pkg/types"
- utilruntime "k8s.io/apimachinery/pkg/util/runtime"
+ "github.com/go-logr/logr"
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/predicate"
"sigs.k8s.io/controller-runtime/pkg/reconcile"
"sigs.k8s.io/controller-runtime/pkg/runtime/inject"
-
- extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
- "github.com/gardener/gardener/pkg/controllerutils/mapper"
- predicateutils "github.com/gardener/gardener/pkg/controllerutils/predicate"
- contextutil "github.com/gardener/gardener/pkg/utils/context"
)
// ClusterToWorkerMapper returns a mapper that returns requests for Worker whose
@@ -53,43 +49,24 @@ func MachineToWorkerMapper(predicates []predicate.Predicate) mapper.Mapper {
}
type machineSetToObjectMapper struct {
- ctx context.Context
- client client.Client
newObjListFunc func() client.ObjectList
predicates []predicate.Predicate
}
-func (m *machineSetToObjectMapper) InjectClient(c client.Client) error {
- m.client = c
- return nil
-}
-
-func (m *machineSetToObjectMapper) InjectStopChannel(stopCh <-chan struct{}) error {
- m.ctx = contextutil.FromStopChannel(stopCh)
- return nil
-}
-
-func (m *machineSetToObjectMapper) InjectFunc(f inject.Func) error {
- for _, p := range m.predicates {
- if err := f(p); err != nil {
- return err
- }
- }
- return nil
-}
-
-func (m *machineSetToObjectMapper) Map(obj client.Object) []reconcile.Request {
+func (m *machineSetToObjectMapper) Map(ctx context.Context, _ logr.Logger, reader client.Reader, obj client.Object) []reconcile.Request {
machineSet, ok := obj.(*machinev1alpha1.MachineSet)
if !ok {
return nil
}
objList := m.newObjListFunc()
- if err := m.client.List(m.ctx, objList, client.InNamespace(machineSet.Namespace)); err != nil {
+ if err := reader.List(ctx, objList, client.InNamespace(machineSet.Namespace)); err != nil {
return nil
}
- return getReconcileRequestsFromObjectList(objList, m.predicates)
+ return mapper.ObjectListToRequests(objList, func(o client.Object) bool {
+ return predicateutils.EvalGeneric(o, m.predicates...)
+ })
}
// newMachineSetToObjectMapper returns a mapper that returns requests for objects whose
@@ -99,22 +76,10 @@ func newMachineSetToObjectMapper(newObjListFunc func() client.ObjectList, predic
}
type machineToObjectMapper struct {
- ctx context.Context
- client client.Client
newObjListFunc func() client.ObjectList
predicates []predicate.Predicate
}
-func (m *machineToObjectMapper) InjectClient(c client.Client) error {
- m.client = c
- return nil
-}
-
-func (m *machineToObjectMapper) InjectStopChannel(stopCh <-chan struct{}) error {
- m.ctx = contextutil.FromStopChannel(stopCh)
- return nil
-}
-
func (m *machineToObjectMapper) InjectFunc(f inject.Func) error {
for _, p := range m.predicates {
if err := f(p); err != nil {
@@ -124,8 +89,8 @@ func (m *machineToObjectMapper) InjectFunc(f inject.Func) error {
return nil
}
-func (m *machineToObjectMapper) Map(obj client.Object) []reconcile.Request {
- ctx, cancel := context.WithTimeout(m.ctx, 5*time.Second)
+func (m *machineToObjectMapper) Map(ctx context.Context, _ logr.Logger, reader client.Reader, obj client.Object) []reconcile.Request {
+ ctx, cancel := context.WithTimeout(ctx, 5*time.Second)
defer cancel()
machine, ok := obj.(*machinev1alpha1.Machine)
@@ -134,11 +99,13 @@ func (m *machineToObjectMapper) Map(obj client.Object) []reconcile.Request {
}
objList := m.newObjListFunc()
- if err := m.client.List(ctx, objList, client.InNamespace(machine.Namespace)); err != nil {
+ if err := reader.List(ctx, objList, client.InNamespace(machine.Namespace)); err != nil {
return nil
}
- return getReconcileRequestsFromObjectList(objList, m.predicates)
+ return mapper.ObjectListToRequests(objList, func(o client.Object) bool {
+ return predicateutils.EvalGeneric(o, m.predicates...)
+ })
}
// newMachineToObjectMapper returns a mapper that returns requests for objects whose
@@ -146,23 +113,3 @@ func (m *machineToObjectMapper) Map(obj client.Object) []reconcile.Request {
func newMachineToObjectMapper(newObjListFunc func() client.ObjectList, predicates []predicate.Predicate) mapper.Mapper {
return &machineToObjectMapper{newObjListFunc: newObjListFunc, predicates: predicates}
}
-
-func getReconcileRequestsFromObjectList(objList client.ObjectList, predicates []predicate.Predicate) []reconcile.Request {
- var requests []reconcile.Request
-
- utilruntime.HandleError(meta.EachListItem(objList, func(obj runtime.Object) error {
- o := obj.(client.Object)
- if !predicateutils.EvalGeneric(o, predicates...) {
- return nil
- }
-
- requests = append(requests, reconcile.Request{
- NamespacedName: types.NamespacedName{
- Namespace: o.GetNamespace(),
- Name: o.GetName(),
- },
- })
- return nil
- }))
- return requests
-}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/reconciler.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/reconciler.go
index e862b917b..4a0a32473 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/reconciler.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/reconciler.go
@@ -18,14 +18,6 @@ import (
"context"
"fmt"
- "github.com/go-logr/logr"
- "k8s.io/apimachinery/pkg/api/errors"
- "sigs.k8s.io/controller-runtime/pkg/client"
- "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
- "sigs.k8s.io/controller-runtime/pkg/log"
- "sigs.k8s.io/controller-runtime/pkg/reconcile"
- "sigs.k8s.io/controller-runtime/pkg/runtime/inject"
-
extensionscontroller "github.com/gardener/gardener/extensions/pkg/controller"
"github.com/gardener/gardener/extensions/pkg/controller/common"
gardencorev1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1"
@@ -35,10 +27,17 @@ import (
"github.com/gardener/gardener/pkg/controllerutils"
reconcilerutils "github.com/gardener/gardener/pkg/controllerutils/reconciler"
kutil "github.com/gardener/gardener/pkg/utils/kubernetes"
+
+ "github.com/go-logr/logr"
+ apierrors "k8s.io/apimachinery/pkg/api/errors"
+ "sigs.k8s.io/controller-runtime/pkg/client"
+ "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
+ logf "sigs.k8s.io/controller-runtime/pkg/log"
+ "sigs.k8s.io/controller-runtime/pkg/reconcile"
+ "sigs.k8s.io/controller-runtime/pkg/runtime/inject"
)
type reconciler struct {
- logger logr.Logger
actuator Actuator
watchdogManager common.WatchdogManager
@@ -50,15 +49,12 @@ type reconciler struct {
// NewReconciler creates a new reconcile.Reconciler that reconciles
// Worker resources of Gardener's `extensions.gardener.cloud` API group.
func NewReconciler(actuator Actuator, watchdogManager common.WatchdogManager) reconcile.Reconciler {
- logger := log.Log.WithName(ControllerName)
-
return reconcilerutils.OperationAnnotationWrapper(
func() client.Object { return &extensionsv1alpha1.Worker{} },
&reconciler{
- logger: logger,
actuator: actuator,
watchdogManager: watchdogManager,
- statusUpdater: extensionscontroller.NewStatusUpdater(logger),
+ statusUpdater: extensionscontroller.NewStatusUpdater(),
},
)
}
@@ -79,12 +75,15 @@ func (r *reconciler) InjectAPIReader(reader client.Reader) error {
}
func (r *reconciler) Reconcile(ctx context.Context, request reconcile.Request) (reconcile.Result, error) {
+ log := logf.FromContext(ctx)
+
worker := &extensionsv1alpha1.Worker{}
if err := r.client.Get(ctx, request.NamespacedName, worker); err != nil {
- if errors.IsNotFound(err) {
+ if apierrors.IsNotFound(err) {
+ log.V(1).Info("Object is gone, stop reconciling")
return reconcile.Result{}, nil
}
- return reconcile.Result{}, err
+ return reconcile.Result{}, fmt.Errorf("error retrieving object from store: %w", err)
}
cluster, err := extensionscontroller.GetCluster(ctx, r.client, worker.Namespace)
@@ -92,9 +91,8 @@ func (r *reconciler) Reconcile(ctx context.Context, request reconcile.Request) (
return reconcile.Result{}, err
}
- logger := r.logger.WithValues("worker", client.ObjectKeyFromObject(worker))
if extensionscontroller.IsFailed(cluster) {
- logger.Info("Skipping of the reconciliation of worker of failed shoot", "worker", kutil.ObjectName(worker))
+ log.Info("Skipping of the reconciliation of Worker of failed shoot")
return reconcile.Result{}, nil
}
@@ -118,119 +116,161 @@ func (r *reconciler) Reconcile(ctx context.Context, request reconcile.Request) (
case extensionscontroller.ShouldSkipOperation(operationType, worker):
return reconcile.Result{}, nil
case operationType == gardencorev1beta1.LastOperationTypeMigrate:
- return r.migrate(ctx, logger.WithValues("operation", "migrate"), worker, cluster)
+ return r.migrate(ctx, log.WithValues("operation", "migrate"), worker, cluster)
case worker.DeletionTimestamp != nil:
- return r.delete(ctx, logger.WithValues("operation", "delete"), worker, cluster)
+ return r.delete(ctx, log.WithValues("operation", "delete"), worker, cluster)
case operationType == gardencorev1beta1.LastOperationTypeRestore:
- return r.restore(ctx, logger.WithValues("operation", "restore"), worker, cluster)
+ return r.restore(ctx, log.WithValues("operation", "restore"), worker, cluster)
default:
- return r.reconcile(ctx, logger.WithValues("operation", "reconcile"), worker, cluster, operationType)
+ return r.reconcile(ctx, log.WithValues("operation", "reconcile"), worker, cluster, operationType)
}
}
-func (r *reconciler) removeFinalizerFromWorker(ctx context.Context, logger logr.Logger, worker *extensionsv1alpha1.Worker) error {
- logger.Info("Removing all finalizers", "worker", kutil.ObjectName(worker))
- if err := controllerutils.RemoveFinalizer(ctx, r.reader, r.client, worker, FinalizerName); err != nil {
- return fmt.Errorf("error removing finalizer from worker: %+v", err)
+func (r *reconciler) removeFinalizerFromWorker(ctx context.Context, log logr.Logger, worker *extensionsv1alpha1.Worker) error {
+ if controllerutil.ContainsFinalizer(worker, FinalizerName) {
+ log.Info("Removing finalizer")
+ if err := controllerutils.RemoveFinalizers(ctx, r.client, worker, FinalizerName); err != nil {
+ return fmt.Errorf("failed to remove finalizer: %w", err)
+ }
}
return nil
}
-func (r *reconciler) removeAnnotation(ctx context.Context, logger logr.Logger, worker *extensionsv1alpha1.Worker) error {
+func (r *reconciler) removeAnnotation(ctx context.Context, worker *extensionsv1alpha1.Worker) error {
return extensionscontroller.RemoveAnnotation(ctx, r.client, worker, v1beta1constants.GardenerOperation)
}
-func (r *reconciler) migrate(ctx context.Context, logger logr.Logger, worker *extensionsv1alpha1.Worker, cluster *extensionscontroller.Cluster) (reconcile.Result, error) {
- if err := r.statusUpdater.Processing(ctx, worker, gardencorev1beta1.LastOperationTypeMigrate, "Starting Migration of the worker"); err != nil {
+func (r *reconciler) migrate(
+ ctx context.Context,
+ log logr.Logger,
+ worker *extensionsv1alpha1.Worker,
+ cluster *extensionscontroller.Cluster,
+) (
+ reconcile.Result,
+ error,
+) {
+ if err := r.statusUpdater.Processing(ctx, log, worker, gardencorev1beta1.LastOperationTypeMigrate, "Starting migration of the Worker"); err != nil {
return reconcile.Result{}, err
}
- logger.Info("Starting the migration of worker", "worker", kutil.ObjectName(worker))
- if err := r.actuator.Migrate(ctx, worker, cluster); err != nil {
- _ = r.statusUpdater.Error(ctx, worker, err, gardencorev1beta1.LastOperationTypeMigrate, "Error migrating worker")
+ log.Info("Starting the migration of Worker")
+ if err := r.actuator.Migrate(ctx, log, worker, cluster); err != nil {
+ _ = r.statusUpdater.Error(ctx, log, worker, err, gardencorev1beta1.LastOperationTypeMigrate, "Error migrating Worker")
return reconcilerutils.ReconcileErr(err)
}
- if err := r.statusUpdater.Success(ctx, worker, gardencorev1beta1.LastOperationTypeMigrate, "Successfully migrate worker"); err != nil {
+ if err := r.statusUpdater.Success(ctx, log, worker, gardencorev1beta1.LastOperationTypeMigrate, "Successfully migrated Worker"); err != nil {
return reconcile.Result{}, err
}
- if err := r.removeFinalizerFromWorker(ctx, logger, worker); err != nil {
+ if err := r.removeFinalizerFromWorker(ctx, log, worker); err != nil {
return reconcile.Result{}, err
}
- if err := r.removeAnnotation(ctx, logger, worker); err != nil {
- return reconcile.Result{}, fmt.Errorf("error removing annotation from worker: %+v", err)
+ if err := r.removeAnnotation(ctx, worker); err != nil {
+ return reconcile.Result{}, fmt.Errorf("error removing annotation from Worker: %+v", err)
}
return reconcile.Result{}, nil
}
-func (r *reconciler) delete(ctx context.Context, logger logr.Logger, worker *extensionsv1alpha1.Worker, cluster *extensionscontroller.Cluster) (reconcile.Result, error) {
+func (r *reconciler) delete(
+ ctx context.Context,
+ log logr.Logger,
+ worker *extensionsv1alpha1.Worker,
+ cluster *extensionscontroller.Cluster,
+) (
+ reconcile.Result,
+ error,
+) {
if !controllerutil.ContainsFinalizer(worker, FinalizerName) {
- logger.Info("Deleting worker causes a no-op as there is no finalizer", "worker", kutil.ObjectName(worker))
+ log.Info("Deleting Worker causes a no-op as there is no finalizer")
return reconcile.Result{}, nil
}
- if err := r.statusUpdater.Processing(ctx, worker, gardencorev1beta1.LastOperationTypeDelete, "Deleting the worker"); err != nil {
+ if err := r.statusUpdater.Processing(ctx, log, worker, gardencorev1beta1.LastOperationTypeDelete, "Deleting the Worker"); err != nil {
return reconcile.Result{}, err
}
- logger.Info("Starting the deletion of worker", "worker", kutil.ObjectName(worker))
- if err := r.actuator.Delete(ctx, worker, cluster); err != nil {
- _ = r.statusUpdater.Error(ctx, worker, err, gardencorev1beta1.LastOperationTypeDelete, "Error deleting worker")
+ log.Info("Starting the deletion of worker")
+ if err := r.actuator.Delete(ctx, log, worker, cluster); err != nil {
+ _ = r.statusUpdater.Error(ctx, log, worker, err, gardencorev1beta1.LastOperationTypeDelete, "Error deleting Worker")
return reconcilerutils.ReconcileErr(err)
}
- if err := r.statusUpdater.Success(ctx, worker, gardencorev1beta1.LastOperationTypeDelete, "Successfully deleted worker"); err != nil {
+ if err := r.statusUpdater.Success(ctx, log, worker, gardencorev1beta1.LastOperationTypeDelete, "Successfully deleted Worker"); err != nil {
return reconcile.Result{}, err
}
- err := r.removeFinalizerFromWorker(ctx, logger, worker)
+ err := r.removeFinalizerFromWorker(ctx, log, worker)
return reconcile.Result{}, err
}
-func (r *reconciler) reconcile(ctx context.Context, logger logr.Logger, worker *extensionsv1alpha1.Worker, cluster *extensionscontroller.Cluster, operationType gardencorev1beta1.LastOperationType) (reconcile.Result, error) {
- if err := controllerutils.EnsureFinalizer(ctx, r.reader, r.client, worker, FinalizerName); err != nil {
- return reconcile.Result{}, err
+func (r *reconciler) reconcile(
+ ctx context.Context,
+ log logr.Logger,
+ worker *extensionsv1alpha1.Worker,
+ cluster *extensionscontroller.Cluster,
+ operationType gardencorev1beta1.LastOperationType,
+) (
+ reconcile.Result,
+ error,
+) {
+ if !controllerutil.ContainsFinalizer(worker, FinalizerName) {
+ log.Info("Adding finalizer")
+ if err := controllerutils.AddFinalizers(ctx, r.client, worker, FinalizerName); err != nil {
+ return reconcile.Result{}, fmt.Errorf("failed to add finalizer: %w", err)
+ }
}
- if err := r.statusUpdater.Processing(ctx, worker, operationType, "Reconciling the worker"); err != nil {
+
+ if err := r.statusUpdater.Processing(ctx, log, worker, operationType, "Reconciling the Worker"); err != nil {
return reconcile.Result{}, err
}
- logger.Info("Starting the reconciliation of worker", "worker", kutil.ObjectName(worker))
- if err := r.actuator.Reconcile(ctx, worker, cluster); err != nil {
- _ = r.statusUpdater.Error(ctx, worker, err, operationType, "Error reconciling worker")
+ log.Info("Starting the reconciliation of worker")
+ if err := r.actuator.Reconcile(ctx, log, worker, cluster); err != nil {
+ _ = r.statusUpdater.Error(ctx, log, worker, err, operationType, "Error reconciling Worker")
return reconcilerutils.ReconcileErr(err)
}
- if err := r.statusUpdater.Success(ctx, worker, operationType, "Successfully reconciled worker"); err != nil {
+ if err := r.statusUpdater.Success(ctx, log, worker, operationType, "Successfully reconciled Worker"); err != nil {
return reconcile.Result{}, err
}
return reconcile.Result{}, nil
}
-func (r *reconciler) restore(ctx context.Context, logger logr.Logger, worker *extensionsv1alpha1.Worker, cluster *extensionscontroller.Cluster) (reconcile.Result, error) {
- if err := controllerutils.EnsureFinalizer(ctx, r.reader, r.client, worker, FinalizerName); err != nil {
- return reconcile.Result{}, err
+func (r *reconciler) restore(
+ ctx context.Context,
+ log logr.Logger,
+ worker *extensionsv1alpha1.Worker,
+ cluster *extensionscontroller.Cluster,
+) (
+ reconcile.Result,
+ error,
+) {
+ if !controllerutil.ContainsFinalizer(worker, FinalizerName) {
+ log.Info("Adding finalizer")
+ if err := controllerutils.AddFinalizers(ctx, r.client, worker, FinalizerName); err != nil {
+ return reconcile.Result{}, fmt.Errorf("failed to add finalizer: %w", err)
+ }
}
- if err := r.statusUpdater.Processing(ctx, worker, gardencorev1beta1.LastOperationTypeRestore, "Restoring the worker"); err != nil {
+ if err := r.statusUpdater.Processing(ctx, log, worker, gardencorev1beta1.LastOperationTypeRestore, "Restoring the Worker"); err != nil {
return reconcile.Result{}, err
}
- logger.Info("Starting the restoration of worker", "worker", kutil.ObjectName(worker))
- if err := r.actuator.Restore(ctx, worker, cluster); err != nil {
- _ = r.statusUpdater.Error(ctx, worker, err, gardencorev1beta1.LastOperationTypeRestore, "Error restoring worker")
+ log.Info("Starting the restoration of worker")
+ if err := r.actuator.Restore(ctx, log, worker, cluster); err != nil {
+ _ = r.statusUpdater.Error(ctx, log, worker, err, gardencorev1beta1.LastOperationTypeRestore, "Error restoring Worker")
return reconcilerutils.ReconcileErr(err)
}
- if err := r.statusUpdater.Success(ctx, worker, gardencorev1beta1.LastOperationTypeRestore, "Successfully reconciled worker"); err != nil {
+ if err := r.statusUpdater.Success(ctx, log, worker, gardencorev1beta1.LastOperationTypeRestore, "Successfully reconciled Worker"); err != nil {
return reconcile.Result{}, err
}
- if err := r.removeAnnotation(ctx, logger, worker); err != nil {
- return reconcile.Result{}, fmt.Errorf("error removing annotation from worker: %+v", err)
+ if err := r.removeAnnotation(ctx, worker); err != nil {
+ return reconcile.Result{}, fmt.Errorf("error removing annotation from Worker: %+v", err)
}
return reconcile.Result{}, nil
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/state_actuator.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/state_actuator.go
index e324e283c..f71ca5131 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/state_actuator.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/state_actuator.go
@@ -20,26 +20,24 @@ import (
"fmt"
"sort"
+ workerhelper "github.com/gardener/gardener/extensions/pkg/controller/worker/helper"
+ extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
+
machinev1alpha1 "github.com/gardener/machine-controller-manager/pkg/apis/machine/v1alpha1"
"github.com/go-logr/logr"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"sigs.k8s.io/controller-runtime/pkg/client"
-
- workerhelper "github.com/gardener/gardener/extensions/pkg/controller/worker/helper"
- extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
)
type genericStateActuator struct {
- logger logr.Logger
-
client client.Client
}
// NewStateActuator creates a new Actuator that reconciles Worker's State subresource
// It provides a default implementation that allows easier integration of providers.
-func NewStateActuator(logger logr.Logger) StateActuator {
- return &genericStateActuator{logger: logger.WithName("worker-state-actuator")}
+func NewStateActuator() StateActuator {
+ return &genericStateActuator{}
}
func (a *genericStateActuator) InjectClient(client client.Client) error {
@@ -48,7 +46,7 @@ func (a *genericStateActuator) InjectClient(client client.Client) error {
}
// Reconcile update the Worker state with the latest.
-func (a *genericStateActuator) Reconcile(ctx context.Context, worker *extensionsv1alpha1.Worker) error {
+func (a *genericStateActuator) Reconcile(ctx context.Context, _ logr.Logger, worker *extensionsv1alpha1.Worker) error {
copyOfWorker := worker.DeepCopy()
if err := a.updateWorkerState(ctx, copyOfWorker); err != nil {
return fmt.Errorf("failed to update the state in worker status: %w", err)
@@ -141,13 +139,13 @@ func (a *genericStateActuator) getExistingMachinesMap(ctx context.Context, names
return nil, err
}
- // We temporarily filter out machines without provider ID or node status (VMs which got created but not yet joined the cluster)
+ // We temporarily filter out machines without provider ID or node label (VMs which got created but not yet joined the cluster)
// to prevent unnecessarily persisting them in the Worker state.
// TODO: Remove this again once machine-controller-manager supports backing off creation/deletion of failed machines, see
// https://github.com/gardener/machine-controller-manager/issues/483.
var filteredMachines []machinev1alpha1.Machine
for _, machine := range existingMachines.Items {
- if machine.Spec.ProviderID != "" || machine.Status.Node != "" {
+ if _, ok := machine.Labels["node"]; ok || machine.Spec.ProviderID != "" {
filteredMachines = append(filteredMachines, machine)
}
}
@@ -192,9 +190,7 @@ func addMachineToMachineDeploymentState(machine *machinev1alpha1.Machine, machin
Labels: machine.Labels,
}
machine.OwnerReferences = nil
- machine.Status = machinev1alpha1.MachineStatus{
- Node: machine.Status.Node,
- }
+ machine.Status = machinev1alpha1.MachineStatus{}
machineDeploymentState.Machines = append(machineDeploymentState.Machines, *machine)
}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/state_reconciler.go b/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/state_reconciler.go
index f77d673a7..871172030 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/state_reconciler.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/controller/worker/state_reconciler.go
@@ -23,17 +23,14 @@ import (
extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
errorutils "github.com/gardener/gardener/pkg/controllerutils/reconciler"
- "github.com/go-logr/logr"
- "k8s.io/apimachinery/pkg/api/errors"
+ apierrors "k8s.io/apimachinery/pkg/api/errors"
"sigs.k8s.io/controller-runtime/pkg/client"
- "sigs.k8s.io/controller-runtime/pkg/log"
- "sigs.k8s.io/controller-runtime/pkg/manager"
+ logf "sigs.k8s.io/controller-runtime/pkg/log"
"sigs.k8s.io/controller-runtime/pkg/reconcile"
"sigs.k8s.io/controller-runtime/pkg/runtime/inject"
)
type stateReconciler struct {
- logger logr.Logger
actuator StateActuator
client client.Client
@@ -41,9 +38,8 @@ type stateReconciler struct {
// NewStateReconciler creates a new reconcile.Reconciler that reconciles
// Worker's State resources of Gardener's `extensions.gardener.cloud` API group.
-func NewStateReconciler(mgr manager.Manager, actuator StateActuator) reconcile.Reconciler {
+func NewStateReconciler(actuator StateActuator) reconcile.Reconciler {
return &stateReconciler{
- logger: log.Log.WithName(StateUpdatingControllerName),
actuator: actuator,
}
}
@@ -58,16 +54,17 @@ func (r *stateReconciler) InjectClient(client client.Client) error {
}
func (r *stateReconciler) Reconcile(ctx context.Context, request reconcile.Request) (reconcile.Result, error) {
+ log := logf.FromContext(ctx)
+
worker := &extensionsv1alpha1.Worker{}
if err := r.client.Get(ctx, request.NamespacedName, worker); err != nil {
- if errors.IsNotFound(err) {
+ if apierrors.IsNotFound(err) {
+ log.V(1).Info("Object is gone, stop reconciling")
return reconcile.Result{}, nil
}
- return reconcile.Result{}, err
+ return reconcile.Result{}, fmt.Errorf("error retrieving object from store: %w", err)
}
- logger := r.logger.WithValues("worker", client.ObjectKeyFromObject(worker))
-
// Deletion flow
if worker.DeletionTimestamp != nil {
// Nothing to do
@@ -79,15 +76,13 @@ func (r *stateReconciler) Reconcile(ctx context.Context, request reconcile.Reque
if operationType != gardencorev1beta1.LastOperationTypeReconcile {
return reconcile.Result{Requeue: true}, nil
} else if isWorkerMigrated(worker) {
- // Nothing to do
return reconcile.Result{}, nil
}
- if err := r.actuator.Reconcile(ctx, worker); err != nil {
- return errorutils.ReconcileErr(fmt.Errorf("error updating worker state: %w", err))
+ if err := r.actuator.Reconcile(ctx, log, worker); err != nil {
+ return errorutils.ReconcileErr(fmt.Errorf("error updating Worker state: %w", err))
}
- logger.Info("Successfully updated worker state")
-
+ log.Info("Successfully updated Worker state")
return reconcile.Result{}, nil
}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/terraformer/config.go b/vendor/github.com/gardener/gardener/extensions/pkg/terraformer/config.go
index 982e1d398..c1590c5b1 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/terraformer/config.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/terraformer/config.go
@@ -16,6 +16,7 @@ package terraformer
import (
"context"
+ "fmt"
"time"
corev1 "k8s.io/api/core/v1"
@@ -277,8 +278,6 @@ func (t *terraformer) CleanupConfiguration(ctx context.Context) error {
// RemoveTerraformerFinalizerFromConfig deletes the terraformer finalizer from the two ConfigMaps and the Secret which store the Terraform configuration and state.
func (t *terraformer) RemoveTerraformerFinalizerFromConfig(ctx context.Context) error {
- t.logger.Info("Cleaning up all terraformer configuration finalizers")
-
for _, obj := range []client.Object{
&corev1.Secret{ObjectMeta: metav1.ObjectMeta{Namespace: t.namespace, Name: t.variablesName}},
&corev1.ConfigMap{ObjectMeta: metav1.ObjectMeta{Namespace: t.namespace, Name: t.stateName}},
@@ -289,8 +288,9 @@ func (t *terraformer) RemoveTerraformerFinalizerFromConfig(ctx context.Context)
}
if controllerutil.ContainsFinalizer(obj, TerraformerFinalizer) {
- if err := controllerutils.PatchRemoveFinalizers(ctx, t.client, obj, TerraformerFinalizer); client.IgnoreNotFound(err) != nil {
- return err
+ t.logger.Info("Removing finalizer", "obj", client.ObjectKeyFromObject(obj))
+ if err := controllerutils.RemoveFinalizers(ctx, t.client, obj, TerraformerFinalizer); err != nil {
+ return fmt.Errorf("failed to remove finalizer: %w", err)
}
}
}
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/util/shoot_clients.go b/vendor/github.com/gardener/gardener/extensions/pkg/util/shoot_clients.go
index 7316b425a..0023b00fd 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/util/shoot_clients.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/util/shoot_clients.go
@@ -19,6 +19,7 @@ import (
"fmt"
"os"
+ extensionsconfig "github.com/gardener/gardener/extensions/pkg/apis/config"
v1beta1constants "github.com/gardener/gardener/pkg/apis/core/v1beta1/constants"
"github.com/gardener/gardener/pkg/chartrenderer"
gardenerkubernetes "github.com/gardener/gardener/pkg/client/kubernetes"
@@ -30,6 +31,7 @@ import (
"k8s.io/apimachinery/pkg/version"
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/rest"
+ "k8s.io/utils/pointer"
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/client/apiutil"
)
@@ -68,13 +70,21 @@ func NewShootClients(c client.Client, clientset kubernetes.Interface, gardenerCl
}
}
+// ApplyRESTOptions applies RESTOptions to the given rest.Config
+func ApplyRESTOptions(restConfig *rest.Config, restOptions extensionsconfig.RESTOptions) *rest.Config {
+ restConfig.QPS = pointer.Float32Deref(restOptions.QPS, restConfig.QPS)
+ restConfig.Burst = pointer.IntDeref(restOptions.Burst, restConfig.Burst)
+ restConfig.Timeout = pointer.DurationDeref(restOptions.Timeout, restConfig.Timeout)
+ return restConfig
+}
+
// NewClientForShoot returns the rest config and the client for the given shoot namespace. It first looks to use the "internal" kubeconfig
// (the one with in-cluster address) as in-cluster traffic is free of charge. If it cannot find that, then it fallbacks to the "external" kubeconfig
// (the one with external DNS name or load balancer address) and this usually translates to egress traffic costs.
// However, if the environment variable GARDENER_SHOOT_CLIENT=external, then it *only* checks for the external endpoint,
// i.e. v1beta1constants.SecretNameGardener. This is useful when connecting from outside the seed cluster on which the shoot kube-apiserver
// is running.
-func NewClientForShoot(ctx context.Context, c client.Client, namespace string, opts client.Options) (*rest.Config, client.Client, error) {
+func NewClientForShoot(ctx context.Context, c client.Client, namespace string, opts client.Options, restOptions extensionsconfig.RESTOptions) (*rest.Config, client.Client, error) {
var (
gardenerSecret = &corev1.Secret{}
err error
@@ -95,6 +105,7 @@ func NewClientForShoot(ctx context.Context, c client.Client, namespace string, o
if err != nil {
return nil, nil, err
}
+ ApplyRESTOptions(shootRESTConfig, restOptions)
if opts.Mapper == nil {
mapper, err := apiutil.NewDynamicRESTMapper(shootRESTConfig, apiutil.WithLazyDiscovery)
@@ -113,11 +124,12 @@ func NewClientForShoot(ctx context.Context, c client.Client, namespace string, o
// NewClientsForShoot is a utility function that creates a new clientset and a chart applier for the shoot cluster.
// It uses the 'gardener' secret in the given shoot namespace. It also returns the Kubernetes version of the cluster.
-func NewClientsForShoot(ctx context.Context, c client.Client, namespace string, opts client.Options) (ShootClients, error) {
- shootRESTConfig, shootClient, err := NewClientForShoot(ctx, c, namespace, opts)
+func NewClientsForShoot(ctx context.Context, c client.Client, namespace string, opts client.Options, restOptions extensionsconfig.RESTOptions) (ShootClients, error) {
+ shootRESTConfig, shootClient, err := NewClientForShoot(ctx, c, namespace, opts, restOptions)
if err != nil {
return nil, err
}
+ ApplyRESTOptions(shootRESTConfig, restOptions)
shootClientset, err := kubernetes.NewForConfig(shootRESTConfig)
if err != nil {
return nil, err
diff --git a/vendor/github.com/gardener/gardener/extensions/pkg/webhook/handler_shootclient.go b/vendor/github.com/gardener/gardener/extensions/pkg/webhook/handler_shootclient.go
index 94da6293e..0f567c271 100644
--- a/vendor/github.com/gardener/gardener/extensions/pkg/webhook/handler_shootclient.go
+++ b/vendor/github.com/gardener/gardener/extensions/pkg/webhook/handler_shootclient.go
@@ -30,6 +30,7 @@ import (
"sigs.k8s.io/controller-runtime/pkg/runtime/inject"
"sigs.k8s.io/controller-runtime/pkg/webhook/admission"
+ extensionsconfig "github.com/gardener/gardener/extensions/pkg/apis/config"
"github.com/gardener/gardener/extensions/pkg/util"
v1beta1constants "github.com/gardener/gardener/pkg/apis/core/v1beta1/constants"
)
@@ -122,7 +123,7 @@ func (h *handlerShootClient) Handle(ctx context.Context, req admission.Request)
return fmt.Errorf("could not find shoot namespace for webhook request")
}
- _, shootClient, err := util.NewClientForShoot(ctx, h.client, shootNamespace, client.Options{})
+ _, shootClient, err := util.NewClientForShoot(ctx, h.client, shootNamespace, client.Options{}, extensionsconfig.RESTOptions{})
if err != nil {
return fmt.Errorf("could not create shoot client: %w", err)
}
diff --git a/vendor/github.com/gardener/gardener/hack/.ci/prepare_release b/vendor/github.com/gardener/gardener/hack/.ci/prepare_release
index 98118a0a5..de07eeb46 100755
--- a/vendor/github.com/gardener/gardener/hack/.ci/prepare_release
+++ b/vendor/github.com/gardener/gardener/hack/.ci/prepare_release
@@ -30,7 +30,8 @@ apk add --no-cache \
openssl \
tar \
gzip \
- sed
+ sed \
+ jq
# create virtual package with the dev tools
echo "Installing dev tools in a virtual package"
diff --git a/vendor/github.com/gardener/gardener/hack/.ci/set_dependency_version b/vendor/github.com/gardener/gardener/hack/.ci/set_dependency_version
index 80afe8382..c0235e419 100755
--- a/vendor/github.com/gardener/gardener/hack/.ci/set_dependency_version
+++ b/vendor/github.com/gardener/gardener/hack/.ci/set_dependency_version
@@ -14,7 +14,9 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+import json
import pathlib
+import sys
import util
@@ -103,9 +105,16 @@ class ImagesParser(object):
)
+# optionally load special cases from first argument given as JSON
+injectedSpecialCases = {}
+if len(sys.argv) == 2:
+ injectedSpecialCases = json.loads(sys.argv[1])
+
# handle special cases
name = dependency_name.split('/')[-1]
-if name == 'autoscaler':
+if name in injectedSpecialCases:
+ names = injectedSpecialCases[name]
+elif name == 'autoscaler':
names = ['cluster-autoscaler']
elif name == 'vpn':
names = ['vpn-seed', 'vpn-shoot']
@@ -114,7 +123,7 @@ elif name == 'vpn2':
elif name == 'external-dns-management':
names = ['dns-controller-manager']
elif name == 'logging':
- names = ['fluent-bit-plugin-installer', 'loki-curator', 'telegraf']
+ names = ['fluent-bit-plugin-installer', 'loki-curator', 'telegraf', 'event-logger']
elif name == 'etcd-custom-image':
names = ['etcd']
elif name == 'egress-filter-refresher':
diff --git a/vendor/github.com/gardener/gardener/hack/install-requirements.sh b/vendor/github.com/gardener/gardener/hack/install-requirements.sh
deleted file mode 100755
index bfa85a788..000000000
--- a/vendor/github.com/gardener/gardener/hack/install-requirements.sh
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/usr/bin/env bash
-#
-# Copyright (c) 2019 SAP SE or an SAP affiliate company. All rights reserved. This file is licensed under the Apache Software License, v. 2 except as noted otherwise in the LICENSE file
-#
-# 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.
-
-set -e
-
-# this script is kept for compatability reasons (other repos might use this script as well to install these tools)
-# TODO: drop this script in a future release
-echo "> [DEPRECATED] Installing requirements"
-
-export GO111MODULE=on
-curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.41.1
-curl -s "https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3" | bash -s -- --version 'v3.6.3'
-
-platform=$(uname -s)
-if [[ ${platform} == "Linux" ]]; then
- if ! which jq &>/dev/null; then
- echo "Installing jq ..."
- curl -L -o /usr/local/bin/jq https://github.com/stedolan/jq/releases/download/jq-1.6/jq-linux64
- chmod +x /usr/local/bin/jq
- fi
-fi
-
-if [[ ${platform} == *"Darwin"* ]]; then
- cat < /dev/null && pwd )"
+if [ "${SCRIPT_DIR}" != "$(realpath $GOPATH)/src/github.com/gardener/gardener/hack" ]; then
+ echo "'hack/update-codegen.sh' script does not work correctly if your workspace is outside GOPATH"
+ echo "Please check https://github.com/gardener/gardener/blob/master/docs/development/local_setup.md#get-the-sources"
+ exit 1
+fi
+
# We need to explicitly pass GO111MODULE=off to k8s.io/code-generator as it is significantly slower otherwise,
# see https://github.com/kubernetes/code-generator/issues/100.
export GO111MODULE=off
@@ -312,6 +320,21 @@ provider_local_groups() {
}
export -f provider_local_groups
+# extensions/pkg/apis deepcopy methods
+
+extensions_config_groups() {
+ echo "Generating API groups for extensions/pkg/apis/config"
+
+ bash "${PROJECT_ROOT}"/vendor/k8s.io/code-generator/generate-internal-groups.sh \
+ "deepcopy" \
+ github.com/gardener/gardener/extensions/pkg/apis \
+ github.com/gardener/gardener/extensions/pkg/apis \
+ github.com/gardener/gardener/extensions/pkg/apis \
+ "config:v1alpha1" \
+ -h "${PROJECT_ROOT}/hack/LICENSE_BOILERPLATE.txt"
+}
+export -f extensions_config_groups
+
# OpenAPI definitions
openapi_definitions() {
@@ -358,7 +381,8 @@ if [[ $# -gt 0 && "$1" == "--parallel" ]]; then
scheduler_groups \
gardenlet_groups \
shoottolerationrestriction_groups \
- provider_local_groups
+ provider_local_groups \
+ extensions_config_groups
else
authentication_groups
core_groups
@@ -373,6 +397,7 @@ else
gardenlet_groups
shoottolerationrestriction_groups
provider_local_groups
+ extensions_config_groups
fi
openapi_definitions "$@"
diff --git a/vendor/github.com/gardener/gardener/hack/update-protobuf.sh b/vendor/github.com/gardener/gardener/hack/update-protobuf.sh
index aef430f4e..13244e404 100755
--- a/vendor/github.com/gardener/gardener/hack/update-protobuf.sh
+++ b/vendor/github.com/gardener/gardener/hack/update-protobuf.sh
@@ -18,6 +18,14 @@ set -o errexit
set -o nounset
set -o pipefail
+# Friendly reminder if workspace location is not in $GOPATH
+SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
+if [ "${SCRIPT_DIR}" != "$(realpath $GOPATH)/src/github.com/gardener/gardener/hack" ]; then
+ echo "'hack/update-protobuf.sh' script does not work correctly if your workspace is outside GOPATH"
+ echo "Please check https://github.com/gardener/gardener/blob/master/docs/development/local_setup.md#get-the-sources"
+ exit 1
+fi
+
# We need to explicitly pass GO111MODULE=off to k8s.io/code-generator as it is significantly slower otherwise,
# see https://github.com/kubernetes/code-generator/issues/100.
export GO111MODULE=off
diff --git a/vendor/github.com/gardener/gardener/pkg/apis/core/types_secretbinding.go b/vendor/github.com/gardener/gardener/pkg/apis/core/types_secretbinding.go
index 407fb72bf..1f711918f 100644
--- a/vendor/github.com/gardener/gardener/pkg/apis/core/types_secretbinding.go
+++ b/vendor/github.com/gardener/gardener/pkg/apis/core/types_secretbinding.go
@@ -34,7 +34,7 @@ type SecretBinding struct {
// This field is immutable.
Quotas []corev1.ObjectReference
// Provider defines the provider type of the SecretBinding.
- // This field is immutable when the SecretBindingProviderValidation feature gate is enabled.
+ // This field is immutable.
Provider *SecretBindingProvider
}
diff --git a/vendor/github.com/gardener/gardener/pkg/apis/core/types_shoot.go b/vendor/github.com/gardener/gardener/pkg/apis/core/types_shoot.go
index 667d333b4..ae1ac27e5 100644
--- a/vendor/github.com/gardener/gardener/pkg/apis/core/types_shoot.go
+++ b/vendor/github.com/gardener/gardener/pkg/apis/core/types_shoot.go
@@ -522,7 +522,7 @@ type KubeAPIServerConfig struct {
ServiceAccountConfig *ServiceAccountConfig
// WatchCacheSizes contains configuration of the API server's watch cache sizes.
// Configuring these flags might be useful for large-scale Shoot clusters with a lot of parallel update requests
- // and a lot of watching controllers (e.g. large shooted Seed clusters). When the API server's watch cache's
+ // and a lot of watching controllers (e.g. large ManagedSeed clusters). When the API server's watch cache's
// capacity is too small to cope with the amount of update requests and watchers for a particular resource, it
// might happen that controller watches are permanently stopped with `too old resource version` errors.
// Starting from kubernetes v1.19, the API server's watch cache size is adapted dynamically and setting the watch
@@ -567,8 +567,7 @@ type ServiceAccountConfig struct {
// MaxTokenExpiration is the maximum validity duration of a token created by the service account token issuer. If an
// otherwise valid TokenRequest with a validity duration larger than this value is requested, a token will be issued
// with a validity duration of this value.
- // This field must be within [30d,90d] when the ShootMaxTokenExpirationValidation feature gate is enabled.
- // This field will be overwritten to be within [30d,90d] when the ShootMaxTokenExpirationOverwrite feature gate is enabled.
+ // This field must be within [30d,90d].
MaxTokenExpiration *metav1.Duration
// AcceptedIssuers is an additional set of issuers that are used to determine which service account tokens are accepted.
// These values are not used to generate new service account tokens. Only useful when service account tokens are also
@@ -628,6 +627,8 @@ type OpenIDConnectClientAuthentication struct {
type AdmissionPlugin struct {
// Name is the name of the plugin.
Name string
+ // Disabled specifies whether this plugin should be disabled.
+ Disabled *bool
// Config is the configuration of the plugin.
Config *runtime.RawExtension
}
@@ -692,8 +693,24 @@ type KubeSchedulerConfig struct {
// Note that using this field is considered alpha-/experimental-level and is on your own risk. You should be aware
// of all the side-effects and consequences when changing it.
KubeMaxPDVols *string
+ // Profile configures the scheduling profile for the cluster.
+ // If not specified, the used profile is "balanced" (provides the default kube-scheduler behavior).
+ Profile *SchedulingProfile
}
+// SchedulingProfile is a string alias used for scheduling profile values.
+type SchedulingProfile string
+
+const (
+ // SchedulingProfileBalanced is a scheduling profile that attempts to spread Pods evenly across Nodes
+ // to obtain a more balanced resource usage. This profile provides the default kube-scheduler behavior.
+ SchedulingProfileBalanced SchedulingProfile = "balanced"
+ // SchedulingProfileBinPacking is a scheduling profile that scores Nodes based on the allocation of resources.
+ // It prioritizes Nodes with most allocated resources. This leads the Node count in the cluster to be minimized and
+ // the Node resource utilization to be increased.
+ SchedulingProfileBinPacking SchedulingProfile = "bin-packing"
+)
+
// KubeProxyConfig contains configuration settings for the kube-proxy.
type KubeProxyConfig struct {
KubernetesConfig
diff --git a/vendor/github.com/gardener/gardener/pkg/apis/core/v1alpha1/defaults.go b/vendor/github.com/gardener/gardener/pkg/apis/core/v1alpha1/defaults.go
index 7adf02a86..cd9cda04c 100644
--- a/vendor/github.com/gardener/gardener/pkg/apis/core/v1alpha1/defaults.go
+++ b/vendor/github.com/gardener/gardener/pkg/apis/core/v1alpha1/defaults.go
@@ -176,6 +176,14 @@ func SetDefaults_Shoot(obj *Shoot) {
obj.Spec.Kubernetes.KubeControllerManager.NodeMonitorGracePeriod = &metav1.Duration{Duration: 2 * time.Minute}
}
+ if obj.Spec.Kubernetes.KubeScheduler == nil {
+ obj.Spec.Kubernetes.KubeScheduler = &KubeSchedulerConfig{}
+ }
+ if obj.Spec.Kubernetes.KubeScheduler.Profile == nil {
+ defaultProfile := SchedulingProfileBalanced
+ obj.Spec.Kubernetes.KubeScheduler.Profile = &defaultProfile
+ }
+
if obj.Spec.Kubernetes.KubeProxy == nil {
obj.Spec.Kubernetes.KubeProxy = &KubeProxyConfig{}
}
diff --git a/vendor/github.com/gardener/gardener/pkg/apis/core/v1alpha1/generated.pb.go b/vendor/github.com/gardener/gardener/pkg/apis/core/v1alpha1/generated.pb.go
index 631f4ee8b..9e3ee39be 100644
--- a/vendor/github.com/gardener/gardener/pkg/apis/core/v1alpha1/generated.pb.go
+++ b/vendor/github.com/gardener/gardener/pkg/apis/core/v1alpha1/generated.pb.go
@@ -4743,673 +4743,675 @@ func init() {
}
var fileDescriptor_f1caaec5647a9dbf = []byte{
- // 10650 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x7d, 0x6c, 0x24, 0xc9,
- 0x75, 0x18, 0xae, 0x1e, 0x7e, 0x0d, 0xdf, 0x90, 0xdc, 0x65, 0xed, 0xc7, 0xf1, 0xf6, 0x6e, 0x97,
- 0xa7, 0xd6, 0x9d, 0x7e, 0x77, 0x3f, 0xc9, 0x5c, 0x9f, 0x4e, 0xb2, 0x74, 0xa7, 0xbb, 0xd3, 0x71,
- 0x66, 0xb8, 0xbb, 0xa3, 0x5d, 0xee, 0x52, 0x35, 0xcb, 0x3b, 0x9d, 0x64, 0x48, 0x6a, 0x76, 0x17,
- 0x87, 0x2d, 0xf6, 0x74, 0xcf, 0x75, 0xf7, 0x70, 0xc9, 0x3d, 0xc5, 0x92, 0x65, 0x7d, 0xd8, 0x12,
- 0x12, 0x24, 0x30, 0x02, 0x19, 0x92, 0x20, 0xcb, 0x82, 0x11, 0x28, 0x80, 0x0d, 0x19, 0x02, 0xac,
- 0x20, 0x5f, 0x0e, 0x60, 0xff, 0x61, 0x41, 0x0e, 0x14, 0x23, 0x70, 0x0c, 0xc5, 0x70, 0xa8, 0x88,
- 0xf9, 0xb0, 0xf3, 0x85, 0x7c, 0x21, 0xff, 0x2c, 0x9c, 0x20, 0xa8, 0x8f, 0xae, 0xae, 0xfe, 0x1a,
- 0x92, 0xdd, 0xbb, 0x94, 0x2e, 0xf6, 0x5f, 0xe4, 0xd4, 0xab, 0x7a, 0xaf, 0xaa, 0xba, 0xea, 0xd5,
- 0x7b, 0xaf, 0x5e, 0xbd, 0x07, 0xad, 0x9e, 0x1d, 0x6e, 0x0d, 0x37, 0x96, 0x4c, 0xaf, 0x7f, 0xb9,
- 0x67, 0xf8, 0x16, 0x71, 0x89, 0x1f, 0xff, 0x33, 0xd8, 0xee, 0x5d, 0x36, 0x06, 0x76, 0x70, 0xd9,
- 0xf4, 0x7c, 0x72, 0x79, 0xe7, 0x69, 0xc3, 0x19, 0x6c, 0x19, 0x4f, 0x5f, 0xee, 0x51, 0xa0, 0x11,
- 0x12, 0x6b, 0x69, 0xe0, 0x7b, 0xa1, 0x87, 0x9e, 0x89, 0x91, 0x2c, 0x45, 0x6d, 0xe3, 0x7f, 0x06,
- 0xdb, 0xbd, 0x25, 0x8a, 0x64, 0x89, 0x22, 0x59, 0x8a, 0x90, 0x5c, 0x68, 0x1e, 0x8b, 0xf2, 0x06,
- 0x09, 0xb3, 0x84, 0x2f, 0xfc, 0x94, 0x8a, 0xc3, 0xeb, 0x79, 0x97, 0x59, 0xf1, 0xc6, 0x70, 0x93,
- 0xfd, 0x62, 0x3f, 0xd8, 0x7f, 0xa2, 0xfa, 0x53, 0xdb, 0xef, 0x09, 0x96, 0x6c, 0x8f, 0x22, 0xbe,
- 0x6c, 0x0c, 0x43, 0x2f, 0x30, 0x0d, 0xc7, 0x76, 0x7b, 0x97, 0x77, 0xb2, 0x98, 0x75, 0xa5, 0xaa,
- 0xe8, 0xc2, 0xc8, 0x3a, 0xfe, 0x86, 0x61, 0xe6, 0xd5, 0x79, 0x67, 0x5c, 0xa7, 0x6f, 0x98, 0x5b,
- 0xb6, 0x4b, 0xfc, 0xbd, 0x68, 0x70, 0x97, 0x7d, 0x12, 0x78, 0x43, 0xdf, 0x24, 0xc7, 0x6a, 0x15,
- 0x5c, 0xee, 0x93, 0xd0, 0xc8, 0xa3, 0x75, 0xb9, 0xa8, 0x95, 0x3f, 0x74, 0x43, 0xbb, 0x9f, 0x25,
- 0xf3, 0x33, 0x87, 0x35, 0x08, 0xcc, 0x2d, 0xd2, 0x37, 0x32, 0xed, 0x9e, 0x29, 0x6a, 0x37, 0x0c,
- 0x6d, 0xe7, 0xb2, 0xed, 0x86, 0x41, 0xe8, 0xa7, 0x1b, 0xe9, 0xef, 0x80, 0x89, 0x65, 0xcb, 0xf2,
- 0x5c, 0xf4, 0x14, 0x4c, 0x11, 0xd7, 0xd8, 0x70, 0x88, 0xb5, 0xa0, 0x3d, 0xa6, 0x3d, 0x59, 0x6f,
- 0x9e, 0xfa, 0xee, 0xfe, 0xe2, 0x9b, 0x0e, 0xf6, 0x17, 0xa7, 0x56, 0x78, 0x31, 0x8e, 0xe0, 0xfa,
- 0x97, 0x6a, 0x30, 0xc9, 0x1a, 0x05, 0xe8, 0x97, 0x35, 0x38, 0xb3, 0x3d, 0xdc, 0x20, 0xbe, 0x4b,
- 0x42, 0x12, 0xb4, 0x8d, 0x60, 0x6b, 0xc3, 0x33, 0x7c, 0x8e, 0xa2, 0xf1, 0x8e, 0x6b, 0x4b, 0x25,
- 0x96, 0xe0, 0xd2, 0xf5, 0x2c, 0xbe, 0xe6, 0x43, 0x07, 0xfb, 0x8b, 0x67, 0x72, 0x00, 0x38, 0x8f,
- 0x3a, 0xba, 0x03, 0x33, 0x6e, 0xcf, 0x76, 0x77, 0x3b, 0x6e, 0xcf, 0x27, 0x41, 0xb0, 0x50, 0x63,
- 0xbd, 0x59, 0x2e, 0xd5, 0x9b, 0x9b, 0x0a, 0xa2, 0xe6, 0xe9, 0x83, 0xfd, 0xc5, 0x19, 0xb5, 0x04,
- 0x27, 0x08, 0xe9, 0x9f, 0xd3, 0xe0, 0xd4, 0xb2, 0xd5, 0xb7, 0x83, 0xc0, 0xf6, 0xdc, 0x35, 0x67,
- 0xd8, 0xb3, 0x5d, 0xf4, 0x18, 0x8c, 0xbb, 0x46, 0x9f, 0xb0, 0x29, 0x99, 0x6e, 0xce, 0x88, 0x59,
- 0x1d, 0xbf, 0x69, 0xf4, 0x09, 0x66, 0x10, 0xf4, 0x01, 0x98, 0x34, 0x3d, 0x77, 0xd3, 0xee, 0x89,
- 0x8e, 0xfe, 0xd4, 0x12, 0xff, 0x92, 0x4b, 0xea, 0x97, 0x64, 0xfd, 0x13, 0x2b, 0x60, 0x09, 0x1b,
- 0x77, 0x56, 0x76, 0x43, 0xe2, 0x52, 0x32, 0x4d, 0x38, 0xd8, 0x5f, 0x9c, 0x6c, 0x31, 0x04, 0x58,
- 0x20, 0xd2, 0xaf, 0x40, 0x7d, 0xd9, 0x21, 0x7e, 0x68, 0xbb, 0x3d, 0xf4, 0x1c, 0xcc, 0x91, 0xbe,
- 0x61, 0x3b, 0x98, 0x98, 0xc4, 0xde, 0x21, 0x7e, 0xb0, 0xa0, 0x3d, 0x36, 0xf6, 0xe4, 0x74, 0x13,
- 0x1d, 0xec, 0x2f, 0xce, 0xad, 0x24, 0x20, 0x38, 0x55, 0x53, 0xff, 0xb4, 0x06, 0x8d, 0xe5, 0xa1,
- 0x65, 0x87, 0x1c, 0x3f, 0x0a, 0xa0, 0x61, 0xd0, 0x9f, 0x6b, 0x9e, 0x63, 0x9b, 0x7b, 0xe2, 0x33,
- 0xbf, 0x54, 0x6a, 0x62, 0x97, 0x63, 0x3c, 0xcd, 0x53, 0x07, 0xfb, 0x8b, 0x0d, 0xa5, 0x00, 0xab,
- 0x54, 0xf4, 0x2d, 0x50, 0x61, 0xe8, 0x55, 0x98, 0xe1, 0xa3, 0x5c, 0x35, 0x06, 0x98, 0x6c, 0x8a,
- 0x4e, 0xbc, 0x45, 0x99, 0xb4, 0x88, 0xd2, 0xd2, 0xad, 0x8d, 0x8f, 0x13, 0x33, 0xc4, 0x64, 0x93,
- 0xf8, 0xc4, 0x35, 0x09, 0xff, 0x7e, 0x2d, 0xa5, 0x31, 0x4e, 0xa0, 0xd2, 0x7f, 0xa8, 0xc1, 0xe9,
- 0xe5, 0x1d, 0xc3, 0x76, 0x8c, 0x0d, 0xdb, 0xb1, 0xc3, 0xbd, 0x0f, 0x79, 0x2e, 0x39, 0xc2, 0x07,
- 0x5c, 0x87, 0x87, 0x86, 0xae, 0xc1, 0xdb, 0x39, 0x64, 0x95, 0x7f, 0xb2, 0xdb, 0x7b, 0x03, 0x42,
- 0x97, 0x1e, 0x9d, 0xea, 0x47, 0x0e, 0xf6, 0x17, 0x1f, 0x5a, 0xcf, 0xaf, 0x82, 0x8b, 0xda, 0x22,
- 0x0c, 0xe7, 0x15, 0xd0, 0xcb, 0x9e, 0x33, 0xec, 0x0b, 0xac, 0x63, 0x0c, 0xeb, 0x85, 0x83, 0xfd,
- 0xc5, 0xf3, 0xeb, 0xb9, 0x35, 0x70, 0x41, 0x4b, 0xfd, 0x7b, 0x35, 0x98, 0x69, 0x1a, 0xe6, 0xf6,
- 0x70, 0xd0, 0x1c, 0x9a, 0xdb, 0x24, 0x44, 0x1f, 0x83, 0x3a, 0xe5, 0x5c, 0x96, 0x11, 0x1a, 0x62,
- 0x26, 0x7f, 0xba, 0x70, 0xf9, 0xb1, 0xaf, 0x48, 0x6b, 0xc7, 0x73, 0xbb, 0x4a, 0x42, 0xa3, 0x89,
- 0xc4, 0x9c, 0x40, 0x5c, 0x86, 0x25, 0x56, 0xd4, 0x83, 0xf1, 0x60, 0x40, 0x4c, 0xb1, 0xb8, 0x57,
- 0x4a, 0x2d, 0x16, 0xb5, 0xcb, 0xdd, 0x01, 0x31, 0xe3, 0xcf, 0x40, 0x7f, 0x61, 0x46, 0x00, 0x79,
- 0x30, 0x19, 0x84, 0x46, 0x38, 0xa4, 0xf3, 0x43, 0x49, 0x5d, 0xad, 0x4e, 0x8a, 0xa1, 0x6b, 0xce,
- 0x09, 0x62, 0x93, 0xfc, 0x37, 0x16, 0x64, 0xf4, 0x1f, 0x68, 0x70, 0x5a, 0xad, 0x7e, 0xc3, 0x0e,
- 0x42, 0xf4, 0xb3, 0x99, 0x09, 0x5d, 0x3a, 0xda, 0x84, 0xd2, 0xd6, 0x6c, 0x3a, 0x4f, 0x0b, 0x72,
- 0xf5, 0xa8, 0x44, 0x99, 0xcc, 0x4d, 0x98, 0xb0, 0x43, 0xd2, 0xe7, 0x0b, 0xab, 0x2c, 0x4f, 0x53,
- 0xfb, 0xdc, 0x9c, 0x15, 0xd4, 0x26, 0x3a, 0x14, 0x2f, 0xe6, 0xe8, 0xf5, 0x8f, 0xc1, 0x59, 0xb5,
- 0xd6, 0x9a, 0xef, 0xed, 0xd8, 0x16, 0xf1, 0xe9, 0x66, 0x08, 0xf7, 0x06, 0x99, 0xcd, 0x40, 0x17,
- 0x17, 0x66, 0x10, 0xf4, 0x56, 0x98, 0xf4, 0x49, 0xcf, 0xf6, 0x5c, 0xf6, 0xc1, 0xa7, 0xe3, 0xc9,
- 0xc3, 0xac, 0x14, 0x0b, 0xa8, 0xfe, 0x1f, 0x6b, 0xc9, 0xc9, 0xa3, 0x1f, 0x12, 0xdd, 0x81, 0xfa,
- 0x40, 0x90, 0x12, 0x93, 0xd7, 0xa9, 0x3c, 0xc2, 0xa8, 0xef, 0xf1, 0xbc, 0x46, 0x25, 0x58, 0x12,
- 0x43, 0x36, 0xcc, 0x45, 0xff, 0xb7, 0x2a, 0xf0, 0x62, 0xc6, 0x53, 0xd7, 0x12, 0x88, 0x70, 0x0a,
- 0x31, 0xba, 0x0d, 0xd3, 0x01, 0x31, 0x7d, 0x42, 0xf9, 0x92, 0x58, 0xa9, 0xb9, 0xcc, 0xab, 0x1b,
- 0x55, 0x12, 0xcc, 0x6b, 0x5e, 0x74, 0x7f, 0x5a, 0x02, 0x70, 0x8c, 0x08, 0x3d, 0x0a, 0xe3, 0x01,
- 0x21, 0xd6, 0xc2, 0x38, 0x9b, 0xf4, 0x3a, 0xdb, 0x1a, 0x84, 0x58, 0x98, 0x95, 0xea, 0xdf, 0x18,
- 0x07, 0x94, 0x5d, 0xd8, 0xea, 0xa8, 0x79, 0x89, 0x98, 0xf4, 0x2a, 0xa3, 0x16, 0x7b, 0x24, 0x85,
- 0x18, 0xbd, 0x0e, 0xb3, 0x8e, 0x11, 0x84, 0xb7, 0x06, 0x54, 0xfc, 0x88, 0x56, 0x47, 0xe3, 0x1d,
- 0xcd, 0x52, 0x9f, 0xf7, 0x86, 0x8a, 0xa9, 0x39, 0x7f, 0xb0, 0xbf, 0x38, 0x9b, 0x28, 0xc2, 0x49,
- 0x5a, 0x68, 0x1b, 0xa6, 0x69, 0xc1, 0x8a, 0xef, 0x7b, 0xbe, 0x98, 0xf2, 0x17, 0x4b, 0x13, 0x66,
- 0x58, 0x9a, 0xb3, 0xf4, 0x4b, 0xc8, 0x9f, 0x38, 0xc6, 0x8f, 0xde, 0x0f, 0xc8, 0xdb, 0x08, 0x88,
- 0xbf, 0x43, 0xac, 0xab, 0x5c, 0xda, 0xa2, 0xc3, 0xa5, 0xdf, 0x65, 0xac, 0x79, 0x41, 0x7c, 0x43,
- 0x74, 0x2b, 0x53, 0x03, 0xe7, 0xb4, 0x42, 0xdb, 0x80, 0xa4, 0xc4, 0x26, 0x3f, 0xfb, 0xc2, 0xc4,
- 0xd1, 0x17, 0xcd, 0x79, 0x4a, 0xec, 0x6a, 0x06, 0x05, 0xce, 0x41, 0xab, 0xff, 0x7e, 0x0d, 0x1a,
- 0x7c, 0x91, 0xac, 0xb8, 0xa1, 0xbf, 0x77, 0x02, 0x47, 0xc3, 0x66, 0xe2, 0x68, 0x68, 0x57, 0xd8,
- 0xea, 0xac, 0xc7, 0x85, 0x27, 0x83, 0x9b, 0x3a, 0x19, 0xae, 0x54, 0xa6, 0x34, 0xfa, 0x60, 0xf8,
- 0x63, 0x0d, 0x4e, 0x29, 0xb5, 0x4f, 0xe0, 0x5c, 0x20, 0xc9, 0x73, 0xe1, 0xa5, 0xaa, 0x03, 0x2c,
- 0x38, 0x16, 0xcc, 0xc4, 0xb8, 0x18, 0xcb, 0x7e, 0x07, 0xc0, 0x06, 0xe3, 0x29, 0x37, 0x63, 0x21,
- 0x49, 0x7e, 0xf5, 0xa6, 0x84, 0x60, 0xa5, 0x96, 0x64, 0x56, 0xb5, 0x5c, 0x66, 0xf5, 0x67, 0x63,
- 0x30, 0x9f, 0x99, 0xeb, 0x2c, 0x03, 0xd1, 0x7e, 0x5c, 0x0c, 0xa4, 0xf6, 0x63, 0x61, 0x20, 0x63,
- 0xa5, 0x18, 0xc8, 0x93, 0x50, 0xa7, 0x73, 0xca, 0xbe, 0x0d, 0x3f, 0x1a, 0x66, 0xe8, 0x0a, 0xea,
- 0x8a, 0x32, 0x2c, 0xa1, 0xc8, 0x07, 0xd4, 0xb7, 0x7b, 0xbc, 0x59, 0x37, 0x34, 0xfc, 0xf0, 0xb6,
- 0xdd, 0x27, 0x82, 0xd5, 0xfc, 0xff, 0x47, 0x5b, 0xa9, 0xb4, 0x05, 0xe7, 0x38, 0xab, 0x19, 0x4c,
- 0x38, 0x07, 0xbb, 0xfe, 0x7b, 0x1a, 0x8c, 0xb5, 0x70, 0x07, 0xbd, 0x2d, 0x21, 0x62, 0x3f, 0xa4,
- 0x8a, 0xd8, 0xf7, 0xf6, 0x17, 0xa7, 0x5a, 0xb8, 0xa3, 0x48, 0xdb, 0x7f, 0x43, 0x83, 0x79, 0xd3,
- 0x73, 0x43, 0x83, 0xf6, 0x02, 0xf3, 0xf3, 0x28, 0x5a, 0xf7, 0xe5, 0xa4, 0xcb, 0x56, 0x0a, 0x5b,
- 0xf3, 0x61, 0xd1, 0x83, 0xf9, 0x34, 0x24, 0xc0, 0x59, 0xd2, 0xfa, 0x3a, 0x4c, 0xb7, 0x1c, 0x6f,
- 0x68, 0x75, 0xdc, 0x4d, 0xef, 0x3e, 0x0a, 0x48, 0xff, 0x52, 0x83, 0x19, 0x86, 0x77, 0xcd, 0xf7,
- 0x36, 0x6d, 0x87, 0xbc, 0x41, 0x44, 0x75, 0xb5, 0xcb, 0x45, 0x0c, 0x99, 0x49, 0xce, 0x6a, 0xc5,
- 0x37, 0x8a, 0xe4, 0xac, 0xf6, 0xb9, 0x80, 0x45, 0x7e, 0x65, 0x2a, 0x39, 0x34, 0xc6, 0x24, 0x9f,
- 0x84, 0xba, 0x69, 0x34, 0x87, 0xae, 0xe5, 0xc8, 0x95, 0x41, 0xbb, 0xd9, 0x5a, 0xe6, 0x65, 0x58,
- 0x42, 0xd1, 0xeb, 0x00, 0xb1, 0x49, 0x43, 0x7c, 0x88, 0xab, 0x15, 0xed, 0x28, 0x5d, 0x12, 0x86,
- 0xb6, 0xdb, 0x0b, 0xe2, 0xaf, 0x1f, 0xc3, 0xb0, 0x42, 0x0e, 0xfd, 0x1c, 0xcc, 0x8a, 0x69, 0xee,
- 0xf4, 0x8d, 0x9e, 0x50, 0x34, 0xcb, 0xce, 0xd5, 0xaa, 0x82, 0xa9, 0x79, 0x4e, 0x50, 0x9e, 0x55,
- 0x4b, 0x03, 0x9c, 0x24, 0x87, 0xee, 0xc2, 0x4c, 0x5f, 0xd5, 0x9e, 0xc7, 0x2b, 0x1c, 0x66, 0x8a,
- 0x2a, 0xdd, 0x3c, 0x2b, 0xa8, 0xcf, 0x24, 0x14, 0xef, 0x04, 0xad, 0x1c, 0x0d, 0x60, 0xe2, 0x41,
- 0x69, 0x00, 0x9b, 0x30, 0xc5, 0xf7, 0x78, 0xb0, 0x30, 0xc9, 0x46, 0xf8, 0xde, 0x52, 0x23, 0xe4,
- 0xfc, 0x22, 0x36, 0xd4, 0xf1, 0xdf, 0x01, 0x8e, 0x90, 0xa3, 0x3b, 0x30, 0x43, 0xd9, 0x7b, 0x97,
- 0x38, 0xc4, 0x0c, 0x3d, 0x7f, 0x61, 0xaa, 0x82, 0x1d, 0xac, 0xab, 0x20, 0xe2, 0x76, 0x14, 0xb5,
- 0x04, 0x27, 0x08, 0x49, 0x26, 0x58, 0x2f, 0x64, 0x82, 0x3b, 0xd0, 0xd8, 0x51, 0x0c, 0x1a, 0xd3,
- 0x6c, 0x1a, 0xde, 0x57, 0xaa, 0x67, 0xb1, 0x79, 0xa3, 0x79, 0x46, 0x50, 0x6a, 0xa8, 0xa6, 0x10,
- 0x95, 0x90, 0xbe, 0x5f, 0x87, 0xf9, 0x96, 0x33, 0x0c, 0x42, 0xe2, 0x2f, 0x0b, 0x5b, 0x33, 0xf1,
- 0xd1, 0xa7, 0x35, 0x38, 0xcf, 0xfe, 0x6d, 0x7b, 0x77, 0xdc, 0x36, 0x71, 0x8c, 0xbd, 0xe5, 0x4d,
- 0x5a, 0xc3, 0xb2, 0x8e, 0xc7, 0x88, 0xda, 0x43, 0x21, 0x51, 0x30, 0xd3, 0x4c, 0x37, 0x17, 0x23,
- 0x2e, 0xa0, 0x84, 0xbe, 0xa8, 0xc1, 0xc3, 0x39, 0xa0, 0x36, 0x71, 0x48, 0x48, 0x04, 0x27, 0x38,
- 0x6e, 0x3f, 0x2e, 0x1e, 0xec, 0x2f, 0x3e, 0xdc, 0x2d, 0x42, 0x8a, 0x8b, 0xe9, 0xd1, 0x53, 0xf6,
- 0x42, 0x0e, 0xf4, 0x8a, 0x61, 0x3b, 0x43, 0x9f, 0x08, 0x39, 0xfa, 0xb8, 0xdd, 0xb9, 0x74, 0xb0,
- 0xbf, 0x78, 0xa1, 0x5b, 0x88, 0x15, 0x8f, 0xa0, 0x88, 0x3e, 0x09, 0xe7, 0x24, 0x74, 0xdd, 0x75,
- 0x09, 0xb1, 0x88, 0xc5, 0x44, 0x94, 0xf1, 0x52, 0x5d, 0x79, 0xf8, 0x60, 0x7f, 0xf1, 0x5c, 0x37,
- 0x0f, 0x21, 0xce, 0xa7, 0x83, 0x7a, 0x70, 0x31, 0x06, 0x84, 0xb6, 0x63, 0xdf, 0x65, 0x98, 0x6e,
- 0x6f, 0xf9, 0x24, 0xd8, 0xf2, 0x1c, 0x8b, 0xf1, 0x0b, 0xad, 0xf9, 0xe6, 0x83, 0xfd, 0xc5, 0x8b,
- 0xdd, 0x51, 0x15, 0xf1, 0x68, 0x3c, 0xc8, 0x82, 0x99, 0xc0, 0x34, 0xdc, 0x8e, 0x1b, 0x12, 0x7f,
- 0xc7, 0x70, 0x16, 0x26, 0x4b, 0x0d, 0x90, 0xef, 0x51, 0x05, 0x0f, 0x4e, 0x60, 0x45, 0xef, 0x81,
- 0x3a, 0xd9, 0x1d, 0x18, 0xae, 0x45, 0x38, 0x63, 0x98, 0x6e, 0x3e, 0x4a, 0x8f, 0xa4, 0x15, 0x51,
- 0x76, 0x6f, 0x7f, 0x71, 0x26, 0xfa, 0x7f, 0xd5, 0xb3, 0x08, 0x96, 0xb5, 0xd1, 0x27, 0xe0, 0x6c,
- 0xdf, 0xd8, 0xbd, 0xe9, 0x59, 0x84, 0xf1, 0x39, 0xca, 0xf6, 0xd8, 0x87, 0xa8, 0x97, 0xea, 0xe7,
- 0xc2, 0xc1, 0xfe, 0xe2, 0xd9, 0xd5, 0x1c, 0x7c, 0x38, 0x97, 0x0a, 0xfd, 0x0c, 0x7d, 0x63, 0xf7,
- 0xaa, 0x6f, 0x98, 0x64, 0x73, 0xe8, 0xdc, 0x26, 0x7e, 0xdf, 0x76, 0xb9, 0x58, 0x49, 0x4c, 0xcf,
- 0xb5, 0x28, 0x2f, 0xd1, 0x9e, 0x9c, 0xe0, 0x9f, 0x61, 0x75, 0x54, 0x45, 0x3c, 0x1a, 0x0f, 0x7a,
- 0x27, 0xcc, 0xd8, 0x3d, 0xd7, 0xf3, 0xc9, 0x6d, 0xc3, 0x76, 0xc3, 0x60, 0x01, 0x98, 0xd1, 0x95,
- 0x4d, 0x6b, 0x47, 0x29, 0xc7, 0x89, 0x5a, 0xfa, 0x7f, 0xd2, 0xa0, 0x21, 0x18, 0x0c, 0x93, 0x07,
- 0x4d, 0x98, 0x30, 0xa9, 0x34, 0x20, 0x18, 0xc9, 0x8b, 0xe5, 0xc5, 0x0e, 0x8a, 0x2e, 0x96, 0x39,
- 0x58, 0x11, 0xe6, 0xb8, 0xd1, 0x9d, 0x1c, 0xa1, 0xa1, 0x55, 0x51, 0x68, 0x60, 0xe4, 0x0e, 0x11,
- 0x18, 0xf4, 0xfd, 0x31, 0x98, 0x6e, 0x79, 0xae, 0x65, 0x33, 0x65, 0xe3, 0xe9, 0x84, 0xec, 0x7b,
- 0x51, 0x65, 0xfb, 0xf7, 0xf6, 0x17, 0x67, 0x65, 0x45, 0xe5, 0x1c, 0x78, 0x56, 0x6a, 0xe6, 0x5c,
- 0x18, 0x7e, 0x73, 0x52, 0xa3, 0xbe, 0xb7, 0xbf, 0x78, 0x4a, 0x36, 0x4b, 0x2a, 0xd9, 0x68, 0x07,
- 0x10, 0xd5, 0x99, 0x6e, 0xfb, 0x86, 0x1b, 0x70, 0xb4, 0x74, 0x11, 0x8e, 0x1d, 0x5b, 0x61, 0x91,
- 0x2a, 0xd5, 0x8d, 0x0c, 0x36, 0x9c, 0x43, 0x01, 0x7d, 0x1c, 0xe6, 0x68, 0xe9, 0xfa, 0xc0, 0x32,
- 0x42, 0xa2, 0x70, 0xa0, 0x63, 0x29, 0x49, 0x82, 0xe6, 0xdc, 0x8d, 0x04, 0x26, 0x9c, 0xc2, 0xcc,
- 0x75, 0x05, 0x23, 0xf0, 0x5c, 0xc6, 0x5c, 0x12, 0xba, 0x02, 0x2d, 0xc5, 0x02, 0x8a, 0x9e, 0x82,
- 0xa9, 0x3e, 0x09, 0x02, 0xa3, 0x47, 0x18, 0xb7, 0x98, 0x8e, 0x85, 0x82, 0x55, 0x5e, 0x8c, 0x23,
- 0x38, 0x7a, 0x3b, 0x4c, 0x98, 0x9e, 0x45, 0x82, 0x85, 0x29, 0xb6, 0x9e, 0xcf, 0xb3, 0xc5, 0x44,
- 0x0b, 0xee, 0xed, 0x2f, 0x4e, 0x33, 0x05, 0x94, 0xfe, 0xc2, 0xbc, 0x92, 0xfe, 0xab, 0x54, 0x50,
- 0x4f, 0x69, 0x3c, 0x45, 0x37, 0x22, 0xfc, 0xb3, 0x32, 0x1d, 0xed, 0xe4, 0xcc, 0xa9, 0xfa, 0x2f,
- 0xd5, 0xe0, 0x2c, 0xed, 0xa1, 0xef, 0x39, 0x0e, 0x3d, 0xbd, 0x06, 0x8e, 0xb7, 0xd7, 0x27, 0xee,
- 0x49, 0xdc, 0x6c, 0x44, 0x62, 0x4e, 0xad, 0x50, 0xcc, 0xe9, 0x67, 0xe6, 0x61, 0xac, 0xcc, 0x3c,
- 0xc8, 0xe5, 0x72, 0xc8, 0x5c, 0xfc, 0xb9, 0x06, 0x0b, 0x79, 0x73, 0x71, 0x02, 0xea, 0x95, 0x9b,
- 0x54, 0xaf, 0x3a, 0xa5, 0x15, 0xf1, 0x74, 0xdf, 0x0b, 0xd4, 0xac, 0x3f, 0xaf, 0xc1, 0xf9, 0xb8,
- 0x7a, 0xc7, 0x0d, 0x42, 0xc3, 0x71, 0xb8, 0xcd, 0xe3, 0xc1, 0x7f, 0xf8, 0xd7, 0x12, 0x7a, 0xf2,
- 0xad, 0x8a, 0x63, 0x55, 0x3b, 0x5f, 0x68, 0xc2, 0xdc, 0x4b, 0x99, 0x30, 0x3f, 0x70, 0x3f, 0x89,
- 0x8e, 0xb6, 0x66, 0xfe, 0x67, 0x0d, 0x2e, 0xe4, 0x37, 0x3c, 0x81, 0x75, 0x35, 0x48, 0xae, 0xab,
- 0xeb, 0xf7, 0x71, 0xd8, 0x05, 0x2b, 0xeb, 0xdb, 0xb5, 0xa2, 0xe1, 0x32, 0x55, 0x7e, 0x13, 0x4e,
- 0x51, 0xfd, 0x2a, 0x08, 0x85, 0xd5, 0xed, 0x78, 0x37, 0xd0, 0x91, 0x6d, 0xeb, 0x14, 0x4e, 0xe2,
- 0xc0, 0x69, 0xa4, 0xe8, 0x26, 0x4c, 0x51, 0x9d, 0x8a, 0xe2, 0xaf, 0x1d, 0x1d, 0xbf, 0xe4, 0xfb,
- 0x5d, 0xde, 0x16, 0x47, 0x48, 0xd0, 0xcf, 0xc2, 0xac, 0x25, 0x37, 0xd5, 0x21, 0x57, 0x4f, 0x69,
- 0xac, 0xcc, 0x40, 0xda, 0x56, 0x5b, 0xe3, 0x24, 0x32, 0xfd, 0x7f, 0x6b, 0xf0, 0xe8, 0xa8, 0xc5,
- 0x85, 0x7c, 0x00, 0x33, 0x3a, 0xc8, 0xb9, 0x07, 0x42, 0x69, 0x61, 0x28, 0x42, 0x13, 0x6f, 0x52,
- 0x59, 0x14, 0x60, 0x85, 0x4a, 0xce, 0xf5, 0x56, 0xed, 0x01, 0x5d, 0x6f, 0xe9, 0xff, 0x45, 0x53,
- 0xd9, 0x91, 0xfa, 0x71, 0xdf, 0x70, 0xec, 0x48, 0xed, 0x7c, 0xa1, 0x01, 0xef, 0x8f, 0x6a, 0xf0,
- 0x58, 0x7e, 0x13, 0xe5, 0x04, 0x7e, 0x09, 0x26, 0x07, 0xdc, 0x51, 0x64, 0x8c, 0x9d, 0x90, 0x4f,
- 0x52, 0xe6, 0xc2, 0xbd, 0x38, 0xee, 0xed, 0x2f, 0x5e, 0xc8, 0xe3, 0xf6, 0xc2, 0xff, 0x43, 0xb4,
- 0x43, 0x76, 0xca, 0x82, 0xc1, 0x25, 0xad, 0x67, 0x8e, 0xc8, 0x5f, 0x8c, 0x0d, 0xe2, 0x1c, 0xd9,
- 0x66, 0xf1, 0x69, 0x0d, 0xe6, 0x12, 0x6b, 0x3a, 0x58, 0x98, 0x60, 0xab, 0xb4, 0xdc, 0x0d, 0x43,
- 0x62, 0xb7, 0xc4, 0x07, 0x78, 0xa2, 0x38, 0xc0, 0x29, 0x8a, 0x29, 0x56, 0xab, 0x4e, 0xeb, 0x1b,
- 0x8f, 0xd5, 0xaa, 0xbd, 0x2f, 0x60, 0xb5, 0x5f, 0xab, 0x15, 0x0d, 0x97, 0xb1, 0xda, 0x5d, 0x98,
- 0x8e, 0x9c, 0xf1, 0x22, 0x96, 0x71, 0xb5, 0x72, 0xa7, 0x38, 0xbe, 0xf8, 0x36, 0x3d, 0x2a, 0x09,
- 0x70, 0x4c, 0x0c, 0x7d, 0x56, 0x03, 0x88, 0x3f, 0x8d, 0xd8, 0x58, 0xeb, 0xf7, 0x71, 0x42, 0x14,
- 0xf9, 0x66, 0x8e, 0xee, 0x6b, 0x65, 0x5d, 0x28, 0x84, 0xf5, 0xdf, 0xaa, 0x01, 0xca, 0x76, 0x9e,
- 0x0a, 0x9e, 0xdb, 0xb6, 0x6b, 0xa5, 0x05, 0xf0, 0xeb, 0xb6, 0x6b, 0x61, 0x06, 0x39, 0x82, 0x68,
- 0xfa, 0x02, 0x9c, 0xea, 0x39, 0xde, 0x86, 0xe1, 0x38, 0x7b, 0xc2, 0xc3, 0x8f, 0xed, 0xd2, 0x7a,
- 0xf3, 0x0c, 0x3d, 0x9e, 0xae, 0x26, 0x41, 0x38, 0x5d, 0x17, 0x0d, 0xe0, 0xb4, 0x4f, 0x15, 0x65,
- 0xd3, 0x76, 0x98, 0xaa, 0xe2, 0x0d, 0xc3, 0x92, 0x96, 0x98, 0xb3, 0x07, 0xfb, 0x8b, 0xa7, 0x71,
- 0x0a, 0x17, 0xce, 0x60, 0x47, 0x4f, 0xc0, 0xd4, 0xc0, 0xb7, 0xfb, 0x86, 0xbf, 0xc7, 0x94, 0xa1,
- 0x7a, 0xb3, 0x41, 0xcf, 0xb9, 0x35, 0x5e, 0x84, 0x23, 0x98, 0xfe, 0x59, 0x0d, 0xa6, 0x5a, 0x9e,
- 0x4f, 0xda, 0x37, 0xbb, 0xe8, 0x2e, 0x34, 0x14, 0x8f, 0x52, 0xb1, 0x65, 0xca, 0x2e, 0x21, 0x86,
- 0x72, 0x39, 0x46, 0x17, 0x79, 0xad, 0xc9, 0x02, 0xac, 0x12, 0xd3, 0xd7, 0xe8, 0x97, 0x4b, 0xb7,
- 0x41, 0xcf, 0xc1, 0x78, 0xdf, 0xb3, 0x22, 0xd5, 0xe9, 0xad, 0xd1, 0x77, 0x59, 0xf5, 0x2c, 0xaa,
- 0x22, 0x9f, 0xcf, 0xb6, 0x60, 0xb6, 0x17, 0xd6, 0x46, 0xff, 0xaa, 0x06, 0x63, 0x74, 0x54, 0x3a,
- 0x4c, 0x5a, 0x5e, 0xdf, 0xb0, 0x5d, 0x81, 0x85, 0x39, 0x00, 0xb6, 0x59, 0x09, 0x16, 0x10, 0xf4,
- 0x1a, 0x4c, 0x47, 0x27, 0x54, 0xb5, 0x3b, 0xe1, 0xf6, 0xcd, 0xae, 0x74, 0xa0, 0x91, 0x7b, 0x26,
- 0x2a, 0x09, 0x70, 0x4c, 0x45, 0x37, 0x60, 0xbe, 0x7d, 0xb3, 0xdb, 0x71, 0x4d, 0x67, 0x68, 0x91,
- 0x95, 0x5d, 0xf6, 0x87, 0x7e, 0x34, 0x9b, 0x97, 0x08, 0xaf, 0x43, 0xf6, 0xd1, 0x44, 0x25, 0x1c,
- 0xc1, 0x68, 0x35, 0xc2, 0x5b, 0x08, 0x8f, 0x39, 0x56, 0x4d, 0x20, 0xc1, 0x11, 0x4c, 0xff, 0x93,
- 0x1a, 0x34, 0x94, 0x0e, 0xa1, 0x3e, 0x4c, 0xf1, 0xf1, 0x46, 0x8e, 0x2b, 0x57, 0xca, 0x8e, 0x31,
- 0xd9, 0x6d, 0x4e, 0x9e, 0x4f, 0x69, 0x80, 0x23, 0x1a, 0xea, 0x0a, 0xac, 0x15, 0xaf, 0x40, 0xb4,
- 0x04, 0xc0, 0xfd, 0x72, 0xd8, 0xad, 0x2b, 0x3f, 0xfa, 0xd8, 0x26, 0xef, 0xca, 0x52, 0xac, 0xd4,
- 0x40, 0x8f, 0x8a, 0xbd, 0xaa, 0xb8, 0xee, 0x28, 0xfb, 0xb4, 0x07, 0x13, 0x77, 0x3d, 0x97, 0x04,
- 0xe2, 0x3a, 0xe2, 0x7e, 0x8d, 0x70, 0x9a, 0x32, 0xe3, 0x0f, 0x51, 0xc4, 0x98, 0xe3, 0xd7, 0x7f,
- 0x4d, 0x03, 0x68, 0x1b, 0xa1, 0xc1, 0x6d, 0xe7, 0x47, 0x70, 0x7b, 0x7c, 0x34, 0xc1, 0x63, 0xea,
- 0x99, 0x6b, 0xce, 0xf1, 0xc0, 0xbe, 0x1b, 0x8d, 0x5f, 0x0a, 0x30, 0x1c, 0x7b, 0xd7, 0xbe, 0x4b,
- 0x30, 0x83, 0xa3, 0xb7, 0xc1, 0x34, 0x71, 0x4d, 0x7f, 0x6f, 0x10, 0x0a, 0xef, 0xa5, 0x3a, 0xbf,
- 0x1a, 0x5f, 0x89, 0x0a, 0x71, 0x0c, 0xd7, 0x9f, 0x86, 0xa4, 0x18, 0x7a, 0x78, 0x2f, 0xf5, 0x1d,
- 0xa8, 0xaf, 0xb8, 0xd6, 0xc0, 0xb3, 0xdd, 0xf0, 0x08, 0x63, 0xba, 0x08, 0x63, 0x43, 0xdf, 0x11,
- 0x43, 0x6a, 0x88, 0x0a, 0x63, 0xeb, 0xf8, 0x06, 0xa6, 0xe5, 0xe8, 0x29, 0x98, 0x1a, 0x0c, 0xfd,
- 0x81, 0x17, 0x44, 0xe3, 0x92, 0xf2, 0xf6, 0x1a, 0x2f, 0xc6, 0x11, 0x5c, 0xbf, 0xa7, 0xc1, 0xe9,
- 0x95, 0xdd, 0x81, 0xed, 0x33, 0x17, 0x4c, 0xe2, 0x53, 0x51, 0x92, 0xb6, 0xdf, 0xe1, 0xff, 0x8a,
- 0x3e, 0xc8, 0xf6, 0xa2, 0x06, 0x8e, 0xe0, 0x68, 0x13, 0xe6, 0x08, 0x6b, 0xce, 0x8e, 0x0b, 0x43,
- 0x5e, 0x01, 0x1c, 0xc7, 0xcc, 0xc4, 0x5d, 0x7c, 0x13, 0x58, 0x70, 0x0a, 0x2b, 0xea, 0xc2, 0x9c,
- 0xe9, 0x18, 0x41, 0x60, 0x6f, 0xda, 0x66, 0xec, 0x69, 0x30, 0xdd, 0x7c, 0x1b, 0x6d, 0xdb, 0x4a,
- 0x40, 0xee, 0xed, 0x2f, 0x9e, 0x13, 0xfd, 0x4c, 0x02, 0x70, 0x0a, 0x85, 0xfe, 0xe5, 0x1a, 0xcc,
- 0xae, 0xec, 0x0e, 0xbc, 0x60, 0xe8, 0x13, 0x56, 0xf5, 0x04, 0xa4, 0xe0, 0xa7, 0x60, 0x6a, 0xcb,
- 0x70, 0x2d, 0x87, 0xf8, 0xe2, 0xf3, 0xc9, 0xb9, 0xbd, 0xc6, 0x8b, 0x71, 0x04, 0x47, 0x9f, 0x00,
- 0x08, 0xcc, 0x2d, 0x62, 0x0d, 0xd9, 0xb1, 0xc0, 0x15, 0xa1, 0x1b, 0xa5, 0x36, 0x56, 0x62, 0x90,
- 0x5d, 0x89, 0x53, 0xec, 0x77, 0xf9, 0x1b, 0x2b, 0xf4, 0xf4, 0x3f, 0xd1, 0x60, 0x3e, 0xd1, 0xee,
- 0x04, 0x64, 0xbb, 0x5e, 0x52, 0xb6, 0x6b, 0x56, 0x1f, 0x6c, 0x81, 0x48, 0xf7, 0x85, 0x1a, 0x3c,
- 0x54, 0x30, 0x29, 0x99, 0xfb, 0x48, 0xed, 0xa4, 0xee, 0x23, 0x77, 0xa0, 0x11, 0x7a, 0x8e, 0xf0,
- 0x89, 0x89, 0xe6, 0xa0, 0xdc, 0x6d, 0xe3, 0x6d, 0x89, 0x27, 0xbe, 0x6d, 0x8c, 0xcb, 0x02, 0xac,
- 0x12, 0xd2, 0x7f, 0x57, 0x83, 0x69, 0xa9, 0x47, 0x1e, 0xc1, 0x35, 0xe4, 0x04, 0xbd, 0x50, 0x9f,
- 0x84, 0xba, 0x65, 0x07, 0xaa, 0xdc, 0xc7, 0x3c, 0x12, 0xda, 0xa2, 0x0c, 0x4b, 0xa8, 0xfe, 0x4f,
- 0x6b, 0x70, 0x5e, 0xe2, 0x8e, 0x44, 0x50, 0xaa, 0xf6, 0x1e, 0x45, 0x0e, 0x7d, 0x54, 0x70, 0x5c,
- 0xe5, 0x8c, 0x50, 0xb8, 0xed, 0x13, 0x69, 0x76, 0xda, 0xc8, 0x63, 0xa5, 0xe8, 0x26, 0x4c, 0x04,
- 0x94, 0x9e, 0x10, 0x30, 0x8f, 0x39, 0x1b, 0xec, 0xa4, 0x63, 0xfd, 0xc5, 0x1c, 0x0d, 0x7a, 0x5d,
- 0xd5, 0x2b, 0xb8, 0x92, 0xf7, 0xfe, 0xe3, 0x2d, 0x06, 0xf6, 0xf0, 0x69, 0x89, 0x8e, 0xc4, 0x8a,
- 0x66, 0x24, 0xc7, 0x51, 0x37, 0x4f, 0xb5, 0xd0, 0x03, 0xa8, 0x5f, 0x15, 0x68, 0xd1, 0x05, 0xa8,
- 0xd9, 0xd1, 0xec, 0x81, 0x68, 0x55, 0xeb, 0xb4, 0x71, 0xcd, 0xb6, 0xe4, 0x59, 0x55, 0x2b, 0x3c,
- 0xab, 0x94, 0xc3, 0x64, 0x6c, 0xf4, 0x61, 0xa2, 0xff, 0xbb, 0x1a, 0x9c, 0x8d, 0xa8, 0x46, 0xbd,
- 0x6a, 0x0b, 0x13, 0xf6, 0x21, 0x27, 0xe2, 0xe1, 0x9a, 0xc4, 0x2d, 0x18, 0x67, 0x5c, 0xab, 0x94,
- 0x69, 0x5b, 0x22, 0xa4, 0xdd, 0xc1, 0x0c, 0x11, 0xfa, 0x6b, 0x30, 0xe9, 0x50, 0xdd, 0x3d, 0x72,
- 0x00, 0x29, 0xa7, 0x78, 0xe5, 0x8d, 0x97, 0xdb, 0x04, 0x02, 0xee, 0xe2, 0x28, 0xed, 0x9d, 0xbc,
- 0x10, 0x0b, 0xa2, 0x17, 0x9e, 0x85, 0x86, 0x52, 0x0d, 0x9d, 0x86, 0xb1, 0x6d, 0xc2, 0xdf, 0xba,
- 0x4c, 0x63, 0xfa, 0x2f, 0x3a, 0x0b, 0x13, 0x3b, 0x86, 0x33, 0x14, 0x73, 0x82, 0xf9, 0x8f, 0xe7,
- 0x6a, 0xef, 0xd1, 0xf4, 0x6f, 0x69, 0xd0, 0xb8, 0x66, 0x6f, 0x10, 0x9f, 0x5f, 0x25, 0x32, 0xb9,
- 0x36, 0xf1, 0xaa, 0xaa, 0x91, 0xf7, 0xa2, 0x0a, 0xed, 0xc1, 0xb4, 0x38, 0x1f, 0xa4, 0x27, 0x5b,
- 0xb9, 0xb7, 0x53, 0x0a, 0x6d, 0xc1, 0x77, 0x55, 0xbf, 0xf1, 0x88, 0x04, 0x8e, 0xa9, 0xe9, 0xaf,
- 0xc3, 0x99, 0x9c, 0x46, 0x68, 0x91, 0x6d, 0x39, 0x3f, 0x14, 0x0b, 0x23, 0xda, 0x43, 0x7e, 0x88,
- 0x79, 0x39, 0x7a, 0x18, 0xc6, 0x88, 0x1b, 0x79, 0x70, 0x4e, 0x51, 0x21, 0x69, 0xc5, 0xb5, 0x30,
- 0x2d, 0xa3, 0xac, 0xc5, 0xf1, 0x12, 0xb2, 0x04, 0x63, 0x2d, 0x37, 0x44, 0x19, 0x96, 0x50, 0xfd,
- 0x1f, 0x8c, 0xc3, 0xc5, 0x6b, 0x9e, 0x6f, 0xdf, 0xf5, 0xdc, 0xd0, 0x70, 0xd6, 0x3c, 0x2b, 0xf6,
- 0xc9, 0x10, 0x6c, 0xea, 0xb3, 0x1a, 0x3c, 0x64, 0x0e, 0x86, 0x1d, 0xd7, 0x0e, 0x6d, 0x23, 0xba,
- 0x2a, 0x5f, 0x23, 0xbe, 0xed, 0x95, 0x75, 0xcd, 0x60, 0x6f, 0x71, 0x5a, 0x6b, 0xeb, 0x79, 0x28,
- 0x71, 0x11, 0x2d, 0xe6, 0x21, 0x62, 0x79, 0x77, 0x5c, 0xd6, 0xb9, 0x6e, 0xc8, 0xde, 0x07, 0xdd,
- 0x8d, 0x87, 0x58, 0xd2, 0x43, 0xa4, 0x9d, 0x8b, 0x11, 0x17, 0x50, 0x42, 0x9f, 0x84, 0x73, 0x36,
- 0xef, 0x1c, 0x26, 0x86, 0x65, 0xbb, 0x24, 0x08, 0x98, 0x9f, 0x44, 0x15, 0x17, 0x88, 0x4e, 0x1e,
- 0x42, 0x9c, 0x4f, 0x07, 0x7d, 0x04, 0x20, 0xd8, 0x73, 0x4d, 0x31, 0xff, 0x13, 0xa5, 0xa8, 0x72,
- 0xc9, 0x48, 0x62, 0xc1, 0x0a, 0x46, 0xaa, 0x0b, 0xf0, 0xe3, 0xd3, 0x35, 0xf9, 0x45, 0xa6, 0xc6,
- 0x75, 0x81, 0xdb, 0x51, 0x21, 0x8e, 0xe1, 0xfa, 0x6f, 0x6a, 0x30, 0x25, 0x1e, 0xde, 0xa1, 0xb7,
- 0xa6, 0x54, 0x62, 0xb9, 0xb5, 0x53, 0x6a, 0xf1, 0x5d, 0x66, 0x85, 0x16, 0xe6, 0x14, 0x71, 0xb8,
- 0x96, 0xd3, 0xa8, 0x04, 0xe5, 0xd8, 0x38, 0x93, 0xb0, 0x46, 0x47, 0x06, 0x1b, 0x85, 0x9a, 0xfe,
- 0x75, 0x0d, 0xe6, 0x33, 0xad, 0x8e, 0x70, 0x84, 0x9e, 0xe0, 0x5d, 0xea, 0x0f, 0x1b, 0xc0, 0x5e,
- 0x59, 0x2e, 0xaf, 0x75, 0xba, 0xc4, 0xdf, 0x91, 0xbb, 0xf0, 0x8b, 0x1a, 0x9c, 0x8e, 0x6f, 0xfd,
- 0x45, 0x2f, 0xb4, 0x0a, 0x4e, 0xa2, 0xd7, 0x53, 0xc8, 0x9a, 0x0b, 0x62, 0xe0, 0xa7, 0xd3, 0x10,
- 0x9c, 0x21, 0x8c, 0xbe, 0xa0, 0xc1, 0x69, 0x23, 0xf9, 0xca, 0x32, 0xe2, 0x9a, 0xe5, 0x9e, 0x10,
- 0xa4, 0x9e, 0x6c, 0xc6, 0x9d, 0x49, 0x01, 0x02, 0x9c, 0xa1, 0x8b, 0xde, 0x09, 0x33, 0xc6, 0xc0,
- 0x5e, 0x1e, 0x5a, 0x36, 0x3d, 0xfb, 0xa3, 0xa7, 0x79, 0x4c, 0x20, 0x5d, 0x5e, 0xeb, 0xc8, 0x72,
- 0x9c, 0xa8, 0x25, 0xdf, 0x51, 0x8a, 0xa9, 0x1c, 0xaf, 0xfa, 0x8e, 0x52, 0xcc, 0x62, 0xfc, 0x8e,
- 0x52, 0x4c, 0x9e, 0x4a, 0x05, 0x7d, 0x18, 0x1e, 0xe6, 0x07, 0x4e, 0xd3, 0x08, 0x6c, 0x73, 0x79,
- 0x18, 0x6e, 0x11, 0x37, 0x8c, 0x94, 0x3e, 0x6e, 0x52, 0x63, 0xfe, 0x62, 0x2b, 0x45, 0x95, 0x70,
- 0x71, 0x7b, 0xe4, 0x01, 0x78, 0xb6, 0x65, 0x8a, 0x01, 0x71, 0x97, 0xa5, 0x72, 0x12, 0xf6, 0xad,
- 0x4e, 0xbb, 0x25, 0xc6, 0xc3, 0x78, 0x45, 0xfc, 0x1b, 0x2b, 0x24, 0xd0, 0xaf, 0x68, 0x30, 0x2b,
- 0x16, 0xba, 0x20, 0x3a, 0xc5, 0x96, 0xc0, 0x87, 0x4b, 0x2f, 0xc8, 0xd4, 0xaa, 0x5f, 0xc2, 0x2a,
- 0x76, 0x2e, 0x32, 0x48, 0x37, 0xd6, 0x04, 0x0c, 0x27, 0x3b, 0x82, 0xbe, 0xa4, 0xc1, 0xd9, 0x80,
- 0xf8, 0x3b, 0xb6, 0x49, 0x96, 0x4d, 0xd3, 0x1b, 0xba, 0xd1, 0x77, 0xae, 0x57, 0x78, 0xd2, 0xd6,
- 0xcd, 0x41, 0xc8, 0x9d, 0xa7, 0xf2, 0x20, 0x38, 0xb7, 0x03, 0xe8, 0x17, 0x34, 0x38, 0x75, 0xc7,
- 0x08, 0xcd, 0xad, 0x96, 0x61, 0x6e, 0x31, 0x2b, 0x0c, 0xf7, 0x97, 0x2a, 0xbb, 0x73, 0x5e, 0x49,
- 0xe2, 0xe2, 0xb6, 0xe3, 0x54, 0x21, 0x4e, 0x53, 0x44, 0x21, 0xd4, 0x7d, 0xf2, 0xda, 0x90, 0x04,
- 0xcc, 0xab, 0x4a, 0x3b, 0xbe, 0xf8, 0x9d, 0xf7, 0xd1, 0xb0, 0xc0, 0xc8, 0x85, 0x8d, 0xe8, 0x17,
- 0x96, 0x94, 0x50, 0x0f, 0x2e, 0xf2, 0xe5, 0xbb, 0xec, 0x7a, 0xee, 0x5e, 0xdf, 0x1b, 0x06, 0xa9,
- 0x2d, 0xd0, 0x60, 0x5b, 0x80, 0x39, 0x8e, 0xad, 0x8c, 0xaa, 0x88, 0x47, 0xe3, 0x41, 0x1f, 0x84,
- 0x3a, 0xd9, 0x21, 0x6e, 0x78, 0xfb, 0xf6, 0x8d, 0x85, 0x99, 0x52, 0x67, 0x24, 0x1b, 0xc2, 0x8a,
- 0xc0, 0x81, 0x25, 0xb6, 0x0b, 0x2f, 0x01, 0xca, 0x2e, 0xca, 0xc3, 0x04, 0xd4, 0xba, 0x2a, 0xa0,
- 0x7e, 0x47, 0x83, 0x73, 0xb9, 0xd3, 0x86, 0x30, 0x9c, 0x67, 0xfe, 0x76, 0xee, 0xea, 0x30, 0x34,
- 0x42, 0xdb, 0xed, 0x75, 0xdc, 0x4d, 0xc7, 0xee, 0x6d, 0x71, 0x11, 0x70, 0x82, 0x0b, 0x2c, 0xab,
- 0xb9, 0x35, 0x70, 0x41, 0x4b, 0xd4, 0x81, 0x33, 0x7d, 0x63, 0x37, 0x83, 0xb0, 0xc6, 0x10, 0xb2,
- 0x37, 0xfd, 0xab, 0x59, 0x30, 0xce, 0x6b, 0xa3, 0x7f, 0x75, 0x02, 0x1e, 0xa1, 0x1d, 0x8f, 0x8f,
- 0xce, 0x55, 0xc3, 0x35, 0x7a, 0x3f, 0xa1, 0x47, 0xd4, 0xb7, 0x34, 0x78, 0x68, 0x2b, 0x5f, 0xb0,
- 0x15, 0xa7, 0x37, 0x2e, 0x27, 0xdf, 0x8f, 0x12, 0x96, 0xf9, 0xd2, 0x1d, 0x59, 0x05, 0x17, 0xf5,
- 0x0a, 0xbd, 0x04, 0xa7, 0x5d, 0xcf, 0x22, 0xad, 0x4e, 0x1b, 0xaf, 0x1a, 0xc1, 0x76, 0x37, 0x32,
- 0xdd, 0x4e, 0xf0, 0xfb, 0x99, 0x9b, 0x29, 0x18, 0xce, 0xd4, 0x46, 0x3b, 0x80, 0x06, 0x9e, 0xb5,
- 0xb2, 0x63, 0x9b, 0x91, 0xab, 0x5c, 0xf9, 0x3b, 0x21, 0xf6, 0x88, 0x68, 0x2d, 0x83, 0x0d, 0xe7,
- 0x50, 0x60, 0xa2, 0x39, 0xed, 0xcc, 0xaa, 0xe7, 0xda, 0xa1, 0xe7, 0x33, 0x8f, 0xce, 0x4a, 0x12,
- 0x2a, 0x5b, 0xe9, 0x37, 0x73, 0x31, 0xe2, 0x02, 0x4a, 0xfa, 0x7f, 0xd7, 0xe0, 0x14, 0x5d, 0x17,
- 0x6b, 0xbe, 0xb7, 0xbb, 0xf7, 0x13, 0xb9, 0x24, 0x9f, 0x12, 0x37, 0x4f, 0x5c, 0x63, 0x3b, 0xa7,
- 0xdc, 0x3a, 0x4d, 0xb3, 0x4e, 0xc7, 0x17, 0x4d, 0xaa, 0xd6, 0x3a, 0x56, 0xac, 0xb5, 0xea, 0x7f,
- 0xaa, 0x71, 0x69, 0x31, 0x52, 0x1a, 0x7f, 0x32, 0xb7, 0xe2, 0xbb, 0x61, 0x96, 0x96, 0xad, 0x1a,
- 0xbb, 0x6b, 0xed, 0x97, 0x3d, 0x27, 0x72, 0x34, 0x65, 0x2e, 0x2d, 0xd7, 0x55, 0x00, 0x4e, 0xd6,
- 0xd3, 0xbf, 0x75, 0x0a, 0x58, 0x05, 0x87, 0x84, 0x3f, 0x91, 0x03, 0x7b, 0x1a, 0x1a, 0xe6, 0x60,
- 0xd8, 0xba, 0xd2, 0xfd, 0xc0, 0xd0, 0x0b, 0x0d, 0x71, 0x23, 0xc5, 0x24, 0xc0, 0xd6, 0xda, 0x7a,
- 0x54, 0x8c, 0xd5, 0x3a, 0x74, 0x93, 0x9b, 0x83, 0xa1, 0x60, 0x9c, 0x6b, 0xaa, 0x6b, 0x06, 0xdb,
- 0xe4, 0xad, 0xb5, 0xf5, 0x04, 0x0c, 0x67, 0x6a, 0xa3, 0x4f, 0x69, 0x30, 0x43, 0xc4, 0x06, 0xbc,
- 0x66, 0xf8, 0x96, 0xd8, 0xdf, 0xe5, 0xcf, 0x6f, 0x39, 0xbb, 0xd1, 0xb6, 0xe6, 0xb2, 0xf3, 0x8a,
- 0x42, 0x03, 0x27, 0x28, 0x32, 0x31, 0x56, 0xfc, 0xa6, 0x1f, 0xcb, 0xb3, 0xd2, 0x3b, 0x7e, 0x42,
- 0x88, 0xb1, 0x45, 0x95, 0x70, 0x71, 0x7b, 0xf4, 0x1b, 0x1a, 0x9c, 0x97, 0x50, 0xdb, 0xb5, 0xfb,
- 0xc3, 0x3e, 0x26, 0xa6, 0x63, 0xd8, 0x7d, 0x21, 0xd3, 0x7e, 0xf0, 0xfe, 0x8d, 0x34, 0x89, 0x9f,
- 0xb3, 0x9d, 0x7c, 0x18, 0x2e, 0xe8, 0x13, 0xfa, 0xba, 0x06, 0x8f, 0x45, 0xa0, 0x35, 0xaa, 0x59,
- 0x0e, 0x7d, 0x12, 0xbb, 0x2b, 0x8b, 0x39, 0x99, 0x2a, 0xc5, 0x05, 0x1f, 0x3f, 0xd8, 0x5f, 0x7c,
- 0x6c, 0xe5, 0x10, 0xdc, 0xf8, 0x50, 0xea, 0x89, 0x15, 0xd3, 0xf5, 0x36, 0x43, 0x21, 0x04, 0x3f,
- 0xb0, 0x15, 0x43, 0x69, 0xe0, 0x04, 0x45, 0xf4, 0x5b, 0x1a, 0x3c, 0xa4, 0x16, 0xa8, 0x0b, 0x86,
- 0x4b, 0xbf, 0xaf, 0xde, 0xbf, 0xde, 0xa4, 0x08, 0x70, 0x7b, 0x53, 0x01, 0x10, 0x17, 0x75, 0x8b,
- 0xb2, 0xe0, 0x3e, 0x5b, 0x9c, 0x5c, 0x42, 0x9e, 0xe0, 0x2c, 0x98, 0xaf, 0xd7, 0x00, 0x47, 0x30,
- 0xaa, 0x7d, 0x0e, 0x3c, 0x6b, 0xcd, 0xb6, 0x82, 0x1b, 0x76, 0xdf, 0x0e, 0x99, 0x08, 0x3b, 0xc6,
- 0xe7, 0x63, 0xcd, 0xb3, 0xd6, 0x3a, 0x6d, 0x5e, 0x8e, 0x13, 0xb5, 0xd8, 0x4b, 0x23, 0xbb, 0x6f,
- 0xf4, 0xc8, 0xda, 0xd0, 0x71, 0xd6, 0x7c, 0x8f, 0xd9, 0x24, 0xda, 0xc4, 0xb0, 0x1c, 0xdb, 0x25,
- 0x25, 0x45, 0x56, 0xb6, 0xe5, 0x3a, 0x45, 0x48, 0x71, 0x31, 0x3d, 0xb4, 0x04, 0xb0, 0x69, 0xd8,
- 0x4e, 0xf7, 0x8e, 0x31, 0xb8, 0xe5, 0x2e, 0xcc, 0x32, 0x36, 0xc6, 0x14, 0xbf, 0x2b, 0xb2, 0x14,
- 0x2b, 0x35, 0xd8, 0x82, 0xa2, 0xcc, 0x10, 0x13, 0xfe, 0xda, 0x79, 0x61, 0xee, 0x7e, 0x2d, 0xa8,
- 0x08, 0x23, 0x9f, 0xc0, 0xeb, 0x0a, 0x0d, 0x9c, 0xa0, 0x88, 0x3e, 0xa7, 0xc1, 0x5c, 0xb0, 0x17,
- 0x84, 0xa4, 0x2f, 0x3b, 0x71, 0xea, 0xbe, 0x77, 0x82, 0x19, 0x6c, 0xba, 0x09, 0x2a, 0x38, 0x45,
- 0x15, 0x19, 0xf0, 0x08, 0x9b, 0xd8, 0xab, 0xad, 0x6b, 0x76, 0x6f, 0x4b, 0x3e, 0x21, 0x5a, 0x23,
- 0xbe, 0x49, 0xdc, 0x70, 0xe1, 0x34, 0x5b, 0x3a, 0x8b, 0x07, 0xfb, 0x8b, 0x8f, 0x74, 0x8a, 0xab,
- 0xe1, 0x51, 0x38, 0xd0, 0x47, 0xe0, 0x82, 0x00, 0xdf, 0xf0, 0xee, 0x64, 0x28, 0xcc, 0x33, 0x0a,
- 0xec, 0x5d, 0x57, 0xa7, 0xb0, 0x16, 0x1e, 0x81, 0x81, 0xea, 0x08, 0x01, 0xf1, 0x99, 0xc1, 0x95,
- 0xc8, 0xf5, 0x13, 0x2c, 0x20, 0xb6, 0x0e, 0x98, 0x8e, 0xd0, 0xcd, 0x82, 0x71, 0x5e, 0x1b, 0x7d,
- 0xbf, 0xc6, 0x95, 0x9b, 0xcc, 0x9e, 0x44, 0x2f, 0xc0, 0xa9, 0x3e, 0xe9, 0x7b, 0xfe, 0xde, 0x72,
- 0x14, 0x14, 0x49, 0x18, 0xdc, 0x98, 0xc2, 0xba, 0x9a, 0x04, 0xe1, 0x74, 0x5d, 0x7a, 0x6e, 0xb2,
- 0x11, 0x5c, 0xe9, 0xc6, 0xed, 0x6b, 0xf1, 0xb9, 0xd9, 0x49, 0xc1, 0x70, 0xa6, 0x36, 0x6a, 0xc1,
- 0xbc, 0x28, 0xeb, 0x50, 0x09, 0x32, 0xb8, 0xe2, 0x93, 0xe8, 0xce, 0x8b, 0x8a, 0x62, 0xf3, 0x9d,
- 0x34, 0x10, 0x67, 0xeb, 0xd3, 0x51, 0xd0, 0x1f, 0x6a, 0x2f, 0xc6, 0xe3, 0x51, 0xdc, 0x4c, 0x82,
- 0x70, 0xba, 0x6e, 0x24, 0xe2, 0x27, 0xba, 0x30, 0x11, 0x8f, 0xe2, 0x66, 0x0a, 0x86, 0x33, 0xb5,
- 0xf5, 0x3f, 0x1d, 0x87, 0xb7, 0x1c, 0xe1, 0x28, 0x43, 0xfd, 0xfc, 0xe9, 0x3e, 0x84, 0xab, 0x2c,
- 0x45, 0x97, 0x64, 0x4b, 0x1f, 0x18, 0x1a, 0x6e, 0x68, 0x87, 0x7b, 0x47, 0xfc, 0x3c, 0x83, 0x82,
- 0xcf, 0x73, 0x7c, 0x7a, 0x47, 0xfd, 0x9c, 0x41, 0xd1, 0xe7, 0x3c, 0x3e, 0xc9, 0xa3, 0x7f, 0xfe,
- 0x7e, 0xfe, 0xe7, 0x2f, 0x39, 0xab, 0x87, 0x2e, 0x97, 0x41, 0xc1, 0x72, 0x29, 0x39, 0xab, 0x47,
- 0x58, 0x5e, 0xff, 0x6a, 0x1c, 0x1e, 0x3f, 0xca, 0x99, 0x5a, 0x72, 0x7d, 0xe5, 0x9c, 0x5a, 0x0f,
- 0x74, 0x7d, 0x15, 0xf9, 0x3a, 0x3e, 0xc0, 0xf5, 0x95, 0x43, 0xf2, 0x41, 0xaf, 0xaf, 0xa2, 0x59,
- 0x7d, 0x50, 0xeb, 0xab, 0x68, 0x56, 0x8f, 0xb0, 0xbe, 0xfe, 0x67, 0xfa, 0x7c, 0x90, 0xe7, 0x68,
- 0x07, 0xc6, 0xcc, 0xc1, 0xb0, 0x24, 0x93, 0x62, 0xb7, 0x9f, 0xad, 0xb5, 0x75, 0x4c, 0x71, 0x20,
- 0x0c, 0x93, 0x7c, 0xfd, 0x94, 0x64, 0x41, 0xcc, 0x9b, 0x93, 0x2f, 0x49, 0x2c, 0x30, 0xd1, 0xa9,
- 0x22, 0x83, 0x2d, 0xd2, 0x27, 0xbe, 0xe1, 0x74, 0x43, 0xcf, 0x37, 0x7a, 0x65, 0xb9, 0x0d, 0x9b,
- 0xaa, 0x95, 0x14, 0x2e, 0x9c, 0xc1, 0x4e, 0x27, 0x64, 0x60, 0x5b, 0x25, 0xf9, 0x0b, 0x9b, 0x90,
- 0xb5, 0x4e, 0x1b, 0x53, 0x1c, 0xfa, 0x6f, 0x4e, 0x83, 0xf2, 0x7c, 0x94, 0xaa, 0x6f, 0x86, 0xe3,
- 0x78, 0x77, 0xd6, 0x7c, 0x7b, 0xc7, 0x76, 0x48, 0x8f, 0x58, 0xf2, 0x7d, 0x61, 0x20, 0x2e, 0xc9,
- 0x99, 0x2c, 0xb9, 0x5c, 0x54, 0x09, 0x17, 0xb7, 0xa7, 0x92, 0xed, 0xbc, 0x99, 0x7e, 0xde, 0x5f,
- 0xe9, 0x9e, 0x2f, 0x13, 0x2c, 0x80, 0x6f, 0xa8, 0x4c, 0x31, 0xce, 0xd2, 0x45, 0x3f, 0xaf, 0x71,
- 0xdb, 0x83, 0x34, 0xb6, 0x8a, 0x8f, 0x76, 0xed, 0x7e, 0x5d, 0x51, 0xc4, 0x56, 0x8c, 0xd8, 0x9e,
- 0x9b, 0xa4, 0x88, 0x7e, 0x4d, 0x83, 0x73, 0xdb, 0x79, 0x76, 0x53, 0xf1, 0x6d, 0xd7, 0x4a, 0xf7,
- 0xa5, 0xc0, 0x12, 0xcb, 0xaf, 0x95, 0x73, 0x2b, 0xe0, 0xfc, 0x9e, 0xc8, 0x79, 0x92, 0x86, 0x24,
- 0xc1, 0x07, 0xca, 0xcf, 0x53, 0xca, 0x24, 0x15, 0xcf, 0x93, 0x04, 0xe0, 0x24, 0x45, 0xf4, 0x1a,
- 0x4c, 0x6f, 0x47, 0xf6, 0x3b, 0xa1, 0xea, 0xb7, 0x4b, 0x93, 0x57, 0xac, 0x80, 0xfc, 0x02, 0x5b,
- 0x16, 0xe2, 0x98, 0x0a, 0xb2, 0x61, 0x6a, 0x9b, 0x73, 0x23, 0xa1, 0xa2, 0x37, 0xab, 0x6b, 0x0f,
- 0x5c, 0x4f, 0x14, 0x45, 0x38, 0xc2, 0xaf, 0xba, 0x0a, 0xd5, 0x0f, 0xf1, 0x3b, 0xfd, 0x8a, 0x06,
- 0xe7, 0x76, 0x88, 0x1f, 0xda, 0x66, 0xda, 0x70, 0x3d, 0x5d, 0x41, 0xc5, 0x79, 0x39, 0x0f, 0x23,
- 0x5f, 0x2a, 0xb9, 0x20, 0x9c, 0xdf, 0x07, 0xaa, 0xf0, 0x70, 0xf3, 0x63, 0x37, 0x34, 0x42, 0xdb,
- 0xbc, 0xed, 0x6d, 0x13, 0x97, 0x8e, 0x56, 0x04, 0xd0, 0x05, 0xc6, 0x3f, 0x98, 0xc2, 0xb3, 0x52,
- 0x5c, 0x0d, 0x8f, 0xc2, 0xa1, 0xff, 0x99, 0x06, 0x19, 0xf3, 0x1b, 0xfa, 0x5b, 0x1a, 0xcc, 0x6c,
- 0x12, 0x23, 0x1c, 0xfa, 0xe4, 0xaa, 0x11, 0xca, 0xe7, 0x28, 0xaf, 0xdc, 0x17, 0xb3, 0xdf, 0xd2,
- 0x15, 0x05, 0x33, 0xbf, 0x68, 0x94, 0x11, 0x6b, 0x54, 0x10, 0x4e, 0x74, 0xe1, 0xc2, 0xfb, 0x60,
- 0x3e, 0xd3, 0xf0, 0x58, 0x97, 0x41, 0xbf, 0x23, 0x0c, 0xb8, 0xe9, 0xf8, 0xc9, 0x1f, 0x85, 0x09,
- 0xc3, 0xb2, 0x64, 0x8c, 0xc6, 0xe7, 0x4a, 0x5e, 0xaa, 0x5b, 0xea, 0xbb, 0x1f, 0xf6, 0x13, 0x73,
- 0xbc, 0xe8, 0x0a, 0x20, 0x23, 0x71, 0x67, 0xb6, 0x1a, 0xbf, 0x89, 0x60, 0xa6, 0xff, 0xe5, 0x0c,
- 0x14, 0xe7, 0xb4, 0xd0, 0xdf, 0x0b, 0x73, 0xc9, 0x80, 0x05, 0xc7, 0x70, 0xb0, 0xd6, 0x7f, 0x49,
- 0x03, 0x94, 0x8d, 0x91, 0x84, 0x02, 0xa8, 0x8b, 0x1a, 0xd1, 0x47, 0x5e, 0x29, 0xeb, 0x2c, 0x9b,
- 0xf0, 0xfd, 0x8e, 0xdd, 0x73, 0x45, 0x41, 0x80, 0x25, 0x21, 0xfd, 0x2f, 0x34, 0x88, 0x63, 0xc1,
- 0xa1, 0x77, 0x41, 0xc3, 0x22, 0x81, 0xe9, 0xdb, 0x83, 0x30, 0x1e, 0x88, 0xf4, 0x36, 0x6d, 0xc7,
- 0x20, 0xac, 0xd6, 0x43, 0x3a, 0x4c, 0x86, 0x46, 0xb0, 0xdd, 0x69, 0x0b, 0xdd, 0x94, 0x49, 0x12,
- 0xb7, 0x59, 0x09, 0x16, 0x90, 0xf8, 0xf5, 0xff, 0xd8, 0x11, 0x5e, 0xff, 0xa3, 0xcd, 0xfb, 0x10,
- 0xea, 0x00, 0x1d, 0x1e, 0xe6, 0x40, 0xff, 0xe7, 0x35, 0x48, 0xc6, 0xdf, 0x2b, 0x3b, 0x05, 0xd9,
- 0xd8, 0x0c, 0xb5, 0x07, 0x16, 0x9b, 0xe1, 0xed, 0x2c, 0x56, 0x2d, 0x8f, 0x30, 0xce, 0x6f, 0xca,
- 0xd4, 0x00, 0xb3, 0x3c, 0x3c, 0xb8, 0xac, 0x81, 0x9e, 0x55, 0x7d, 0x58, 0xa7, 0x9b, 0x6f, 0x89,
- 0xf6, 0x05, 0x73, 0x4c, 0xbd, 0x27, 0xa2, 0x4f, 0xc8, 0xf1, 0x27, 0xdc, 0x55, 0xdf, 0x25, 0x3c,
- 0x30, 0x27, 0x12, 0x11, 0x32, 0xa2, 0xb0, 0x1a, 0xf3, 0x89, 0x86, 0xb1, 0x5b, 0xa6, 0xfe, 0x3d,
- 0x0d, 0xa6, 0x44, 0xbc, 0xab, 0x23, 0xb8, 0x1e, 0xf7, 0x60, 0x82, 0x69, 0x04, 0x95, 0x84, 0xa5,
- 0xee, 0x96, 0xe7, 0x85, 0x89, 0xb8, 0x5f, 0xcc, 0x71, 0x90, 0xfd, 0x8b, 0x39, 0x7e, 0xe6, 0x30,
- 0xe3, 0x9b, 0x5b, 0x76, 0x48, 0xcc, 0x30, 0x8a, 0x24, 0x14, 0x39, 0xcc, 0x28, 0xe5, 0x38, 0x51,
- 0x4b, 0xff, 0xca, 0x38, 0x3c, 0x26, 0x10, 0x67, 0xe4, 0x07, 0xb9, 0x75, 0xf7, 0xe0, 0x8c, 0xf8,
- 0xb8, 0x6d, 0xdf, 0xb0, 0xe5, 0x15, 0x64, 0x39, 0xd5, 0x50, 0x5c, 0x4f, 0x67, 0xd0, 0xe1, 0x3c,
- 0x1a, 0x3c, 0x26, 0x0e, 0x2b, 0xbe, 0x46, 0x0c, 0x27, 0xdc, 0x8a, 0x68, 0xd7, 0xaa, 0xc4, 0xc4,
- 0xc9, 0xe2, 0xc3, 0xb9, 0x54, 0xd8, 0x15, 0xa8, 0x00, 0xb4, 0x7c, 0x62, 0xa8, 0xf7, 0xaf, 0x15,
- 0xbc, 0x13, 0x57, 0x73, 0x31, 0xe2, 0x02, 0x4a, 0xcc, 0xc6, 0x66, 0xec, 0x32, 0x95, 0x1d, 0x93,
- 0xd0, 0xb7, 0x59, 0xfc, 0x36, 0xba, 0x2d, 0xb8, 0x92, 0x9d, 0x04, 0xe1, 0x74, 0x5d, 0xf4, 0x1c,
- 0xcc, 0xb1, 0x2b, 0xe5, 0xf8, 0x91, 0xf8, 0x44, 0x1c, 0xa6, 0xfe, 0x66, 0x02, 0x82, 0x53, 0x35,
- 0xf5, 0x6f, 0x6a, 0x30, 0xa3, 0x2e, 0xbb, 0x23, 0xb8, 0x35, 0xef, 0x28, 0x6c, 0xbe, 0x8a, 0xc7,
- 0xad, 0x4a, 0xf6, 0x28, 0x9c, 0xfe, 0xb7, 0x6b, 0x70, 0x26, 0xa7, 0x0d, 0xbb, 0x5b, 0x24, 0xa9,
- 0x23, 0xa3, 0xd2, 0xdd, 0x62, 0xe6, 0xfc, 0x91, 0x77, 0x8b, 0x69, 0x08, 0xce, 0x10, 0x46, 0xaf,
- 0xc0, 0x98, 0xe9, 0xdb, 0x62, 0x62, 0xde, 0x53, 0x4e, 0x71, 0xc2, 0x9d, 0xf8, 0x01, 0x55, 0x0b,
- 0x77, 0x30, 0xc5, 0x88, 0xde, 0x0d, 0xb3, 0xea, 0xbe, 0x8e, 0xce, 0x21, 0x26, 0x9f, 0xab, 0xdb,
- 0x3f, 0xc0, 0xc9, 0x7a, 0xfa, 0x7f, 0x1d, 0x83, 0x86, 0x12, 0xbd, 0x0f, 0xad, 0x56, 0xd1, 0xd8,
- 0xe3, 0x7e, 0x45, 0x5a, 0xfb, 0x2a, 0x8c, 0xf5, 0x06, 0xc3, 0x92, 0x2a, 0xbb, 0x44, 0x77, 0x95,
- 0xa2, 0xeb, 0x0d, 0x86, 0xe8, 0x65, 0x69, 0x04, 0x28, 0xa7, 0xa6, 0x4b, 0xff, 0xd5, 0x94, 0x21,
- 0x20, 0x5a, 0xd7, 0xe3, 0x85, 0xeb, 0xda, 0x85, 0xa9, 0x40, 0x58, 0x08, 0x26, 0x2a, 0x3c, 0x77,
- 0x55, 0xa6, 0x5a, 0x98, 0x04, 0xb8, 0x66, 0x11, 0x59, 0x0c, 0x22, 0x22, 0x54, 0xe8, 0x18, 0xb2,
- 0x87, 0x22, 0x4c, 0x69, 0xaa, 0x73, 0xa1, 0x63, 0x9d, 0x95, 0x60, 0x01, 0xc9, 0xb0, 0xfc, 0xa9,
- 0x23, 0xb1, 0xfc, 0xcf, 0xd7, 0x00, 0x65, 0xbb, 0x81, 0xde, 0x02, 0x13, 0xec, 0xb1, 0x99, 0xd8,
- 0xdb, 0x4a, 0x40, 0x2c, 0x23, 0x08, 0x30, 0x87, 0xa1, 0xae, 0x78, 0x7c, 0x58, 0xee, 0x7b, 0xb2,
- 0x4b, 0x74, 0x41, 0x4f, 0x79, 0xa9, 0x18, 0x1d, 0xa2, 0x63, 0x85, 0x87, 0xe8, 0x3a, 0x4c, 0xf5,
- 0x6d, 0x97, 0xf9, 0xce, 0x94, 0xb3, 0x9c, 0xf0, 0x5b, 0x3e, 0x8e, 0x02, 0x47, 0xb8, 0xf4, 0x1f,
- 0xd6, 0xe8, 0xda, 0xb7, 0xdd, 0x90, 0xb8, 0x86, 0x6b, 0x12, 0x74, 0x17, 0xc0, 0x18, 0x86, 0x1e,
- 0x97, 0x45, 0xc4, 0x16, 0x78, 0x7f, 0xc9, 0xcf, 0x2c, 0xb1, 0x2e, 0x4b, 0x8c, 0xfc, 0xf6, 0x2d,
- 0xfe, 0x8d, 0x15, 0x6a, 0x94, 0x76, 0x68, 0xf7, 0xc9, 0x2b, 0xb6, 0x6b, 0x79, 0x77, 0xc4, 0xfc,
- 0x56, 0xa6, 0x7d, 0x5b, 0x62, 0xe4, 0xb4, 0xe3, 0xdf, 0x58, 0xa1, 0x86, 0x3e, 0x08, 0x0b, 0x4c,
- 0x47, 0x73, 0x59, 0x50, 0x55, 0xd1, 0x39, 0xcf, 0x71, 0xa2, 0x73, 0xae, 0xce, 0x42, 0xd8, 0x2d,
- 0xb4, 0x0a, 0xea, 0xe0, 0xc2, 0xd6, 0xfa, 0xb7, 0x34, 0x38, 0x97, 0x3b, 0x17, 0xe8, 0x2a, 0xcc,
- 0xc7, 0x9e, 0x17, 0x2a, 0x5f, 0xae, 0xc7, 0x51, 0x82, 0xaf, 0xa7, 0x2b, 0xe0, 0x6c, 0x1b, 0xb4,
- 0x2a, 0x85, 0x13, 0x95, 0xef, 0x0b, 0xb7, 0x8d, 0x47, 0x04, 0xaa, 0xbc, 0xa3, 0x01, 0xe7, 0xb5,
- 0xd3, 0x3f, 0x9c, 0xe8, 0x70, 0x3c, 0x61, 0x74, 0x7f, 0x6c, 0x90, 0x9e, 0xf4, 0x84, 0x97, 0xfb,
- 0xa3, 0x49, 0x0b, 0x31, 0x87, 0xa1, 0x8b, 0xea, 0xeb, 0x0d, 0xc9, 0xbe, 0xa2, 0x17, 0x1c, 0xfa,
- 0x10, 0x40, 0xf8, 0x38, 0xd9, 0x6e, 0x0f, 0xf5, 0xa0, 0x6e, 0x88, 0x64, 0x32, 0x62, 0xb1, 0xbd,
- 0x50, 0x4e, 0x23, 0x14, 0x48, 0xb8, 0x7b, 0x63, 0xf4, 0x0b, 0x4b, 0xe4, 0xfa, 0xdf, 0xd5, 0xe0,
- 0x7c, 0xfe, 0x9b, 0xaa, 0x23, 0x1c, 0xe8, 0x7d, 0x68, 0xf8, 0x71, 0x33, 0xb1, 0x32, 0x7f, 0x46,
- 0x8d, 0x6e, 0xa3, 0xbc, 0xce, 0xa7, 0xc2, 0x4e, 0xcb, 0xf7, 0x82, 0xe8, 0xeb, 0xa4, 0x03, 0xde,
- 0x48, 0x4d, 0x43, 0xe9, 0x09, 0x56, 0xf1, 0xeb, 0x9f, 0xae, 0x01, 0xdc, 0x24, 0xe1, 0x1d, 0xcf,
- 0xdf, 0xa6, 0x73, 0xf4, 0x13, 0xf5, 0xb6, 0xef, 0x51, 0x18, 0x1f, 0x78, 0x56, 0x20, 0x18, 0x15,
- 0x7b, 0x74, 0xc7, 0xdc, 0x06, 0x58, 0x29, 0x5a, 0x84, 0x09, 0x66, 0x12, 0x17, 0x87, 0x08, 0x93,
- 0xd0, 0xa9, 0x7c, 0x15, 0x60, 0x5e, 0xce, 0x63, 0x86, 0x33, 0xe7, 0xe1, 0x40, 0xe8, 0x1c, 0x22,
- 0x66, 0x38, 0x2f, 0xc3, 0x12, 0xaa, 0x7f, 0x66, 0x1c, 0x12, 0xe9, 0x90, 0x62, 0xcb, 0xc1, 0xf8,
- 0x03, 0xb2, 0x1c, 0x7c, 0x10, 0x16, 0x1c, 0xcf, 0xb0, 0x9a, 0x86, 0x43, 0x97, 0xbd, 0xdf, 0xe5,
- 0xdf, 0xc3, 0x70, 0x7b, 0x24, 0x4a, 0x6b, 0xc4, 0x58, 0xc0, 0x8d, 0x82, 0x3a, 0xb8, 0xb0, 0x35,
- 0x1a, 0x2a, 0x59, 0x98, 0xa8, 0xd4, 0xb3, 0x5a, 0x39, 0x5d, 0xd4, 0x92, 0xea, 0x39, 0x2e, 0x4f,
- 0xf4, 0x64, 0xa6, 0x26, 0xf4, 0x39, 0x0d, 0xce, 0x91, 0xdd, 0x90, 0xf8, 0xae, 0xe1, 0xdc, 0xf6,
- 0x8d, 0xcd, 0x4d, 0xdb, 0x4c, 0x38, 0x66, 0xad, 0x1d, 0xec, 0x2f, 0x9e, 0x5b, 0xc9, 0xab, 0x70,
- 0x6f, 0x7f, 0xf1, 0x99, 0x6c, 0x3e, 0xb4, 0xc8, 0x4f, 0x3c, 0xb7, 0x09, 0x5b, 0x8e, 0xf9, 0xe4,
- 0x2e, 0x3c, 0x0b, 0x8d, 0x63, 0x38, 0x15, 0x27, 0x5e, 0xbd, 0xfd, 0x40, 0x83, 0x19, 0xba, 0x82,
- 0x6e, 0x78, 0xa6, 0xe1, 0xb4, 0x6f, 0x76, 0x8f, 0x91, 0x4c, 0x0c, 0xdd, 0x80, 0xb3, 0x9b, 0x9e,
- 0x6f, 0x92, 0xdb, 0xad, 0xb5, 0xdb, 0x9e, 0xb0, 0xaa, 0xb7, 0x6f, 0x76, 0x05, 0x5f, 0x64, 0x8a,
- 0xd0, 0x95, 0x1c, 0x38, 0xce, 0x6d, 0x85, 0x6e, 0xc1, 0xb9, 0xb8, 0x7c, 0x7d, 0x10, 0x84, 0x3e,
- 0x31, 0xfa, 0x14, 0x1d, 0x3f, 0x1e, 0x98, 0xbd, 0xf1, 0x4a, 0x5e, 0x05, 0x9c, 0xdf, 0x4e, 0xff,
- 0xda, 0x24, 0x28, 0x0f, 0x10, 0x8e, 0x11, 0xc7, 0xfb, 0xd7, 0x35, 0x38, 0x6b, 0x3a, 0x36, 0x71,
- 0xc3, 0x94, 0x97, 0x39, 0xdf, 0xf5, 0x2f, 0x97, 0x7b, 0x1a, 0x31, 0x20, 0x6e, 0xa7, 0xdd, 0xf2,
- 0x5c, 0x97, 0x98, 0x61, 0x2b, 0x07, 0x3b, 0x9f, 0xb0, 0x3c, 0x08, 0xce, 0xed, 0x0d, 0x1b, 0x10,
- 0x2b, 0xef, 0xb4, 0xd5, 0xb7, 0x7a, 0x2d, 0x51, 0x86, 0x25, 0x14, 0x3d, 0x0d, 0x8d, 0x9e, 0xef,
- 0x0d, 0x07, 0x41, 0x8b, 0x79, 0xc3, 0x71, 0xe6, 0xc1, 0x24, 0xa5, 0xab, 0x71, 0x31, 0x56, 0xeb,
- 0x50, 0xb9, 0x8f, 0xff, 0x5c, 0xf3, 0xc9, 0xa6, 0xbd, 0x2b, 0x98, 0x09, 0x93, 0xfb, 0xae, 0x2a,
- 0xe5, 0x38, 0x51, 0x0b, 0xbd, 0x0d, 0xa6, 0xed, 0x20, 0x18, 0x12, 0x7f, 0x1d, 0xdf, 0x10, 0xd1,
- 0x2c, 0x99, 0x0d, 0xbd, 0x13, 0x15, 0xe2, 0x18, 0x8e, 0x7e, 0x59, 0x83, 0x39, 0x9f, 0xbc, 0x36,
- 0xb4, 0x7d, 0x62, 0x31, 0xa2, 0x81, 0x78, 0x06, 0xd2, 0xad, 0xf8, 0xf6, 0x64, 0x09, 0x27, 0xb0,
- 0xf2, 0x4d, 0x2c, 0x4d, 0x43, 0x49, 0x20, 0x4e, 0x75, 0x81, 0xce, 0x55, 0x60, 0xf7, 0x5c, 0xdb,
- 0xed, 0x2d, 0x3b, 0xbd, 0x60, 0xa1, 0xce, 0x18, 0x13, 0x97, 0x2a, 0xe3, 0x62, 0xac, 0xd6, 0xa1,
- 0x8a, 0xd1, 0x30, 0xa0, 0xdb, 0xb2, 0x4f, 0xf8, 0x04, 0x4f, 0xc7, 0x6e, 0xaa, 0xeb, 0x2a, 0x00,
- 0x27, 0xeb, 0x51, 0xbd, 0x39, 0x2a, 0x10, 0xd3, 0x0c, 0x3c, 0xe2, 0x06, 0xed, 0xe7, 0x7a, 0x02,
- 0x82, 0x53, 0x35, 0x2f, 0x2c, 0xc3, 0x99, 0x9c, 0x61, 0x1e, 0x6b, 0xef, 0x7f, 0xb3, 0x06, 0x6f,
- 0x3e, 0x74, 0x59, 0xa2, 0xaf, 0x69, 0xd0, 0x20, 0xbb, 0xa1, 0x6f, 0x48, 0xa7, 0x59, 0xfa, 0x8d,
- 0x7a, 0x0f, 0x66, 0x13, 0x2c, 0xad, 0xc4, 0x94, 0xf8, 0x77, 0x93, 0xc7, 0xb9, 0x02, 0xc1, 0x6a,
- 0x87, 0xa8, 0x1a, 0xc3, 0x23, 0xb2, 0xa8, 0xb6, 0x53, 0x91, 0x1a, 0x47, 0x40, 0x2e, 0xbc, 0x08,
- 0xa7, 0xd3, 0x98, 0x8f, 0x35, 0x55, 0xbf, 0x5d, 0x83, 0x89, 0x35, 0xc7, 0x38, 0x91, 0xd0, 0xa4,
- 0x1f, 0x4b, 0x84, 0x84, 0x2b, 0x17, 0x68, 0x8f, 0xf5, 0xb5, 0x30, 0x20, 0xe5, 0x56, 0x2a, 0x20,
- 0xe5, 0x4b, 0x15, 0x68, 0x8c, 0x8e, 0x3f, 0xf9, 0x3d, 0x0d, 0xa6, 0x59, 0xbd, 0x13, 0x88, 0x93,
- 0xf1, 0xd1, 0x64, 0x9c, 0x8c, 0xe7, 0xca, 0x0f, 0xaa, 0x20, 0x3e, 0xc6, 0x1f, 0x47, 0x83, 0x61,
- 0x11, 0xce, 0x5e, 0x55, 0x73, 0x81, 0xf1, 0xd1, 0x3c, 0x99, 0x17, 0x90, 0x91, 0x9d, 0xac, 0x99,
- 0xa8, 0x8c, 0x23, 0x13, 0x82, 0xb9, 0x30, 0x4d, 0x44, 0xdc, 0x9b, 0x68, 0x34, 0xe5, 0xc4, 0xf6,
- 0x28, 0x7a, 0x4e, 0x4c, 0x2f, 0x2a, 0x09, 0x70, 0x4c, 0x42, 0xff, 0x9d, 0x1a, 0x34, 0x94, 0xaf,
- 0xf9, 0x63, 0x09, 0xf8, 0x78, 0x25, 0x37, 0x73, 0x4e, 0x8d, 0x39, 0xc5, 0x9e, 0x3f, 0x46, 0xd6,
- 0x9c, 0x00, 0x1a, 0x66, 0x1c, 0xc3, 0xbb, 0xd2, 0x02, 0x57, 0x62, 0x81, 0x0b, 0xe7, 0xfc, 0xb8,
- 0x00, 0xab, 0x54, 0xf4, 0x7f, 0x58, 0x83, 0xa9, 0x35, 0xdf, 0xa3, 0xdf, 0xf8, 0x04, 0x18, 0xc4,
- 0x46, 0x82, 0x41, 0x94, 0xdc, 0xbc, 0xbc, 0xb7, 0x85, 0x2c, 0xe2, 0xe3, 0x29, 0x16, 0xd1, 0xac,
- 0x44, 0x65, 0x34, 0x93, 0xf8, 0xbe, 0x06, 0x0d, 0x51, 0xf3, 0x04, 0xd8, 0x84, 0x91, 0x64, 0x13,
- 0xcf, 0x57, 0x19, 0x58, 0x01, 0xa3, 0xf8, 0xb2, 0x06, 0xb3, 0xa2, 0xc6, 0x2a, 0xe9, 0x6f, 0x10,
- 0x1f, 0x5d, 0x81, 0xa9, 0x60, 0xc8, 0xbe, 0xa5, 0x18, 0xd1, 0x23, 0x2a, 0xab, 0xf0, 0x37, 0x0c,
- 0x93, 0x65, 0x80, 0xe3, 0x55, 0x94, 0x48, 0xb0, 0xbc, 0x00, 0x47, 0x8d, 0xa9, 0xae, 0xea, 0x7b,
- 0x4e, 0x26, 0xa2, 0x07, 0xf6, 0x1c, 0x82, 0x19, 0x84, 0xaa, 0x88, 0xf4, 0x6f, 0x64, 0x9d, 0x65,
- 0x2a, 0x22, 0x05, 0x07, 0x98, 0x97, 0xeb, 0x9f, 0x1f, 0x97, 0xb3, 0xcd, 0xf8, 0xd8, 0x35, 0x98,
- 0x36, 0x7d, 0x62, 0x84, 0xc4, 0x6a, 0xee, 0x1d, 0xa5, 0x73, 0x4c, 0xa0, 0x6b, 0x45, 0x2d, 0x70,
- 0xdc, 0x98, 0x8a, 0x4e, 0xea, 0xc5, 0x5f, 0x2d, 0x16, 0x33, 0x0b, 0x2f, 0xfd, 0x9e, 0x87, 0x09,
- 0xef, 0x8e, 0x2b, 0xbd, 0x6b, 0x46, 0x12, 0x66, 0x43, 0xb9, 0x45, 0x6b, 0x63, 0xde, 0x48, 0x8d,
- 0x41, 0x33, 0x3e, 0x22, 0x06, 0x4d, 0x1f, 0xa6, 0xfa, 0xec, 0x33, 0x54, 0x0b, 0x0b, 0x9a, 0xf8,
- 0xa2, 0x6a, 0x94, 0x76, 0x86, 0x1a, 0x47, 0x34, 0xa8, 0x10, 0x4c, 0xe5, 0xb4, 0x60, 0x60, 0x98,
- 0x44, 0x15, 0x82, 0x6f, 0x46, 0x85, 0x38, 0x86, 0xa3, 0xbb, 0xc9, 0xf0, 0x46, 0x53, 0x15, 0xec,
- 0xbe, 0xa2, 0x7f, 0x4a, 0x44, 0x23, 0x3e, 0xf9, 0x85, 0x21, 0x8e, 0xbe, 0x38, 0x2e, 0x97, 0xa9,
- 0x60, 0xfc, 0xf9, 0xe9, 0xcb, 0xb4, 0x52, 0xe9, 0xcb, 0x9e, 0x81, 0x89, 0xc1, 0x96, 0x11, 0x44,
- 0x6b, 0x35, 0x4a, 0x29, 0x30, 0xb1, 0x46, 0x0b, 0xef, 0xed, 0x2f, 0xce, 0x08, 0xd2, 0xec, 0x37,
- 0xe6, 0x75, 0xd1, 0x10, 0xce, 0x04, 0xa1, 0xe1, 0x90, 0xae, 0x2d, 0x2c, 0x63, 0x41, 0x68, 0xf4,
- 0x07, 0x25, 0x32, 0x03, 0x70, 0xef, 0xf3, 0x2c, 0x2a, 0x9c, 0x87, 0x1f, 0x7d, 0x46, 0x83, 0x05,
- 0x56, 0xbe, 0x3c, 0x0c, 0x3d, 0x9e, 0x45, 0x25, 0x26, 0x7e, 0xfc, 0x7b, 0x73, 0x66, 0xc7, 0xe8,
- 0x16, 0xe0, 0xc3, 0x85, 0x94, 0xd0, 0xeb, 0x70, 0xce, 0x31, 0x82, 0x70, 0xd9, 0x0c, 0xed, 0x1d,
- 0x3b, 0xdc, 0x8b, 0xbb, 0x70, 0xfc, 0x54, 0x6e, 0x4c, 0x5d, 0xbe, 0x91, 0x87, 0x0c, 0xe7, 0xd3,
- 0xd0, 0xff, 0x97, 0x06, 0x28, 0xbb, 0x84, 0x50, 0x1f, 0xea, 0x16, 0xd9, 0x34, 0x86, 0x4e, 0x18,
- 0x49, 0x02, 0x95, 0x83, 0x6f, 0x49, 0xee, 0xdc, 0x16, 0x88, 0xb1, 0x24, 0x81, 0x06, 0x30, 0x7d,
- 0x67, 0xcb, 0x0e, 0x89, 0x63, 0x07, 0xe1, 0xfd, 0x0a, 0xf6, 0x25, 0x85, 0x9f, 0x57, 0x22, 0xcc,
- 0x38, 0x26, 0xa2, 0xff, 0xe2, 0x18, 0xd4, 0x8f, 0x91, 0x23, 0x77, 0x08, 0x48, 0x04, 0x06, 0xa1,
- 0x12, 0x13, 0xa9, 0x62, 0x0f, 0x64, 0x62, 0x4d, 0x2b, 0x83, 0x0c, 0xe7, 0x10, 0x40, 0xaf, 0xc3,
- 0x59, 0xdb, 0xdd, 0xf4, 0x8d, 0x20, 0xf4, 0x87, 0xec, 0x8e, 0xa5, 0x4a, 0x4e, 0x02, 0x66, 0x69,
- 0xe8, 0xe4, 0xa0, 0xc3, 0xb9, 0x44, 0xd0, 0x26, 0x4c, 0xdd, 0xf1, 0xfc, 0x6d, 0xca, 0x40, 0xc7,
- 0x2b, 0x24, 0xbd, 0x7a, 0x85, 0xe1, 0x88, 0x39, 0x27, 0xff, 0x1d, 0xe0, 0x08, 0xb9, 0xfe, 0x07,
- 0x1a, 0x4c, 0xf0, 0xd7, 0x8e, 0x6f, 0x0c, 0x2d, 0x8b, 0xf5, 0xb5, 0x30, 0xce, 0x36, 0xd5, 0x7d,
- 0x58, 0x8d, 0x37, 0x8a, 0xee, 0xc3, 0x3a, 0x5b, 0x20, 0xd2, 0xfc, 0xc1, 0x98, 0x18, 0x0c, 0x93,
- 0x19, 0x3a, 0x70, 0x46, 0x88, 0xbf, 0x37, 0xec, 0x4d, 0x42, 0x17, 0x58, 0xdb, 0xd8, 0x0b, 0x44,
- 0xb4, 0x01, 0xc6, 0x7a, 0x5b, 0x59, 0x30, 0xce, 0x6b, 0x83, 0xfe, 0x91, 0x46, 0x4f, 0xe7, 0xd0,
- 0xb7, 0xcd, 0x6a, 0xc1, 0xab, 0x65, 0xe7, 0x96, 0x56, 0x39, 0x36, 0x6e, 0x3e, 0x58, 0x8f, 0x8f,
- 0x69, 0x56, 0x7a, 0x6f, 0x7f, 0x71, 0x31, 0xc7, 0xf2, 0x1a, 0xdd, 0x15, 0xd0, 0xa9, 0xfd, 0xf4,
- 0x0f, 0x47, 0x56, 0x61, 0xf7, 0x16, 0x51, 0x97, 0xd1, 0x35, 0x98, 0x08, 0x4c, 0x6f, 0x40, 0x8e,
- 0x13, 0x92, 0x5f, 0xce, 0x70, 0x97, 0xb6, 0xc4, 0x1c, 0xc1, 0x85, 0x8f, 0xc3, 0x8c, 0xda, 0xf3,
- 0x1c, 0xf3, 0x44, 0x5b, 0x35, 0x4f, 0x1c, 0xfb, 0x82, 0x52, 0x35, 0x67, 0xfc, 0x6e, 0x0d, 0x44,
- 0xca, 0xca, 0x23, 0xdc, 0xce, 0x7c, 0x3c, 0x8a, 0x62, 0x5b, 0x25, 0x4f, 0x67, 0x3a, 0x35, 0x7f,
- 0x3c, 0x09, 0x6a, 0x20, 0x5b, 0xe4, 0xc9, 0xf0, 0x71, 0x63, 0x15, 0x62, 0x86, 0xf3, 0xa1, 0x3d,
- 0xe8, 0x80, 0x71, 0xdf, 0xd7, 0x60, 0x26, 0x11, 0x90, 0xaf, 0x0f, 0x63, 0xbe, 0xb4, 0x05, 0x94,
- 0xbd, 0xbe, 0x8a, 0xbc, 0xcb, 0x1e, 0x19, 0x51, 0x09, 0x53, 0x3a, 0x32, 0x76, 0x5f, 0xed, 0x3e,
- 0xc5, 0xee, 0xd3, 0xbf, 0xa4, 0xc1, 0xf9, 0x68, 0x40, 0xc9, 0x40, 0x30, 0xe8, 0x49, 0xa8, 0x1b,
- 0x03, 0x9b, 0x59, 0x7e, 0x55, 0xe3, 0xf9, 0xf2, 0x5a, 0x87, 0x95, 0x61, 0x09, 0x45, 0x6f, 0x87,
- 0x7a, 0xb4, 0xf4, 0x84, 0xe4, 0x27, 0xf9, 0x96, 0xbc, 0x90, 0x93, 0x35, 0xd0, 0x13, 0x4a, 0xa4,
- 0xe1, 0x89, 0xf8, 0xa0, 0x96, 0x84, 0xf9, 0xf5, 0xbd, 0xfe, 0x85, 0x31, 0x98, 0xe5, 0x96, 0x92,
- 0xa6, 0xed, 0x5a, 0xb6, 0xdb, 0x3b, 0x81, 0x03, 0x22, 0x91, 0xeb, 0xbd, 0x76, 0xbf, 0x72, 0xbd,
- 0x5f, 0x87, 0xc9, 0xd7, 0x28, 0xa7, 0x8a, 0x16, 0xf8, 0x91, 0x18, 0x86, 0x5c, 0xbc, 0x8c, 0xc9,
- 0x05, 0x58, 0xa0, 0x40, 0xa1, 0x92, 0x72, 0xbf, 0xca, 0x63, 0xfe, 0xc4, 0xd4, 0xca, 0x90, 0xe1,
- 0x33, 0xf9, 0xf9, 0xf6, 0x59, 0x0c, 0xdc, 0x44, 0x8b, 0x37, 0x4a, 0x0c, 0xdc, 0x44, 0xa7, 0x0b,
- 0xce, 0xb9, 0x67, 0xe1, 0x5c, 0xee, 0x6c, 0x1c, 0x2e, 0x19, 0xea, 0xdf, 0xae, 0x01, 0x4b, 0x85,
- 0x7d, 0x02, 0x6b, 0xf3, 0xa3, 0x09, 0xe1, 0xe5, 0x85, 0xf2, 0x51, 0x78, 0x8b, 0xcc, 0x3f, 0xbd,
- 0x94, 0xf9, 0xe7, 0x7d, 0xe5, 0x49, 0x8c, 0xb6, 0xfd, 0xfc, 0x6a, 0x0d, 0x80, 0x56, 0xe3, 0x49,
- 0xc3, 0x85, 0x63, 0x2e, 0x5f, 0xd1, 0x5a, 0x92, 0x7b, 0x64, 0x57, 0xe2, 0x49, 0xde, 0xcb, 0xeb,
- 0x32, 0xf3, 0xf3, 0x58, 0x7c, 0xc9, 0x90, 0xcc, 0xfa, 0x9c, 0xe4, 0x18, 0xe3, 0xf7, 0x89, 0x63,
- 0xe8, 0xdf, 0xd6, 0x80, 0x65, 0x04, 0x6a, 0xdf, 0xec, 0xa2, 0x77, 0xc3, 0xac, 0xcd, 0x2f, 0xa8,
- 0xdb, 0x6a, 0xc8, 0x44, 0x76, 0xd3, 0xd4, 0x51, 0x01, 0x38, 0x59, 0x0f, 0xb9, 0xca, 0xbc, 0x56,
- 0xc9, 0xd8, 0x2f, 0x3a, 0x72, 0x28, 0x8f, 0xf8, 0x51, 0x0d, 0x4e, 0xa5, 0xea, 0x1e, 0x41, 0xb7,
- 0x7a, 0x30, 0x2c, 0x57, 0xc9, 0x34, 0x30, 0x76, 0x02, 0x99, 0x06, 0x64, 0xd0, 0xff, 0xf1, 0x07,
- 0x1c, 0xf4, 0xff, 0xbb, 0x1a, 0xb0, 0x64, 0xf0, 0x27, 0xc0, 0x7e, 0x3f, 0x92, 0x64, 0xbf, 0xcf,
- 0x96, 0x5e, 0x3b, 0x05, 0x5c, 0xf7, 0x2f, 0x34, 0x60, 0x31, 0xc0, 0x85, 0x57, 0x8e, 0xe2, 0xe8,
- 0xa2, 0x15, 0x38, 0xba, 0x3c, 0x26, 0xfc, 0x64, 0x52, 0x86, 0x50, 0xc5, 0x57, 0xe6, 0xed, 0x8a,
- 0x2b, 0xcc, 0x58, 0x92, 0x95, 0x64, 0xdd, 0x61, 0xd0, 0xeb, 0x30, 0x1b, 0x6c, 0x79, 0x5e, 0x18,
- 0x99, 0x24, 0xc4, 0xd7, 0x6b, 0x96, 0xf7, 0xa5, 0x8f, 0xc6, 0xc2, 0x77, 0x67, 0x57, 0x45, 0x8e,
- 0x93, 0xb4, 0xf4, 0xdf, 0x13, 0xc3, 0x3f, 0xc6, 0x56, 0x39, 0x41, 0xd6, 0xf7, 0xd6, 0x14, 0xeb,
- 0x2b, 0x4a, 0x7a, 0xff, 0xf7, 0xc5, 0x28, 0x64, 0xe8, 0xf6, 0x01, 0xcc, 0x3a, 0x6a, 0x1e, 0x27,
- 0xb1, 0x30, 0x4b, 0xa5, 0x80, 0x92, 0xd1, 0x1b, 0x13, 0xc5, 0x38, 0x49, 0x80, 0xf2, 0xc7, 0xa8,
- 0xf3, 0x3c, 0x39, 0x75, 0x2d, 0x76, 0x51, 0x5e, 0x53, 0x01, 0x38, 0x59, 0x4f, 0xff, 0x7a, 0x0d,
- 0x2e, 0xf2, 0xbe, 0xb3, 0xf7, 0x08, 0x6d, 0x32, 0x20, 0xae, 0x45, 0x5c, 0x73, 0x8f, 0xc9, 0xc1,
- 0x96, 0xd7, 0x43, 0x9f, 0xd1, 0xa0, 0x1e, 0xdd, 0x98, 0x89, 0x81, 0x7c, 0xa8, 0x42, 0xf4, 0xfb,
- 0x02, 0x32, 0xf2, 0xc2, 0x8e, 0x87, 0x11, 0x14, 0xbf, 0xb0, 0xa4, 0x8c, 0x76, 0x61, 0x62, 0xe0,
- 0x7b, 0x1b, 0x91, 0x0e, 0xf8, 0xca, 0xfd, 0xef, 0xc2, 0x1a, 0x45, 0xcf, 0x77, 0x1c, 0xfb, 0x17,
- 0x73, 0x82, 0x3a, 0x86, 0x27, 0x8e, 0xd4, 0xf5, 0x63, 0x78, 0x10, 0xe9, 0xb7, 0x40, 0x3f, 0xbc,
- 0x2f, 0xc7, 0x41, 0xf8, 0x01, 0x78, 0x5c, 0x41, 0xb8, 0xb2, 0x6b, 0x92, 0x20, 0x68, 0x19, 0x03,
- 0xc3, 0xa4, 0x0a, 0x30, 0x7b, 0x31, 0xce, 0x8d, 0xd3, 0xc7, 0x40, 0xf9, 0xa9, 0x1a, 0x2c, 0x2a,
- 0x38, 0x13, 0xee, 0x69, 0x11, 0xf7, 0xf8, 0xaa, 0x06, 0x0d, 0xc3, 0x75, 0xbd, 0xd0, 0x50, 0xaf,
- 0x4c, 0x49, 0xd5, 0x8f, 0x93, 0x47, 0x6b, 0x69, 0x39, 0xa6, 0x93, 0xf2, 0x90, 0x50, 0x20, 0x58,
- 0xed, 0xce, 0x85, 0x17, 0xe1, 0x74, 0xba, 0xd5, 0xb1, 0x34, 0xdd, 0x16, 0x9c, 0x57, 0x7a, 0xc5,
- 0xae, 0x60, 0x5a, 0x5b, 0xc4, 0xdc, 0x0e, 0x8e, 0x33, 0x8f, 0x4d, 0x2a, 0x59, 0x4b, 0x24, 0x4a,
- 0x6a, 0x89, 0xa7, 0x60, 0x6a, 0xc7, 0x0e, 0xec, 0x28, 0x12, 0x84, 0x82, 0xe3, 0x65, 0x5e, 0x8c,
- 0x23, 0xb8, 0xfe, 0x12, 0x9c, 0x51, 0x71, 0x30, 0x26, 0x7a, 0x2c, 0x9f, 0x35, 0x7d, 0x15, 0x1e,
- 0x53, 0x30, 0xe4, 0xbe, 0x5f, 0x3d, 0x0e, 0xba, 0x6f, 0xd4, 0x23, 0x9e, 0x27, 0xde, 0x31, 0x7d,
- 0x47, 0x83, 0x87, 0x49, 0xd1, 0xb2, 0x13, 0x7c, 0xe3, 0xd5, 0xaa, 0xeb, 0xa2, 0x70, 0x5d, 0x8b,
- 0xe8, 0x69, 0x45, 0x60, 0x5c, 0xdc, 0x35, 0x74, 0x37, 0x91, 0x57, 0xa5, 0x56, 0x49, 0x9b, 0xcc,
- 0xf9, 0xca, 0xa3, 0xb2, 0xaa, 0x20, 0x1f, 0xea, 0x81, 0xf8, 0x96, 0x95, 0x9e, 0xd9, 0xe7, 0xac,
- 0x0d, 0xe1, 0xff, 0x2a, 0x7e, 0x61, 0x49, 0x07, 0x7d, 0x43, 0x83, 0xb3, 0x4e, 0xce, 0xfe, 0x12,
- 0x07, 0xff, 0xed, 0x07, 0xb1, 0x77, 0xb9, 0xe1, 0x3d, 0x0f, 0x82, 0x73, 0xfb, 0x82, 0xfe, 0x4e,
- 0xe1, 0x83, 0xee, 0x89, 0x0a, 0x69, 0xed, 0x0e, 0xdb, 0x00, 0x25, 0xde, 0x76, 0xff, 0x1c, 0x34,
- 0xbc, 0x98, 0x2d, 0x88, 0x47, 0xf8, 0xd7, 0xab, 0xf6, 0x4e, 0xe1, 0x34, 0xfc, 0x2a, 0x53, 0x29,
- 0xc0, 0x2a, 0x41, 0xf4, 0x65, 0x0d, 0x90, 0x95, 0x39, 0x3e, 0xc4, 0x75, 0x2a, 0xbe, 0xff, 0x87,
- 0x24, 0xbf, 0xbb, 0xc9, 0x96, 0xe3, 0x9c, 0x5e, 0xe8, 0xff, 0x6c, 0x8a, 0x0b, 0xea, 0xcc, 0x74,
- 0x6e, 0xc2, 0xe4, 0x06, 0xd3, 0x75, 0x05, 0x33, 0x28, 0xaf, 0x59, 0x73, 0x95, 0x99, 0x6b, 0xa2,
- 0xfc, 0x7f, 0x2c, 0x50, 0xa3, 0x25, 0x80, 0x0d, 0xc7, 0x33, 0xb7, 0x5b, 0x9d, 0x36, 0x8e, 0x84,
- 0x20, 0xb6, 0x01, 0x9b, 0xb2, 0x14, 0x2b, 0x35, 0xd0, 0x87, 0x61, 0xcc, 0x92, 0xea, 0xd1, 0xf3,
- 0x55, 0x34, 0xc3, 0xf8, 0x45, 0x02, 0xdd, 0x6e, 0x14, 0x2b, 0xf2, 0xa0, 0xee, 0x0a, 0x59, 0x58,
- 0x6c, 0xae, 0xf2, 0x69, 0x83, 0xa4, 0x50, 0x2d, 0x65, 0xf9, 0xa8, 0x04, 0x4b, 0x22, 0x94, 0xa0,
- 0x54, 0x76, 0x27, 0x2a, 0x12, 0x94, 0x9a, 0xee, 0x28, 0x3b, 0xc4, 0x9a, 0xaa, 0xb7, 0x4e, 0x1e,
- 0x5d, 0x6f, 0x9d, 0x2d, 0xd4, 0x59, 0x37, 0x61, 0x32, 0x34, 0x98, 0xfb, 0xd7, 0x54, 0x05, 0xef,
- 0x2b, 0x3a, 0x80, 0xdb, 0x14, 0x4d, 0x2c, 0xb3, 0xb3, 0x9f, 0x01, 0x16, 0xd8, 0xe9, 0x6a, 0xdc,
- 0x61, 0x59, 0xdd, 0x44, 0x68, 0xc7, 0xf2, 0xab, 0x91, 0x27, 0x87, 0xe3, 0xab, 0x91, 0xff, 0x8f,
- 0x05, 0x6a, 0xb4, 0x4d, 0x35, 0x31, 0x7e, 0x3e, 0x8a, 0x40, 0x14, 0xcb, 0x55, 0x77, 0x64, 0x10,
- 0xbd, 0x6b, 0xe0, 0xbf, 0xb0, 0x24, 0x80, 0x4c, 0x98, 0x12, 0xa6, 0x0f, 0x11, 0x9f, 0xfc, 0xf9,
- 0x2a, 0x39, 0x22, 0xa2, 0x9c, 0x87, 0xfc, 0x49, 0x78, 0x84, 0x59, 0xff, 0xb7, 0xe3, 0xdc, 0x6a,
- 0xf5, 0x63, 0xf4, 0x97, 0xeb, 0x41, 0x3d, 0x42, 0x56, 0xc9, 0x0c, 0x18, 0xa5, 0xda, 0xe1, 0x13,
- 0x2a, 0x13, 0xef, 0x48, 0xe4, 0xa8, 0x95, 0xf7, 0x8a, 0x4a, 0x09, 0x7f, 0x77, 0xa4, 0x17, 0x54,
- 0xf9, 0x8e, 0x25, 0xe3, 0xa5, 0x1c, 0x4b, 0x5e, 0x80, 0x53, 0x91, 0xef, 0x9d, 0x45, 0xd8, 0xd5,
- 0x96, 0xf0, 0x4e, 0x67, 0x8f, 0x95, 0x5b, 0x49, 0x10, 0x4e, 0xd7, 0x45, 0xdf, 0xd4, 0xe0, 0x71,
- 0xee, 0x19, 0xdf, 0xa2, 0x47, 0x19, 0xcb, 0x7b, 0x47, 0xe2, 0x44, 0x7b, 0xb1, 0xd3, 0xc5, 0xe4,
- 0xb1, 0x9d, 0x2e, 0x9e, 0x3c, 0xd8, 0x5f, 0x7c, 0xbc, 0x75, 0x04, 0xdc, 0xf8, 0x48, 0x3d, 0xd0,
- 0xaf, 0xc3, 0xb4, 0xdc, 0xc2, 0xe8, 0xa2, 0x22, 0xb0, 0xc7, 0x5c, 0xf6, 0x3a, 0xd9, 0xe3, 0xd2,
- 0xfb, 0x62, 0x42, 0x7a, 0xe7, 0xfa, 0xdb, 0xcb, 0xb4, 0x40, 0x08, 0xf2, 0xfa, 0x7f, 0xd0, 0xf8,
- 0x9a, 0x15, 0x39, 0x22, 0x0d, 0x68, 0xf4, 0x79, 0xe4, 0x3f, 0xf6, 0xe6, 0x51, 0x2b, 0xff, 0xda,
- 0x72, 0x35, 0x46, 0x83, 0x55, 0x9c, 0x68, 0x37, 0x9b, 0xc8, 0xf4, 0x6a, 0x45, 0xfe, 0x72, 0xe4,
- 0x7c, 0xa6, 0x28, 0xdb, 0x46, 0xcd, 0x00, 0xa9, 0x8d, 0xce, 0x00, 0x79, 0x78, 0x06, 0x2f, 0xfd,
- 0x3b, 0x63, 0x90, 0x9b, 0xbd, 0x01, 0xe9, 0x30, 0xc9, 0xdf, 0x38, 0xa8, 0x29, 0x5e, 0xf9, 0x03,
- 0x08, 0x2c, 0x20, 0xc8, 0x87, 0xb3, 0xe2, 0x01, 0xc1, 0x75, 0xb2, 0x17, 0xa7, 0x16, 0x15, 0x1b,
- 0xf9, 0xe8, 0x6e, 0xc4, 0x2c, 0x24, 0x58, 0x37, 0x85, 0x09, 0xe7, 0xe2, 0x46, 0xb7, 0xf8, 0x63,
- 0x25, 0xd7, 0x62, 0x41, 0x73, 0xe2, 0xe5, 0xa6, 0xbe, 0xaf, 0x59, 0xc9, 0xab, 0x80, 0xf3, 0xdb,
- 0xa1, 0x1d, 0x40, 0x7d, 0x63, 0x37, 0x8d, 0xad, 0x42, 0xd0, 0xf8, 0xd5, 0x0c, 0x36, 0x9c, 0x43,
- 0x81, 0xee, 0x7f, 0xc3, 0x34, 0xc9, 0x20, 0x24, 0x16, 0x9f, 0xd6, 0x28, 0xdc, 0x00, 0xdb, 0xff,
- 0xcb, 0x49, 0x10, 0x4e, 0xd7, 0x65, 0xae, 0xfc, 0x4c, 0x1f, 0x78, 0x83, 0x38, 0x99, 0xb0, 0xbe,
- 0x3e, 0x60, 0x57, 0x7e, 0x4e, 0x63, 0xf4, 0x4d, 0xcd, 0xab, 0x70, 0x9e, 0x55, 0x5b, 0xb6, 0x98,
- 0x0a, 0x10, 0x10, 0x6b, 0xd9, 0xb2, 0xd8, 0xcb, 0xc1, 0xaa, 0xa9, 0x59, 0xf5, 0x7f, 0x52, 0x83,
- 0x53, 0x0c, 0x77, 0x6b, 0x19, 0x0b, 0x2b, 0x05, 0x6a, 0x47, 0xee, 0x83, 0x1c, 0xeb, 0x52, 0xda,
- 0x7d, 0xf0, 0x22, 0x6f, 0xe0, 0x13, 0xc6, 0xd7, 0x0d, 0x27, 0x88, 0x5a, 0x26, 0xfc, 0x09, 0x7d,
- 0x40, 0x8e, 0x11, 0x84, 0x3c, 0x53, 0x56, 0xc4, 0x5c, 0x4b, 0xb8, 0x13, 0xb2, 0xf5, 0x79, 0x23,
- 0x83, 0x09, 0xe7, 0x60, 0x8f, 0x68, 0xb6, 0xbc, 0xfe, 0xc0, 0x21, 0x92, 0x66, 0xad, 0x3c, 0xcd,
- 0x24, 0x26, 0x9c, 0x83, 0x5d, 0xff, 0xa2, 0x06, 0xa7, 0xd3, 0x13, 0x82, 0xee, 0x40, 0xdd, 0x17,
- 0x93, 0x22, 0xd6, 0xf7, 0x6a, 0xf9, 0xd5, 0x91, 0x33, 0xd3, 0x22, 0x5d, 0x8b, 0xf8, 0x85, 0x25,
- 0x31, 0xfd, 0x7f, 0x4c, 0xc2, 0x42, 0x51, 0x23, 0xf4, 0x2b, 0x1a, 0x9c, 0x37, 0xe3, 0x73, 0x6f,
- 0x79, 0x18, 0x6e, 0x79, 0xbe, 0x1d, 0xda, 0x24, 0x4a, 0x04, 0xdd, 0xae, 0xd0, 0x49, 0xb9, 0x7e,
- 0x78, 0x18, 0x94, 0x56, 0x2e, 0x1d, 0x5c, 0x40, 0x1f, 0x7d, 0x02, 0x60, 0x3b, 0x0e, 0x48, 0x56,
- 0xab, 0x90, 0x5b, 0x96, 0xf5, 0x46, 0x89, 0x5a, 0x16, 0xf5, 0x8a, 0x29, 0x61, 0x4a, 0xb9, 0x42,
- 0x8f, 0x65, 0xb6, 0x0d, 0xb6, 0xae, 0x93, 0xbd, 0x81, 0x61, 0xfb, 0x95, 0x32, 0xdb, 0xf2, 0xed,
- 0xdc, 0xbd, 0x26, 0x70, 0x25, 0xa9, 0x2b, 0xe5, 0x0a, 0x3d, 0xf4, 0x8b, 0x1a, 0xcc, 0x72, 0x61,
- 0x4b, 0x78, 0xe9, 0x08, 0x4e, 0x7e, 0xab, 0x7c, 0x0f, 0x6e, 0xa9, 0xe8, 0x64, 0x27, 0x98, 0x31,
- 0x3e, 0x09, 0x4a, 0x12, 0xa6, 0x2b, 0x64, 0x3e, 0x99, 0x02, 0xe9, 0x3a, 0xd9, 0x13, 0x9a, 0x5c,
- 0xb7, 0xc2, 0x84, 0xa4, 0x51, 0xca, 0x2e, 0x31, 0x39, 0x36, 0x0b, 0xce, 0x76, 0x82, 0x75, 0x8d,
- 0x84, 0xa6, 0x25, 0x32, 0x5c, 0xdb, 0x9e, 0x4b, 0xbb, 0x36, 0x59, 0xb5, 0x6b, 0x2b, 0xb7, 0x5b,
- 0xed, 0x04, 0xca, 0x64, 0xd7, 0xb2, 0xe0, 0x6c, 0x27, 0xf4, 0xef, 0xd7, 0xe0, 0xd2, 0x68, 0x64,
- 0x7f, 0xc5, 0x53, 0x8f, 0xc5, 0x53, 0x7f, 0xbe, 0x06, 0x0f, 0x15, 0xec, 0xe3, 0x82, 0x39, 0xd0,
- 0xfe, 0x9f, 0x9b, 0x83, 0xef, 0x69, 0x30, 0xcd, 0xe6, 0xe0, 0x8d, 0xe2, 0xc3, 0xca, 0x3a, 0x5b,
- 0x70, 0xcb, 0xfc, 0xfb, 0x1a, 0xcc, 0x67, 0xc2, 0x9c, 0x1d, 0x41, 0x7a, 0x39, 0xc1, 0xbb, 0xd6,
- 0x27, 0xd2, 0x79, 0x81, 0x1b, 0xb9, 0xf1, 0x0f, 0x5f, 0x81, 0xd9, 0xc4, 0x1d, 0xb3, 0x0c, 0x1b,
- 0xa1, 0xe5, 0x86, 0x8d, 0x50, 0xa3, 0x42, 0xd4, 0x46, 0x47, 0x85, 0xa8, 0xc1, 0x85, 0x62, 0xde,
- 0xfd, 0x97, 0x66, 0xd9, 0xcb, 0xad, 0x9f, 0x3d, 0x44, 0xff, 0xd2, 0xcc, 0x81, 0x3c, 0x4f, 0x0a,
- 0xcf, 0xcd, 0xbf, 0x3a, 0x4f, 0x8e, 0x35, 0xa1, 0xff, 0x78, 0x4e, 0xf0, 0x52, 0x76, 0x0f, 0xf0,
- 0x51, 0x98, 0x64, 0x61, 0x51, 0x22, 0xa9, 0xf7, 0xbd, 0xe5, 0xe3, 0xad, 0x04, 0xdc, 0xc6, 0xc0,
- 0xff, 0xc7, 0x02, 0x2d, 0x6a, 0xc3, 0x69, 0xd3, 0xf1, 0x86, 0xd6, 0x9a, 0xef, 0x6d, 0xda, 0x0e,
- 0xb9, 0x19, 0x9b, 0x33, 0x64, 0x34, 0xb9, 0x56, 0x0a, 0x8e, 0x33, 0x2d, 0x50, 0x57, 0xbd, 0x19,
- 0x78, 0x4f, 0x59, 0x5f, 0x26, 0x1e, 0x56, 0x5c, 0xde, 0x08, 0xf8, 0x00, 0x24, 0x62, 0x8b, 0xd1,
- 0x93, 0x92, 0x17, 0x4b, 0x46, 0xca, 0x93, 0xdc, 0x35, 0x52, 0xc4, 0x65, 0x51, 0x80, 0x15, 0x2a,
- 0x28, 0x80, 0xc6, 0x56, 0x9c, 0x2c, 0x5b, 0x48, 0x93, 0x2f, 0x55, 0xcd, 0xd4, 0xcd, 0x2d, 0x60,
- 0x4a, 0x01, 0x56, 0xa9, 0xa0, 0x80, 0x2b, 0x14, 0xdc, 0x16, 0x5a, 0x29, 0xb3, 0x6a, 0x6c, 0x65,
- 0x8d, 0x47, 0x1a, 0x97, 0x61, 0x85, 0x0c, 0x25, 0xea, 0xca, 0xe8, 0x46, 0xe2, 0x0a, 0xac, 0x1c,
- 0xd1, 0x38, 0x48, 0x52, 0x4c, 0x34, 0x2e, 0xc3, 0x0a, 0x19, 0x3a, 0xbd, 0xfd, 0x38, 0xa6, 0x95,
- 0xb8, 0x4d, 0x78, 0xa9, 0x6a, 0x70, 0x31, 0x61, 0x60, 0x8c, 0x0b, 0xb0, 0x4a, 0x05, 0x79, 0x00,
- 0x7d, 0x19, 0xeb, 0x4a, 0x5c, 0x2d, 0x94, 0x1b, 0x69, 0x1c, 0x32, 0x8b, 0x2b, 0x49, 0xf1, 0x6f,
- 0xac, 0x90, 0x40, 0xdb, 0xca, 0xcd, 0x12, 0x54, 0x30, 0xba, 0x1f, 0xe9, 0x56, 0xe9, 0x5d, 0xb1,
- 0xb9, 0xb2, 0xc1, 0xf6, 0xed, 0x23, 0x8a, 0xa9, 0xf2, 0xde, 0xfe, 0xe2, 0x0c, 0x63, 0x26, 0x19,
- 0xd3, 0x65, 0xec, 0xae, 0x35, 0x33, 0xca, 0x5d, 0x0b, 0x5d, 0xa5, 0x4a, 0x96, 0xe2, 0xe9, 0xcc,
- 0x18, 0xc4, 0x2c, 0x6b, 0x22, 0xa3, 0xa3, 0x75, 0xd3, 0x15, 0x70, 0xb6, 0x0d, 0x97, 0x2e, 0x88,
- 0xc5, 0xda, 0xcf, 0xa9, 0xd2, 0x05, 0x2f, 0xc3, 0x12, 0x8a, 0xee, 0xc0, 0x4c, 0xa0, 0x38, 0x88,
- 0x89, 0xc4, 0x4b, 0x55, 0x2e, 0x83, 0x84, 0x77, 0x18, 0x8b, 0x4b, 0xa3, 0x96, 0xe0, 0x04, 0x21,
- 0xf4, 0x09, 0x98, 0x8e, 0x8c, 0xd7, 0xc1, 0xc2, 0xe9, 0x0a, 0xaf, 0x8c, 0xf2, 0x43, 0x9c, 0xc5,
- 0xd6, 0xe8, 0x08, 0x14, 0xe0, 0x98, 0x20, 0xda, 0x49, 0xbe, 0xf1, 0x9d, 0xbf, 0x3f, 0xaf, 0x1a,
- 0xa5, 0xdb, 0x4f, 0xd1, 0xfb, 0x5e, 0xd4, 0x82, 0x79, 0xb2, 0x3b, 0xf0, 0x82, 0xa1, 0x4f, 0x58,
- 0x84, 0x45, 0xf6, 0x85, 0x50, 0x7c, 0x73, 0xb3, 0x92, 0x06, 0xe2, 0x6c, 0x7d, 0xf4, 0x79, 0x0d,
- 0x4e, 0xf3, 0xcc, 0x55, 0xf4, 0x38, 0xf3, 0x5c, 0xe2, 0x86, 0xc1, 0xc2, 0x99, 0x0a, 0xc1, 0x4d,
- 0xbb, 0x29, 0x64, 0xc2, 0x88, 0x9d, 0x2a, 0xc5, 0x19, 0xa2, 0xfa, 0xbf, 0xd0, 0x00, 0xa4, 0xa1,
- 0x92, 0x9c, 0x80, 0xf5, 0x96, 0x24, 0xac, 0xb7, 0xad, 0x6a, 0x96, 0x55, 0x52, 0xf8, 0x4e, 0xf0,
- 0x8f, 0x34, 0x98, 0x8b, 0xab, 0x9d, 0x80, 0xa2, 0x65, 0x25, 0x15, 0xad, 0xf7, 0x55, 0x1c, 0x58,
- 0x81, 0xb6, 0xf5, 0x7f, 0x6a, 0xea, 0xb0, 0x98, 0xcc, 0x73, 0x47, 0xb9, 0xb3, 0xe4, 0xb7, 0xa4,
- 0x9d, 0x4a, 0x77, 0x96, 0xea, 0xeb, 0xab, 0x78, 0xc4, 0x39, 0x77, 0x98, 0x9f, 0x4c, 0x08, 0x1c,
- 0x55, 0x9e, 0x19, 0x4a, 0xe9, 0x22, 0xa2, 0xcd, 0xa7, 0xe0, 0x30, 0xe9, 0xc3, 0x57, 0x19, 0x10,
- 0x7f, 0xf9, 0xb3, 0x5c, 0xf2, 0x69, 0x9b, 0x32, 0xe4, 0x91, 0x6c, 0x47, 0xff, 0x8d, 0x59, 0x68,
- 0x28, 0x86, 0xfd, 0x1f, 0xcb, 0x2d, 0xf5, 0x10, 0x1a, 0xa6, 0xe7, 0x06, 0xa1, 0x6f, 0x28, 0xb1,
- 0x6c, 0xaa, 0x12, 0x95, 0x9c, 0xaf, 0x15, 0xa3, 0xc6, 0x2a, 0x1d, 0x7a, 0x4e, 0xcb, 0x85, 0x36,
- 0x76, 0x3f, 0x2e, 0xc7, 0x47, 0x2d, 0xae, 0x77, 0x02, 0x44, 0x32, 0x1f, 0xe1, 0x69, 0x77, 0xea,
- 0x71, 0x0e, 0x88, 0x4e, 0x70, 0x4d, 0xc2, 0xb0, 0x52, 0x0f, 0xbd, 0x0e, 0xb3, 0x8e, 0x1a, 0xfd,
- 0x5d, 0x48, 0xa4, 0xe5, 0x1c, 0xce, 0x13, 0x71, 0xe4, 0xb9, 0x85, 0x35, 0x51, 0x84, 0x93, 0xb4,
- 0xd0, 0x36, 0x4c, 0x3b, 0x51, 0xca, 0x02, 0x21, 0x96, 0xbe, 0x58, 0x9a, 0x30, 0xc3, 0xc2, 0x7d,
- 0x59, 0xe4, 0x4f, 0x1c, 0xe3, 0xa7, 0xeb, 0x4e, 0xfe, 0xa8, 0xe6, 0xcf, 0x12, 0x53, 0x93, 0xeb,
- 0x4e, 0x16, 0x05, 0x58, 0xa1, 0x52, 0xe0, 0x6f, 0x50, 0x2f, 0xe5, 0x6f, 0x30, 0x84, 0x33, 0x3e,
- 0x09, 0xfd, 0xbd, 0xd6, 0x9e, 0xc9, 0xf2, 0x8e, 0xf8, 0x21, 0x53, 0x16, 0xa7, 0xcb, 0xc5, 0xa4,
- 0xc0, 0x59, 0x54, 0x38, 0x0f, 0x3f, 0x7a, 0x14, 0xc6, 0xa9, 0x0c, 0x23, 0x42, 0xc2, 0x31, 0x93,
- 0x0e, 0x95, 0x70, 0x30, 0x2b, 0x45, 0xef, 0x82, 0x46, 0x48, 0xcc, 0x2d, 0xd7, 0x36, 0x0d, 0xa7,
- 0xd3, 0x16, 0x02, 0x62, 0x2c, 0x12, 0xc4, 0x20, 0xac, 0xd6, 0x43, 0x4d, 0x18, 0x1b, 0xda, 0x96,
- 0x90, 0x0c, 0x7f, 0x5a, 0x5e, 0xc4, 0x75, 0xda, 0xf7, 0xf6, 0x17, 0xdf, 0x1c, 0x3f, 0x7a, 0x96,
- 0x23, 0xb9, 0x3c, 0xd8, 0xee, 0x5d, 0x0e, 0xf7, 0x06, 0x24, 0x58, 0x5a, 0xef, 0xb4, 0x31, 0x6d,
- 0x9c, 0xe7, 0x7f, 0x31, 0x7b, 0x0c, 0xff, 0x8b, 0x2f, 0x6b, 0x70, 0xc6, 0x48, 0xdf, 0x21, 0x92,
- 0x60, 0x61, 0xae, 0x02, 0x57, 0xce, 0xbf, 0x98, 0x8c, 0x43, 0xf3, 0x2e, 0x67, 0xe9, 0xe1, 0xbc,
- 0x4e, 0x20, 0x1f, 0x50, 0xdf, 0xee, 0xc9, 0x44, 0x0e, 0xe2, 0x53, 0x9f, 0x2a, 0x67, 0x17, 0x58,
- 0xcd, 0x60, 0xc2, 0x39, 0xd8, 0xd1, 0x2e, 0x34, 0xcc, 0xd8, 0x44, 0xc2, 0x12, 0x7f, 0x96, 0x96,
- 0xad, 0x52, 0xf6, 0x16, 0x11, 0xb6, 0x4a, 0x31, 0xc0, 0xa8, 0xa4, 0xd0, 0x17, 0x34, 0xb8, 0x40,
- 0x37, 0x8d, 0xa2, 0xbf, 0xde, 0xf6, 0xed, 0x5e, 0x8f, 0xf8, 0x6c, 0xd8, 0xf3, 0xc7, 0x1e, 0x36,
- 0x4b, 0x26, 0x7a, 0xa3, 0x10, 0x23, 0x1e, 0x41, 0x4d, 0xff, 0x6f, 0x1a, 0x64, 0xa4, 0x40, 0x64,
- 0xc2, 0x14, 0x1d, 0x61, 0xfb, 0x66, 0x57, 0xc8, 0x41, 0xcf, 0x97, 0x3c, 0x3b, 0x18, 0x0e, 0x6e,
- 0x4d, 0x15, 0x3f, 0x70, 0x84, 0x99, 0xaa, 0x25, 0xae, 0x12, 0x02, 0x55, 0xc8, 0x7b, 0xe5, 0xce,
- 0x67, 0x35, 0x96, 0x2a, 0x57, 0x4b, 0xd4, 0x12, 0x9c, 0x20, 0xa4, 0xdf, 0x00, 0x88, 0x85, 0xf7,
- 0xca, 0x0e, 0x3e, 0xff, 0x7e, 0x02, 0xce, 0x55, 0x75, 0x68, 0x67, 0xe9, 0x28, 0x58, 0x62, 0xe3,
- 0xe5, 0xcd, 0x90, 0xf8, 0xb7, 0x6e, 0xad, 0xca, 0xa4, 0xaf, 0x25, 0xf3, 0x61, 0xc4, 0xa9, 0xb1,
- 0x33, 0x18, 0x71, 0x01, 0x25, 0xa6, 0xb8, 0x88, 0xf4, 0x91, 0x98, 0x4a, 0x57, 0x43, 0x3f, 0x08,
- 0xc5, 0x13, 0x71, 0xae, 0xb8, 0xa4, 0x81, 0x38, 0x5b, 0x3f, 0x8d, 0x84, 0x27, 0x59, 0xa6, 0xa7,
- 0xb3, 0x96, 0x45, 0xc2, 0x33, 0x2d, 0x67, 0xeb, 0xab, 0x48, 0xf8, 0x97, 0x72, 0x4d, 0x1e, 0x9c,
- 0x3f, 0x85, 0x44, 0x02, 0x71, 0xb6, 0x3e, 0xb2, 0xe0, 0x51, 0x9f, 0x98, 0x5e, 0xbf, 0x4f, 0x5c,
- 0x8b, 0x27, 0x40, 0x32, 0xfc, 0x9e, 0xed, 0x5e, 0xf1, 0x0d, 0x56, 0x91, 0x1d, 0xc0, 0x5a, 0xf3,
- 0xb1, 0x83, 0xfd, 0xc5, 0x47, 0xf1, 0x88, 0x7a, 0x78, 0x24, 0x16, 0xd4, 0x87, 0x53, 0x43, 0x16,
- 0xf7, 0xdc, 0xef, 0xb8, 0x21, 0xf1, 0x77, 0x0c, 0xa7, 0x64, 0xf6, 0x70, 0xc6, 0xc6, 0xd7, 0x93,
- 0xa8, 0x70, 0x1a, 0x37, 0xda, 0xa3, 0xa7, 0xa2, 0xe8, 0x8e, 0x42, 0xb2, 0x5e, 0x3e, 0x61, 0x0b,
- 0xce, 0xa2, 0xc3, 0x79, 0x34, 0xf4, 0xbf, 0xad, 0x81, 0x70, 0x31, 0xa5, 0x87, 0xa4, 0x72, 0x79,
- 0x53, 0x4f, 0x5d, 0xdc, 0x3c, 0x2a, 0x9e, 0xd1, 0xd5, 0x62, 0xa8, 0xf2, 0x84, 0xee, 0xad, 0x4a,
- 0xec, 0x81, 0xe9, 0x58, 0xa2, 0xe0, 0x98, 0x95, 0xdc, 0x01, 0xff, 0x1f, 0x4c, 0x0d, 0x7c, 0xbb,
- 0x6f, 0xf8, 0x7b, 0x42, 0xb8, 0x9b, 0xe5, 0x81, 0x14, 0xd9, 0x0d, 0x2b, 0xdd, 0x3b, 0x02, 0xaa,
- 0x7f, 0x5f, 0x03, 0xd1, 0x9a, 0xa5, 0xb9, 0x38, 0x52, 0xb6, 0x83, 0x43, 0x1d, 0xcd, 0x94, 0x2c,
- 0x0d, 0x63, 0x85, 0x59, 0x1a, 0x1e, 0x50, 0xf2, 0x82, 0xef, 0x68, 0x70, 0x2a, 0x19, 0x08, 0x22,
- 0x40, 0x4f, 0xc0, 0x94, 0x08, 0xd6, 0x24, 0xc2, 0xbd, 0xf0, 0x57, 0xb0, 0xbc, 0x08, 0x47, 0xb0,
- 0xa4, 0xc5, 0xa5, 0x8a, 0xc2, 0x95, 0x1f, 0x90, 0xe2, 0x10, 0xd5, 0x67, 0x7f, 0x0e, 0x26, 0x79,
- 0x74, 0x21, 0xf4, 0x0b, 0xb9, 0x4f, 0xb3, 0x6e, 0x54, 0x08, 0x60, 0x54, 0xe2, 0x05, 0x56, 0x22,
- 0xf8, 0x74, 0x6d, 0x64, 0xf0, 0xe9, 0x2e, 0x4f, 0xdf, 0x52, 0xc5, 0xe0, 0xde, 0xc2, 0x1d, 0x91,
- 0xd8, 0x34, 0x4a, 0xdd, 0x32, 0x4c, 0xd8, 0xa1, 0xc7, 0x2b, 0x48, 0x18, 0x7c, 0x0a, 0x14, 0x6b,
- 0xf4, 0xdc, 0x08, 0x4b, 0x74, 0x1c, 0xcd, 0x65, 0xa2, 0x82, 0xf7, 0xa7, 0x98, 0xf5, 0x23, 0x44,
- 0x73, 0x91, 0xbb, 0x69, 0xb2, 0x70, 0x37, 0xf5, 0x60, 0x4a, 0xec, 0x07, 0xc1, 0x1d, 0x9f, 0xaf,
- 0x92, 0x63, 0x45, 0x89, 0x02, 0xc8, 0x0b, 0x70, 0x84, 0x9d, 0x9e, 0xb9, 0x7d, 0x63, 0xd7, 0xee,
- 0x0f, 0xfb, 0x8c, 0x27, 0x4e, 0xa8, 0x55, 0x59, 0x31, 0x8e, 0xe0, 0xac, 0x2a, 0x77, 0x9b, 0x65,
- 0x4a, 0x85, 0x5a, 0x55, 0xe4, 0xe6, 0x8e, 0xe0, 0xe8, 0x43, 0x50, 0xef, 0x1b, 0xbb, 0xdd, 0xa1,
- 0xdf, 0x23, 0xc2, 0x00, 0x5d, 0x6c, 0xf4, 0x1a, 0x86, 0xb6, 0xb3, 0x44, 0xd5, 0xe1, 0xd0, 0x5f,
- 0xea, 0xb8, 0xe1, 0x2d, 0xbf, 0x1b, 0xfa, 0x32, 0x85, 0xc3, 0xaa, 0xc0, 0x82, 0x25, 0x3e, 0xe4,
- 0xc0, 0x5c, 0xdf, 0xd8, 0x5d, 0x77, 0x0d, 0x99, 0x42, 0xb8, 0x51, 0x92, 0x02, 0xbb, 0xe9, 0x5e,
- 0x4d, 0xe0, 0xc2, 0x29, 0xdc, 0x39, 0x97, 0xea, 0x33, 0x0f, 0xea, 0x52, 0x7d, 0x59, 0x3e, 0xa6,
- 0x98, 0x65, 0xcb, 0xf0, 0xe1, 0x3c, 0xff, 0xda, 0xd1, 0xef, 0x24, 0x3e, 0x2a, 0xdf, 0x49, 0xcc,
- 0x55, 0xb8, 0xad, 0x1b, 0xf1, 0x46, 0x62, 0x07, 0x1a, 0x96, 0x11, 0x1a, 0xbc, 0x34, 0x58, 0x38,
- 0x55, 0xc1, 0x32, 0xd7, 0x96, 0x78, 0x94, 0xac, 0x7b, 0x31, 0x6e, 0xac, 0x12, 0x42, 0xb7, 0x78,
- 0x8a, 0x59, 0x87, 0x84, 0x71, 0x15, 0x66, 0x27, 0x3e, 0xcd, 0x6f, 0x02, 0xa2, 0x84, 0xb0, 0x99,
- 0x0a, 0x38, 0xbf, 0x1d, 0x15, 0x53, 0x79, 0xf8, 0x83, 0xf9, 0x38, 0xfe, 0x68, 0x22, 0xc4, 0xd3,
- 0x5f, 0xcf, 0x33, 0x28, 0xa3, 0x0a, 0x0f, 0xc6, 0x38, 0x7f, 0x28, 0x6b, 0x56, 0x46, 0x7f, 0x4f,
- 0x83, 0x85, 0x7e, 0x41, 0x7a, 0x3a, 0x61, 0xe8, 0x5e, 0xaf, 0xc2, 0x23, 0x0a, 0x73, 0xde, 0x35,
- 0x1f, 0x3f, 0xd8, 0x5f, 0x3c, 0x34, 0x33, 0x1e, 0x2e, 0xec, 0x5c, 0xd5, 0x67, 0xbd, 0x55, 0x62,
- 0x5f, 0xfd, 0xba, 0x06, 0xa7, 0xd3, 0x47, 0x81, 0x9a, 0x14, 0x57, 0x7b, 0xc0, 0x49, 0x71, 0x15,
- 0x3f, 0x99, 0xda, 0x08, 0x3f, 0x99, 0x17, 0xe0, 0x7c, 0xfe, 0xea, 0xa0, 0xc2, 0x19, 0x4b, 0x45,
- 0x2d, 0x14, 0xa2, 0x38, 0x63, 0x09, 0x2d, 0xc4, 0x1c, 0xd6, 0x7c, 0xf5, 0xbb, 0x3f, 0xba, 0xf4,
- 0xa6, 0x3f, 0xfc, 0xd1, 0xa5, 0x37, 0xfd, 0xe0, 0x47, 0x97, 0xde, 0xf4, 0xa9, 0x83, 0x4b, 0xda,
- 0x77, 0x0f, 0x2e, 0x69, 0x7f, 0x78, 0x70, 0x49, 0xfb, 0xc1, 0xc1, 0x25, 0xed, 0x5f, 0x1f, 0x5c,
- 0xd2, 0xfe, 0xe6, 0xbf, 0xb9, 0xf4, 0xa6, 0x0f, 0x3d, 0x13, 0x0f, 0xf2, 0x72, 0x34, 0xb6, 0xf8,
- 0x9f, 0xc1, 0x76, 0xef, 0x32, 0x1d, 0x64, 0x14, 0x47, 0x8e, 0x0f, 0xf2, 0xff, 0x06, 0x00, 0x00,
- 0xff, 0xff, 0x90, 0xf5, 0xe0, 0xce, 0x27, 0xd2, 0x00, 0x00,
+ // 10676 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x6d, 0x6c, 0x24, 0xc9,
+ 0x75, 0x98, 0x7a, 0xf8, 0x35, 0x7c, 0x43, 0x72, 0x97, 0xb5, 0x1f, 0xc7, 0xdb, 0xbb, 0x5d, 0x9e,
+ 0x5a, 0x77, 0xca, 0x5d, 0x24, 0x73, 0x7d, 0x3a, 0xc9, 0xd6, 0x9d, 0xee, 0x4e, 0xc7, 0x99, 0xe1,
+ 0xee, 0x8e, 0x76, 0xb9, 0x4b, 0xd5, 0x2c, 0xef, 0x74, 0x92, 0x21, 0xa9, 0xd9, 0x5d, 0x1c, 0xb6,
+ 0xd8, 0xd3, 0x3d, 0xd7, 0xdd, 0xc3, 0x25, 0xf7, 0x14, 0x4b, 0x96, 0x25, 0xcb, 0x96, 0x90, 0x20,
+ 0x81, 0x11, 0x48, 0x90, 0x04, 0x59, 0x16, 0x8c, 0x40, 0x01, 0x6c, 0x48, 0x10, 0x60, 0x05, 0xf9,
+ 0x72, 0x00, 0xfb, 0x87, 0x05, 0x39, 0x50, 0x8c, 0xc0, 0x31, 0x14, 0x23, 0xa1, 0x22, 0xe6, 0xc3,
+ 0xce, 0x17, 0xf2, 0x85, 0xfc, 0x59, 0x38, 0x41, 0x50, 0x1f, 0x5d, 0x5d, 0xfd, 0x45, 0x0e, 0xbb,
+ 0x77, 0x29, 0x5d, 0xec, 0x5f, 0xe4, 0xd4, 0xab, 0x7a, 0xaf, 0xaa, 0xba, 0xea, 0xd5, 0x7b, 0xaf,
+ 0x5e, 0xbd, 0x07, 0xad, 0x9e, 0x1d, 0x6e, 0x0d, 0x37, 0x96, 0x4c, 0xaf, 0x7f, 0xb9, 0x67, 0xf8,
+ 0x16, 0x71, 0x89, 0x1f, 0xff, 0x33, 0xd8, 0xee, 0x5d, 0x36, 0x06, 0x76, 0x70, 0xd9, 0xf4, 0x7c,
+ 0x72, 0x79, 0xe7, 0x69, 0xc3, 0x19, 0x6c, 0x19, 0x4f, 0x5f, 0xee, 0x51, 0xa0, 0x11, 0x12, 0x6b,
+ 0x69, 0xe0, 0x7b, 0xa1, 0x87, 0x9e, 0x89, 0x91, 0x2c, 0x45, 0x6d, 0xe3, 0x7f, 0x06, 0xdb, 0xbd,
+ 0x25, 0x8a, 0x64, 0x89, 0x22, 0x59, 0x8a, 0x90, 0x5c, 0x68, 0x1e, 0x8b, 0xf2, 0x06, 0x09, 0xb3,
+ 0x84, 0x2f, 0xfc, 0x94, 0x8a, 0xc3, 0xeb, 0x79, 0x97, 0x59, 0xf1, 0xc6, 0x70, 0x93, 0xfd, 0x62,
+ 0x3f, 0xd8, 0x7f, 0xa2, 0xfa, 0x53, 0xdb, 0xef, 0x0e, 0x96, 0x6c, 0x8f, 0x22, 0xbe, 0x6c, 0x0c,
+ 0x43, 0x2f, 0x30, 0x0d, 0xc7, 0x76, 0x7b, 0x97, 0x77, 0xb2, 0x98, 0x75, 0xa5, 0xaa, 0xe8, 0xc2,
+ 0xa1, 0x75, 0xfc, 0x0d, 0xc3, 0xcc, 0xab, 0xf3, 0xce, 0xb8, 0x4e, 0xdf, 0x30, 0xb7, 0x6c, 0x97,
+ 0xf8, 0x7b, 0xd1, 0xe0, 0x2e, 0xfb, 0x24, 0xf0, 0x86, 0xbe, 0x49, 0x8e, 0xd5, 0x2a, 0xb8, 0xdc,
+ 0x27, 0xa1, 0x91, 0x47, 0xeb, 0x72, 0x51, 0x2b, 0x7f, 0xe8, 0x86, 0x76, 0x3f, 0x4b, 0xe6, 0x67,
+ 0x8e, 0x6a, 0x10, 0x98, 0x5b, 0xa4, 0x6f, 0x64, 0xda, 0x3d, 0x53, 0xd4, 0x6e, 0x18, 0xda, 0xce,
+ 0x65, 0xdb, 0x0d, 0x83, 0xd0, 0x4f, 0x37, 0xd2, 0xdf, 0x01, 0x13, 0xcb, 0x96, 0xe5, 0xb9, 0xe8,
+ 0x29, 0x98, 0x22, 0xae, 0xb1, 0xe1, 0x10, 0x6b, 0x41, 0x7b, 0x4c, 0x7b, 0xb2, 0xde, 0x3c, 0xf5,
+ 0xdd, 0xfd, 0xc5, 0x37, 0x1d, 0xec, 0x2f, 0x4e, 0xad, 0xf0, 0x62, 0x1c, 0xc1, 0xf5, 0x2f, 0xd4,
+ 0x60, 0x92, 0x35, 0x0a, 0xd0, 0xaf, 0x6a, 0x70, 0x66, 0x7b, 0xb8, 0x41, 0x7c, 0x97, 0x84, 0x24,
+ 0x68, 0x1b, 0xc1, 0xd6, 0x86, 0x67, 0xf8, 0x1c, 0x45, 0xe3, 0x1d, 0xd7, 0x96, 0x4a, 0x2c, 0xc1,
+ 0xa5, 0xeb, 0x59, 0x7c, 0xcd, 0x87, 0x0e, 0xf6, 0x17, 0xcf, 0xe4, 0x00, 0x70, 0x1e, 0x75, 0x74,
+ 0x07, 0x66, 0xdc, 0x9e, 0xed, 0xee, 0x76, 0xdc, 0x9e, 0x4f, 0x82, 0x60, 0xa1, 0xc6, 0x7a, 0xb3,
+ 0x5c, 0xaa, 0x37, 0x37, 0x15, 0x44, 0xcd, 0xd3, 0x07, 0xfb, 0x8b, 0x33, 0x6a, 0x09, 0x4e, 0x10,
+ 0xd2, 0xbf, 0xa5, 0xc1, 0xa9, 0x65, 0xab, 0x6f, 0x07, 0x81, 0xed, 0xb9, 0x6b, 0xce, 0xb0, 0x67,
+ 0xbb, 0xe8, 0x31, 0x18, 0x77, 0x8d, 0x3e, 0x61, 0x53, 0x32, 0xdd, 0x9c, 0x11, 0xb3, 0x3a, 0x7e,
+ 0xd3, 0xe8, 0x13, 0xcc, 0x20, 0xe8, 0xfd, 0x30, 0x69, 0x7a, 0xee, 0xa6, 0xdd, 0x13, 0x1d, 0xfd,
+ 0xa9, 0x25, 0xfe, 0x25, 0x97, 0xd4, 0x2f, 0xc9, 0xfa, 0x27, 0x56, 0xc0, 0x12, 0x36, 0xee, 0xac,
+ 0xec, 0x86, 0xc4, 0xa5, 0x64, 0x9a, 0x70, 0xb0, 0xbf, 0x38, 0xd9, 0x62, 0x08, 0xb0, 0x40, 0x84,
+ 0x9e, 0x84, 0xba, 0x65, 0x07, 0xfc, 0x73, 0x8e, 0xb1, 0xcf, 0x39, 0x73, 0xb0, 0xbf, 0x58, 0x6f,
+ 0x8b, 0x32, 0x2c, 0xa1, 0xfa, 0x15, 0xa8, 0x2f, 0x3b, 0xc4, 0x0f, 0x6d, 0xb7, 0x87, 0x9e, 0x83,
+ 0x39, 0xd2, 0x37, 0x6c, 0x07, 0x13, 0x93, 0xd8, 0x3b, 0xc4, 0x0f, 0x16, 0xb4, 0xc7, 0xc6, 0x9e,
+ 0x9c, 0x6e, 0xa2, 0x83, 0xfd, 0xc5, 0xb9, 0x95, 0x04, 0x04, 0xa7, 0x6a, 0xea, 0x9f, 0xd2, 0xa0,
+ 0xb1, 0x3c, 0xb4, 0xec, 0x90, 0xf7, 0x04, 0x05, 0xd0, 0x30, 0xe8, 0xcf, 0x35, 0xcf, 0xb1, 0xcd,
+ 0x3d, 0xb1, 0x20, 0x5e, 0x2a, 0xf5, 0x09, 0x96, 0x63, 0x3c, 0xcd, 0x53, 0x07, 0xfb, 0x8b, 0x0d,
+ 0xa5, 0x00, 0xab, 0x54, 0xf4, 0x2d, 0x50, 0x61, 0xe8, 0x55, 0x98, 0xe1, 0xf3, 0xb1, 0x6a, 0x0c,
+ 0x30, 0xd9, 0x14, 0x9d, 0x78, 0x8b, 0x32, 0xbd, 0x11, 0xa5, 0xa5, 0x5b, 0x1b, 0x1f, 0x23, 0x66,
+ 0x88, 0xc9, 0x26, 0xf1, 0x89, 0x6b, 0x12, 0xfe, 0xa5, 0x5b, 0x4a, 0x63, 0x9c, 0x40, 0xa5, 0xff,
+ 0x50, 0x83, 0xd3, 0xcb, 0x3b, 0x86, 0xed, 0x18, 0x1b, 0xb6, 0x63, 0x87, 0x7b, 0x1f, 0xf4, 0x5c,
+ 0x32, 0xc2, 0xa7, 0x5e, 0x87, 0x87, 0x86, 0xae, 0xc1, 0xdb, 0x39, 0x64, 0x95, 0x7f, 0xdc, 0xdb,
+ 0x7b, 0x03, 0x42, 0x17, 0x29, 0x9d, 0xea, 0x47, 0x0e, 0xf6, 0x17, 0x1f, 0x5a, 0xcf, 0xaf, 0x82,
+ 0x8b, 0xda, 0x22, 0x0c, 0xe7, 0x15, 0xd0, 0xcb, 0x9e, 0x33, 0xec, 0x0b, 0xac, 0x63, 0x0c, 0xeb,
+ 0x85, 0x83, 0xfd, 0xc5, 0xf3, 0xeb, 0xb9, 0x35, 0x70, 0x41, 0x4b, 0xfd, 0x7b, 0x35, 0x98, 0x69,
+ 0x1a, 0xe6, 0xf6, 0x70, 0xd0, 0x1c, 0x9a, 0xdb, 0x24, 0x44, 0x1f, 0x85, 0x3a, 0xe5, 0x71, 0x96,
+ 0x11, 0x1a, 0x62, 0x26, 0x7f, 0xba, 0x70, 0xa1, 0xb2, 0xaf, 0x48, 0x6b, 0xc7, 0x73, 0xbb, 0x4a,
+ 0x42, 0xa3, 0x89, 0xc4, 0x9c, 0x40, 0x5c, 0x86, 0x25, 0x56, 0xd4, 0x83, 0xf1, 0x60, 0x40, 0x4c,
+ 0xb1, 0x0d, 0x56, 0x4a, 0x2d, 0x16, 0xb5, 0xcb, 0xdd, 0x01, 0x31, 0xe3, 0xcf, 0x40, 0x7f, 0x61,
+ 0x46, 0x00, 0x79, 0x30, 0x19, 0x84, 0x46, 0x38, 0x0c, 0xd8, 0xe6, 0x68, 0xbc, 0xe3, 0x6a, 0x75,
+ 0x52, 0x0c, 0x5d, 0x73, 0x4e, 0x10, 0x9b, 0xe4, 0xbf, 0xb1, 0x20, 0xa3, 0xff, 0x40, 0x83, 0xd3,
+ 0x6a, 0xf5, 0x1b, 0x76, 0x10, 0xa2, 0x9f, 0xcb, 0x4c, 0xe8, 0xd2, 0x68, 0x13, 0x4a, 0x5b, 0xb3,
+ 0xe9, 0x3c, 0x2d, 0xc8, 0xd5, 0xa3, 0x12, 0x65, 0x32, 0x37, 0x61, 0xc2, 0x0e, 0x49, 0x9f, 0x2f,
+ 0xac, 0xb2, 0xdc, 0x4f, 0xed, 0x73, 0x73, 0x56, 0x50, 0x9b, 0xe8, 0x50, 0xbc, 0x98, 0xa3, 0xd7,
+ 0x3f, 0x0a, 0x67, 0xd5, 0x5a, 0x6b, 0xbe, 0xb7, 0x63, 0x5b, 0xc4, 0xa7, 0x9b, 0x21, 0xdc, 0x1b,
+ 0x64, 0x36, 0x03, 0x5d, 0x5c, 0x98, 0x41, 0xd0, 0x5b, 0x61, 0xd2, 0x27, 0x3d, 0xdb, 0x73, 0xd9,
+ 0x07, 0x9f, 0x8e, 0x27, 0x0f, 0xb3, 0x52, 0x2c, 0xa0, 0xfa, 0x7f, 0xaa, 0x25, 0x27, 0x8f, 0x7e,
+ 0x48, 0x74, 0x07, 0xea, 0x03, 0x41, 0x4a, 0x4c, 0x5e, 0xa7, 0xf2, 0x08, 0xa3, 0xbe, 0xc7, 0xf3,
+ 0x1a, 0x95, 0x60, 0x49, 0x0c, 0xd9, 0x30, 0x17, 0xfd, 0xdf, 0xaa, 0xc0, 0xb5, 0x19, 0x4f, 0x5d,
+ 0x4b, 0x20, 0xc2, 0x29, 0xc4, 0xe8, 0x36, 0x4c, 0x07, 0xc4, 0xf4, 0x09, 0xe5, 0x4b, 0x62, 0xa5,
+ 0xe6, 0x32, 0xaf, 0x6e, 0x54, 0x49, 0x30, 0xaf, 0x79, 0xd1, 0xfd, 0x69, 0x09, 0xc0, 0x31, 0x22,
+ 0xf4, 0x28, 0x8c, 0x07, 0x84, 0x58, 0x0b, 0xe3, 0x6c, 0xd2, 0xeb, 0x6c, 0x6b, 0x10, 0x62, 0x61,
+ 0x56, 0xaa, 0x7f, 0x7d, 0x1c, 0x50, 0x76, 0x61, 0xab, 0xa3, 0xe6, 0x25, 0x62, 0xd2, 0xab, 0x8c,
+ 0x5a, 0xec, 0x91, 0x14, 0x62, 0xf4, 0x3a, 0xcc, 0x3a, 0x46, 0x10, 0xde, 0x1a, 0x50, 0x41, 0x25,
+ 0x5a, 0x1d, 0x8d, 0x77, 0x34, 0x4b, 0x7d, 0xde, 0x1b, 0x2a, 0xa6, 0xe6, 0xfc, 0xc1, 0xfe, 0xe2,
+ 0x6c, 0xa2, 0x08, 0x27, 0x69, 0xa1, 0x6d, 0x98, 0xa6, 0x05, 0x2b, 0xbe, 0xef, 0xf9, 0x62, 0xca,
+ 0x5f, 0x2c, 0x4d, 0x98, 0x61, 0x69, 0xce, 0xd2, 0x2f, 0x21, 0x7f, 0xe2, 0x18, 0x3f, 0x7a, 0x1f,
+ 0x20, 0x6f, 0x23, 0x20, 0xfe, 0x0e, 0xb1, 0xae, 0x72, 0xb9, 0x8c, 0x0e, 0x97, 0x7e, 0x97, 0xb1,
+ 0xe6, 0x05, 0xf1, 0x0d, 0xd1, 0xad, 0x4c, 0x0d, 0x9c, 0xd3, 0x0a, 0x6d, 0x03, 0x92, 0xb2, 0x9d,
+ 0xfc, 0xec, 0x0b, 0x13, 0xa3, 0x2f, 0x9a, 0xf3, 0x94, 0xd8, 0xd5, 0x0c, 0x0a, 0x9c, 0x83, 0x56,
+ 0xff, 0xfd, 0x1a, 0x34, 0xf8, 0x22, 0x59, 0x71, 0x43, 0x7f, 0xef, 0x04, 0x8e, 0x86, 0xcd, 0xc4,
+ 0xd1, 0xd0, 0xae, 0xb0, 0xd5, 0x59, 0x8f, 0x0b, 0x4f, 0x06, 0x37, 0x75, 0x32, 0x5c, 0xa9, 0x4c,
+ 0xe9, 0xf0, 0x83, 0xe1, 0x8f, 0x35, 0x38, 0xa5, 0xd4, 0x3e, 0x81, 0x73, 0x81, 0x24, 0xcf, 0x85,
+ 0x97, 0xaa, 0x0e, 0xb0, 0xe0, 0x58, 0x30, 0x13, 0xe3, 0x62, 0x2c, 0xfb, 0x1d, 0x00, 0x1b, 0x8c,
+ 0xa7, 0xdc, 0x8c, 0x85, 0x24, 0xf9, 0xd5, 0x9b, 0x12, 0x82, 0x95, 0x5a, 0x92, 0x59, 0xd5, 0x72,
+ 0x99, 0xd5, 0x9f, 0x8e, 0xc1, 0x7c, 0x66, 0xae, 0xb3, 0x0c, 0x44, 0xfb, 0x71, 0x31, 0x90, 0xda,
+ 0x8f, 0x85, 0x81, 0x8c, 0x95, 0x62, 0x20, 0x4f, 0x42, 0x9d, 0xce, 0x29, 0xfb, 0x36, 0xfc, 0x68,
+ 0x60, 0x2a, 0x43, 0x57, 0x94, 0x61, 0x09, 0x45, 0x3e, 0xa0, 0xbe, 0xdd, 0xe3, 0xcd, 0xba, 0xa1,
+ 0xe1, 0x87, 0xb7, 0xed, 0x3e, 0x11, 0xac, 0xe6, 0xaf, 0x8e, 0xb6, 0x52, 0x69, 0x0b, 0xce, 0x71,
+ 0x56, 0x33, 0x98, 0x70, 0x0e, 0x76, 0xfd, 0xf7, 0x34, 0x18, 0x6b, 0xe1, 0x0e, 0x7a, 0x5b, 0x42,
+ 0xc4, 0x7e, 0x48, 0x15, 0xb1, 0xef, 0xed, 0x2f, 0x4e, 0xb5, 0x70, 0x47, 0x91, 0xb6, 0xff, 0x86,
+ 0x06, 0xf3, 0xa6, 0xe7, 0x86, 0x06, 0xed, 0x05, 0xe6, 0xe7, 0x51, 0xb4, 0xee, 0xcb, 0x49, 0x97,
+ 0xad, 0x14, 0xb6, 0xe6, 0xc3, 0xa2, 0x07, 0xf3, 0x69, 0x48, 0x80, 0xb3, 0xa4, 0xf5, 0x75, 0x98,
+ 0x6e, 0x39, 0xde, 0xd0, 0xea, 0xb8, 0x9b, 0xde, 0x7d, 0x14, 0x90, 0xfe, 0xa5, 0x06, 0x33, 0x0c,
+ 0xef, 0x9a, 0xef, 0x6d, 0xda, 0x0e, 0x79, 0x83, 0x88, 0xea, 0x6a, 0x97, 0x8b, 0x18, 0x32, 0x93,
+ 0x9c, 0xd5, 0x8a, 0x6f, 0x14, 0xc9, 0x59, 0xed, 0x73, 0x01, 0x8b, 0xfc, 0xf2, 0x54, 0x72, 0x68,
+ 0x8c, 0x49, 0x3e, 0x09, 0x75, 0xd3, 0x68, 0x0e, 0x5d, 0xcb, 0x91, 0x2b, 0x83, 0x76, 0xb3, 0xb5,
+ 0xcc, 0xcb, 0xb0, 0x84, 0xa2, 0xd7, 0x01, 0x62, 0xe3, 0x87, 0xf8, 0x10, 0x57, 0x2b, 0x5a, 0x5c,
+ 0xba, 0x24, 0x0c, 0x6d, 0xb7, 0x17, 0xc4, 0x5f, 0x3f, 0x86, 0x61, 0x85, 0x1c, 0xfa, 0x79, 0x98,
+ 0x15, 0xd3, 0xdc, 0xe9, 0x1b, 0x3d, 0xa1, 0x68, 0x96, 0x9d, 0xab, 0x55, 0x05, 0x53, 0xf3, 0x9c,
+ 0xa0, 0x3c, 0xab, 0x96, 0x06, 0x38, 0x49, 0x0e, 0xdd, 0x85, 0x99, 0xbe, 0xaa, 0x3d, 0x8f, 0x57,
+ 0x38, 0xcc, 0x14, 0x55, 0xba, 0x79, 0x56, 0x50, 0x9f, 0x49, 0x28, 0xde, 0x09, 0x5a, 0x39, 0x1a,
+ 0xc0, 0xc4, 0x83, 0xd2, 0x00, 0x36, 0x61, 0x8a, 0xef, 0xf1, 0x60, 0x61, 0x92, 0x8d, 0xf0, 0x3d,
+ 0xa5, 0x46, 0xc8, 0xf9, 0x45, 0x6c, 0xd2, 0xe3, 0xbf, 0x03, 0x1c, 0x21, 0x47, 0x77, 0x60, 0x86,
+ 0xb2, 0xf7, 0x2e, 0x71, 0x88, 0x19, 0x7a, 0xfe, 0xc2, 0x54, 0x05, 0x8b, 0x59, 0x57, 0x41, 0xc4,
+ 0xed, 0x28, 0x6a, 0x09, 0x4e, 0x10, 0x92, 0x4c, 0xb0, 0x5e, 0xc8, 0x04, 0x77, 0xa0, 0xb1, 0xa3,
+ 0x18, 0x34, 0xa6, 0xd9, 0x34, 0xbc, 0xb7, 0x54, 0xcf, 0x62, 0xf3, 0x46, 0xf3, 0x8c, 0xa0, 0xd4,
+ 0x50, 0x4d, 0x21, 0x2a, 0x21, 0x7d, 0xbf, 0x0e, 0xf3, 0x2d, 0x67, 0x18, 0x84, 0xc4, 0x5f, 0x16,
+ 0x56, 0x69, 0xe2, 0xa3, 0x4f, 0x69, 0x70, 0x9e, 0xfd, 0xdb, 0xf6, 0xee, 0xb8, 0x6d, 0xe2, 0x18,
+ 0x7b, 0xcb, 0x9b, 0xb4, 0x86, 0x65, 0x1d, 0x8f, 0x11, 0xb5, 0x87, 0x42, 0xa2, 0x60, 0xa6, 0x99,
+ 0x6e, 0x2e, 0x46, 0x5c, 0x40, 0x09, 0x7d, 0x5e, 0x83, 0x87, 0x73, 0x40, 0x6d, 0xe2, 0x90, 0x90,
+ 0x08, 0x4e, 0x70, 0xdc, 0x7e, 0x5c, 0x3c, 0xd8, 0x5f, 0x7c, 0xb8, 0x5b, 0x84, 0x14, 0x17, 0xd3,
+ 0xa3, 0xa7, 0xec, 0x85, 0x1c, 0xe8, 0x15, 0xc3, 0x76, 0x86, 0x3e, 0x11, 0x72, 0xf4, 0x71, 0xbb,
+ 0x73, 0xe9, 0x60, 0x7f, 0xf1, 0x42, 0xb7, 0x10, 0x2b, 0x3e, 0x84, 0x22, 0xfa, 0x04, 0x9c, 0x93,
+ 0xd0, 0x75, 0xd7, 0x25, 0xc4, 0x22, 0x16, 0x13, 0x51, 0xc6, 0x4b, 0x75, 0xe5, 0xe1, 0x83, 0xfd,
+ 0xc5, 0x73, 0xdd, 0x3c, 0x84, 0x38, 0x9f, 0x0e, 0xea, 0xc1, 0xc5, 0x18, 0x10, 0xda, 0x8e, 0x7d,
+ 0x97, 0x61, 0xba, 0xbd, 0xe5, 0x93, 0x60, 0xcb, 0x73, 0x2c, 0xc6, 0x2f, 0xb4, 0xe6, 0x9b, 0x0f,
+ 0xf6, 0x17, 0x2f, 0x76, 0x0f, 0xab, 0x88, 0x0f, 0xc7, 0x83, 0x2c, 0x98, 0x09, 0x4c, 0xc3, 0xed,
+ 0xb8, 0x21, 0xf1, 0x77, 0x0c, 0x67, 0x61, 0xb2, 0xd4, 0x00, 0xf9, 0x1e, 0x55, 0xf0, 0xe0, 0x04,
+ 0x56, 0xf4, 0x6e, 0xa8, 0x93, 0xdd, 0x81, 0xe1, 0x5a, 0x84, 0x33, 0x86, 0xe9, 0xe6, 0xa3, 0xf4,
+ 0x48, 0x5a, 0x11, 0x65, 0xf7, 0xf6, 0x17, 0x67, 0xa2, 0xff, 0x57, 0x3d, 0x8b, 0x60, 0x59, 0x1b,
+ 0x7d, 0x1c, 0xce, 0xf6, 0x8d, 0xdd, 0x9b, 0x9e, 0x45, 0x18, 0x9f, 0xa3, 0x6c, 0x8f, 0x7d, 0x88,
+ 0x7a, 0xa9, 0x7e, 0x2e, 0x1c, 0xec, 0x2f, 0x9e, 0x5d, 0xcd, 0xc1, 0x87, 0x73, 0xa9, 0xd0, 0xcf,
+ 0xd0, 0x37, 0x76, 0xaf, 0xfa, 0x86, 0x49, 0x36, 0x87, 0xce, 0x6d, 0xe2, 0xf7, 0x6d, 0x97, 0x8b,
+ 0x95, 0xc4, 0xf4, 0x5c, 0x8b, 0xf2, 0x12, 0xed, 0xc9, 0x09, 0xfe, 0x19, 0x56, 0x0f, 0xab, 0x88,
+ 0x0f, 0xc7, 0x83, 0xde, 0x09, 0x33, 0x76, 0xcf, 0xf5, 0x7c, 0x72, 0xdb, 0xb0, 0xdd, 0x30, 0x58,
+ 0x00, 0x66, 0x74, 0x65, 0xd3, 0xda, 0x51, 0xca, 0x71, 0xa2, 0x96, 0xfe, 0x9f, 0x35, 0x68, 0x08,
+ 0x06, 0xc3, 0xe4, 0x41, 0x13, 0x26, 0x4c, 0x2a, 0x0d, 0x08, 0x46, 0xf2, 0x62, 0x79, 0xb1, 0x83,
+ 0xa2, 0x8b, 0x65, 0x0e, 0x56, 0x84, 0x39, 0x6e, 0x74, 0x27, 0x47, 0x68, 0x68, 0x55, 0x14, 0x1a,
+ 0x18, 0xb9, 0x23, 0x04, 0x06, 0x7d, 0x7f, 0x0c, 0xa6, 0x5b, 0x9e, 0x6b, 0xd9, 0x4c, 0xd9, 0x78,
+ 0x3a, 0x21, 0xfb, 0x5e, 0x54, 0xd9, 0xfe, 0xbd, 0xfd, 0xc5, 0x59, 0x59, 0x51, 0x39, 0x07, 0x9e,
+ 0x95, 0x9a, 0x39, 0x17, 0x86, 0xdf, 0x9c, 0xd4, 0xa8, 0xef, 0xed, 0x2f, 0x9e, 0x92, 0xcd, 0x92,
+ 0x4a, 0x36, 0xda, 0x01, 0x44, 0x75, 0xa6, 0xdb, 0xbe, 0xe1, 0x06, 0x1c, 0x2d, 0x5d, 0x84, 0x63,
+ 0xc7, 0x56, 0x58, 0xa4, 0x4a, 0x75, 0x23, 0x83, 0x0d, 0xe7, 0x50, 0x40, 0x1f, 0x83, 0x39, 0x5a,
+ 0xba, 0x3e, 0xb0, 0x8c, 0x90, 0x28, 0x1c, 0xe8, 0x58, 0x4a, 0x92, 0xa0, 0x39, 0x77, 0x23, 0x81,
+ 0x09, 0xa7, 0x30, 0x73, 0x5d, 0xc1, 0x08, 0x3c, 0x97, 0x31, 0x97, 0x84, 0xae, 0x40, 0x4b, 0xb1,
+ 0x80, 0xa2, 0xa7, 0x60, 0xaa, 0x4f, 0x82, 0xc0, 0xe8, 0x11, 0xc6, 0x2d, 0xa6, 0x63, 0xa1, 0x60,
+ 0x95, 0x17, 0xe3, 0x08, 0x8e, 0xde, 0x0e, 0x13, 0xa6, 0x67, 0x91, 0x60, 0x61, 0x8a, 0xad, 0xe7,
+ 0xf3, 0x6c, 0x31, 0xd1, 0x82, 0x7b, 0xfb, 0x8b, 0xd3, 0x4c, 0x01, 0xa5, 0xbf, 0x30, 0xaf, 0xa4,
+ 0xff, 0x1a, 0x15, 0xd4, 0x53, 0x1a, 0x4f, 0xd1, 0x8d, 0x08, 0xff, 0xac, 0x4c, 0x47, 0x3b, 0x39,
+ 0x73, 0xaa, 0xfe, 0x2b, 0x35, 0x38, 0x4b, 0x7b, 0xe8, 0x7b, 0x8e, 0x43, 0x4f, 0xaf, 0x81, 0xe3,
+ 0xed, 0xf5, 0x89, 0x7b, 0x12, 0x37, 0x1b, 0x91, 0x98, 0x53, 0x2b, 0x14, 0x73, 0xfa, 0x99, 0x79,
+ 0x18, 0x2b, 0x33, 0x0f, 0x72, 0xb9, 0x1c, 0x31, 0x17, 0x7f, 0xa6, 0xc1, 0x42, 0xde, 0x5c, 0x9c,
+ 0x80, 0x7a, 0xe5, 0x26, 0xd5, 0xab, 0x4e, 0x69, 0x45, 0x3c, 0xdd, 0xf7, 0x02, 0x35, 0xeb, 0xcf,
+ 0x6a, 0x70, 0x3e, 0xae, 0xde, 0x71, 0x83, 0xd0, 0x70, 0x1c, 0x6e, 0xf3, 0x78, 0xf0, 0x1f, 0xfe,
+ 0xb5, 0x84, 0x9e, 0x7c, 0xab, 0xe2, 0x58, 0xd5, 0xce, 0x17, 0x9a, 0x30, 0xf7, 0x52, 0x26, 0xcc,
+ 0xf7, 0xdf, 0x4f, 0xa2, 0x87, 0x5b, 0x33, 0xff, 0x8b, 0x06, 0x17, 0xf2, 0x1b, 0x9e, 0xc0, 0xba,
+ 0x1a, 0x24, 0xd7, 0xd5, 0xf5, 0xfb, 0x38, 0xec, 0x82, 0x95, 0xf5, 0xed, 0x5a, 0xd1, 0x70, 0x99,
+ 0x2a, 0xbf, 0x09, 0xa7, 0xa8, 0x7e, 0x15, 0x84, 0xc2, 0xea, 0x76, 0xbc, 0x1b, 0xe8, 0xc8, 0xb6,
+ 0x75, 0x0a, 0x27, 0x71, 0xe0, 0x34, 0x52, 0x74, 0x13, 0xa6, 0xa8, 0x4e, 0x45, 0xf1, 0xd7, 0x46,
+ 0xc7, 0x2f, 0xf9, 0x7e, 0x97, 0xb7, 0xc5, 0x11, 0x12, 0xf4, 0x73, 0x30, 0x6b, 0xc9, 0x4d, 0x75,
+ 0xc4, 0xd5, 0x53, 0x1a, 0x2b, 0x33, 0x90, 0xb6, 0xd5, 0xd6, 0x38, 0x89, 0x4c, 0xff, 0x3f, 0x1a,
+ 0x3c, 0x7a, 0xd8, 0xe2, 0x42, 0x3e, 0x80, 0x19, 0x1d, 0xe4, 0xdc, 0x03, 0xa1, 0xb4, 0x30, 0x14,
+ 0xa1, 0x89, 0x37, 0xa9, 0x2c, 0x0a, 0xb0, 0x42, 0x25, 0xe7, 0x7a, 0xab, 0xf6, 0x80, 0xae, 0xb7,
+ 0xf4, 0xff, 0xaa, 0xa9, 0xec, 0x48, 0xfd, 0xb8, 0x6f, 0x38, 0x76, 0xa4, 0x76, 0xbe, 0xd0, 0x80,
+ 0xf7, 0x47, 0x35, 0x78, 0x2c, 0xbf, 0x89, 0x72, 0x02, 0xbf, 0x04, 0x93, 0x03, 0xee, 0x28, 0x32,
+ 0xc6, 0x4e, 0xc8, 0x27, 0x29, 0x73, 0xe1, 0x5e, 0x1c, 0xf7, 0xf6, 0x17, 0x2f, 0xe4, 0x71, 0x7b,
+ 0xe1, 0xff, 0x21, 0xda, 0x21, 0x3b, 0x65, 0xc1, 0xe0, 0x92, 0xd6, 0x33, 0x23, 0xf2, 0x17, 0x63,
+ 0x83, 0x38, 0x23, 0xdb, 0x2c, 0x3e, 0xa5, 0xc1, 0x5c, 0x62, 0x4d, 0x07, 0x0b, 0x13, 0x6c, 0x95,
+ 0x96, 0xbb, 0x61, 0x48, 0xec, 0x96, 0xf8, 0x00, 0x4f, 0x14, 0x07, 0x38, 0x45, 0x31, 0xc5, 0x6a,
+ 0xd5, 0x69, 0x7d, 0xe3, 0xb1, 0x5a, 0xb5, 0xf7, 0x05, 0xac, 0xf6, 0xab, 0xb5, 0xa2, 0xe1, 0x32,
+ 0x56, 0xbb, 0x0b, 0xd3, 0x91, 0xdb, 0x5e, 0xc4, 0x32, 0xae, 0x56, 0xee, 0x14, 0xc7, 0x17, 0xdf,
+ 0xa6, 0x47, 0x25, 0x01, 0x8e, 0x89, 0xa1, 0xcf, 0x68, 0x00, 0xf1, 0xa7, 0x11, 0x1b, 0x6b, 0xfd,
+ 0x3e, 0x4e, 0x88, 0x22, 0xdf, 0xcc, 0xd1, 0x7d, 0xad, 0xac, 0x0b, 0x85, 0xb0, 0xfe, 0xad, 0x1a,
+ 0xa0, 0x6c, 0xe7, 0xa9, 0xe0, 0xb9, 0x6d, 0xbb, 0x56, 0x5a, 0x00, 0xbf, 0x6e, 0xbb, 0x16, 0x66,
+ 0x90, 0x11, 0x44, 0xd3, 0x17, 0xe0, 0x54, 0xcf, 0xf1, 0x36, 0x0c, 0xc7, 0xd9, 0x13, 0xbe, 0x80,
+ 0xc2, 0xa7, 0xec, 0x0c, 0x3d, 0x9e, 0xae, 0x26, 0x41, 0x38, 0x5d, 0x17, 0x0d, 0xe0, 0xb4, 0x4f,
+ 0x15, 0x65, 0xd3, 0x76, 0x98, 0xaa, 0xe2, 0x0d, 0xc3, 0x92, 0x96, 0x98, 0xb3, 0x07, 0xfb, 0x8b,
+ 0xa7, 0x71, 0x0a, 0x17, 0xce, 0x60, 0x47, 0x4f, 0xc0, 0xd4, 0xc0, 0xb7, 0xfb, 0x86, 0xbf, 0xc7,
+ 0x94, 0xa1, 0x7a, 0xb3, 0x41, 0xcf, 0xb9, 0x35, 0x5e, 0x84, 0x23, 0x98, 0xfe, 0x19, 0x0d, 0xa6,
+ 0x5a, 0x9e, 0x4f, 0xda, 0x37, 0xbb, 0xe8, 0x2e, 0x34, 0x14, 0xdf, 0x53, 0xb1, 0x65, 0xca, 0x2e,
+ 0x21, 0x86, 0x72, 0x39, 0x46, 0x17, 0x79, 0xad, 0xc9, 0x02, 0xac, 0x12, 0xd3, 0xd7, 0xe8, 0x97,
+ 0x4b, 0xb7, 0x41, 0xcf, 0xc1, 0x78, 0xdf, 0xb3, 0x22, 0xd5, 0xe9, 0xad, 0xd1, 0x77, 0x59, 0xf5,
+ 0x2c, 0xaa, 0x22, 0x9f, 0xcf, 0xb6, 0x60, 0xb6, 0x17, 0xd6, 0x46, 0xff, 0x8a, 0x06, 0x63, 0x74,
+ 0x54, 0x3a, 0x4c, 0x5a, 0x5e, 0xdf, 0xb0, 0x5d, 0x81, 0x85, 0xb9, 0x0a, 0xb6, 0x59, 0x09, 0x16,
+ 0x10, 0xf4, 0x1a, 0x4c, 0x47, 0x27, 0x54, 0xb5, 0x3b, 0xe1, 0xf6, 0xcd, 0xae, 0x74, 0xa0, 0x91,
+ 0x7b, 0x26, 0x2a, 0x09, 0x70, 0x4c, 0x45, 0x37, 0x60, 0xbe, 0x7d, 0xb3, 0xdb, 0x71, 0x4d, 0x67,
+ 0x68, 0x91, 0x95, 0x5d, 0xf6, 0x87, 0x7e, 0x34, 0x9b, 0x97, 0x08, 0xaf, 0x43, 0xf6, 0xd1, 0x44,
+ 0x25, 0x1c, 0xc1, 0x68, 0x35, 0xc2, 0x5b, 0x08, 0x8f, 0x39, 0x56, 0x4d, 0x20, 0xc1, 0x11, 0x4c,
+ 0xff, 0x93, 0x1a, 0x34, 0x94, 0x0e, 0xa1, 0x3e, 0x4c, 0xf1, 0xf1, 0x46, 0x8e, 0x2b, 0x57, 0xca,
+ 0x8e, 0x31, 0xd9, 0x6d, 0x4e, 0x9e, 0x4f, 0x69, 0x80, 0x23, 0x1a, 0xea, 0x0a, 0xac, 0x15, 0xaf,
+ 0x40, 0xb4, 0x04, 0xc0, 0xfd, 0x72, 0xd8, 0xad, 0x2b, 0x3f, 0xfa, 0xd8, 0x26, 0xef, 0xca, 0x52,
+ 0xac, 0xd4, 0x40, 0x8f, 0x8a, 0xbd, 0xaa, 0xb8, 0xee, 0x28, 0xfb, 0xb4, 0x07, 0x13, 0x77, 0x3d,
+ 0x97, 0x04, 0xe2, 0x3a, 0xe2, 0x7e, 0x8d, 0x70, 0x9a, 0x32, 0xe3, 0x0f, 0x52, 0xc4, 0x98, 0xe3,
+ 0xd7, 0x7f, 0x5d, 0x03, 0x68, 0x1b, 0xa1, 0xc1, 0x6d, 0xe7, 0x23, 0xb8, 0x3d, 0x3e, 0x9a, 0xe0,
+ 0x31, 0xf5, 0xcc, 0x35, 0xe7, 0x78, 0x60, 0xdf, 0x8d, 0xc6, 0x2f, 0x05, 0x18, 0x8e, 0xbd, 0x6b,
+ 0xdf, 0x25, 0x98, 0xc1, 0xd1, 0xdb, 0x60, 0x9a, 0xb8, 0xa6, 0xbf, 0x37, 0x08, 0x85, 0xf7, 0x52,
+ 0x9d, 0x5f, 0x8d, 0xaf, 0x44, 0x85, 0x38, 0x86, 0xeb, 0x4f, 0x43, 0x52, 0x0c, 0x3d, 0xba, 0x97,
+ 0xfa, 0x0e, 0xd4, 0x57, 0x5c, 0x6b, 0xe0, 0xd9, 0x6e, 0x38, 0xc2, 0x98, 0x2e, 0xc2, 0xd8, 0xd0,
+ 0x77, 0xc4, 0x90, 0x1a, 0xa2, 0xc2, 0xd8, 0x3a, 0xbe, 0x81, 0x69, 0x39, 0x7a, 0x0a, 0xa6, 0x06,
+ 0x43, 0x7f, 0xe0, 0x05, 0xd1, 0xb8, 0xa4, 0xbc, 0xbd, 0xc6, 0x8b, 0x71, 0x04, 0xd7, 0xef, 0x69,
+ 0x70, 0x7a, 0x65, 0x77, 0x60, 0xfb, 0xcc, 0x05, 0x93, 0xf8, 0x54, 0x94, 0xa4, 0xed, 0x77, 0xf8,
+ 0xbf, 0xa2, 0x0f, 0xb2, 0xbd, 0xa8, 0x81, 0x23, 0x38, 0xda, 0x84, 0x39, 0xc2, 0x9a, 0xb3, 0xe3,
+ 0xc2, 0x90, 0x57, 0x00, 0xc7, 0x31, 0x33, 0x71, 0x17, 0xdf, 0x04, 0x16, 0x9c, 0xc2, 0x8a, 0xba,
+ 0x30, 0x67, 0x3a, 0x46, 0x10, 0xd8, 0x9b, 0xb6, 0x19, 0x7b, 0x1a, 0x4c, 0x37, 0xdf, 0x46, 0xdb,
+ 0xb6, 0x12, 0x90, 0x7b, 0xfb, 0x8b, 0xe7, 0x44, 0x3f, 0x93, 0x00, 0x9c, 0x42, 0xa1, 0x7f, 0xa9,
+ 0x06, 0xb3, 0x2b, 0xbb, 0x03, 0x2f, 0x18, 0xfa, 0x84, 0x55, 0x3d, 0x01, 0x29, 0xf8, 0x29, 0x98,
+ 0xda, 0x32, 0x5c, 0xcb, 0x21, 0xbe, 0xf8, 0x7c, 0x72, 0x6e, 0xaf, 0xf1, 0x62, 0x1c, 0xc1, 0xd1,
+ 0xc7, 0x01, 0x02, 0x73, 0x8b, 0x58, 0x43, 0x76, 0x2c, 0x70, 0x45, 0xe8, 0x46, 0xa9, 0x8d, 0x95,
+ 0x18, 0x64, 0x57, 0xe2, 0x14, 0xfb, 0x5d, 0xfe, 0xc6, 0x0a, 0x3d, 0xfd, 0x4f, 0x34, 0x98, 0x4f,
+ 0xb4, 0x3b, 0x01, 0xd9, 0xae, 0x97, 0x94, 0xed, 0x9a, 0xd5, 0x07, 0x5b, 0x20, 0xd2, 0x7d, 0xae,
+ 0x06, 0x0f, 0x15, 0x4c, 0x4a, 0xe6, 0x3e, 0x52, 0x3b, 0xa9, 0xfb, 0xc8, 0x1d, 0x68, 0x84, 0x9e,
+ 0x23, 0x7c, 0x62, 0xa2, 0x39, 0x28, 0x77, 0xdb, 0x78, 0x5b, 0xe2, 0x89, 0x6f, 0x1b, 0xe3, 0xb2,
+ 0x00, 0xab, 0x84, 0xf4, 0xdf, 0xd5, 0x60, 0x5a, 0xea, 0x91, 0x23, 0xb8, 0x86, 0x9c, 0xa0, 0x17,
+ 0xea, 0xe8, 0x6f, 0x09, 0xfe, 0x69, 0x0d, 0xce, 0x4b, 0xdc, 0x91, 0x08, 0x4a, 0xd5, 0xde, 0x51,
+ 0xe4, 0xd0, 0x47, 0x05, 0xc7, 0x55, 0xce, 0x08, 0x85, 0xdb, 0x3e, 0x91, 0x66, 0xa7, 0x8d, 0x3c,
+ 0x56, 0x8a, 0x6e, 0xc2, 0x44, 0x40, 0xe9, 0x09, 0x01, 0xf3, 0x98, 0xb3, 0xc1, 0x4e, 0x3a, 0xd6,
+ 0x5f, 0xcc, 0xd1, 0xa0, 0xd7, 0x55, 0xbd, 0x82, 0x2b, 0x79, 0xef, 0x3b, 0xde, 0x62, 0x60, 0x4f,
+ 0xa4, 0x96, 0xe8, 0x48, 0xac, 0x68, 0x46, 0x72, 0x1c, 0x75, 0xf3, 0x54, 0x0b, 0x3d, 0x80, 0xfa,
+ 0x55, 0x81, 0x16, 0x5d, 0x80, 0x9a, 0x1d, 0xcd, 0x1e, 0x88, 0x56, 0xb5, 0x4e, 0x1b, 0xd7, 0x6c,
+ 0x4b, 0x9e, 0x55, 0xb5, 0xc2, 0xb3, 0x4a, 0x39, 0x4c, 0xc6, 0x0e, 0x3f, 0x4c, 0xf4, 0x7f, 0x5f,
+ 0x83, 0xb3, 0x11, 0xd5, 0xa8, 0x57, 0x6d, 0x61, 0xc2, 0x3e, 0xe2, 0x44, 0x3c, 0x5a, 0x93, 0xb8,
+ 0x05, 0xe3, 0x8c, 0x6b, 0x95, 0x32, 0x6d, 0x4b, 0x84, 0xb4, 0x3b, 0x98, 0x21, 0x42, 0x7f, 0x0d,
+ 0x26, 0x1d, 0xaa, 0xbb, 0x47, 0x0e, 0x20, 0xe5, 0x14, 0xaf, 0xbc, 0xf1, 0x72, 0x9b, 0x40, 0xc0,
+ 0x5d, 0x1c, 0xa5, 0xbd, 0x93, 0x17, 0x62, 0x41, 0xf4, 0xc2, 0xb3, 0xd0, 0x50, 0xaa, 0xa1, 0xd3,
+ 0x30, 0xb6, 0x4d, 0xf8, 0x5b, 0x97, 0x69, 0x4c, 0xff, 0x45, 0x67, 0x61, 0x62, 0xc7, 0x70, 0x86,
+ 0x62, 0x4e, 0x30, 0xff, 0xf1, 0x5c, 0xed, 0xdd, 0x9a, 0xfe, 0x4d, 0x0d, 0x1a, 0xd7, 0xec, 0x0d,
+ 0xe2, 0xf3, 0xab, 0x44, 0x26, 0xd7, 0x26, 0xde, 0x5f, 0x35, 0xf2, 0xde, 0x5e, 0xa1, 0x3d, 0x98,
+ 0x16, 0xe7, 0x83, 0xf4, 0x64, 0x2b, 0xf7, 0xca, 0x4a, 0xa1, 0x2d, 0xf8, 0xae, 0xea, 0x37, 0x1e,
+ 0x91, 0xc0, 0x31, 0x35, 0xfd, 0x75, 0x38, 0x93, 0xd3, 0x08, 0x2d, 0xb2, 0x2d, 0xe7, 0x87, 0x62,
+ 0x61, 0x44, 0x7b, 0xc8, 0x0f, 0x31, 0x2f, 0x47, 0x0f, 0xc3, 0x18, 0x71, 0x23, 0x0f, 0xce, 0x29,
+ 0x2a, 0x24, 0xad, 0xb8, 0x16, 0xa6, 0x65, 0x94, 0xb5, 0x38, 0x5e, 0x42, 0x96, 0x60, 0xac, 0xe5,
+ 0x86, 0x28, 0xc3, 0x12, 0xaa, 0xff, 0x83, 0x71, 0xb8, 0x78, 0xcd, 0xf3, 0xed, 0xbb, 0x9e, 0x1b,
+ 0x1a, 0xce, 0x9a, 0x67, 0xc5, 0x3e, 0x19, 0x82, 0x4d, 0x7d, 0x46, 0x83, 0x87, 0xcc, 0xc1, 0xb0,
+ 0xe3, 0xda, 0xa1, 0x6d, 0x44, 0x57, 0xe5, 0x6b, 0xc4, 0xb7, 0xbd, 0xb2, 0xae, 0x19, 0xec, 0x2d,
+ 0x4e, 0x6b, 0x6d, 0x3d, 0x0f, 0x25, 0x2e, 0xa2, 0xc5, 0x3c, 0x44, 0x2c, 0xef, 0x8e, 0xcb, 0x3a,
+ 0xd7, 0x0d, 0xd9, 0xfb, 0xa0, 0xbb, 0xf1, 0x10, 0x4b, 0x7a, 0x88, 0xb4, 0x73, 0x31, 0xe2, 0x02,
+ 0x4a, 0xe8, 0x13, 0x70, 0xce, 0xe6, 0x9d, 0xc3, 0xc4, 0xb0, 0x6c, 0x97, 0x04, 0x01, 0xf3, 0x93,
+ 0xa8, 0xe2, 0x02, 0xd1, 0xc9, 0x43, 0x88, 0xf3, 0xe9, 0xa0, 0x0f, 0x03, 0x04, 0x7b, 0xae, 0x29,
+ 0xe6, 0x7f, 0xa2, 0x14, 0x55, 0x2e, 0x19, 0x49, 0x2c, 0x58, 0xc1, 0x48, 0x75, 0x01, 0x7e, 0x7c,
+ 0xba, 0x26, 0xbf, 0xc8, 0xd4, 0xb8, 0x2e, 0x70, 0x3b, 0x2a, 0xc4, 0x31, 0x5c, 0xff, 0x2d, 0x0d,
+ 0xa6, 0xc4, 0x13, 0x3d, 0xf4, 0xd6, 0x94, 0x4a, 0x2c, 0xb7, 0x76, 0x4a, 0x2d, 0xbe, 0xcb, 0xac,
+ 0xd0, 0xc2, 0x9c, 0x22, 0x0e, 0xd7, 0x72, 0x1a, 0x95, 0xa0, 0x1c, 0x1b, 0x67, 0x12, 0xd6, 0xe8,
+ 0xc8, 0x60, 0xa3, 0x50, 0xd3, 0xbf, 0xa6, 0xc1, 0x7c, 0xa6, 0xd5, 0x08, 0x47, 0xe8, 0x09, 0xde,
+ 0xa5, 0xfe, 0xb0, 0x01, 0xec, 0x3d, 0xe6, 0xf2, 0x5a, 0xa7, 0x4b, 0xfc, 0x1d, 0xb9, 0x0b, 0x3f,
+ 0xaf, 0xc1, 0xe9, 0xf8, 0xd6, 0x5f, 0xf4, 0x42, 0xab, 0xe0, 0x24, 0x7a, 0x3d, 0x85, 0xac, 0xb9,
+ 0x20, 0x06, 0x7e, 0x3a, 0x0d, 0xc1, 0x19, 0xc2, 0xe8, 0x73, 0x1a, 0x9c, 0x36, 0x92, 0xef, 0x31,
+ 0x23, 0xae, 0x59, 0xee, 0x09, 0x41, 0xea, 0x71, 0x67, 0xdc, 0x99, 0x14, 0x20, 0xc0, 0x19, 0xba,
+ 0xe8, 0x9d, 0x30, 0x63, 0x0c, 0xec, 0xe5, 0xa1, 0x65, 0xd3, 0xb3, 0x3f, 0x7a, 0x9a, 0xc7, 0x04,
+ 0xd2, 0xe5, 0xb5, 0x8e, 0x2c, 0xc7, 0x89, 0x5a, 0xf2, 0x1d, 0xa5, 0x98, 0xca, 0xf1, 0xaa, 0xef,
+ 0x28, 0xc5, 0x2c, 0xc6, 0xef, 0x28, 0xc5, 0xe4, 0xa9, 0x54, 0xd0, 0x87, 0xe0, 0x61, 0x7e, 0xe0,
+ 0x34, 0x8d, 0xc0, 0x36, 0x97, 0x87, 0xe1, 0x16, 0x71, 0xc3, 0x48, 0xe9, 0xe3, 0x26, 0x35, 0xe6,
+ 0x2f, 0xb6, 0x52, 0x54, 0x09, 0x17, 0xb7, 0x47, 0x1e, 0x80, 0x67, 0x5b, 0xa6, 0x18, 0x10, 0x77,
+ 0x59, 0x2a, 0x27, 0x61, 0xdf, 0xea, 0xb4, 0x5b, 0x62, 0x3c, 0x8c, 0x57, 0xc4, 0xbf, 0xb1, 0x42,
+ 0x02, 0x7d, 0x51, 0x83, 0x59, 0xb1, 0xd0, 0x05, 0xd1, 0x29, 0xb6, 0x04, 0x3e, 0x54, 0x7a, 0x41,
+ 0xa6, 0x56, 0xfd, 0x12, 0x56, 0xb1, 0x73, 0x91, 0x41, 0xba, 0xb1, 0x26, 0x60, 0x38, 0xd9, 0x11,
+ 0xf4, 0x05, 0x0d, 0xce, 0x06, 0xc4, 0xdf, 0xb1, 0x4d, 0xb2, 0x6c, 0x9a, 0xde, 0xd0, 0x8d, 0xbe,
+ 0x73, 0xbd, 0xc2, 0x93, 0xb6, 0x6e, 0x0e, 0x42, 0xee, 0x3c, 0x95, 0x07, 0xc1, 0xb9, 0x1d, 0x40,
+ 0xbf, 0xa8, 0xc1, 0xa9, 0x3b, 0x46, 0x68, 0x6e, 0xb5, 0x0c, 0x73, 0x8b, 0x59, 0x61, 0xb8, 0xbf,
+ 0x54, 0xd9, 0x9d, 0xf3, 0x4a, 0x12, 0x17, 0xb7, 0x1d, 0xa7, 0x0a, 0x71, 0x9a, 0x22, 0x0a, 0xa1,
+ 0xee, 0x93, 0xd7, 0x86, 0x24, 0x60, 0x5e, 0x55, 0xda, 0xf1, 0xc5, 0xef, 0xbc, 0x8f, 0x86, 0x05,
+ 0x46, 0x2e, 0x6c, 0x44, 0xbf, 0xb0, 0xa4, 0x84, 0x7a, 0x70, 0x91, 0x2f, 0xdf, 0x65, 0xd7, 0x73,
+ 0xf7, 0xfa, 0xde, 0x30, 0x48, 0x6d, 0x81, 0x06, 0xdb, 0x02, 0xcc, 0x71, 0x6c, 0xe5, 0xb0, 0x8a,
+ 0xf8, 0x70, 0x3c, 0xe8, 0x03, 0x50, 0x27, 0x3b, 0xc4, 0x0d, 0x6f, 0xdf, 0xbe, 0xb1, 0x30, 0x53,
+ 0xea, 0x8c, 0x64, 0x43, 0x58, 0x11, 0x38, 0xb0, 0xc4, 0x76, 0xe1, 0x25, 0x40, 0xd9, 0x45, 0x79,
+ 0x94, 0x80, 0x5a, 0x57, 0x05, 0xd4, 0xef, 0x68, 0x70, 0x2e, 0x77, 0xda, 0x10, 0x86, 0xf3, 0xcc,
+ 0xdf, 0xce, 0x5d, 0x1d, 0x86, 0x46, 0x68, 0xbb, 0xbd, 0x8e, 0xbb, 0xe9, 0xd8, 0xbd, 0x2d, 0x2e,
+ 0x02, 0x4e, 0x70, 0x81, 0x65, 0x35, 0xb7, 0x06, 0x2e, 0x68, 0x89, 0x3a, 0x70, 0xa6, 0x6f, 0xec,
+ 0x66, 0x10, 0xd6, 0x18, 0x42, 0xf6, 0xfa, 0x7f, 0x35, 0x0b, 0xc6, 0x79, 0x6d, 0xf4, 0xaf, 0x4c,
+ 0xc0, 0x23, 0xb4, 0xe3, 0xf1, 0xd1, 0xb9, 0x6a, 0xb8, 0x46, 0xef, 0x27, 0xf4, 0x88, 0xfa, 0xa6,
+ 0x06, 0x0f, 0x6d, 0xe5, 0x0b, 0xb6, 0xe2, 0xf4, 0xc6, 0xe5, 0xe4, 0xfb, 0xc3, 0x84, 0x65, 0xbe,
+ 0x74, 0x0f, 0xad, 0x82, 0x8b, 0x7a, 0x85, 0x5e, 0x82, 0xd3, 0xae, 0x67, 0x91, 0x56, 0xa7, 0x8d,
+ 0x57, 0x8d, 0x60, 0xbb, 0x1b, 0x99, 0x6e, 0x27, 0xf8, 0xfd, 0xcc, 0xcd, 0x14, 0x0c, 0x67, 0x6a,
+ 0xa3, 0x1d, 0x40, 0x03, 0xcf, 0x5a, 0xd9, 0xb1, 0xcd, 0xc8, 0x55, 0xae, 0xfc, 0x9d, 0x10, 0x7b,
+ 0x44, 0xb4, 0x96, 0xc1, 0x86, 0x73, 0x28, 0x30, 0xd1, 0x9c, 0x76, 0x66, 0xd5, 0x73, 0xed, 0xd0,
+ 0xf3, 0x99, 0x47, 0x67, 0x25, 0x09, 0x95, 0xad, 0xf4, 0x9b, 0xb9, 0x18, 0x71, 0x01, 0x25, 0xfd,
+ 0x7f, 0x68, 0x70, 0x8a, 0xae, 0x8b, 0x35, 0xdf, 0xdb, 0xdd, 0xfb, 0x89, 0x5c, 0x92, 0x4f, 0x89,
+ 0x9b, 0x27, 0xae, 0xb1, 0x9d, 0x53, 0x6e, 0x9d, 0xa6, 0x59, 0xa7, 0xe3, 0x8b, 0x26, 0x55, 0x6b,
+ 0x1d, 0x2b, 0xd6, 0x5a, 0xf5, 0x2f, 0xd6, 0xb8, 0xb4, 0x18, 0x29, 0x8d, 0x3f, 0x99, 0x5b, 0xf1,
+ 0x67, 0x61, 0x96, 0x96, 0xad, 0x1a, 0xbb, 0x6b, 0xed, 0x97, 0x3d, 0x27, 0x72, 0x34, 0x65, 0x2e,
+ 0x2d, 0xd7, 0x55, 0x00, 0x4e, 0xd6, 0x43, 0xcf, 0xc1, 0xd4, 0x80, 0x3f, 0xe1, 0x11, 0x5a, 0xec,
+ 0x63, 0xfc, 0xb6, 0x87, 0x15, 0xdd, 0xdb, 0x5f, 0x9c, 0x8f, 0x2d, 0x9b, 0xa2, 0x10, 0x47, 0x0d,
+ 0xf4, 0x6f, 0x9e, 0x02, 0x86, 0xdc, 0x21, 0xe1, 0x4f, 0xe4, 0xa4, 0x3c, 0x0d, 0x0d, 0x73, 0x30,
+ 0x6c, 0x5d, 0xe9, 0xbe, 0x7f, 0xe8, 0x85, 0x86, 0xb8, 0xcd, 0x62, 0xd2, 0x63, 0x6b, 0x6d, 0x3d,
+ 0x2a, 0xc6, 0x6a, 0x1d, 0xca, 0x20, 0xcc, 0xc1, 0x50, 0x30, 0xdd, 0x35, 0xd5, 0xad, 0x83, 0x31,
+ 0x88, 0xd6, 0xda, 0x7a, 0x02, 0x86, 0x33, 0xb5, 0xd1, 0x27, 0x35, 0x98, 0x21, 0x62, 0xf3, 0x5e,
+ 0x33, 0x7c, 0x4b, 0xf0, 0x86, 0xf2, 0x67, 0xbf, 0x9c, 0xdd, 0x88, 0x25, 0x70, 0xb9, 0x7b, 0x45,
+ 0xa1, 0x81, 0x13, 0x14, 0x99, 0x08, 0x2c, 0x7e, 0xd3, 0x0f, 0xed, 0x59, 0x69, 0x6e, 0x31, 0x21,
+ 0x44, 0xe0, 0xa2, 0x4a, 0xb8, 0xb8, 0x3d, 0xfa, 0x4d, 0x0d, 0xce, 0x4b, 0xa8, 0xed, 0xda, 0xfd,
+ 0x61, 0x1f, 0x13, 0xd3, 0x31, 0xec, 0xbe, 0x90, 0x87, 0x3f, 0x70, 0xff, 0x46, 0x9a, 0xc4, 0xcf,
+ 0x59, 0x56, 0x3e, 0x0c, 0x17, 0xf4, 0x09, 0x7d, 0x4d, 0x83, 0xc7, 0x22, 0xd0, 0x1a, 0xd5, 0x4a,
+ 0x87, 0x3e, 0x89, 0x5d, 0x9d, 0xc5, 0x9c, 0x4c, 0x95, 0xe2, 0xa0, 0x8f, 0x1f, 0xec, 0x2f, 0x3e,
+ 0xb6, 0x72, 0x04, 0x6e, 0x7c, 0x24, 0xf5, 0xc4, 0x8a, 0xe9, 0x7a, 0x9b, 0xa1, 0x10, 0xa0, 0x1f,
+ 0xd8, 0x8a, 0xa1, 0x34, 0x70, 0x82, 0x22, 0xfa, 0x96, 0x06, 0x0f, 0xa9, 0x05, 0xea, 0x82, 0xe1,
+ 0x92, 0xf3, 0xab, 0xf7, 0xaf, 0x37, 0x29, 0x02, 0xdc, 0x56, 0x55, 0x00, 0xc4, 0x45, 0xdd, 0xa2,
+ 0xec, 0xbb, 0xcf, 0x16, 0x27, 0x97, 0xae, 0x27, 0x38, 0xfb, 0xe6, 0xeb, 0x35, 0xc0, 0x11, 0x8c,
+ 0x6a, 0xae, 0x03, 0xcf, 0x5a, 0xb3, 0xad, 0xe0, 0x86, 0xdd, 0xb7, 0x43, 0x26, 0xfe, 0x8e, 0xf1,
+ 0xf9, 0x58, 0xf3, 0xac, 0xb5, 0x4e, 0x9b, 0x97, 0xe3, 0x44, 0x2d, 0xf6, 0x4a, 0xc9, 0xee, 0x1b,
+ 0x3d, 0xb2, 0x36, 0x74, 0x9c, 0x35, 0xdf, 0x63, 0xf6, 0x8c, 0x36, 0x31, 0x2c, 0xc7, 0x76, 0x49,
+ 0x49, 0x71, 0x97, 0x6d, 0xb9, 0x4e, 0x11, 0x52, 0x5c, 0x4c, 0x0f, 0x2d, 0x01, 0x6c, 0x1a, 0xb6,
+ 0xd3, 0xbd, 0x63, 0x0c, 0x6e, 0xb9, 0x0b, 0xb3, 0x8c, 0x8d, 0x31, 0xa5, 0xf1, 0x8a, 0x2c, 0xc5,
+ 0x4a, 0x0d, 0xb6, 0xa0, 0x28, 0x33, 0xc4, 0x84, 0xbf, 0x94, 0x5e, 0x98, 0xbb, 0x5f, 0x0b, 0x2a,
+ 0xc2, 0xc8, 0x27, 0xf0, 0xba, 0x42, 0x03, 0x27, 0x28, 0xa2, 0x5f, 0xd2, 0x60, 0x2e, 0xd8, 0x0b,
+ 0x42, 0xd2, 0x97, 0x9d, 0x38, 0x75, 0xdf, 0x3b, 0xc1, 0x8c, 0x3d, 0xdd, 0x04, 0x15, 0x9c, 0xa2,
+ 0x8a, 0x0c, 0x78, 0x84, 0x4d, 0xec, 0xd5, 0xd6, 0x35, 0xbb, 0xb7, 0x25, 0x9f, 0x1f, 0xad, 0x11,
+ 0xdf, 0x24, 0x6e, 0xb8, 0x70, 0x9a, 0x2d, 0x9d, 0xc5, 0x83, 0xfd, 0xc5, 0x47, 0x3a, 0xc5, 0xd5,
+ 0xf0, 0x61, 0x38, 0xd0, 0x87, 0xe1, 0x82, 0x00, 0xdf, 0xf0, 0xee, 0x64, 0x28, 0xcc, 0x33, 0x0a,
+ 0xec, 0x4d, 0x58, 0xa7, 0xb0, 0x16, 0x3e, 0x04, 0x03, 0xd5, 0x2f, 0x02, 0xe2, 0x33, 0x63, 0x2d,
+ 0x91, 0xeb, 0x27, 0x58, 0x40, 0x6c, 0x1d, 0x30, 0xfd, 0xa2, 0x9b, 0x05, 0xe3, 0xbc, 0x36, 0xfa,
+ 0x7e, 0x8d, 0x2b, 0x46, 0x99, 0x3d, 0x89, 0x5e, 0x80, 0x53, 0x7d, 0xd2, 0xf7, 0xfc, 0xbd, 0xe5,
+ 0x28, 0xa0, 0x92, 0x30, 0xd6, 0x31, 0x65, 0x77, 0x35, 0x09, 0xc2, 0xe9, 0xba, 0xf4, 0xdc, 0x64,
+ 0x23, 0xb8, 0xd2, 0x8d, 0xdb, 0xd7, 0xe2, 0x73, 0xb3, 0x93, 0x82, 0xe1, 0x4c, 0x6d, 0xd4, 0x82,
+ 0x79, 0x51, 0xd6, 0xa1, 0xd2, 0x67, 0x70, 0xc5, 0x27, 0x91, 0x48, 0x42, 0xc5, 0xb8, 0xf9, 0x4e,
+ 0x1a, 0x88, 0xb3, 0xf5, 0xe9, 0x28, 0xe8, 0x0f, 0xb5, 0x17, 0xe3, 0xf1, 0x28, 0x6e, 0x26, 0x41,
+ 0x38, 0x5d, 0x37, 0x52, 0x0f, 0x12, 0x5d, 0x98, 0x88, 0x47, 0x71, 0x33, 0x05, 0xc3, 0x99, 0xda,
+ 0xfa, 0xbf, 0x1a, 0x87, 0xb7, 0x8c, 0x70, 0x94, 0xa1, 0x7e, 0xfe, 0x74, 0x1f, 0xc1, 0x55, 0x96,
+ 0xa2, 0x0b, 0xb6, 0xa5, 0xf7, 0x0f, 0x0d, 0x37, 0xb4, 0xc3, 0xbd, 0x11, 0x3f, 0xcf, 0xa0, 0xe0,
+ 0xf3, 0x1c, 0x9f, 0xde, 0xa8, 0x9f, 0x33, 0x28, 0xfa, 0x9c, 0xc7, 0x27, 0x39, 0xfa, 0xe7, 0xef,
+ 0xe7, 0x7f, 0xfe, 0x92, 0xb3, 0x7a, 0xe4, 0x72, 0x19, 0x14, 0x2c, 0x97, 0x92, 0xb3, 0x3a, 0xc2,
+ 0xf2, 0xfa, 0xd7, 0xe3, 0xf0, 0xf8, 0x28, 0x67, 0x6a, 0xc9, 0xf5, 0x95, 0x73, 0x6a, 0x3d, 0xd0,
+ 0xf5, 0x55, 0xe4, 0x27, 0xf9, 0x00, 0xd7, 0x57, 0x0e, 0xc9, 0x07, 0xbd, 0xbe, 0x8a, 0x66, 0xf5,
+ 0x41, 0xad, 0xaf, 0xa2, 0x59, 0x1d, 0x61, 0x7d, 0xfd, 0xaf, 0xf4, 0xf9, 0x20, 0xcf, 0xd1, 0x0e,
+ 0x8c, 0x99, 0x83, 0x61, 0x49, 0x26, 0xc5, 0x6e, 0x4e, 0x5b, 0x6b, 0xeb, 0x98, 0xe2, 0x40, 0x18,
+ 0x26, 0xf9, 0xfa, 0x29, 0xc9, 0x82, 0x98, 0x27, 0x28, 0x5f, 0x92, 0x58, 0x60, 0xa2, 0x53, 0x45,
+ 0x06, 0x5b, 0xa4, 0x4f, 0x7c, 0xc3, 0xe9, 0x86, 0x9e, 0x6f, 0xf4, 0xca, 0x72, 0x1b, 0x36, 0x55,
+ 0x2b, 0x29, 0x5c, 0x38, 0x83, 0x9d, 0x4e, 0xc8, 0xc0, 0xb6, 0x4a, 0xf2, 0x17, 0x36, 0x21, 0x6b,
+ 0x9d, 0x36, 0xa6, 0x38, 0xf4, 0xdf, 0x9a, 0x06, 0xe5, 0xe9, 0x29, 0x55, 0xdf, 0x0c, 0xc7, 0xf1,
+ 0xee, 0xac, 0xf9, 0xf6, 0x8e, 0xed, 0x90, 0x1e, 0xb1, 0xe4, 0xdb, 0xc4, 0x40, 0x5c, 0xb0, 0x33,
+ 0x59, 0x72, 0xb9, 0xa8, 0x12, 0x2e, 0x6e, 0x4f, 0x25, 0xdb, 0x79, 0x33, 0x1d, 0x1a, 0xa0, 0xd2,
+ 0x1d, 0x61, 0x26, 0xd0, 0x00, 0xdf, 0x50, 0x99, 0x62, 0x9c, 0xa5, 0x8b, 0x7e, 0x41, 0xe3, 0x76,
+ 0x0b, 0x69, 0xa8, 0x15, 0x1f, 0xed, 0xda, 0xfd, 0xba, 0xde, 0x88, 0x2d, 0x20, 0xb1, 0x2d, 0x38,
+ 0x49, 0x11, 0xfd, 0xba, 0x06, 0xe7, 0xb6, 0xf3, 0x6c, 0xae, 0xe2, 0xdb, 0xae, 0x95, 0xee, 0x4b,
+ 0x81, 0x15, 0x97, 0x5f, 0x49, 0xe7, 0x56, 0xc0, 0xf9, 0x3d, 0x91, 0xf3, 0x24, 0x8d, 0x50, 0x82,
+ 0x0f, 0x94, 0x9f, 0xa7, 0x94, 0x39, 0x2b, 0x9e, 0x27, 0x09, 0xc0, 0x49, 0x8a, 0xe8, 0x35, 0x98,
+ 0xde, 0x8e, 0x6c, 0x7f, 0x42, 0xd5, 0x6f, 0x97, 0x26, 0xaf, 0x58, 0x10, 0xf9, 0xe5, 0xb7, 0x2c,
+ 0xc4, 0x31, 0x15, 0x64, 0xc3, 0xd4, 0x36, 0xe7, 0x46, 0x42, 0x45, 0x6f, 0x56, 0xd7, 0x1e, 0xb8,
+ 0x9e, 0x28, 0x8a, 0x70, 0x84, 0x5f, 0x75, 0x33, 0xaa, 0x1f, 0xe1, 0xb3, 0xfa, 0x65, 0x0d, 0xce,
+ 0xed, 0x10, 0x3f, 0xb4, 0xcd, 0xb4, 0xd1, 0x7b, 0xba, 0x82, 0x8a, 0xf3, 0x72, 0x1e, 0x46, 0xbe,
+ 0x54, 0x72, 0x41, 0x38, 0xbf, 0x0f, 0x54, 0xe1, 0xe1, 0xa6, 0xcb, 0x6e, 0x68, 0x84, 0xb6, 0x79,
+ 0xdb, 0xdb, 0x26, 0x2e, 0x1d, 0xad, 0x08, 0xd3, 0x0b, 0x8c, 0x7f, 0x30, 0x85, 0x67, 0xa5, 0xb8,
+ 0x1a, 0x3e, 0x0c, 0x87, 0xfe, 0xa7, 0x1a, 0x64, 0xcc, 0x6f, 0xe8, 0x6f, 0x69, 0x30, 0xb3, 0x49,
+ 0x8c, 0x70, 0xe8, 0x93, 0xab, 0x46, 0x28, 0x9f, 0xb2, 0xbc, 0x72, 0x5f, 0xcc, 0x7e, 0x4b, 0x57,
+ 0x14, 0xcc, 0xfc, 0x92, 0x52, 0x46, 0xbb, 0x51, 0x41, 0x38, 0xd1, 0x85, 0x0b, 0xef, 0x85, 0xf9,
+ 0x4c, 0xc3, 0x63, 0x5d, 0x24, 0xfd, 0x8e, 0x06, 0x79, 0xa1, 0x9b, 0xd1, 0x47, 0x60, 0xc2, 0xb0,
+ 0x2c, 0x19, 0xdf, 0xf1, 0xb9, 0x92, 0x17, 0xf2, 0x96, 0xfa, 0x66, 0x88, 0xfd, 0xc4, 0x1c, 0x2f,
+ 0xba, 0x02, 0xc8, 0x48, 0xdc, 0xb7, 0xad, 0xc6, 0xef, 0x29, 0xd8, 0xb5, 0xc1, 0x72, 0x06, 0x8a,
+ 0x73, 0x5a, 0xe8, 0xef, 0x81, 0xb9, 0x64, 0xb0, 0x83, 0x63, 0x38, 0x67, 0xeb, 0xbf, 0xa2, 0x01,
+ 0xca, 0xc6, 0x57, 0x42, 0x01, 0xd4, 0x45, 0x8d, 0xe8, 0x23, 0xaf, 0x94, 0x75, 0xb4, 0x4d, 0xf8,
+ 0x8d, 0xc7, 0xae, 0xbd, 0xa2, 0x20, 0xc0, 0x92, 0x90, 0xfe, 0xe7, 0x1a, 0xc4, 0x71, 0xe4, 0xd0,
+ 0xbb, 0xa0, 0x61, 0x91, 0xc0, 0xf4, 0xed, 0x41, 0x18, 0x0f, 0x44, 0x7a, 0xaa, 0xb6, 0x63, 0x10,
+ 0x56, 0xeb, 0x21, 0x1d, 0x26, 0x43, 0x23, 0xd8, 0xee, 0xb4, 0x85, 0x6e, 0xca, 0x24, 0x89, 0xdb,
+ 0xac, 0x04, 0x0b, 0x48, 0x1c, 0x39, 0x60, 0x6c, 0x84, 0xc8, 0x01, 0x68, 0xf3, 0x3e, 0x84, 0x49,
+ 0x40, 0x47, 0x87, 0x48, 0xd0, 0xff, 0x79, 0x0d, 0x92, 0xb1, 0xfb, 0xca, 0x4e, 0x41, 0x36, 0xae,
+ 0x43, 0xed, 0x81, 0xc5, 0x75, 0x78, 0x3b, 0x8b, 0x73, 0xcb, 0xe3, 0x98, 0xf3, 0x5b, 0x36, 0x35,
+ 0x38, 0x2d, 0x0f, 0x42, 0x2e, 0x6b, 0xa0, 0x67, 0x55, 0xff, 0xd7, 0xe9, 0xe6, 0x5b, 0xa2, 0x7d,
+ 0xc1, 0x9c, 0x5a, 0xef, 0x89, 0xc8, 0x15, 0x72, 0xfc, 0x09, 0x57, 0xd7, 0x77, 0x09, 0xef, 0xcd,
+ 0x89, 0x44, 0x74, 0x8d, 0x28, 0x24, 0xc7, 0x7c, 0xa2, 0x61, 0xec, 0xd2, 0xa9, 0x7f, 0x4f, 0x83,
+ 0x29, 0x11, 0x2b, 0x6b, 0x04, 0xb7, 0xe5, 0x1e, 0x4c, 0x30, 0x8d, 0xa0, 0x92, 0xb0, 0xd4, 0xdd,
+ 0xf2, 0xbc, 0x30, 0x11, 0x33, 0x8c, 0x39, 0x1d, 0xb2, 0x7f, 0x31, 0xc7, 0xcf, 0x9c, 0x6d, 0x7c,
+ 0x73, 0xcb, 0x0e, 0x89, 0x19, 0x46, 0x51, 0x88, 0x22, 0x67, 0x1b, 0xa5, 0x1c, 0x27, 0x6a, 0xe9,
+ 0x5f, 0x1e, 0x87, 0xc7, 0x04, 0xe2, 0x8c, 0xfc, 0x20, 0xb7, 0xee, 0x1e, 0x9c, 0x11, 0x1f, 0xb7,
+ 0xed, 0x1b, 0xb6, 0xbc, 0xbe, 0x2c, 0xa7, 0x1a, 0x8a, 0xab, 0xed, 0x0c, 0x3a, 0x9c, 0x47, 0x83,
+ 0xc7, 0xd3, 0x61, 0xc5, 0xd7, 0x88, 0xe1, 0x84, 0x5b, 0x11, 0xed, 0x5a, 0x95, 0x78, 0x3a, 0x59,
+ 0x7c, 0x38, 0x97, 0x0a, 0xbb, 0x3e, 0x15, 0x80, 0x96, 0x4f, 0x0c, 0xf5, 0xee, 0xb6, 0x82, 0x67,
+ 0xe3, 0x6a, 0x2e, 0x46, 0x5c, 0x40, 0x89, 0xd9, 0xd8, 0x8c, 0x5d, 0xa6, 0xb2, 0x63, 0x12, 0xfa,
+ 0x36, 0x8b, 0xfd, 0x46, 0xb7, 0x05, 0x57, 0xb2, 0x93, 0x20, 0x9c, 0xae, 0x8b, 0x9e, 0x83, 0x39,
+ 0x76, 0x1d, 0x1d, 0x3f, 0x30, 0x9f, 0x88, 0x43, 0xdc, 0xdf, 0x4c, 0x40, 0x70, 0xaa, 0xa6, 0xfe,
+ 0x0d, 0x0d, 0x66, 0xd4, 0x65, 0x37, 0x82, 0x4b, 0xf4, 0x8e, 0xc2, 0xe6, 0xab, 0x78, 0xeb, 0xaa,
+ 0x64, 0x47, 0xe1, 0xf4, 0xbf, 0x5d, 0x83, 0x33, 0x39, 0x6d, 0xd8, 0xdd, 0x22, 0x49, 0x1d, 0x19,
+ 0x95, 0xee, 0x16, 0x33, 0xe7, 0x8f, 0xbc, 0x5b, 0x4c, 0x43, 0x70, 0x86, 0x30, 0x7a, 0x05, 0xc6,
+ 0x4c, 0xdf, 0x16, 0x13, 0xf3, 0xee, 0x72, 0x8a, 0x13, 0xee, 0xc4, 0x8f, 0xaf, 0x5a, 0xb8, 0x83,
+ 0x29, 0x46, 0xf4, 0xb3, 0x30, 0xab, 0xee, 0xeb, 0xe8, 0x1c, 0x62, 0xf2, 0xb9, 0xba, 0xfd, 0x03,
+ 0x9c, 0xac, 0xa7, 0xff, 0xb7, 0x31, 0x68, 0x28, 0x91, 0xff, 0xd0, 0x6a, 0x15, 0x8d, 0x3d, 0xee,
+ 0x57, 0xa4, 0xb5, 0xaf, 0xc2, 0x58, 0x6f, 0x30, 0x2c, 0xa9, 0xb2, 0x4b, 0x74, 0x57, 0x29, 0xba,
+ 0xde, 0x60, 0x88, 0x5e, 0x96, 0x46, 0x80, 0x72, 0x6a, 0xba, 0xf4, 0x7d, 0x4d, 0x19, 0x02, 0xa2,
+ 0x75, 0x3d, 0x5e, 0xb8, 0xae, 0x5d, 0x98, 0x0a, 0x84, 0x85, 0x60, 0xa2, 0xc2, 0x53, 0x59, 0x65,
+ 0xaa, 0x85, 0x49, 0x80, 0x6b, 0x16, 0x91, 0xc5, 0x20, 0x22, 0x42, 0x85, 0x8e, 0x21, 0x7b, 0x64,
+ 0xc2, 0x94, 0xa6, 0x3a, 0x17, 0x3a, 0xd6, 0x59, 0x09, 0x16, 0x90, 0x0c, 0xcb, 0x9f, 0x1a, 0x89,
+ 0xe5, 0x7f, 0xb6, 0x06, 0x28, 0xdb, 0x0d, 0xf4, 0x16, 0x98, 0x60, 0x0f, 0xd5, 0xc4, 0xde, 0x56,
+ 0x82, 0x69, 0x19, 0x41, 0x80, 0x39, 0x0c, 0x75, 0xc5, 0xc3, 0xc5, 0x72, 0xdf, 0x93, 0x5d, 0xa2,
+ 0x0b, 0x7a, 0xca, 0x2b, 0xc7, 0xe8, 0x10, 0x1d, 0x2b, 0x3c, 0x44, 0xd7, 0x61, 0xaa, 0x6f, 0xbb,
+ 0xcc, 0xef, 0xa6, 0x9c, 0xe5, 0x84, 0xdf, 0xf2, 0x71, 0x14, 0x38, 0xc2, 0xa5, 0xff, 0xb0, 0x46,
+ 0xd7, 0xbe, 0xed, 0x86, 0xc4, 0x35, 0x5c, 0x93, 0xa0, 0xbb, 0x00, 0xc6, 0x30, 0xf4, 0xb8, 0x2c,
+ 0x22, 0xb6, 0xc0, 0xfb, 0x4a, 0x7e, 0x66, 0x89, 0x75, 0x59, 0x62, 0xe4, 0xb7, 0x6f, 0xf1, 0x6f,
+ 0xac, 0x50, 0xa3, 0xb4, 0x43, 0xbb, 0x4f, 0x5e, 0xb1, 0x5d, 0xcb, 0xbb, 0x23, 0xe6, 0xb7, 0x32,
+ 0xed, 0xdb, 0x12, 0x23, 0xa7, 0x1d, 0xff, 0xc6, 0x0a, 0x35, 0xf4, 0x01, 0x58, 0x60, 0x3a, 0x9a,
+ 0xcb, 0x02, 0xb2, 0x8a, 0xce, 0x79, 0x8e, 0x13, 0x9d, 0x73, 0x75, 0x16, 0xfe, 0x6e, 0xa1, 0x55,
+ 0x50, 0x07, 0x17, 0xb6, 0xd6, 0xbf, 0xa9, 0xc1, 0xb9, 0xdc, 0xb9, 0x40, 0x57, 0x61, 0x3e, 0xf6,
+ 0xbc, 0x50, 0xf9, 0x72, 0x3d, 0x8e, 0x30, 0x7c, 0x3d, 0x5d, 0x01, 0x67, 0xdb, 0xa0, 0x55, 0x29,
+ 0x9c, 0xa8, 0x7c, 0x5f, 0xb8, 0x6d, 0x3c, 0x22, 0x50, 0xe5, 0x1d, 0x0d, 0x38, 0xaf, 0x9d, 0xfe,
+ 0xa1, 0x44, 0x87, 0xe3, 0x09, 0xa3, 0xfb, 0x63, 0x83, 0xf4, 0xa4, 0x17, 0xbd, 0xdc, 0x1f, 0x4d,
+ 0x5a, 0x88, 0x39, 0x0c, 0x5d, 0x54, 0x5f, 0x7e, 0x48, 0xf6, 0x15, 0xbd, 0xfe, 0xd0, 0x87, 0x00,
+ 0xc2, 0x3f, 0xca, 0x76, 0x7b, 0xa8, 0x07, 0x75, 0x43, 0x24, 0xa2, 0x11, 0x8b, 0xed, 0x85, 0x72,
+ 0x1a, 0xa1, 0x40, 0xc2, 0x5d, 0x23, 0xa3, 0x5f, 0x58, 0x22, 0xd7, 0xff, 0xae, 0x06, 0xe7, 0xf3,
+ 0xdf, 0x63, 0x8d, 0x70, 0xa0, 0xf7, 0xa1, 0xe1, 0xc7, 0xcd, 0xc4, 0xca, 0xfc, 0x19, 0x35, 0x32,
+ 0x8e, 0xf2, 0xb2, 0x9f, 0x0a, 0x3b, 0x2d, 0xdf, 0x0b, 0xa2, 0xaf, 0x93, 0x0e, 0x96, 0x23, 0x35,
+ 0x0d, 0xa5, 0x27, 0x58, 0xc5, 0xaf, 0x7f, 0xaa, 0x06, 0x70, 0x93, 0x84, 0x77, 0x3c, 0x7f, 0x9b,
+ 0xce, 0xd1, 0x4f, 0xd4, 0xbb, 0xc0, 0x47, 0x61, 0x7c, 0xe0, 0x59, 0x81, 0x60, 0x54, 0xec, 0xc1,
+ 0x1e, 0x73, 0x1b, 0x60, 0xa5, 0x68, 0x11, 0x26, 0x98, 0x49, 0x5c, 0x1c, 0x22, 0x4c, 0x42, 0xa7,
+ 0xf2, 0x55, 0x80, 0x79, 0x39, 0x8f, 0x37, 0xce, 0x1c, 0x8f, 0x03, 0xa1, 0x73, 0x88, 0x78, 0xe3,
+ 0xbc, 0x0c, 0x4b, 0xa8, 0xfe, 0xe9, 0x71, 0x48, 0x24, 0x5d, 0x8a, 0x2d, 0x07, 0xe3, 0x0f, 0xc8,
+ 0x72, 0xf0, 0x01, 0x58, 0x70, 0x3c, 0xc3, 0x6a, 0x1a, 0x0e, 0x5d, 0xf6, 0x7e, 0x97, 0x7f, 0x0f,
+ 0xc3, 0xed, 0x91, 0x28, 0x25, 0x12, 0x63, 0x01, 0x37, 0x0a, 0xea, 0xe0, 0xc2, 0xd6, 0x68, 0xa8,
+ 0xe4, 0x7a, 0xa2, 0x52, 0xcf, 0x6a, 0xe5, 0xa4, 0x54, 0x4b, 0xaa, 0xd7, 0xb9, 0x3c, 0xd1, 0x53,
+ 0xf9, 0xa0, 0x7e, 0x49, 0x83, 0x73, 0x64, 0x37, 0x24, 0xbe, 0x6b, 0x38, 0xb7, 0x7d, 0x63, 0x73,
+ 0xd3, 0x36, 0x13, 0x8e, 0x59, 0x6b, 0x07, 0xfb, 0x8b, 0xe7, 0x56, 0xf2, 0x2a, 0xdc, 0xdb, 0x5f,
+ 0x7c, 0x26, 0x9b, 0x75, 0x2d, 0xf2, 0x31, 0xcf, 0x6d, 0xc2, 0x96, 0x63, 0x3e, 0xb9, 0x0b, 0xcf,
+ 0x42, 0xe3, 0x18, 0x0e, 0xc9, 0x89, 0x17, 0x73, 0x3f, 0xd0, 0x60, 0x86, 0xae, 0xa0, 0x1b, 0x9e,
+ 0x69, 0x38, 0xed, 0x9b, 0xdd, 0x63, 0xa4, 0x2c, 0x43, 0x37, 0xe0, 0xec, 0xa6, 0xe7, 0x9b, 0xe4,
+ 0x76, 0x6b, 0xed, 0xb6, 0x27, 0xac, 0xea, 0xed, 0x9b, 0x5d, 0xc1, 0x17, 0x99, 0x22, 0x74, 0x25,
+ 0x07, 0x8e, 0x73, 0x5b, 0xa1, 0x5b, 0x70, 0x2e, 0x2e, 0x5f, 0x1f, 0x04, 0xa1, 0x4f, 0x8c, 0x3e,
+ 0x45, 0xc7, 0x8f, 0x07, 0x66, 0x6f, 0xbc, 0x92, 0x57, 0x01, 0xe7, 0xb7, 0xd3, 0xbf, 0x3a, 0x09,
+ 0xca, 0xe3, 0x85, 0x63, 0xc4, 0x00, 0xff, 0x0d, 0x0d, 0xce, 0x9a, 0x8e, 0x4d, 0xdc, 0x30, 0xe5,
+ 0xa1, 0xce, 0x77, 0xfd, 0xcb, 0xe5, 0x9e, 0x55, 0x0c, 0x88, 0xdb, 0x69, 0xb7, 0x3c, 0xd7, 0x25,
+ 0x66, 0xd8, 0xca, 0xc1, 0xce, 0x27, 0x2c, 0x0f, 0x82, 0x73, 0x7b, 0xc3, 0x06, 0xc4, 0xca, 0x3b,
+ 0x6d, 0xf5, 0x9d, 0x5f, 0x4b, 0x94, 0x61, 0x09, 0x45, 0x4f, 0x43, 0xa3, 0xe7, 0x7b, 0xc3, 0x41,
+ 0xd0, 0x62, 0xde, 0x70, 0x9c, 0x79, 0x30, 0x49, 0xe9, 0x6a, 0x5c, 0x8c, 0xd5, 0x3a, 0x54, 0xee,
+ 0xe3, 0x3f, 0xd7, 0x7c, 0xb2, 0x69, 0xef, 0x0a, 0x66, 0xc2, 0xe4, 0xbe, 0xab, 0x4a, 0x39, 0x4e,
+ 0xd4, 0x42, 0x6f, 0x83, 0x69, 0x3b, 0x08, 0x86, 0xc4, 0x5f, 0xc7, 0x37, 0x44, 0x24, 0x4c, 0x66,
+ 0x43, 0xef, 0x44, 0x85, 0x38, 0x86, 0xa3, 0x5f, 0xd5, 0x60, 0xce, 0x27, 0xaf, 0x0d, 0x6d, 0x9f,
+ 0x58, 0x8c, 0x68, 0x20, 0x9e, 0x90, 0x74, 0x2b, 0xbe, 0x5b, 0x59, 0xc2, 0x09, 0xac, 0x7c, 0x13,
+ 0x4b, 0xd3, 0x50, 0x12, 0x88, 0x53, 0x5d, 0xa0, 0x73, 0x15, 0xd8, 0x3d, 0xd7, 0x76, 0x7b, 0xcb,
+ 0x4e, 0x2f, 0x58, 0xa8, 0x33, 0xc6, 0xc4, 0xa5, 0xca, 0xb8, 0x18, 0xab, 0x75, 0xa8, 0x62, 0x34,
+ 0x0c, 0xe8, 0xb6, 0xec, 0x13, 0x3e, 0xc1, 0xd3, 0xb1, 0x8b, 0xeb, 0xba, 0x0a, 0xc0, 0xc9, 0x7a,
+ 0x54, 0x6f, 0x8e, 0x0a, 0xc4, 0x34, 0x03, 0x8f, 0xd6, 0x41, 0xfb, 0xb9, 0x9e, 0x80, 0xe0, 0x54,
+ 0xcd, 0x0b, 0xcb, 0x70, 0x26, 0x67, 0x98, 0xc7, 0xda, 0xfb, 0xdf, 0xa8, 0xc1, 0x9b, 0x8f, 0x5c,
+ 0x96, 0xe8, 0xab, 0x1a, 0x34, 0xc8, 0x6e, 0xe8, 0x1b, 0xd2, 0x69, 0x96, 0x7e, 0xa3, 0xde, 0x83,
+ 0xd9, 0x04, 0x4b, 0x2b, 0x31, 0x25, 0xfe, 0xdd, 0xe4, 0x71, 0xae, 0x40, 0xb0, 0xda, 0x21, 0xaa,
+ 0xc6, 0xf0, 0x68, 0x2e, 0xaa, 0xed, 0x54, 0xa4, 0xd5, 0x11, 0x90, 0x0b, 0x2f, 0xc2, 0xe9, 0x34,
+ 0xe6, 0x63, 0x4d, 0xd5, 0x6f, 0xd7, 0x60, 0x62, 0xcd, 0x31, 0x4e, 0x24, 0xac, 0xe9, 0x47, 0x13,
+ 0xe1, 0xe4, 0xca, 0x05, 0xe9, 0x63, 0x7d, 0x2d, 0x0c, 0x66, 0xb9, 0x95, 0x0a, 0x66, 0xf9, 0x52,
+ 0x05, 0x1a, 0x87, 0xc7, 0xae, 0xfc, 0x9e, 0x06, 0xd3, 0xac, 0xde, 0x09, 0xc4, 0xd8, 0xf8, 0x48,
+ 0x32, 0xc6, 0xc6, 0x73, 0xe5, 0x07, 0x55, 0x10, 0x5b, 0xe3, 0x8f, 0xa3, 0xc1, 0xb0, 0xe8, 0x68,
+ 0xaf, 0xaa, 0x79, 0xc4, 0xf8, 0x68, 0x9e, 0xcc, 0x0b, 0xe6, 0xc8, 0x4e, 0xd6, 0x4c, 0x44, 0xc7,
+ 0x43, 0x93, 0x89, 0xb9, 0x30, 0x4d, 0x44, 0xcc, 0x9c, 0x68, 0x34, 0xe5, 0xc4, 0xf6, 0x28, 0xf2,
+ 0x4e, 0x4c, 0x2f, 0x2a, 0x09, 0x70, 0x4c, 0x42, 0xff, 0x9d, 0x1a, 0x34, 0x94, 0xaf, 0xf9, 0x63,
+ 0x09, 0x16, 0x79, 0x25, 0x37, 0xeb, 0x4e, 0x8d, 0x39, 0xc5, 0x9e, 0x3f, 0x46, 0xc6, 0x9d, 0x00,
+ 0x1a, 0x66, 0x1c, 0xff, 0xbb, 0xd2, 0x02, 0x57, 0xe2, 0x88, 0x0b, 0xe7, 0xfc, 0xb8, 0x00, 0xab,
+ 0x54, 0xf4, 0x7f, 0x58, 0x83, 0xa9, 0x35, 0xdf, 0xa3, 0xdf, 0xf8, 0x04, 0x18, 0xc4, 0x46, 0x82,
+ 0x41, 0x94, 0xdc, 0xbc, 0xbc, 0xb7, 0x85, 0x2c, 0xe2, 0x63, 0x29, 0x16, 0xd1, 0xac, 0x44, 0xe5,
+ 0x70, 0x26, 0xf1, 0x7d, 0x0d, 0x1a, 0xa2, 0xe6, 0x09, 0xb0, 0x09, 0x23, 0xc9, 0x26, 0x9e, 0xaf,
+ 0x32, 0xb0, 0x02, 0x46, 0xf1, 0x25, 0x0d, 0x66, 0x45, 0x8d, 0x55, 0xd2, 0xdf, 0x20, 0x3e, 0xba,
+ 0x02, 0x53, 0xc1, 0x90, 0x7d, 0x4b, 0x31, 0xa2, 0x47, 0x54, 0x56, 0xe1, 0x6f, 0x18, 0x26, 0xcb,
+ 0x1e, 0xc7, 0xab, 0x28, 0x51, 0x64, 0x79, 0x01, 0x8e, 0x1a, 0x53, 0x5d, 0xd5, 0xf7, 0x9c, 0x4c,
+ 0x34, 0x10, 0xec, 0x39, 0x04, 0x33, 0x08, 0x55, 0x11, 0xe9, 0xdf, 0xc8, 0x3a, 0xcb, 0x54, 0x44,
+ 0x0a, 0x0e, 0x30, 0x2f, 0xd7, 0x3f, 0x3b, 0x2e, 0x67, 0x9b, 0xf1, 0xb1, 0x6b, 0x30, 0x6d, 0xfa,
+ 0xc4, 0x08, 0x89, 0xd5, 0xdc, 0x1b, 0xa5, 0x73, 0x4c, 0xa0, 0x6b, 0x45, 0x2d, 0x70, 0xdc, 0x98,
+ 0x8a, 0x4e, 0xea, 0xc5, 0x5f, 0x2d, 0x16, 0x33, 0x0b, 0x2f, 0xfd, 0x9e, 0x87, 0x09, 0xef, 0x8e,
+ 0x2b, 0xbd, 0x6b, 0x0e, 0x25, 0xcc, 0x86, 0x72, 0x8b, 0xd6, 0xc6, 0xbc, 0x91, 0x1a, 0xbf, 0x66,
+ 0xfc, 0x90, 0xf8, 0x35, 0x7d, 0x98, 0xea, 0xb3, 0xcf, 0x50, 0x2d, 0xa4, 0x68, 0xe2, 0x8b, 0xaa,
+ 0x11, 0xde, 0x19, 0x6a, 0x1c, 0xd1, 0xa0, 0x42, 0x30, 0x95, 0xd3, 0x82, 0x81, 0x61, 0x12, 0x55,
+ 0x08, 0xbe, 0x19, 0x15, 0xe2, 0x18, 0x8e, 0xee, 0x26, 0x43, 0x23, 0x4d, 0x55, 0xb0, 0xfb, 0x8a,
+ 0xfe, 0x29, 0xd1, 0x90, 0xf8, 0xe4, 0x17, 0x86, 0x47, 0xfa, 0xfc, 0xb8, 0x5c, 0xa6, 0x82, 0xf1,
+ 0xe7, 0xa7, 0x3e, 0xd3, 0x4a, 0xa5, 0x3e, 0x7b, 0x06, 0x26, 0x06, 0x5b, 0x46, 0x10, 0xad, 0xd5,
+ 0x28, 0x1d, 0xc1, 0xc4, 0x1a, 0x2d, 0xbc, 0xb7, 0xbf, 0x38, 0x23, 0x48, 0xb3, 0xdf, 0x98, 0xd7,
+ 0x45, 0x43, 0x38, 0x13, 0x84, 0x86, 0x43, 0xba, 0xb6, 0xb0, 0x8c, 0x05, 0xa1, 0xd1, 0x1f, 0x94,
+ 0xc8, 0x2a, 0xc0, 0xbd, 0xcf, 0xb3, 0xa8, 0x70, 0x1e, 0x7e, 0xf4, 0x69, 0x0d, 0x16, 0x58, 0xf9,
+ 0xf2, 0x30, 0xf4, 0x78, 0x06, 0x96, 0x98, 0xf8, 0xf1, 0xef, 0xcd, 0x99, 0x1d, 0xa3, 0x5b, 0x80,
+ 0x0f, 0x17, 0x52, 0x42, 0xaf, 0xc3, 0x39, 0xc7, 0x08, 0xc2, 0x65, 0x33, 0xb4, 0x77, 0xec, 0x70,
+ 0x2f, 0xee, 0xc2, 0xf1, 0xd3, 0xc0, 0x31, 0x75, 0xf9, 0x46, 0x1e, 0x32, 0x9c, 0x4f, 0x43, 0xff,
+ 0xdf, 0x1a, 0xa0, 0xec, 0x12, 0x42, 0x7d, 0xa8, 0x5b, 0x64, 0xd3, 0x18, 0x3a, 0x61, 0x24, 0x09,
+ 0x54, 0x0e, 0xdc, 0x25, 0xb9, 0x73, 0x5b, 0x20, 0xc6, 0x92, 0x04, 0x1a, 0xc0, 0xf4, 0x9d, 0x2d,
+ 0x3b, 0x24, 0x8e, 0x1d, 0x84, 0xf7, 0x2b, 0x50, 0x98, 0x14, 0x7e, 0x5e, 0x89, 0x30, 0xe3, 0x98,
+ 0x88, 0xfe, 0xcb, 0x63, 0x50, 0x3f, 0x46, 0x7e, 0xdd, 0x21, 0x20, 0x11, 0x54, 0x84, 0x4a, 0x4c,
+ 0xa4, 0x8a, 0x3d, 0x90, 0x89, 0x35, 0xad, 0x0c, 0x32, 0x9c, 0x43, 0x00, 0xbd, 0x0e, 0x67, 0x6d,
+ 0x77, 0xd3, 0x37, 0x82, 0xd0, 0x1f, 0xb2, 0x3b, 0x96, 0x2a, 0xf9, 0x0c, 0x98, 0xa5, 0xa1, 0x93,
+ 0x83, 0x0e, 0xe7, 0x12, 0x41, 0x9b, 0x30, 0x75, 0xc7, 0xf3, 0xb7, 0x29, 0x03, 0x1d, 0xaf, 0x90,
+ 0x30, 0xeb, 0x15, 0x86, 0x23, 0xe6, 0x9c, 0xfc, 0x77, 0x80, 0x23, 0xe4, 0xfa, 0x1f, 0x68, 0x30,
+ 0xc1, 0x5f, 0x3b, 0xbe, 0x31, 0xb4, 0x2c, 0xd6, 0xd7, 0xc2, 0x18, 0xdd, 0x54, 0xf7, 0x61, 0x35,
+ 0xde, 0x28, 0xba, 0x0f, 0xeb, 0x6c, 0x81, 0x48, 0xf3, 0x07, 0x63, 0x62, 0x30, 0x4c, 0x66, 0xe8,
+ 0xc0, 0x19, 0x21, 0xfe, 0xde, 0xb0, 0x37, 0x09, 0x5d, 0x60, 0x6d, 0x63, 0x2f, 0x10, 0x91, 0x0a,
+ 0x18, 0xeb, 0x6d, 0x65, 0xc1, 0x38, 0xaf, 0x0d, 0xfa, 0x47, 0x1a, 0x3d, 0x9d, 0x43, 0xdf, 0x36,
+ 0xab, 0x05, 0xbe, 0x96, 0x9d, 0x5b, 0x5a, 0xe5, 0xd8, 0xb8, 0xf9, 0x60, 0x3d, 0x3e, 0xa6, 0x59,
+ 0xe9, 0xbd, 0xfd, 0xc5, 0xc5, 0x1c, 0xcb, 0x6b, 0x74, 0x57, 0x40, 0xa7, 0xf6, 0x53, 0x3f, 0x3c,
+ 0xb4, 0x0a, 0xbb, 0xb7, 0x88, 0xba, 0x8c, 0xae, 0xc1, 0x44, 0x60, 0x7a, 0x03, 0x72, 0x9c, 0x70,
+ 0xfe, 0x72, 0x86, 0xbb, 0xb4, 0x25, 0xe6, 0x08, 0x2e, 0x7c, 0x0c, 0x66, 0xd4, 0x9e, 0xe7, 0x98,
+ 0x27, 0xda, 0xaa, 0x79, 0xe2, 0xd8, 0x17, 0x94, 0xaa, 0x39, 0xe3, 0x77, 0x6b, 0x20, 0xd2, 0x5d,
+ 0x8e, 0x70, 0x3b, 0xf3, 0xb1, 0x28, 0x02, 0x6e, 0x95, 0x1c, 0x9f, 0xe9, 0xb4, 0xfe, 0xf1, 0x24,
+ 0xa8, 0x41, 0x70, 0x91, 0x27, 0x43, 0xcf, 0x8d, 0x55, 0x88, 0x37, 0xce, 0x87, 0xf6, 0xa0, 0x83,
+ 0xcd, 0x7d, 0x5f, 0x83, 0x99, 0x44, 0x30, 0xbf, 0x3e, 0x8c, 0xf9, 0xd2, 0x16, 0x50, 0xf6, 0xfa,
+ 0x2a, 0xf2, 0x2e, 0x7b, 0xe4, 0x90, 0x4a, 0x98, 0xd2, 0x91, 0x71, 0xff, 0x6a, 0xf7, 0x29, 0xee,
+ 0x9f, 0xfe, 0x05, 0x0d, 0xce, 0x47, 0x03, 0x4a, 0x06, 0x91, 0x41, 0x4f, 0x42, 0xdd, 0x18, 0xd8,
+ 0xcc, 0xf2, 0xab, 0x1a, 0xcf, 0x97, 0xd7, 0x3a, 0xac, 0x0c, 0x4b, 0x28, 0x7a, 0x3b, 0xd4, 0xa3,
+ 0xa5, 0x27, 0x24, 0x3f, 0xc9, 0xb7, 0xe4, 0x85, 0x9c, 0xac, 0x81, 0x9e, 0x50, 0xa2, 0x14, 0x4f,
+ 0xc4, 0x07, 0xb5, 0x24, 0xcc, 0xaf, 0xef, 0xf5, 0xcf, 0x8d, 0xc1, 0x2c, 0xb7, 0x94, 0x34, 0x6d,
+ 0xd7, 0xb2, 0xdd, 0xde, 0x09, 0x1c, 0x10, 0x89, 0x3c, 0xf1, 0xb5, 0xfb, 0x95, 0x27, 0xfe, 0x3a,
+ 0x4c, 0xbe, 0x46, 0x39, 0x55, 0xb4, 0xc0, 0x47, 0x62, 0x18, 0x72, 0xf1, 0x32, 0x26, 0x17, 0x60,
+ 0x81, 0x02, 0x85, 0x4a, 0xba, 0xfe, 0x2a, 0x8f, 0xf9, 0x13, 0x53, 0x2b, 0xc3, 0x8d, 0xcf, 0xe4,
+ 0xe7, 0xea, 0x67, 0xf1, 0x73, 0x13, 0x2d, 0xde, 0x28, 0xf1, 0x73, 0x13, 0x9d, 0x2e, 0x38, 0xe7,
+ 0x9e, 0x85, 0x73, 0xb9, 0xb3, 0x71, 0xb4, 0x64, 0xa8, 0x7f, 0xbb, 0x06, 0x2c, 0x8d, 0xf6, 0x09,
+ 0xac, 0xcd, 0x8f, 0x24, 0x84, 0x97, 0x17, 0xca, 0x47, 0xf0, 0x2d, 0x32, 0xff, 0xf4, 0x52, 0xe6,
+ 0x9f, 0xf7, 0x96, 0x27, 0x71, 0xb8, 0xed, 0xe7, 0xd7, 0x6a, 0x00, 0xb4, 0x1a, 0x4f, 0x38, 0x2e,
+ 0x1c, 0x73, 0xf9, 0x8a, 0xd6, 0x92, 0xdc, 0x23, 0xbb, 0x12, 0x4f, 0xf2, 0x5e, 0x5e, 0x97, 0x59,
+ 0xa3, 0xc7, 0xe2, 0x4b, 0x86, 0x64, 0xc6, 0xe8, 0x24, 0xc7, 0x18, 0xbf, 0x4f, 0x1c, 0x43, 0xff,
+ 0xb6, 0x06, 0x2c, 0x9b, 0x50, 0xfb, 0x66, 0x17, 0xfd, 0x2c, 0xcc, 0xda, 0xfc, 0x82, 0xba, 0xad,
+ 0x86, 0x5b, 0x64, 0x37, 0x4d, 0x1d, 0x15, 0x80, 0x93, 0xf5, 0x90, 0xab, 0xcc, 0x6b, 0x95, 0x6c,
+ 0xff, 0xa2, 0x23, 0x47, 0xf2, 0x88, 0x1f, 0xd5, 0xe0, 0x54, 0xaa, 0xee, 0x08, 0xba, 0xd5, 0x83,
+ 0x61, 0xb9, 0x4a, 0x96, 0x82, 0xb1, 0x13, 0xc8, 0x52, 0x20, 0x13, 0x06, 0x8c, 0x3f, 0xe0, 0x84,
+ 0x01, 0xdf, 0xd5, 0x80, 0x25, 0x92, 0x3f, 0x01, 0xf6, 0xfb, 0xe1, 0x24, 0xfb, 0x7d, 0xb6, 0xf4,
+ 0xda, 0x29, 0xe0, 0xba, 0x7f, 0xae, 0x01, 0x8b, 0x1f, 0x2e, 0xbc, 0x72, 0x14, 0x47, 0x17, 0xad,
+ 0xc0, 0xd1, 0xe5, 0x31, 0xe1, 0x27, 0x93, 0x32, 0x84, 0x2a, 0xbe, 0x32, 0x6f, 0x57, 0x5c, 0x61,
+ 0xc6, 0x92, 0xac, 0x24, 0xeb, 0x0e, 0x83, 0x5e, 0x87, 0xd9, 0x60, 0xcb, 0xf3, 0xc2, 0xc8, 0x24,
+ 0x21, 0xbe, 0x5e, 0xb3, 0xbc, 0x2f, 0x7d, 0x34, 0x16, 0xbe, 0x3b, 0xbb, 0x2a, 0x72, 0x9c, 0xa4,
+ 0xa5, 0xff, 0x9e, 0x18, 0xfe, 0x31, 0xb6, 0xca, 0x09, 0xb2, 0xbe, 0xb7, 0xa6, 0x58, 0x5f, 0x51,
+ 0xc2, 0xfc, 0xbf, 0x2f, 0x46, 0x21, 0xc3, 0xbe, 0x0f, 0x60, 0xd6, 0x51, 0x73, 0x40, 0x89, 0x85,
+ 0x59, 0x2a, 0x7d, 0x94, 0x8c, 0xfc, 0x98, 0x28, 0xc6, 0x49, 0x02, 0x94, 0x3f, 0x46, 0x9d, 0xe7,
+ 0x89, 0xad, 0x6b, 0xb1, 0x8b, 0xf2, 0x9a, 0x0a, 0xc0, 0xc9, 0x7a, 0xfa, 0xd7, 0x6a, 0x70, 0x91,
+ 0xf7, 0x9d, 0xbd, 0x47, 0x68, 0x93, 0x01, 0x71, 0x2d, 0xe2, 0x9a, 0x7b, 0x4c, 0x0e, 0xb6, 0xbc,
+ 0x1e, 0xfa, 0xb4, 0x06, 0xf5, 0xe8, 0xc6, 0x4c, 0x0c, 0xe4, 0x83, 0x15, 0x22, 0xe7, 0x17, 0x90,
+ 0x91, 0x17, 0x76, 0x3c, 0x04, 0xa1, 0xf8, 0x85, 0x25, 0x65, 0xb4, 0x0b, 0x13, 0x03, 0xdf, 0xdb,
+ 0x88, 0x74, 0xc0, 0x57, 0xee, 0x7f, 0x17, 0xd6, 0x28, 0x7a, 0xbe, 0xe3, 0xd8, 0xbf, 0x98, 0x13,
+ 0xd4, 0x31, 0x3c, 0x31, 0x52, 0xd7, 0x8f, 0xe1, 0x41, 0xa4, 0xdf, 0x02, 0xfd, 0xe8, 0xbe, 0x1c,
+ 0x07, 0xe1, 0xfb, 0xe1, 0x71, 0x05, 0xe1, 0xca, 0xae, 0x49, 0x82, 0xa0, 0x65, 0x0c, 0x0c, 0x93,
+ 0x2a, 0xc0, 0xec, 0xc5, 0x38, 0x37, 0x4e, 0x1f, 0x03, 0xe5, 0x27, 0x6b, 0xb0, 0xa8, 0xe0, 0x4c,
+ 0xb8, 0xa7, 0x45, 0xdc, 0xe3, 0x2b, 0x1a, 0x34, 0x0c, 0xd7, 0xf5, 0x42, 0x43, 0xbd, 0x32, 0x25,
+ 0x55, 0x3f, 0x4e, 0x1e, 0xad, 0xa5, 0xe5, 0x98, 0x4e, 0xca, 0x43, 0x42, 0x81, 0x60, 0xb5, 0x3b,
+ 0x17, 0x5e, 0x84, 0xd3, 0xe9, 0x56, 0xc7, 0xd2, 0x74, 0x5b, 0x70, 0x5e, 0xe9, 0x15, 0xbb, 0x82,
+ 0x69, 0x6d, 0x11, 0x73, 0x3b, 0x38, 0xce, 0x3c, 0x36, 0xa9, 0x64, 0x2d, 0x91, 0x28, 0x69, 0x29,
+ 0x9e, 0x82, 0xa9, 0x1d, 0x3b, 0xb0, 0xa3, 0x48, 0x10, 0x0a, 0x8e, 0x97, 0x79, 0x31, 0x8e, 0xe0,
+ 0xfa, 0x4b, 0x70, 0x46, 0xc5, 0xc1, 0x98, 0xe8, 0xb1, 0x7c, 0xd6, 0xf4, 0x55, 0x78, 0x4c, 0xc1,
+ 0x90, 0xfb, 0x7e, 0xf5, 0x38, 0xe8, 0xbe, 0x5e, 0x8f, 0x78, 0x9e, 0x78, 0xc7, 0xf4, 0x1d, 0x0d,
+ 0x1e, 0x26, 0x45, 0xcb, 0x4e, 0xf0, 0x8d, 0x57, 0xab, 0xae, 0x8b, 0xc2, 0x75, 0x2d, 0xa2, 0xa7,
+ 0x15, 0x81, 0x71, 0x71, 0xd7, 0xd0, 0xdd, 0x44, 0x4e, 0x96, 0x5a, 0x25, 0x6d, 0x32, 0xe7, 0x2b,
+ 0x1f, 0x96, 0x91, 0x05, 0xf9, 0x50, 0x0f, 0xc4, 0xb7, 0xac, 0xf4, 0xcc, 0x3e, 0x67, 0x6d, 0x08,
+ 0xff, 0x57, 0xf1, 0x0b, 0x4b, 0x3a, 0xe8, 0xeb, 0x1a, 0x9c, 0x75, 0x72, 0xf6, 0x97, 0x38, 0xf8,
+ 0x6f, 0x3f, 0x88, 0xbd, 0xcb, 0x0d, 0xef, 0x79, 0x10, 0x9c, 0xdb, 0x17, 0xf4, 0x77, 0x0a, 0x1f,
+ 0x74, 0x4f, 0x54, 0x48, 0x89, 0x77, 0xd4, 0x06, 0x28, 0xf1, 0xb6, 0xfb, 0xe7, 0xa1, 0xe1, 0xc5,
+ 0x6c, 0x41, 0x3c, 0xc2, 0xbf, 0x5e, 0xb5, 0x77, 0x0a, 0xa7, 0xe1, 0x57, 0x99, 0x4a, 0x01, 0x56,
+ 0x09, 0xa2, 0x2f, 0x69, 0x80, 0xac, 0xcc, 0xf1, 0x21, 0xae, 0x53, 0xf1, 0xfd, 0x3f, 0x24, 0xf9,
+ 0xdd, 0x4d, 0xb6, 0x1c, 0xe7, 0xf4, 0x42, 0xff, 0x67, 0x53, 0x5c, 0x50, 0x67, 0xa6, 0x73, 0x13,
+ 0x26, 0x37, 0x98, 0xae, 0x2b, 0x98, 0x41, 0x79, 0xcd, 0x9a, 0xab, 0xcc, 0x5c, 0x13, 0xe5, 0xff,
+ 0x63, 0x81, 0x1a, 0x2d, 0x01, 0x6c, 0x38, 0x9e, 0xb9, 0xdd, 0xea, 0xb4, 0x71, 0x24, 0x04, 0xb1,
+ 0x0d, 0xd8, 0x94, 0xa5, 0x58, 0xa9, 0x81, 0x3e, 0x04, 0x63, 0x96, 0x54, 0x8f, 0x9e, 0xaf, 0xa2,
+ 0x19, 0xc6, 0x2f, 0x12, 0xe8, 0x76, 0xa3, 0x58, 0x91, 0x07, 0x75, 0x57, 0xc8, 0xc2, 0x62, 0x73,
+ 0x95, 0x4f, 0x39, 0x24, 0x85, 0x6a, 0x29, 0xcb, 0x47, 0x25, 0x58, 0x12, 0xa1, 0x04, 0xa5, 0xb2,
+ 0x3b, 0x51, 0x91, 0xa0, 0xd4, 0x74, 0x0f, 0xb3, 0x43, 0xac, 0xa9, 0x7a, 0xeb, 0xe4, 0xe8, 0x7a,
+ 0xeb, 0x6c, 0xa1, 0xce, 0xba, 0x09, 0x93, 0xa1, 0xc1, 0xdc, 0xbf, 0xa6, 0x2a, 0x78, 0x5f, 0xd1,
+ 0x01, 0xdc, 0xa6, 0x68, 0x62, 0x99, 0x9d, 0xfd, 0x0c, 0xb0, 0xc0, 0x4e, 0x57, 0xe3, 0x0e, 0xcb,
+ 0x08, 0x27, 0x42, 0x3b, 0x96, 0x5f, 0x8d, 0x3c, 0xb1, 0x1c, 0x5f, 0x8d, 0xfc, 0x7f, 0x2c, 0x50,
+ 0xa3, 0x6d, 0xaa, 0x89, 0xf1, 0xf3, 0x51, 0x04, 0xa2, 0x58, 0xae, 0xba, 0x23, 0x83, 0xe8, 0x5d,
+ 0x03, 0xff, 0x85, 0x25, 0x01, 0x64, 0xc2, 0x94, 0x30, 0x7d, 0x88, 0xd8, 0xe6, 0xcf, 0x57, 0xc9,
+ 0x2f, 0x11, 0xe5, 0x4b, 0xe4, 0x4f, 0xc2, 0x23, 0xcc, 0xfa, 0xbf, 0x1b, 0xe7, 0x56, 0xab, 0x1f,
+ 0xa3, 0xbf, 0x5c, 0x0f, 0xea, 0x11, 0xb2, 0x4a, 0x66, 0xc0, 0x28, 0x4d, 0x0f, 0x9f, 0x50, 0x99,
+ 0xb4, 0x47, 0x22, 0x47, 0xad, 0xbc, 0x57, 0x54, 0x4a, 0xf8, 0xbb, 0x91, 0x5e, 0x50, 0xe5, 0x3b,
+ 0x96, 0x8c, 0x97, 0x72, 0x2c, 0x79, 0x01, 0x4e, 0x45, 0xbe, 0x77, 0x16, 0x61, 0x57, 0x5b, 0xc2,
+ 0x3b, 0x9d, 0x3d, 0x56, 0x6e, 0x25, 0x41, 0x38, 0x5d, 0x17, 0x7d, 0x43, 0x83, 0xc7, 0xb9, 0x67,
+ 0x7c, 0x8b, 0x1e, 0x65, 0x2c, 0x67, 0x1e, 0x89, 0x93, 0xf4, 0xc5, 0x4e, 0x17, 0x93, 0xc7, 0x76,
+ 0xba, 0x78, 0xf2, 0x60, 0x7f, 0xf1, 0xf1, 0xd6, 0x08, 0xb8, 0xf1, 0x48, 0x3d, 0xd0, 0xaf, 0xc3,
+ 0xb4, 0xdc, 0xc2, 0xe8, 0xa2, 0x22, 0xb0, 0xc7, 0x5c, 0xf6, 0x3a, 0xd9, 0xe3, 0xd2, 0xfb, 0x62,
+ 0x42, 0x7a, 0xe7, 0xfa, 0xdb, 0xcb, 0xb4, 0x40, 0x08, 0xf2, 0xfa, 0x7f, 0xd4, 0xf8, 0x9a, 0x15,
+ 0xf9, 0x25, 0x0d, 0x68, 0xf4, 0x79, 0xe4, 0x3f, 0xf6, 0xe6, 0x51, 0x2b, 0xff, 0xda, 0x72, 0x35,
+ 0x46, 0x83, 0x55, 0x9c, 0x68, 0x37, 0x9b, 0x04, 0xf5, 0x6a, 0x45, 0xfe, 0x32, 0x72, 0x2e, 0x54,
+ 0x94, 0x6d, 0xa3, 0x66, 0x8f, 0xd4, 0x0e, 0xcf, 0x1e, 0x79, 0x74, 0xf6, 0x2f, 0xfd, 0x3b, 0x63,
+ 0x90, 0x9b, 0xf9, 0x01, 0xe9, 0x30, 0xc9, 0xdf, 0x38, 0xa8, 0xe9, 0x61, 0xf9, 0x03, 0x08, 0x2c,
+ 0x20, 0xc8, 0x87, 0xb3, 0xe2, 0x01, 0xc1, 0x75, 0xb2, 0x17, 0xa7, 0x25, 0x15, 0x1b, 0x79, 0x74,
+ 0x37, 0x62, 0x16, 0x12, 0xac, 0x9b, 0xc2, 0x84, 0x73, 0x71, 0xa3, 0x5b, 0xfc, 0xb1, 0x92, 0x6b,
+ 0xb1, 0xa0, 0x39, 0xf1, 0x72, 0x53, 0xdf, 0xd7, 0xac, 0xe4, 0x55, 0xc0, 0xf9, 0xed, 0xd0, 0x0e,
+ 0xa0, 0xbe, 0xb1, 0x9b, 0xc6, 0x56, 0x21, 0xe0, 0xfc, 0x6a, 0x06, 0x1b, 0xce, 0xa1, 0x40, 0xf7,
+ 0xbf, 0x61, 0x9a, 0x64, 0x10, 0x12, 0x8b, 0x4f, 0x6b, 0x14, 0x6e, 0x80, 0xed, 0xff, 0xe5, 0x24,
+ 0x08, 0xa7, 0xeb, 0x32, 0x57, 0x7e, 0xa6, 0x0f, 0xbc, 0x41, 0x9c, 0x4c, 0x58, 0x5f, 0x1f, 0xb0,
+ 0x2b, 0x3f, 0xa7, 0x71, 0xf8, 0x4d, 0xcd, 0xab, 0x70, 0x9e, 0x55, 0x5b, 0xb6, 0x98, 0x0a, 0x10,
+ 0x10, 0x6b, 0xd9, 0xb2, 0xd8, 0xcb, 0xc1, 0xaa, 0x69, 0x5d, 0xf5, 0x7f, 0x52, 0x83, 0x53, 0x0c,
+ 0x77, 0x6b, 0x19, 0x0b, 0x2b, 0x05, 0x6a, 0x47, 0xee, 0x83, 0x1c, 0xeb, 0x52, 0xda, 0x7d, 0xf0,
+ 0x22, 0x6f, 0xe0, 0x13, 0xc6, 0xd7, 0x0d, 0x27, 0x88, 0x5a, 0x26, 0xfc, 0x09, 0x7d, 0x40, 0x8e,
+ 0x11, 0x84, 0x3c, 0xcb, 0x56, 0xc4, 0x5c, 0x4b, 0xb8, 0x13, 0xb2, 0xf5, 0x79, 0x23, 0x83, 0x09,
+ 0xe7, 0x60, 0x8f, 0x68, 0xb6, 0xbc, 0xfe, 0xc0, 0x21, 0x92, 0x66, 0xad, 0x3c, 0xcd, 0x24, 0x26,
+ 0x9c, 0x83, 0x5d, 0xff, 0xbc, 0x06, 0xa7, 0xd3, 0x13, 0x82, 0xee, 0x40, 0xdd, 0x17, 0x93, 0x22,
+ 0xd6, 0xf7, 0x6a, 0xf9, 0xd5, 0x91, 0x33, 0xd3, 0x22, 0xd5, 0x8b, 0xf8, 0x85, 0x25, 0x31, 0xfd,
+ 0x7f, 0x4e, 0xc2, 0x42, 0x51, 0x23, 0xf4, 0x45, 0x0d, 0xce, 0x9b, 0xf1, 0xb9, 0xb7, 0x3c, 0x0c,
+ 0xb7, 0x3c, 0xdf, 0x0e, 0x6d, 0x12, 0x25, 0x91, 0x6e, 0x57, 0xe8, 0xa4, 0x5c, 0x3f, 0x3c, 0x0c,
+ 0x4a, 0x2b, 0x97, 0x0e, 0x2e, 0xa0, 0x8f, 0x3e, 0x0e, 0xb0, 0x1d, 0x07, 0x24, 0xab, 0x55, 0xc8,
+ 0x4b, 0xcb, 0x7a, 0xa3, 0x44, 0x2d, 0x8b, 0x7a, 0xc5, 0x94, 0x30, 0xa5, 0x5c, 0xa1, 0xc7, 0xb2,
+ 0xe2, 0x06, 0x5b, 0xd7, 0xc9, 0xde, 0xc0, 0xb0, 0xfd, 0x4a, 0x59, 0x71, 0xf9, 0x76, 0xee, 0x5e,
+ 0x13, 0xb8, 0x92, 0xd4, 0x95, 0x72, 0x85, 0x1e, 0xfa, 0x65, 0x0d, 0x66, 0xb9, 0xb0, 0x25, 0xbc,
+ 0x74, 0x04, 0x27, 0xbf, 0x55, 0xbe, 0x07, 0xb7, 0x54, 0x74, 0xb2, 0x13, 0xcc, 0x18, 0x9f, 0x04,
+ 0x25, 0x09, 0xd3, 0x15, 0x32, 0x9f, 0x4c, 0x9f, 0x74, 0x9d, 0xec, 0x09, 0x4d, 0xae, 0x5b, 0x61,
+ 0x42, 0xd2, 0x28, 0x65, 0x97, 0x98, 0x1c, 0x9b, 0x05, 0x67, 0x3b, 0xc1, 0xba, 0x46, 0x42, 0xd3,
+ 0x12, 0xd9, 0xb1, 0x6d, 0xcf, 0xa5, 0x5d, 0x9b, 0xac, 0xda, 0xb5, 0x95, 0xdb, 0xad, 0x76, 0x02,
+ 0x65, 0xb2, 0x6b, 0x59, 0x70, 0xb6, 0x13, 0xfa, 0xf7, 0x6b, 0x70, 0xe9, 0x70, 0x64, 0x7f, 0xc9,
+ 0x53, 0x8f, 0xc5, 0x53, 0x7f, 0xa1, 0x06, 0x0f, 0x15, 0xec, 0xe3, 0x82, 0x39, 0xd0, 0xfe, 0xbf,
+ 0x9b, 0x83, 0xef, 0x69, 0x30, 0xcd, 0xe6, 0xe0, 0x8d, 0xe2, 0xc3, 0xca, 0x3a, 0x5b, 0x70, 0xcb,
+ 0xfc, 0xfb, 0x1a, 0xcc, 0x67, 0xc2, 0x9c, 0x8d, 0x20, 0xbd, 0x9c, 0xe0, 0x5d, 0xeb, 0x13, 0xe9,
+ 0x9c, 0xc2, 0x8d, 0xdc, 0xf8, 0x87, 0xaf, 0xc0, 0x6c, 0xe2, 0x8e, 0x59, 0x86, 0x8d, 0xd0, 0x72,
+ 0xc3, 0x46, 0xa8, 0x51, 0x21, 0x6a, 0x87, 0x47, 0x85, 0xa8, 0xc1, 0x85, 0x62, 0xde, 0xfd, 0x17,
+ 0x66, 0xd9, 0xcb, 0xad, 0x9f, 0x3d, 0x44, 0xff, 0xc2, 0xcc, 0x81, 0x3c, 0x4f, 0x0a, 0xcf, 0xcd,
+ 0xbf, 0x3c, 0x4f, 0x8e, 0x35, 0xa1, 0xff, 0x78, 0x4e, 0xf0, 0x52, 0x76, 0x0f, 0xf0, 0x11, 0x98,
+ 0x64, 0x61, 0x51, 0x22, 0xa9, 0xf7, 0x3d, 0xe5, 0xe3, 0xad, 0x04, 0xdc, 0xc6, 0xc0, 0xff, 0xc7,
+ 0x02, 0x2d, 0x6a, 0xc3, 0x69, 0xd3, 0xf1, 0x86, 0x96, 0x48, 0x8e, 0x75, 0x33, 0x36, 0x67, 0xc8,
+ 0x68, 0x72, 0xad, 0x14, 0x1c, 0x67, 0x5a, 0xa0, 0xae, 0x7a, 0x33, 0xf0, 0xee, 0xb2, 0xbe, 0x4c,
+ 0x3c, 0xac, 0xb8, 0xbc, 0x11, 0xf0, 0x01, 0x48, 0xc4, 0x16, 0xa3, 0x27, 0x25, 0x2f, 0x96, 0x8c,
+ 0x94, 0x27, 0xb9, 0x6b, 0xa4, 0x88, 0xcb, 0xa2, 0x00, 0x2b, 0x54, 0x50, 0x00, 0x8d, 0xad, 0x38,
+ 0xd1, 0xb6, 0x90, 0x26, 0x5f, 0xaa, 0x9a, 0xe5, 0x9b, 0x5b, 0xc0, 0x94, 0x02, 0xac, 0x52, 0x41,
+ 0x01, 0x57, 0x28, 0xb8, 0x2d, 0xb4, 0x52, 0x56, 0xd6, 0xd8, 0xca, 0x1a, 0x8f, 0x34, 0x2e, 0xc3,
+ 0x0a, 0x19, 0x4a, 0xd4, 0x95, 0xd1, 0x8d, 0xc4, 0x15, 0x58, 0x39, 0xa2, 0x71, 0x90, 0xa4, 0x98,
+ 0x68, 0x5c, 0x86, 0x15, 0x32, 0x74, 0x7a, 0xfb, 0x71, 0x4c, 0x2b, 0x71, 0x9b, 0xf0, 0x52, 0xd5,
+ 0xe0, 0x62, 0xc2, 0xc0, 0x18, 0x17, 0x60, 0x95, 0x0a, 0xf2, 0x00, 0xfa, 0x32, 0xd6, 0x95, 0xb8,
+ 0x5a, 0x28, 0x37, 0xd2, 0x38, 0x64, 0x16, 0x57, 0x92, 0xe2, 0xdf, 0x58, 0x21, 0x81, 0xb6, 0x95,
+ 0x9b, 0x25, 0xa8, 0x60, 0x74, 0x1f, 0xe9, 0x56, 0xe9, 0x5d, 0xb1, 0xb9, 0xb2, 0xc1, 0xf6, 0xed,
+ 0x23, 0x8a, 0xa9, 0xf2, 0xde, 0xfe, 0xe2, 0x0c, 0x63, 0x26, 0x19, 0xd3, 0x65, 0xec, 0xae, 0x35,
+ 0x73, 0x98, 0xbb, 0x16, 0xba, 0x4a, 0x95, 0x2c, 0xc5, 0xd3, 0x99, 0x31, 0x88, 0x59, 0xd6, 0x44,
+ 0x46, 0x47, 0xeb, 0xa6, 0x2b, 0xe0, 0x6c, 0x1b, 0x2e, 0x5d, 0x10, 0x8b, 0xb5, 0x9f, 0x53, 0xa5,
+ 0x0b, 0x5e, 0x86, 0x25, 0x14, 0xdd, 0x81, 0x99, 0x40, 0x71, 0x10, 0x13, 0x89, 0x97, 0xaa, 0x5c,
+ 0x06, 0x09, 0xef, 0x30, 0x16, 0x97, 0x46, 0x2d, 0xc1, 0x09, 0x42, 0xe8, 0xe3, 0x30, 0x1d, 0x19,
+ 0xaf, 0x83, 0x85, 0xd3, 0x15, 0x5e, 0x19, 0xe5, 0x87, 0x38, 0x8b, 0xad, 0xd1, 0x11, 0x28, 0xc0,
+ 0x31, 0x41, 0xb4, 0x93, 0x7c, 0xe3, 0x3b, 0x7f, 0x7f, 0x5e, 0x35, 0x4a, 0xb7, 0x9f, 0xa2, 0xf7,
+ 0xbd, 0xa8, 0x05, 0xf3, 0x64, 0x77, 0xe0, 0x05, 0x43, 0x9f, 0xb0, 0x08, 0x8b, 0xec, 0x0b, 0xa1,
+ 0xf8, 0xe6, 0x66, 0x25, 0x0d, 0xc4, 0xd9, 0xfa, 0xe8, 0xb3, 0x1a, 0x9c, 0xe6, 0x99, 0xab, 0xe8,
+ 0x71, 0xe6, 0xb9, 0xc4, 0x0d, 0x83, 0x85, 0x33, 0x15, 0x82, 0x9b, 0x76, 0x53, 0xc8, 0x84, 0x11,
+ 0x3b, 0x55, 0x8a, 0x33, 0x44, 0xf5, 0x7f, 0xa1, 0x01, 0x48, 0x43, 0x25, 0x39, 0x01, 0xeb, 0x2d,
+ 0x49, 0x58, 0x6f, 0x5b, 0xd5, 0x2c, 0xab, 0xa4, 0xf0, 0x9d, 0xe0, 0x1f, 0x69, 0x30, 0x17, 0x57,
+ 0x3b, 0x01, 0x45, 0xcb, 0x4a, 0x2a, 0x5a, 0xef, 0xad, 0x38, 0xb0, 0x02, 0x6d, 0xeb, 0xff, 0xd6,
+ 0xd4, 0x61, 0x31, 0x99, 0xe7, 0x8e, 0x72, 0x67, 0xc9, 0x6f, 0x49, 0x3b, 0x95, 0xee, 0x2c, 0xd5,
+ 0xd7, 0x57, 0xf1, 0x88, 0x73, 0xee, 0x30, 0x3f, 0x91, 0x10, 0x38, 0xaa, 0x3c, 0x33, 0x94, 0xd2,
+ 0x45, 0x44, 0x9b, 0x4f, 0xc1, 0x51, 0xd2, 0x87, 0xaf, 0x32, 0x20, 0xfe, 0xf2, 0x67, 0xb9, 0xe4,
+ 0xd3, 0x36, 0x65, 0xc8, 0x87, 0xb2, 0x1d, 0xfd, 0x37, 0x67, 0xa1, 0xa1, 0x18, 0xf6, 0x7f, 0x2c,
+ 0xb7, 0xd4, 0x43, 0x68, 0x98, 0x9e, 0x1b, 0x84, 0xbe, 0xa1, 0xc4, 0xb2, 0xa9, 0x4a, 0x54, 0x72,
+ 0xbe, 0x56, 0x8c, 0x1a, 0xab, 0x74, 0xe8, 0x39, 0x2d, 0x17, 0xda, 0xd8, 0xfd, 0xb8, 0x1c, 0x3f,
+ 0x6c, 0x71, 0xbd, 0x13, 0x20, 0x92, 0xf9, 0x08, 0x4f, 0xbb, 0x53, 0x8f, 0x73, 0x40, 0x74, 0x82,
+ 0x6b, 0x12, 0x86, 0x95, 0x7a, 0xe8, 0x75, 0x98, 0x75, 0xd4, 0xe8, 0xef, 0x42, 0x22, 0x2d, 0xe7,
+ 0x70, 0x9e, 0x88, 0x23, 0xcf, 0x2d, 0xac, 0x89, 0x22, 0x9c, 0xa4, 0x85, 0xb6, 0x61, 0xda, 0x89,
+ 0x52, 0x16, 0x08, 0xb1, 0xf4, 0xc5, 0xd2, 0x84, 0x19, 0x16, 0xee, 0xcb, 0x22, 0x7f, 0xe2, 0x18,
+ 0x3f, 0x5d, 0x77, 0xf2, 0x47, 0x35, 0x7f, 0x96, 0x98, 0x9a, 0x5c, 0x77, 0xb2, 0x28, 0xc0, 0x0a,
+ 0x95, 0x02, 0x7f, 0x83, 0x7a, 0x29, 0x7f, 0x83, 0x21, 0x9c, 0xf1, 0x49, 0xe8, 0xef, 0xb5, 0xf6,
+ 0x4c, 0x96, 0x77, 0xc4, 0x0f, 0x99, 0xb2, 0x38, 0x5d, 0x2e, 0x26, 0x05, 0xce, 0xa2, 0xc2, 0x79,
+ 0xf8, 0xd1, 0xa3, 0x30, 0x4e, 0x65, 0x18, 0x11, 0x12, 0x8e, 0x99, 0x74, 0xa8, 0x84, 0x83, 0x59,
+ 0x29, 0x7a, 0x17, 0x34, 0x42, 0x62, 0x6e, 0xb9, 0xb6, 0x69, 0x38, 0x9d, 0xb6, 0x10, 0x10, 0x63,
+ 0x91, 0x20, 0x06, 0x61, 0xb5, 0x1e, 0x6a, 0xc2, 0xd8, 0xd0, 0xb6, 0x84, 0x64, 0xf8, 0xd3, 0xf2,
+ 0x22, 0xae, 0xd3, 0xbe, 0xb7, 0xbf, 0xf8, 0xe6, 0xf8, 0xd1, 0xb3, 0x1c, 0xc9, 0xe5, 0xc1, 0x76,
+ 0xef, 0x72, 0xb8, 0x37, 0x20, 0xc1, 0xd2, 0x7a, 0xa7, 0x8d, 0x69, 0xe3, 0x3c, 0xff, 0x8b, 0xd9,
+ 0x63, 0xf8, 0x5f, 0x7c, 0x49, 0x83, 0x33, 0x46, 0xfa, 0x0e, 0x91, 0x04, 0x0b, 0x73, 0x15, 0xb8,
+ 0x72, 0xfe, 0xc5, 0x64, 0x1c, 0x9a, 0x77, 0x39, 0x4b, 0x0f, 0xe7, 0x75, 0x02, 0xf9, 0x80, 0xfa,
+ 0x76, 0x4f, 0x26, 0x72, 0x10, 0x9f, 0xfa, 0x54, 0x39, 0xbb, 0xc0, 0x6a, 0x06, 0x13, 0xce, 0xc1,
+ 0x8e, 0x76, 0xa1, 0x61, 0xc6, 0x26, 0x12, 0x96, 0xf8, 0xb3, 0xb4, 0x6c, 0x95, 0xb2, 0xb7, 0x88,
+ 0xb0, 0x55, 0x8a, 0x01, 0x46, 0x25, 0x85, 0x3e, 0xa7, 0xc1, 0x05, 0xba, 0x69, 0x14, 0xfd, 0xf5,
+ 0xb6, 0x6f, 0xf7, 0x7a, 0xc4, 0x67, 0xc3, 0x9e, 0x3f, 0xf6, 0xb0, 0x59, 0x32, 0xd1, 0x1b, 0x85,
+ 0x18, 0xf1, 0x21, 0xd4, 0xf4, 0xff, 0xae, 0x41, 0x46, 0x0a, 0x44, 0x26, 0x4c, 0xd1, 0x11, 0xb6,
+ 0x6f, 0x76, 0x85, 0x1c, 0xf4, 0x7c, 0xc9, 0xb3, 0x83, 0xe1, 0xe0, 0xd6, 0x54, 0xf1, 0x03, 0x47,
+ 0x98, 0xa9, 0x5a, 0xe2, 0x2a, 0x21, 0x50, 0x85, 0xbc, 0x57, 0xee, 0x7c, 0x56, 0x63, 0xa9, 0x72,
+ 0xb5, 0x44, 0x2d, 0xc1, 0x09, 0x42, 0xfa, 0x0d, 0x80, 0x58, 0x78, 0xaf, 0xec, 0xe0, 0xf3, 0x1f,
+ 0x26, 0xe0, 0x5c, 0x55, 0x87, 0x76, 0x96, 0x8e, 0x82, 0x25, 0x36, 0x5e, 0xde, 0x0c, 0x89, 0x7f,
+ 0xeb, 0xd6, 0xaa, 0x4c, 0xfa, 0x5a, 0x32, 0x1f, 0x46, 0x9c, 0x1a, 0x3b, 0x83, 0x11, 0x17, 0x50,
+ 0x62, 0x8a, 0x8b, 0x48, 0x1f, 0x89, 0xa9, 0x74, 0x35, 0xf4, 0x83, 0x50, 0x3c, 0x11, 0xe7, 0x8a,
+ 0x4b, 0x1a, 0x88, 0xb3, 0xf5, 0xd3, 0x48, 0x78, 0x92, 0x65, 0x7a, 0x3a, 0x6b, 0x59, 0x24, 0x3c,
+ 0xd3, 0x72, 0xb6, 0xbe, 0x8a, 0x84, 0x7f, 0x29, 0xd7, 0xe4, 0xc1, 0xf9, 0x53, 0x48, 0x24, 0x10,
+ 0x67, 0xeb, 0x23, 0x0b, 0x1e, 0xf5, 0x89, 0xe9, 0xf5, 0xfb, 0xc4, 0xb5, 0x78, 0x02, 0x24, 0xc3,
+ 0xef, 0xd9, 0xee, 0x15, 0xdf, 0x60, 0x15, 0xd9, 0x01, 0xac, 0xb1, 0xf4, 0xf6, 0x8f, 0xe2, 0x43,
+ 0xea, 0xe1, 0x43, 0xb1, 0xa0, 0x3e, 0x9c, 0x1a, 0xb2, 0xb8, 0xe7, 0x7e, 0xc7, 0x0d, 0x89, 0xbf,
+ 0x63, 0x38, 0x25, 0xb3, 0x87, 0x33, 0x36, 0xbe, 0x9e, 0x44, 0x85, 0xd3, 0xb8, 0xd1, 0x1e, 0x3d,
+ 0x15, 0x45, 0x77, 0x14, 0x92, 0xf5, 0xf2, 0x09, 0x5b, 0x70, 0x16, 0x1d, 0xce, 0xa3, 0xa1, 0xff,
+ 0x6d, 0x0d, 0x84, 0x8b, 0x29, 0x3d, 0x24, 0x95, 0xcb, 0x9b, 0x7a, 0xea, 0xe2, 0xe6, 0x51, 0xf1,
+ 0x8c, 0xae, 0x16, 0x43, 0x95, 0x27, 0x74, 0x6f, 0x55, 0x62, 0x0f, 0x4c, 0xc7, 0x12, 0x05, 0xc7,
+ 0xac, 0xe4, 0x0e, 0xf8, 0x2b, 0x30, 0x35, 0xf0, 0xed, 0xbe, 0xe1, 0xef, 0x09, 0xe1, 0x6e, 0x96,
+ 0x07, 0x52, 0x64, 0x37, 0xac, 0x74, 0xef, 0x08, 0xa8, 0xfe, 0x7d, 0x0d, 0x44, 0x6b, 0x96, 0xe6,
+ 0x62, 0xa4, 0x6c, 0x07, 0x47, 0x3a, 0x9a, 0x29, 0x59, 0x1a, 0xc6, 0x0a, 0xb3, 0x34, 0x3c, 0xa0,
+ 0xe4, 0x05, 0xdf, 0xd1, 0xe0, 0x54, 0x32, 0x10, 0x44, 0x80, 0x9e, 0x80, 0x29, 0x11, 0xac, 0x49,
+ 0x84, 0x7b, 0xe1, 0xaf, 0x60, 0x79, 0x11, 0x8e, 0x60, 0x49, 0x8b, 0x4b, 0x15, 0x85, 0x2b, 0x3f,
+ 0x20, 0xc5, 0x11, 0xaa, 0xcf, 0xfe, 0x1c, 0x4c, 0xf2, 0xe8, 0x42, 0xe8, 0x17, 0x73, 0x9f, 0x66,
+ 0xdd, 0xa8, 0x10, 0xc0, 0xa8, 0xc4, 0x0b, 0xac, 0x44, 0xf0, 0xe9, 0xda, 0xa1, 0xc1, 0xa7, 0xbb,
+ 0x3c, 0x7d, 0x4b, 0x15, 0x83, 0x7b, 0x0b, 0x77, 0x44, 0x62, 0xd3, 0x28, 0x75, 0xcb, 0x30, 0x61,
+ 0x87, 0x1e, 0xaf, 0x20, 0x61, 0xf0, 0x29, 0x50, 0xac, 0xd1, 0x73, 0x87, 0x58, 0xa2, 0xe3, 0x68,
+ 0x2e, 0x13, 0x15, 0xbc, 0x3f, 0xc5, 0xac, 0x8f, 0x10, 0xcd, 0x45, 0xee, 0xa6, 0xc9, 0xc2, 0xdd,
+ 0xd4, 0x83, 0x29, 0xb1, 0x1f, 0x04, 0x77, 0x7c, 0xbe, 0x4a, 0x8e, 0x15, 0x25, 0x0a, 0x20, 0x2f,
+ 0xc0, 0x11, 0x76, 0x7a, 0xe6, 0xf6, 0x8d, 0x5d, 0xbb, 0x3f, 0xec, 0x33, 0x9e, 0x38, 0xa1, 0x56,
+ 0x65, 0xc5, 0x38, 0x82, 0xb3, 0xaa, 0xdc, 0x6d, 0x96, 0x29, 0x15, 0x6a, 0x55, 0x91, 0x9b, 0x3b,
+ 0x82, 0xa3, 0x0f, 0x42, 0xbd, 0x6f, 0xec, 0x76, 0x87, 0x7e, 0x8f, 0x08, 0x03, 0x74, 0xb1, 0xd1,
+ 0x6b, 0x18, 0xda, 0xce, 0x12, 0x55, 0x87, 0x43, 0x7f, 0xa9, 0xe3, 0x86, 0xb7, 0xfc, 0x6e, 0xe8,
+ 0xcb, 0x14, 0x0e, 0xab, 0x02, 0x0b, 0x96, 0xf8, 0x90, 0x03, 0x73, 0x7d, 0x63, 0x77, 0xdd, 0x35,
+ 0x64, 0x0a, 0xe1, 0x46, 0x49, 0x0a, 0xec, 0xa6, 0x7b, 0x35, 0x81, 0x0b, 0xa7, 0x70, 0xe7, 0x5c,
+ 0xaa, 0xcf, 0x3c, 0xa8, 0x4b, 0xf5, 0x65, 0xf9, 0x98, 0x62, 0x96, 0x2d, 0xc3, 0x87, 0xf3, 0xfc,
+ 0x6b, 0x0f, 0x7f, 0x27, 0xf1, 0x11, 0xf9, 0x4e, 0x62, 0xae, 0xc2, 0x6d, 0xdd, 0x21, 0x6f, 0x24,
+ 0x76, 0xa0, 0x61, 0x19, 0xa1, 0xc1, 0x4b, 0x83, 0x85, 0x53, 0x15, 0x2c, 0x73, 0x6d, 0x89, 0x47,
+ 0xc9, 0xba, 0x17, 0xe3, 0xc6, 0x2a, 0x21, 0x74, 0x8b, 0xa7, 0x98, 0x75, 0x48, 0x18, 0x57, 0x61,
+ 0x76, 0xe2, 0xd3, 0xfc, 0x26, 0x20, 0x4a, 0x08, 0x9b, 0xa9, 0x80, 0xf3, 0xdb, 0x51, 0x31, 0x95,
+ 0x87, 0x3f, 0x98, 0x8f, 0xe3, 0x8f, 0x26, 0x42, 0x3c, 0xfd, 0xf5, 0x3c, 0x83, 0x32, 0xaa, 0xf0,
+ 0x60, 0x8c, 0xf3, 0x87, 0xb2, 0x66, 0x65, 0xf4, 0xf7, 0x34, 0x58, 0xe8, 0x17, 0xa4, 0xa7, 0x13,
+ 0x86, 0xee, 0xf5, 0x2a, 0x3c, 0xa2, 0x30, 0xe7, 0x5d, 0xf3, 0xf1, 0x83, 0xfd, 0xc5, 0x23, 0x33,
+ 0xe3, 0xe1, 0xc2, 0xce, 0x55, 0x7d, 0xd6, 0x5b, 0x25, 0xf6, 0xd5, 0x6f, 0x68, 0x70, 0x3a, 0x7d,
+ 0x14, 0xa8, 0x49, 0x71, 0xb5, 0x07, 0x9c, 0x14, 0x57, 0xf1, 0x93, 0xa9, 0x1d, 0xe2, 0x27, 0xf3,
+ 0x02, 0x9c, 0xcf, 0x5f, 0x1d, 0x54, 0x38, 0x63, 0xa9, 0xa8, 0x85, 0x42, 0x14, 0x67, 0x2c, 0xa1,
+ 0x85, 0x98, 0xc3, 0x9a, 0xaf, 0x7e, 0xf7, 0x47, 0x97, 0xde, 0xf4, 0x87, 0x3f, 0xba, 0xf4, 0xa6,
+ 0x1f, 0xfc, 0xe8, 0xd2, 0x9b, 0x3e, 0x79, 0x70, 0x49, 0xfb, 0xee, 0xc1, 0x25, 0xed, 0x0f, 0x0f,
+ 0x2e, 0x69, 0x3f, 0x38, 0xb8, 0xa4, 0xfd, 0x9b, 0x83, 0x4b, 0xda, 0xdf, 0xfc, 0xb7, 0x97, 0xde,
+ 0xf4, 0xc1, 0x67, 0xe2, 0x41, 0x5e, 0x8e, 0xc6, 0x16, 0xff, 0x33, 0xd8, 0xee, 0x5d, 0xa6, 0x83,
+ 0x8c, 0xe2, 0xc8, 0xf1, 0x41, 0xfe, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x1e, 0xad, 0x39, 0x96,
+ 0x8d, 0xd2, 0x00, 0x00,
}
func (m *Addon) Marshal() (dAtA []byte, err error) {
@@ -5510,6 +5512,16 @@ func (m *AdmissionPlugin) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
+ if m.Disabled != nil {
+ i--
+ if *m.Disabled {
+ dAtA[i] = 1
+ } else {
+ dAtA[i] = 0
+ }
+ i--
+ dAtA[i] = 0x18
+ }
if m.Config != nil {
{
size, err := m.Config.MarshalToSizedBuffer(dAtA[:i])
@@ -8626,6 +8638,13 @@ func (m *KubeSchedulerConfig) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
+ if m.Profile != nil {
+ i -= len(*m.Profile)
+ copy(dAtA[i:], *m.Profile)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(*m.Profile)))
+ i--
+ dAtA[i] = 0x1a
+ }
if m.KubeMaxPDVols != nil {
i -= len(*m.KubeMaxPDVols)
copy(dAtA[i:], *m.KubeMaxPDVols)
@@ -14661,6 +14680,9 @@ func (m *AdmissionPlugin) Size() (n int) {
l = m.Config.Size()
n += 1 + l + sovGenerated(uint64(l))
}
+ if m.Disabled != nil {
+ n += 2
+ }
return n
}
@@ -15823,6 +15845,10 @@ func (m *KubeSchedulerConfig) Size() (n int) {
l = len(*m.KubeMaxPDVols)
n += 1 + l + sovGenerated(uint64(l))
}
+ if m.Profile != nil {
+ l = len(*m.Profile)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
return n
}
@@ -18063,6 +18089,7 @@ func (this *AdmissionPlugin) String() string {
s := strings.Join([]string{`&AdmissionPlugin{`,
`Name:` + fmt.Sprintf("%v", this.Name) + `,`,
`Config:` + strings.Replace(fmt.Sprintf("%v", this.Config), "RawExtension", "runtime.RawExtension", 1) + `,`,
+ `Disabled:` + valueToStringGenerated(this.Disabled) + `,`,
`}`,
}, "")
return s
@@ -18897,6 +18924,7 @@ func (this *KubeSchedulerConfig) String() string {
s := strings.Join([]string{`&KubeSchedulerConfig{`,
`KubernetesConfig:` + strings.Replace(strings.Replace(this.KubernetesConfig.String(), "KubernetesConfig", "KubernetesConfig", 1), `&`, ``, 1) + `,`,
`KubeMaxPDVols:` + valueToStringGenerated(this.KubeMaxPDVols) + `,`,
+ `Profile:` + valueToStringGenerated(this.Profile) + `,`,
`}`,
}, "")
return s
@@ -20715,6 +20743,27 @@ func (m *AdmissionPlugin) Unmarshal(dAtA []byte) error {
return err
}
iNdEx = postIndex
+ case 3:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Disabled", wireType)
+ }
+ var v int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ b := bool(v != 0)
+ m.Disabled = &b
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -29766,6 +29815,39 @@ func (m *KubeSchedulerConfig) Unmarshal(dAtA []byte) error {
s := string(dAtA[iNdEx:postIndex])
m.KubeMaxPDVols = &s
iNdEx = postIndex
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Profile", 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 < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ s := SchedulingProfile(dAtA[iNdEx:postIndex])
+ m.Profile = &s
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
diff --git a/vendor/github.com/gardener/gardener/pkg/apis/core/v1alpha1/generated.proto b/vendor/github.com/gardener/gardener/pkg/apis/core/v1alpha1/generated.proto
index 176347f38..bea0cb0bd 100644
--- a/vendor/github.com/gardener/gardener/pkg/apis/core/v1alpha1/generated.proto
+++ b/vendor/github.com/gardener/gardener/pkg/apis/core/v1alpha1/generated.proto
@@ -58,6 +58,10 @@ message AdmissionPlugin {
// Config is the configuration of the plugin.
// +optional
optional k8s.io.apimachinery.pkg.runtime.RawExtension config = 2;
+
+ // Disabled specifies whether this plugin should be disabled.
+ // +optional
+ optional bool disabled = 3;
}
// Alerting contains information about how alerting will be done (i.e. who will receive alerts and how).
@@ -881,7 +885,7 @@ message KubeAPIServerConfig {
// WatchCacheSizes contains configuration of the API server's watch cache sizes.
// Configuring these flags might be useful for large-scale Shoot clusters with a lot of parallel update requests
- // and a lot of watching controllers (e.g. large shooted Seed clusters). When the API server's watch cache's
+ // and a lot of watching controllers (e.g. large ManagedSeed clusters). When the API server's watch cache's
// capacity is too small to cope with the amount of update requests and watchers for a particular resource, it
// might happen that controller watches are permanently stopped with `too old resource version` errors.
// Starting from kubernetes v1.19, the API server's watch cache size is adapted dynamically and setting the watch
@@ -965,6 +969,11 @@ message KubeSchedulerConfig {
// of all the side-effects and consequences when changing it.
// +optional
optional string kubeMaxPDVols = 2;
+
+ // Profile configures the scheduling profile for the cluster.
+ // If not specified, the used profile is "balanced" (provides the default kube-scheduler behavior).
+ // +optional
+ optional string profile = 3;
}
// KubeletConfig contains configuration settings for the kubelet.
@@ -1830,7 +1839,7 @@ message SecretBinding {
repeated k8s.io.api.core.v1.ObjectReference quotas = 3;
// Provider defines the provider type of the SecretBinding.
- // This field is immutable when the SecretBindingProviderValidation feature gate is enabled.
+ // This field is immutable.
// +optional
optional SecretBindingProvider provider = 4;
}
@@ -2202,8 +2211,7 @@ message ServiceAccountConfig {
// MaxTokenExpiration is the maximum validity duration of a token created by the service account token issuer. If an
// otherwise valid TokenRequest with a validity duration larger than this value is requested, a token will be issued
// with a validity duration of this value.
- // This field must be within [30d,90d] when the ShootMaxTokenExpirationValidation feature gate is enabled.
- // This field will be overwritten to be within [30d,90d] when the ShootMaxTokenExpirationOverwrite feature gate is enabled.
+ // This field must be within [30d,90d].
// +optional
optional k8s.io.apimachinery.pkg.apis.meta.v1.Duration maxTokenExpiration = 4;
diff --git a/vendor/github.com/gardener/gardener/pkg/apis/core/v1alpha1/types_secretbinding.go b/vendor/github.com/gardener/gardener/pkg/apis/core/v1alpha1/types_secretbinding.go
index d19eff942..4be728381 100644
--- a/vendor/github.com/gardener/gardener/pkg/apis/core/v1alpha1/types_secretbinding.go
+++ b/vendor/github.com/gardener/gardener/pkg/apis/core/v1alpha1/types_secretbinding.go
@@ -36,7 +36,7 @@ type SecretBinding struct {
// +optional
Quotas []corev1.ObjectReference `json:"quotas,omitempty" protobuf:"bytes,3,rep,name=quotas"`
// Provider defines the provider type of the SecretBinding.
- // This field is immutable when the SecretBindingProviderValidation feature gate is enabled.
+ // This field is immutable.
// +optional
Provider *SecretBindingProvider `json:"provider,omitempty" protobuf:"bytes,4,opt,name=provider"`
}
diff --git a/vendor/github.com/gardener/gardener/pkg/apis/core/v1alpha1/types_shoot.go b/vendor/github.com/gardener/gardener/pkg/apis/core/v1alpha1/types_shoot.go
index d62ae35bb..00b4b373d 100644
--- a/vendor/github.com/gardener/gardener/pkg/apis/core/v1alpha1/types_shoot.go
+++ b/vendor/github.com/gardener/gardener/pkg/apis/core/v1alpha1/types_shoot.go
@@ -650,7 +650,7 @@ type KubeAPIServerConfig struct {
ServiceAccountConfig *ServiceAccountConfig `json:"serviceAccountConfig,omitempty" protobuf:"bytes,8,opt,name=serviceAccountConfig"`
// WatchCacheSizes contains configuration of the API server's watch cache sizes.
// Configuring these flags might be useful for large-scale Shoot clusters with a lot of parallel update requests
- // and a lot of watching controllers (e.g. large shooted Seed clusters). When the API server's watch cache's
+ // and a lot of watching controllers (e.g. large ManagedSeed clusters). When the API server's watch cache's
// capacity is too small to cope with the amount of update requests and watchers for a particular resource, it
// might happen that controller watches are permanently stopped with `too old resource version` errors.
// Starting from kubernetes v1.19, the API server's watch cache size is adapted dynamically and setting the watch
@@ -705,8 +705,7 @@ type ServiceAccountConfig struct {
// MaxTokenExpiration is the maximum validity duration of a token created by the service account token issuer. If an
// otherwise valid TokenRequest with a validity duration larger than this value is requested, a token will be issued
// with a validity duration of this value.
- // This field must be within [30d,90d] when the ShootMaxTokenExpirationValidation feature gate is enabled.
- // This field will be overwritten to be within [30d,90d] when the ShootMaxTokenExpirationOverwrite feature gate is enabled.
+ // This field must be within [30d,90d].
// +optional
MaxTokenExpiration *metav1.Duration `json:"maxTokenExpiration,omitempty" protobuf:"bytes,4,opt,name=maxTokenExpiration"`
// AcceptedIssuers is an additional set of issuers that are used to determine which service account tokens are accepted.
@@ -785,6 +784,9 @@ type AdmissionPlugin struct {
// Config is the configuration of the plugin.
// +optional
Config *runtime.RawExtension `json:"config,omitempty" protobuf:"bytes,2,opt,name=config"`
+ // Disabled specifies whether this plugin should be disabled.
+ // +optional
+ Disabled *bool `json:"disabled,omitempty" protobuf:"varint,3,opt,name=disabled"`
}
// WatchCacheSizes contains configuration of the API server's watch cache sizes.
@@ -873,8 +875,25 @@ type KubeSchedulerConfig struct {
// of all the side-effects and consequences when changing it.
// +optional
KubeMaxPDVols *string `json:"kubeMaxPDVols,omitempty" protobuf:"bytes,2,opt,name=kubeMaxPDVols"`
+ // Profile configures the scheduling profile for the cluster.
+ // If not specified, the used profile is "balanced" (provides the default kube-scheduler behavior).
+ // +optional
+ Profile *SchedulingProfile `json:"profile,omitempty" protobuf:"bytes,3,opt,name=profile,casttype=SchedulingProfile"`
}
+// SchedulingProfile is a string alias used for scheduling profile values.
+type SchedulingProfile string
+
+const (
+ // SchedulingProfileBalanced is a scheduling profile that attempts to spread Pods evenly across Nodes
+ // to obtain a more balanced resource usage. This profile provides the default kube-scheduler behavior.
+ SchedulingProfileBalanced SchedulingProfile = "balanced"
+ // SchedulingProfileBinPacking is a scheduling profile that scores Nodes based on the allocation of resources.
+ // It prioritizes Nodes with most allocated resources. This leads the Node count in the cluster to be minimized and
+ // the Node resource utilization to be increased.
+ SchedulingProfileBinPacking SchedulingProfile = "bin-packing"
+)
+
// KubeProxyConfig contains configuration settings for the kube-proxy.
type KubeProxyConfig struct {
KubernetesConfig `json:",inline" protobuf:"bytes,1,opt,name=kubernetesConfig"`
diff --git a/vendor/github.com/gardener/gardener/pkg/apis/core/v1alpha1/zz_generated.conversion.go b/vendor/github.com/gardener/gardener/pkg/apis/core/v1alpha1/zz_generated.conversion.go
index 5be61dd27..42b3e74f3 100644
--- a/vendor/github.com/gardener/gardener/pkg/apis/core/v1alpha1/zz_generated.conversion.go
+++ b/vendor/github.com/gardener/gardener/pkg/apis/core/v1alpha1/zz_generated.conversion.go
@@ -1701,6 +1701,7 @@ func Convert_core_Addons_To_v1alpha1_Addons(in *core.Addons, out *Addons, s conv
func autoConvert_v1alpha1_AdmissionPlugin_To_core_AdmissionPlugin(in *AdmissionPlugin, out *core.AdmissionPlugin, s conversion.Scope) error {
out.Name = in.Name
out.Config = (*runtime.RawExtension)(unsafe.Pointer(in.Config))
+ out.Disabled = (*bool)(unsafe.Pointer(in.Disabled))
return nil
}
@@ -1711,6 +1712,7 @@ func Convert_v1alpha1_AdmissionPlugin_To_core_AdmissionPlugin(in *AdmissionPlugi
func autoConvert_core_AdmissionPlugin_To_v1alpha1_AdmissionPlugin(in *core.AdmissionPlugin, out *AdmissionPlugin, s conversion.Scope) error {
out.Name = in.Name
+ out.Disabled = (*bool)(unsafe.Pointer(in.Disabled))
out.Config = (*runtime.RawExtension)(unsafe.Pointer(in.Config))
return nil
}
@@ -3090,7 +3092,17 @@ func autoConvert_v1alpha1_KubeAPIServerConfig_To_core_KubeAPIServerConfig(in *Ku
if err := Convert_v1alpha1_KubernetesConfig_To_core_KubernetesConfig(&in.KubernetesConfig, &out.KubernetesConfig, s); err != nil {
return err
}
- out.AdmissionPlugins = *(*[]core.AdmissionPlugin)(unsafe.Pointer(&in.AdmissionPlugins))
+ if in.AdmissionPlugins != nil {
+ in, out := &in.AdmissionPlugins, &out.AdmissionPlugins
+ *out = make([]core.AdmissionPlugin, len(*in))
+ for i := range *in {
+ if err := Convert_v1alpha1_AdmissionPlugin_To_core_AdmissionPlugin(&(*in)[i], &(*out)[i], s); err != nil {
+ return err
+ }
+ }
+ } else {
+ out.AdmissionPlugins = nil
+ }
out.APIAudiences = *(*[]string)(unsafe.Pointer(&in.APIAudiences))
out.AuditConfig = (*core.AuditConfig)(unsafe.Pointer(in.AuditConfig))
out.EnableBasicAuthentication = (*bool)(unsafe.Pointer(in.EnableBasicAuthentication))
@@ -3113,7 +3125,17 @@ func autoConvert_core_KubeAPIServerConfig_To_v1alpha1_KubeAPIServerConfig(in *co
if err := Convert_core_KubernetesConfig_To_v1alpha1_KubernetesConfig(&in.KubernetesConfig, &out.KubernetesConfig, s); err != nil {
return err
}
- out.AdmissionPlugins = *(*[]AdmissionPlugin)(unsafe.Pointer(&in.AdmissionPlugins))
+ if in.AdmissionPlugins != nil {
+ in, out := &in.AdmissionPlugins, &out.AdmissionPlugins
+ *out = make([]AdmissionPlugin, len(*in))
+ for i := range *in {
+ if err := Convert_core_AdmissionPlugin_To_v1alpha1_AdmissionPlugin(&(*in)[i], &(*out)[i], s); err != nil {
+ return err
+ }
+ }
+ } else {
+ out.AdmissionPlugins = nil
+ }
out.APIAudiences = *(*[]string)(unsafe.Pointer(&in.APIAudiences))
out.AuditConfig = (*AuditConfig)(unsafe.Pointer(in.AuditConfig))
out.EnableBasicAuthentication = (*bool)(unsafe.Pointer(in.EnableBasicAuthentication))
@@ -3219,6 +3241,7 @@ func autoConvert_v1alpha1_KubeSchedulerConfig_To_core_KubeSchedulerConfig(in *Ku
return err
}
out.KubeMaxPDVols = (*string)(unsafe.Pointer(in.KubeMaxPDVols))
+ out.Profile = (*core.SchedulingProfile)(unsafe.Pointer(in.Profile))
return nil
}
@@ -3232,6 +3255,7 @@ func autoConvert_core_KubeSchedulerConfig_To_v1alpha1_KubeSchedulerConfig(in *co
return err
}
out.KubeMaxPDVols = (*string)(unsafe.Pointer(in.KubeMaxPDVols))
+ out.Profile = (*SchedulingProfile)(unsafe.Pointer(in.Profile))
return nil
}
@@ -3411,7 +3435,15 @@ func Convert_core_KubeletConfigReserved_To_v1alpha1_KubeletConfigReserved(in *co
func autoConvert_v1alpha1_Kubernetes_To_core_Kubernetes(in *Kubernetes, out *core.Kubernetes, s conversion.Scope) error {
out.AllowPrivilegedContainers = (*bool)(unsafe.Pointer(in.AllowPrivilegedContainers))
out.ClusterAutoscaler = (*core.ClusterAutoscaler)(unsafe.Pointer(in.ClusterAutoscaler))
- out.KubeAPIServer = (*core.KubeAPIServerConfig)(unsafe.Pointer(in.KubeAPIServer))
+ if in.KubeAPIServer != nil {
+ in, out := &in.KubeAPIServer, &out.KubeAPIServer
+ *out = new(core.KubeAPIServerConfig)
+ if err := Convert_v1alpha1_KubeAPIServerConfig_To_core_KubeAPIServerConfig(*in, *out, s); err != nil {
+ return err
+ }
+ } else {
+ out.KubeAPIServer = nil
+ }
out.KubeControllerManager = (*core.KubeControllerManagerConfig)(unsafe.Pointer(in.KubeControllerManager))
out.KubeScheduler = (*core.KubeSchedulerConfig)(unsafe.Pointer(in.KubeScheduler))
out.KubeProxy = (*core.KubeProxyConfig)(unsafe.Pointer(in.KubeProxy))
@@ -3430,7 +3462,15 @@ func Convert_v1alpha1_Kubernetes_To_core_Kubernetes(in *Kubernetes, out *core.Ku
func autoConvert_core_Kubernetes_To_v1alpha1_Kubernetes(in *core.Kubernetes, out *Kubernetes, s conversion.Scope) error {
out.AllowPrivilegedContainers = (*bool)(unsafe.Pointer(in.AllowPrivilegedContainers))
out.ClusterAutoscaler = (*ClusterAutoscaler)(unsafe.Pointer(in.ClusterAutoscaler))
- out.KubeAPIServer = (*KubeAPIServerConfig)(unsafe.Pointer(in.KubeAPIServer))
+ if in.KubeAPIServer != nil {
+ in, out := &in.KubeAPIServer, &out.KubeAPIServer
+ *out = new(KubeAPIServerConfig)
+ if err := Convert_core_KubeAPIServerConfig_To_v1alpha1_KubeAPIServerConfig(*in, *out, s); err != nil {
+ return err
+ }
+ } else {
+ out.KubeAPIServer = nil
+ }
out.KubeControllerManager = (*KubeControllerManagerConfig)(unsafe.Pointer(in.KubeControllerManager))
out.KubeScheduler = (*KubeSchedulerConfig)(unsafe.Pointer(in.KubeScheduler))
out.KubeProxy = (*KubeProxyConfig)(unsafe.Pointer(in.KubeProxy))
diff --git a/vendor/github.com/gardener/gardener/pkg/apis/core/v1alpha1/zz_generated.deepcopy.go b/vendor/github.com/gardener/gardener/pkg/apis/core/v1alpha1/zz_generated.deepcopy.go
index 1aa10a0e4..a40ebf8c3 100644
--- a/vendor/github.com/gardener/gardener/pkg/apis/core/v1alpha1/zz_generated.deepcopy.go
+++ b/vendor/github.com/gardener/gardener/pkg/apis/core/v1alpha1/zz_generated.deepcopy.go
@@ -80,6 +80,11 @@ func (in *AdmissionPlugin) DeepCopyInto(out *AdmissionPlugin) {
*out = new(runtime.RawExtension)
(*in).DeepCopyInto(*out)
}
+ if in.Disabled != nil {
+ in, out := &in.Disabled, &out.Disabled
+ *out = new(bool)
+ **out = **in
+ }
return
}
@@ -1771,6 +1776,11 @@ func (in *KubeSchedulerConfig) DeepCopyInto(out *KubeSchedulerConfig) {
*out = new(string)
**out = **in
}
+ if in.Profile != nil {
+ in, out := &in.Profile, &out.Profile
+ *out = new(SchedulingProfile)
+ **out = **in
+ }
return
}
diff --git a/vendor/github.com/gardener/gardener/pkg/apis/core/v1beta1/constants/types_constants.go b/vendor/github.com/gardener/gardener/pkg/apis/core/v1beta1/constants/types_constants.go
index 0fae1a35c..3708e0d8f 100644
--- a/vendor/github.com/gardener/gardener/pkg/apis/core/v1beta1/constants/types_constants.go
+++ b/vendor/github.com/gardener/gardener/pkg/apis/core/v1beta1/constants/types_constants.go
@@ -124,9 +124,12 @@ const (
// DeploymentNameGrafanaUsers is a constant for the name of a Kubernetes deployment object that contains
// the grafana-users pod.
DeploymentNameGrafanaUsers = "grafana-users"
- // DeploymentNameKubeStateMetricsShoot is a constant for the name of a Kubernetes deployment object that contains
+ // DeploymentNameEventLogger is a constant for the name of a Kubernetes deployment object that contains
+ // the event-logger pod.
+ DeploymentNameEventLogger = "event-logger"
+ // DeploymentNameKubeStateMetrics is a constant for the name of a Kubernetes deployment object that contains
// the kube-state-metrics pod.
- DeploymentNameKubeStateMetricsShoot = "kube-state-metrics"
+ DeploymentNameKubeStateMetrics = "kube-state-metrics"
// DeploymentNameVPAAdmissionController is a constant for the name of the VPA admission controller deployment.
DeploymentNameVPAAdmissionController = "vpa-admission-controller"
@@ -492,10 +495,16 @@ const (
// the Gardener controller manager will be stored (e.g., secrets for the Seed clusters).
// It is also used by the gardener-apiserver.
GardenNamespace = "garden"
+ // IstioSystemNamespace is the istio-system namespace.
+ IstioSystemNamespace = "istio-system"
+
+ // DefaultSNIIngressNamespace is the default sni ingress namespace.
+ DefaultSNIIngressNamespace = "istio-ingress"
+ // DefaultSNIIngressServiceName is the default sni ingress service name.
+ DefaultSNIIngressServiceName = "istio-ingressgateway"
+ // DefaultIngressGatewayAppLabelValue is the ingress gateway value for the app label.
+ DefaultIngressGatewayAppLabelValue = "istio-ingressgateway"
- // AnnotationShootUseAsSeed is a constant for an annotation on a Shoot resource indicating that the Shoot shall be registered as Seed in the
- // Garden cluster once successfully created.
- AnnotationShootUseAsSeed = "shoot.gardener.cloud/use-as-seed"
// AnnotationManagedSeedAPIServer is a constant for an annotation on a Shoot resource containing the API server settings for a managed seed.
AnnotationManagedSeedAPIServer = "shoot.gardener.cloud/managed-seed-api-server"
// AnnotationShootIgnoreAlerts is the key for an annotation of a Shoot cluster whose value indicates
diff --git a/vendor/github.com/gardener/gardener/pkg/apis/core/v1beta1/defaults.go b/vendor/github.com/gardener/gardener/pkg/apis/core/v1beta1/defaults.go
index 6c37bde93..bda4b912d 100644
--- a/vendor/github.com/gardener/gardener/pkg/apis/core/v1beta1/defaults.go
+++ b/vendor/github.com/gardener/gardener/pkg/apis/core/v1beta1/defaults.go
@@ -179,6 +179,14 @@ func SetDefaults_Shoot(obj *Shoot) {
obj.Spec.Kubernetes.KubeControllerManager.NodeMonitorGracePeriod = &metav1.Duration{Duration: 2 * time.Minute}
}
+ if obj.Spec.Kubernetes.KubeScheduler == nil {
+ obj.Spec.Kubernetes.KubeScheduler = &KubeSchedulerConfig{}
+ }
+ if obj.Spec.Kubernetes.KubeScheduler.Profile == nil {
+ defaultProfile := SchedulingProfileBalanced
+ obj.Spec.Kubernetes.KubeScheduler.Profile = &defaultProfile
+ }
+
if obj.Spec.Kubernetes.KubeProxy == nil {
obj.Spec.Kubernetes.KubeProxy = &KubeProxyConfig{}
}
diff --git a/vendor/github.com/gardener/gardener/pkg/apis/core/v1beta1/generated.pb.go b/vendor/github.com/gardener/gardener/pkg/apis/core/v1beta1/generated.pb.go
index d2054e409..32b817ab0 100644
--- a/vendor/github.com/gardener/gardener/pkg/apis/core/v1beta1/generated.pb.go
+++ b/vendor/github.com/gardener/gardener/pkg/apis/core/v1beta1/generated.pb.go
@@ -4539,655 +4539,657 @@ func init() {
}
var fileDescriptor_ca37af0df9a5bbd2 = []byte{
- // 10362 bytes of a gzipped FileDescriptorProto
+ // 10386 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x6d, 0x6c, 0x24, 0xc9,
- 0x75, 0x98, 0x7a, 0xf8, 0x35, 0x7c, 0x43, 0x72, 0xc9, 0xda, 0x8f, 0xe3, 0xf1, 0x6e, 0x97, 0xa7,
- 0xd6, 0x49, 0xb8, 0x8b, 0x64, 0xae, 0xef, 0x24, 0x59, 0xba, 0x3b, 0x9d, 0xee, 0xe6, 0x83, 0xbb,
- 0x3b, 0x5a, 0x92, 0x3b, 0x57, 0x43, 0xee, 0x9d, 0xce, 0xce, 0x45, 0xcd, 0xee, 0xe2, 0xb0, 0x8f,
- 0x3d, 0xdd, 0x73, 0xdd, 0x3d, 0x5c, 0x72, 0x15, 0x43, 0x96, 0xa2, 0x8f, 0x48, 0x4e, 0x02, 0xc3,
- 0x80, 0x23, 0x48, 0x72, 0x62, 0x19, 0x86, 0xe3, 0x04, 0x0e, 0x6c, 0x25, 0x86, 0x05, 0x38, 0x1f,
- 0x88, 0xe1, 0x24, 0xb0, 0x64, 0x24, 0x86, 0xe2, 0x40, 0xf0, 0x05, 0x89, 0xa9, 0x88, 0x41, 0x94,
- 0x04, 0x31, 0x8c, 0x00, 0x46, 0xfe, 0x2c, 0x0c, 0x24, 0xa8, 0x8f, 0xee, 0xae, 0xfe, 0x9a, 0x1d,
- 0xf6, 0x90, 0xab, 0x3b, 0xdb, 0xbf, 0xc8, 0xa9, 0x57, 0xf5, 0x5e, 0x75, 0x7d, 0xbc, 0x7a, 0xef,
- 0xd5, 0xab, 0xf7, 0xa0, 0xd6, 0x31, 0xfd, 0xdd, 0xfe, 0xf6, 0x8a, 0xee, 0x74, 0xaf, 0x76, 0x34,
- 0xd7, 0x20, 0x36, 0x71, 0xa3, 0x7f, 0x7a, 0x7b, 0x9d, 0xab, 0x5a, 0xcf, 0xf4, 0xae, 0xea, 0x8e,
- 0x4b, 0xae, 0xee, 0x3f, 0xb5, 0x4d, 0x7c, 0xed, 0xa9, 0xab, 0x1d, 0x0a, 0xd3, 0x7c, 0x62, 0xac,
- 0xf4, 0x5c, 0xc7, 0x77, 0xd0, 0xd3, 0x11, 0x8e, 0x95, 0xa0, 0x69, 0xf4, 0x4f, 0x6f, 0xaf, 0xb3,
- 0x42, 0x71, 0xac, 0x50, 0x1c, 0x2b, 0x02, 0xc7, 0xd2, 0x8f, 0xc8, 0x74, 0x9d, 0x8e, 0x73, 0x95,
- 0xa1, 0xda, 0xee, 0xef, 0xb0, 0x5f, 0xec, 0x07, 0xfb, 0x8f, 0x93, 0x58, 0x7a, 0x72, 0xef, 0xc3,
- 0xde, 0x8a, 0xe9, 0xd0, 0xce, 0x5c, 0xd5, 0xfa, 0xbe, 0xe3, 0xe9, 0x9a, 0x65, 0xda, 0x9d, 0xab,
- 0xfb, 0xa9, 0xde, 0x2c, 0xa9, 0x52, 0x55, 0xd1, 0xed, 0x81, 0x75, 0xdc, 0x6d, 0x4d, 0xcf, 0xaa,
- 0xf3, 0x81, 0xa8, 0x4e, 0x57, 0xd3, 0x77, 0x4d, 0x9b, 0xb8, 0x87, 0xc1, 0x80, 0x5c, 0x75, 0x89,
- 0xe7, 0xf4, 0x5d, 0x9d, 0x9c, 0xa8, 0x95, 0x77, 0xb5, 0x4b, 0x7c, 0x2d, 0x8b, 0xd6, 0xd5, 0xbc,
- 0x56, 0x6e, 0xdf, 0xf6, 0xcd, 0x6e, 0x9a, 0xcc, 0x8f, 0xdd, 0xaf, 0x81, 0xa7, 0xef, 0x92, 0xae,
- 0x96, 0x6a, 0xf7, 0xfe, 0xbc, 0x76, 0x7d, 0xdf, 0xb4, 0xae, 0x9a, 0xb6, 0xef, 0xf9, 0x6e, 0xb2,
- 0x91, 0xfa, 0x34, 0x4c, 0x54, 0x0d, 0xc3, 0xb1, 0xd1, 0x93, 0x30, 0x45, 0x6c, 0x6d, 0xdb, 0x22,
- 0xc6, 0xa2, 0xf2, 0x98, 0xf2, 0x44, 0xb9, 0x76, 0xee, 0x5b, 0x47, 0xcb, 0xef, 0x38, 0x3e, 0x5a,
- 0x9e, 0x5a, 0xe5, 0xc5, 0x38, 0x80, 0xab, 0x3f, 0x57, 0x82, 0x49, 0xd6, 0xc8, 0x43, 0x3f, 0xab,
- 0xc0, 0xf9, 0xbd, 0xfe, 0x36, 0x71, 0x6d, 0xe2, 0x13, 0xaf, 0xa1, 0x79, 0xbb, 0xdb, 0x8e, 0xe6,
- 0x72, 0x14, 0x95, 0xa7, 0xaf, 0xaf, 0x9c, 0x7c, 0xf5, 0xac, 0xdc, 0x4c, 0xa3, 0xab, 0x3d, 0x74,
- 0x7c, 0xb4, 0x7c, 0x3e, 0x03, 0x80, 0xb3, 0x88, 0xa3, 0x7d, 0x98, 0xb1, 0x3b, 0xa6, 0x7d, 0xd0,
- 0xb4, 0x3b, 0x2e, 0xf1, 0xbc, 0xc5, 0x12, 0xeb, 0xcc, 0x8b, 0x45, 0x3a, 0xb3, 0x21, 0xe1, 0xa9,
- 0xcd, 0x1f, 0x1f, 0x2d, 0xcf, 0xc8, 0x25, 0x38, 0x46, 0x47, 0xfd, 0xbc, 0x02, 0xe7, 0xaa, 0x46,
- 0xd7, 0xf4, 0x3c, 0xd3, 0xb1, 0x5b, 0x56, 0xbf, 0x63, 0xda, 0xe8, 0x31, 0x18, 0xb7, 0xb5, 0x2e,
- 0x61, 0x03, 0x32, 0x5d, 0x9b, 0x11, 0x63, 0x3a, 0xbe, 0xa1, 0x75, 0x09, 0x66, 0x10, 0xf4, 0x12,
- 0x4c, 0xea, 0x8e, 0xbd, 0x63, 0x76, 0x44, 0x3f, 0x7f, 0x64, 0x85, 0xcf, 0xe3, 0x8a, 0x3c, 0x8f,
- 0xac, 0x7b, 0x62, 0xfe, 0x57, 0xb0, 0x76, 0x67, 0xf5, 0xc0, 0x27, 0x36, 0x25, 0x53, 0x83, 0xe3,
- 0xa3, 0xe5, 0xc9, 0x3a, 0x43, 0x80, 0x05, 0x22, 0xf5, 0x1a, 0x94, 0xab, 0x16, 0x71, 0x7d, 0xd3,
- 0xee, 0xa0, 0x67, 0x61, 0x8e, 0x74, 0x35, 0xd3, 0xc2, 0x44, 0x27, 0xe6, 0x3e, 0x71, 0xbd, 0x45,
- 0xe5, 0xb1, 0xb1, 0x27, 0xa6, 0x6b, 0xe8, 0xf8, 0x68, 0x79, 0x6e, 0x35, 0x06, 0xc1, 0x89, 0x9a,
- 0xea, 0xa7, 0x15, 0xa8, 0x54, 0xfb, 0x86, 0xe9, 0x73, 0xfc, 0xc8, 0x85, 0x8a, 0x46, 0x7f, 0xb6,
- 0x1c, 0xcb, 0xd4, 0x0f, 0xc5, 0x24, 0xbf, 0x50, 0x64, 0x5c, 0xab, 0x11, 0x9a, 0xda, 0xb9, 0xe3,
- 0xa3, 0xe5, 0x8a, 0x54, 0x80, 0x65, 0x22, 0xea, 0x2e, 0xc8, 0x30, 0xf4, 0x71, 0x98, 0xe1, 0x1f,
- 0xb9, 0xae, 0xf5, 0x30, 0xd9, 0x11, 0x7d, 0x78, 0x97, 0x34, 0x66, 0x01, 0xa1, 0x95, 0x5b, 0xdb,
- 0xaf, 0x13, 0xdd, 0xc7, 0x64, 0x87, 0xb8, 0xc4, 0xd6, 0x09, 0x9f, 0xbe, 0xba, 0xd4, 0x18, 0xc7,
- 0x50, 0xa9, 0xdf, 0x53, 0x60, 0xbe, 0xba, 0xaf, 0x99, 0x96, 0xb6, 0x6d, 0x5a, 0xa6, 0x7f, 0xf8,
- 0xaa, 0x63, 0x93, 0x21, 0xe6, 0x6f, 0x0b, 0x1e, 0xea, 0xdb, 0x1a, 0x6f, 0x67, 0x91, 0x75, 0x3e,
- 0x63, 0x9b, 0x87, 0x3d, 0x42, 0x17, 0x1e, 0x1d, 0xe9, 0x47, 0x8e, 0x8f, 0x96, 0x1f, 0xda, 0xca,
- 0xae, 0x82, 0xf3, 0xda, 0x22, 0x0c, 0x97, 0x24, 0xd0, 0x6d, 0xc7, 0xea, 0x77, 0x05, 0xd6, 0x31,
- 0x86, 0x75, 0xe9, 0xf8, 0x68, 0xf9, 0xd2, 0x56, 0x66, 0x0d, 0x9c, 0xd3, 0x52, 0xfd, 0x56, 0x09,
- 0x66, 0x6a, 0x9a, 0xbe, 0xd7, 0xef, 0xd5, 0xfa, 0xfa, 0x1e, 0xf1, 0xd1, 0x27, 0xa0, 0x4c, 0xd9,
- 0x96, 0xa1, 0xf9, 0x9a, 0x18, 0xc9, 0x1f, 0xcd, 0x5d, 0x7d, 0x6c, 0x12, 0x69, 0xed, 0x68, 0x6c,
- 0xd7, 0x89, 0xaf, 0xd5, 0x90, 0x18, 0x13, 0x88, 0xca, 0x70, 0x88, 0x15, 0xed, 0xc0, 0xb8, 0xd7,
- 0x23, 0xba, 0x58, 0xdb, 0x8d, 0x22, 0x6b, 0x45, 0xee, 0x71, 0xbb, 0x47, 0xf4, 0x68, 0x16, 0xe8,
- 0x2f, 0xcc, 0xf0, 0x23, 0x1b, 0x26, 0x3d, 0x5f, 0xf3, 0xfb, 0x74, 0x78, 0x28, 0xa5, 0x6b, 0x23,
- 0x53, 0x62, 0xd8, 0x6a, 0x73, 0x82, 0xd6, 0x24, 0xff, 0x8d, 0x05, 0x15, 0xf5, 0x0f, 0x15, 0x98,
- 0x97, 0xab, 0xaf, 0x99, 0x9e, 0x8f, 0x7e, 0x22, 0x35, 0x9c, 0x2b, 0xc3, 0x0d, 0x27, 0x6d, 0xcd,
- 0x06, 0x73, 0x5e, 0x90, 0x2b, 0x07, 0x25, 0xd2, 0x50, 0x12, 0x98, 0x30, 0x7d, 0xd2, 0xe5, 0xcb,
- 0xaa, 0x20, 0x3f, 0x93, 0xbb, 0x5c, 0x9b, 0x15, 0xc4, 0x26, 0x9a, 0x14, 0x2d, 0xe6, 0xd8, 0xd5,
- 0x4f, 0xc0, 0x05, 0xb9, 0x56, 0xcb, 0x75, 0xf6, 0x4d, 0x83, 0xb8, 0x74, 0x27, 0xf8, 0x87, 0xbd,
- 0xd4, 0x4e, 0xa0, 0x2b, 0x0b, 0x33, 0x08, 0x7a, 0x0f, 0x4c, 0xba, 0xa4, 0x63, 0x3a, 0x36, 0x9b,
- 0xed, 0xe9, 0x68, 0xec, 0x30, 0x2b, 0xc5, 0x02, 0xaa, 0xfe, 0xdf, 0x52, 0x7c, 0xec, 0xe8, 0x34,
- 0xa2, 0x7d, 0x28, 0xf7, 0x04, 0x29, 0x31, 0x76, 0x37, 0x46, 0xfd, 0xc0, 0xa0, 0xeb, 0xd1, 0xa8,
- 0x06, 0x25, 0x38, 0xa4, 0x85, 0x4c, 0x98, 0x0b, 0xfe, 0xaf, 0x8f, 0xc0, 0x86, 0x19, 0x3b, 0x6d,
- 0xc5, 0x10, 0xe1, 0x04, 0x62, 0xb4, 0x09, 0xd3, 0x1e, 0xd1, 0x5d, 0x42, 0x79, 0x92, 0x58, 0xa6,
- 0x99, 0x8c, 0xab, 0x1d, 0x54, 0x12, 0x8c, 0x6b, 0x41, 0x74, 0x7f, 0x3a, 0x04, 0xe0, 0x08, 0x11,
- 0x7a, 0x02, 0xca, 0x1e, 0x21, 0x06, 0xe5, 0x48, 0x8b, 0xe3, 0x7c, 0x6e, 0xe8, 0xa7, 0xb6, 0x45,
- 0x19, 0x0e, 0xa1, 0xea, 0xd7, 0xc7, 0x01, 0xa5, 0x97, 0xb8, 0x3c, 0x02, 0xbc, 0x44, 0x8c, 0xff,
- 0x28, 0x23, 0x20, 0x76, 0x4b, 0x02, 0x31, 0xba, 0x0b, 0xb3, 0x96, 0xe6, 0xf9, 0xb7, 0x7a, 0x54,
- 0x06, 0x09, 0x16, 0x4a, 0xe5, 0xe9, 0x6a, 0x91, 0x99, 0x5e, 0x93, 0x11, 0xd5, 0x16, 0x8e, 0x8f,
- 0x96, 0x67, 0x63, 0x45, 0x38, 0x4e, 0x0a, 0xbd, 0x0e, 0xd3, 0xb4, 0x60, 0xd5, 0x75, 0x1d, 0x57,
- 0x8c, 0xfe, 0xf3, 0x45, 0xe9, 0x32, 0x24, 0xb5, 0x59, 0x3a, 0x27, 0xe1, 0x4f, 0x1c, 0xa1, 0x47,
- 0x1f, 0x03, 0xe4, 0x6c, 0x7b, 0xc4, 0xdd, 0x27, 0xc6, 0x75, 0x2e, 0x70, 0xd1, 0x8f, 0xa5, 0xb3,
- 0x33, 0x56, 0x5b, 0x12, 0xb3, 0x89, 0x6e, 0xa5, 0x6a, 0xe0, 0x8c, 0x56, 0x68, 0x0f, 0x50, 0x28,
- 0xb4, 0x85, 0x0b, 0x60, 0x71, 0x62, 0xf8, 0xe5, 0x73, 0x89, 0x12, 0xbb, 0x9e, 0x42, 0x81, 0x33,
- 0xd0, 0xaa, 0xff, 0xb6, 0x04, 0x15, 0xbe, 0x44, 0x56, 0x6d, 0xdf, 0x3d, 0x7c, 0x00, 0x07, 0x04,
- 0x89, 0x1d, 0x10, 0xf5, 0xe2, 0x7b, 0x9e, 0x75, 0x38, 0xf7, 0x7c, 0xe8, 0x26, 0xce, 0x87, 0xd5,
- 0x51, 0x09, 0x0d, 0x3e, 0x1e, 0xbe, 0xab, 0xc0, 0x39, 0xa9, 0xf6, 0x03, 0x38, 0x1d, 0x8c, 0xf8,
- 0xe9, 0xf0, 0xc2, 0x88, 0xdf, 0x97, 0x73, 0x38, 0x38, 0xb1, 0xcf, 0x62, 0x8c, 0xfb, 0x69, 0x80,
- 0x6d, 0xc6, 0x4e, 0x36, 0x22, 0x39, 0x29, 0x9c, 0xf2, 0x5a, 0x08, 0xc1, 0x52, 0xad, 0x18, 0xcf,
- 0x2a, 0x0d, 0xe4, 0x59, 0xff, 0x7d, 0x0c, 0x16, 0x52, 0xc3, 0x9e, 0xe6, 0x23, 0xca, 0x0f, 0x89,
- 0x8f, 0x94, 0x7e, 0x18, 0x7c, 0x64, 0xac, 0x10, 0x1f, 0x19, 0xfa, 0x9c, 0x40, 0x2e, 0xa0, 0xae,
- 0xd9, 0xe1, 0xcd, 0xda, 0xbe, 0xe6, 0xfa, 0x9b, 0x66, 0x97, 0x08, 0x8e, 0xf3, 0x57, 0x86, 0x5b,
- 0xb2, 0xb4, 0x05, 0x67, 0x3c, 0xeb, 0x29, 0x4c, 0x38, 0x03, 0xbb, 0xfa, 0x3b, 0x0a, 0x8c, 0xd5,
- 0x71, 0x13, 0xbd, 0x37, 0x26, 0x6f, 0x3f, 0x24, 0xcb, 0xdb, 0xf7, 0x8e, 0x96, 0xa7, 0xea, 0xb8,
- 0x29, 0x89, 0xde, 0x7f, 0x5b, 0x81, 0x05, 0xdd, 0xb1, 0x7d, 0x8d, 0xf6, 0x02, 0xf3, 0x43, 0x29,
- 0xd8, 0x00, 0x85, 0x44, 0xcd, 0x7a, 0x02, 0x59, 0xed, 0x61, 0xd1, 0x81, 0x85, 0x24, 0xc4, 0xc3,
- 0x69, 0xca, 0xea, 0x16, 0x4c, 0xd7, 0x2d, 0xa7, 0x6f, 0x34, 0xed, 0x1d, 0xe7, 0x14, 0xe5, 0xa5,
- 0x37, 0x15, 0x98, 0x61, 0x78, 0x5b, 0xae, 0xb3, 0x63, 0x5a, 0xe4, 0xed, 0x21, 0xb6, 0xcb, 0x3d,
- 0xce, 0x63, 0xcb, 0x4c, 0x8c, 0x96, 0x2b, 0xbe, 0x4d, 0xc4, 0x68, 0xb9, 0xcb, 0x39, 0x9c, 0xf2,
- 0xe7, 0xa6, 0xe2, 0x5f, 0xc6, 0x78, 0xe5, 0x13, 0x50, 0xd6, 0xb5, 0x5a, 0xdf, 0x36, 0xac, 0x70,
- 0x5d, 0xd0, 0x5e, 0xd6, 0xab, 0xbc, 0x0c, 0x87, 0x50, 0x74, 0x17, 0x20, 0x32, 0x6d, 0x88, 0x69,
- 0xb8, 0x36, 0x9a, 0x39, 0xa5, 0x4d, 0x7c, 0xdf, 0xb4, 0x3b, 0x5e, 0x34, 0xf5, 0x11, 0x0c, 0x4b,
- 0xd4, 0xd0, 0x4f, 0xc2, 0xac, 0x18, 0xe4, 0x66, 0x57, 0xeb, 0x08, 0x8d, 0xb3, 0xe0, 0x48, 0xad,
- 0x4b, 0x88, 0x6a, 0x17, 0x05, 0xe1, 0x59, 0xb9, 0xd4, 0xc3, 0x71, 0x6a, 0xe8, 0x10, 0x66, 0xba,
- 0xb2, 0x16, 0x3d, 0x5e, 0xfc, 0x40, 0x93, 0x34, 0xea, 0xda, 0x05, 0x41, 0x7c, 0x26, 0xa6, 0x7f,
- 0xc7, 0x48, 0x65, 0x28, 0x03, 0x13, 0x67, 0xa5, 0x0c, 0x10, 0x98, 0xe2, 0xdb, 0xdb, 0x5b, 0x9c,
- 0x64, 0x1f, 0xf8, 0x6c, 0x91, 0x0f, 0xe4, 0x9c, 0x22, 0xb2, 0xd5, 0xf1, 0xdf, 0x1e, 0x0e, 0x70,
- 0xa3, 0x7d, 0x98, 0xa1, 0x7c, 0xbd, 0x4d, 0x2c, 0xa2, 0xfb, 0x8e, 0xbb, 0x38, 0x55, 0xdc, 0x16,
- 0xd6, 0x96, 0xf0, 0x70, 0x63, 0x8a, 0x5c, 0x82, 0x63, 0x74, 0x42, 0xee, 0x57, 0xce, 0xe5, 0x7e,
- 0x7d, 0xa8, 0xec, 0x4b, 0x56, 0x8d, 0x69, 0x36, 0x08, 0x1f, 0x2d, 0xd2, 0xb1, 0xc8, 0xc4, 0x51,
- 0x3b, 0x2f, 0x08, 0x55, 0x64, 0x73, 0x88, 0x4c, 0x47, 0x3d, 0x2a, 0xc3, 0x42, 0xdd, 0xea, 0x7b,
- 0x3e, 0x71, 0xab, 0xc2, 0xd8, 0x4c, 0x5c, 0xf4, 0x19, 0x05, 0x2e, 0xb1, 0x7f, 0x1b, 0xce, 0x1d,
- 0xbb, 0x41, 0x2c, 0xed, 0xb0, 0xba, 0x43, 0x6b, 0x18, 0xc6, 0xc9, 0x38, 0x50, 0xa3, 0x2f, 0xe4,
- 0x08, 0x66, 0x9e, 0x69, 0x67, 0x62, 0xc4, 0x39, 0x94, 0xd0, 0x4f, 0x2b, 0xf0, 0x70, 0x06, 0xa8,
- 0x41, 0x2c, 0xe2, 0x13, 0xc1, 0x03, 0x4e, 0xda, 0x8f, 0xcb, 0xc7, 0x47, 0xcb, 0x0f, 0xb7, 0xf3,
- 0x90, 0xe2, 0x7c, 0x7a, 0xe8, 0xef, 0x28, 0xb0, 0x94, 0x01, 0xbd, 0xa6, 0x99, 0x56, 0xdf, 0x25,
- 0x42, 0x8c, 0x3e, 0x69, 0x77, 0xae, 0x1c, 0x1f, 0x2d, 0x2f, 0xb5, 0x73, 0xb1, 0xe2, 0x01, 0x14,
- 0xd1, 0xa7, 0xe0, 0x62, 0x08, 0xdd, 0xb2, 0x6d, 0x42, 0x0c, 0x62, 0x30, 0xc9, 0x64, 0xbc, 0x50,
- 0x57, 0x1e, 0x3e, 0x3e, 0x5a, 0xbe, 0xd8, 0xce, 0x42, 0x88, 0xb3, 0xe9, 0xa0, 0x0e, 0x5c, 0x8e,
- 0x00, 0xbe, 0x69, 0x99, 0x77, 0x19, 0xa6, 0xcd, 0x5d, 0x97, 0x78, 0xbb, 0x8e, 0x65, 0x30, 0x66,
- 0xa1, 0xd4, 0xde, 0x79, 0x7c, 0xb4, 0x7c, 0xb9, 0x3d, 0xa8, 0x22, 0x1e, 0x8c, 0x07, 0x19, 0x30,
- 0xe3, 0xe9, 0x9a, 0xdd, 0xb4, 0x7d, 0xe2, 0xee, 0x6b, 0xd6, 0xe2, 0x64, 0xa1, 0x0f, 0xe4, 0x5b,
- 0x54, 0xc2, 0x83, 0x63, 0x58, 0xd1, 0x87, 0xa1, 0x4c, 0x0e, 0x7a, 0x9a, 0x6d, 0x10, 0xce, 0x16,
- 0xa6, 0x6b, 0x8f, 0xd2, 0xc3, 0x68, 0x55, 0x94, 0xdd, 0x3b, 0x5a, 0x9e, 0x09, 0xfe, 0x5f, 0x77,
- 0x0c, 0x82, 0xc3, 0xda, 0xe8, 0xaf, 0xc3, 0x85, 0xae, 0x76, 0xb0, 0xe1, 0x18, 0x84, 0x31, 0x39,
- 0xca, 0xf3, 0xd8, 0x44, 0x94, 0x0b, 0xf5, 0x73, 0xf1, 0xf8, 0x68, 0xf9, 0xc2, 0x7a, 0x06, 0x3e,
- 0x9c, 0x49, 0x85, 0x4e, 0x43, 0x57, 0x3b, 0xb8, 0xee, 0x6a, 0x3a, 0xd9, 0xe9, 0x5b, 0x9b, 0xc4,
- 0xed, 0x9a, 0x36, 0x97, 0x26, 0x89, 0xee, 0xd8, 0x06, 0x65, 0x25, 0xca, 0x13, 0x13, 0x7c, 0x1a,
- 0xd6, 0x07, 0x55, 0xc4, 0x83, 0xf1, 0xa0, 0x0f, 0xc0, 0x8c, 0xd9, 0xb1, 0x1d, 0x97, 0x6c, 0x6a,
- 0xa6, 0xed, 0x7b, 0x8b, 0xc0, 0x0c, 0xaf, 0x6c, 0x58, 0x9b, 0x52, 0x39, 0x8e, 0xd5, 0x52, 0xff,
- 0x97, 0x02, 0x15, 0xc1, 0x60, 0x98, 0x1c, 0xb8, 0x0d, 0x13, 0x3a, 0x95, 0x03, 0x04, 0x23, 0x79,
- 0xbe, 0xb0, 0xbc, 0x41, 0xb1, 0x45, 0xc2, 0x06, 0x2b, 0xc2, 0x1c, 0x35, 0xda, 0xcf, 0x90, 0x16,
- 0x6a, 0xa3, 0x49, 0x0b, 0x8c, 0xda, 0x7d, 0x24, 0x05, 0xf5, 0x68, 0x0c, 0xa6, 0xeb, 0x8e, 0x6d,
- 0x98, 0x4c, 0xc3, 0x78, 0x2a, 0x26, 0xf1, 0x5e, 0x96, 0x79, 0xfe, 0xbd, 0xa3, 0xe5, 0xd9, 0xb0,
- 0xa2, 0x74, 0x08, 0x3c, 0x13, 0xaa, 0xe5, 0x5c, 0x04, 0x7e, 0x67, 0x5c, 0x9f, 0xbe, 0x77, 0xb4,
- 0x7c, 0x2e, 0x6c, 0x16, 0x57, 0xb1, 0xd1, 0x3e, 0x20, 0xaa, 0x28, 0x6d, 0xba, 0x9a, 0xed, 0x71,
- 0xb4, 0x74, 0x09, 0x8e, 0x9d, 0x58, 0x4b, 0x09, 0xf5, 0xa8, 0xb5, 0x14, 0x36, 0x9c, 0x41, 0x01,
- 0xbd, 0x0e, 0x73, 0xb4, 0x74, 0xab, 0x67, 0x68, 0x3e, 0x91, 0xf8, 0xcf, 0x89, 0x34, 0x23, 0x41,
- 0x73, 0x6e, 0x2d, 0x86, 0x09, 0x27, 0x30, 0x73, 0x0d, 0x41, 0xf3, 0x1c, 0x9b, 0xb1, 0x96, 0x98,
- 0x86, 0x40, 0x4b, 0xb1, 0x80, 0xa2, 0x27, 0x61, 0xaa, 0x4b, 0x3c, 0x4f, 0xeb, 0x10, 0xc6, 0x2b,
- 0xa6, 0x23, 0x81, 0x60, 0x9d, 0x17, 0xe3, 0x00, 0x8e, 0xde, 0x07, 0x13, 0xba, 0x63, 0x10, 0x6f,
- 0x71, 0x8a, 0xad, 0xe6, 0x4b, 0x6c, 0x2d, 0xd1, 0x82, 0x7b, 0x47, 0xcb, 0xd3, 0x4c, 0xeb, 0xa4,
- 0xbf, 0x30, 0xaf, 0xa4, 0xfe, 0x02, 0x95, 0xcf, 0x13, 0x7a, 0xce, 0x10, 0x9a, 0xcd, 0x83, 0x33,
- 0xaa, 0xaa, 0x5f, 0x2c, 0xc1, 0x05, 0xda, 0x43, 0xd7, 0xb1, 0x2c, 0x7a, 0x76, 0xf5, 0x2c, 0xe7,
- 0xb0, 0x4b, 0xec, 0x07, 0x71, 0xb7, 0x11, 0x8c, 0x43, 0x29, 0x77, 0x1c, 0xba, 0xa9, 0x71, 0x18,
- 0x2b, 0x32, 0x0e, 0xe1, 0x72, 0xb9, 0xcf, 0x58, 0xfc, 0x0f, 0x05, 0x16, 0xb3, 0xc6, 0xe2, 0x01,
- 0x68, 0x55, 0xdd, 0xb8, 0x56, 0x75, 0xa3, 0xa8, 0xf6, 0x9d, 0xec, 0x7a, 0x8e, 0x76, 0xf5, 0x83,
- 0x12, 0x5c, 0x8a, 0xaa, 0x37, 0x6d, 0xcf, 0xd7, 0x2c, 0x8b, 0xdb, 0x39, 0xce, 0x7e, 0xde, 0x7b,
- 0x31, 0xe5, 0x78, 0x63, 0xb4, 0x4f, 0x95, 0xfb, 0x9e, 0x6b, 0xbd, 0x3c, 0x48, 0x58, 0x2f, 0x5b,
- 0xa7, 0x48, 0x73, 0xb0, 0x21, 0xf3, 0x7f, 0x2b, 0xb0, 0x94, 0xdd, 0xf0, 0x01, 0x2c, 0x2a, 0x27,
- 0xbe, 0xa8, 0x3e, 0x76, 0x7a, 0x5f, 0x9d, 0xb3, 0xac, 0xfe, 0x69, 0x29, 0xef, 0x6b, 0x99, 0xfa,
- 0xbe, 0x03, 0xe7, 0xa8, 0x5e, 0xe5, 0xf9, 0xc2, 0xcc, 0x76, 0xb2, 0xfb, 0xe7, 0xc0, 0x98, 0x75,
- 0x0e, 0xc7, 0x71, 0xe0, 0x24, 0x52, 0xb4, 0x01, 0x53, 0x54, 0x99, 0xa2, 0xf8, 0x4b, 0xc3, 0xe3,
- 0x0f, 0x79, 0x7e, 0x9b, 0xb7, 0xc5, 0x01, 0x12, 0xf4, 0x13, 0x30, 0x6b, 0x84, 0x3b, 0xea, 0x3e,
- 0x97, 0x4f, 0x49, 0xac, 0xcc, 0x20, 0xda, 0x90, 0x5b, 0xe3, 0x38, 0x32, 0xf5, 0xcf, 0x14, 0x78,
- 0x74, 0xd0, 0xda, 0x42, 0x6f, 0x00, 0xe8, 0xc1, 0x21, 0xce, 0xdd, 0x0f, 0x8a, 0x8a, 0x41, 0x01,
- 0x96, 0x68, 0x83, 0x86, 0x45, 0x1e, 0x96, 0x88, 0x64, 0xdc, 0x69, 0x95, 0xce, 0xe8, 0x4e, 0x4b,
- 0xfd, 0x63, 0x45, 0x66, 0x45, 0xf2, 0xdc, 0xbe, 0xdd, 0x58, 0x91, 0xdc, 0xf7, 0x5c, 0x8b, 0xdd,
- 0x7f, 0x2c, 0xc1, 0x63, 0xd9, 0x4d, 0xa4, 0xb3, 0xf7, 0x45, 0x98, 0xec, 0x71, 0x1f, 0x91, 0x31,
- 0x76, 0x36, 0x3e, 0x41, 0x39, 0x0b, 0xf7, 0xe0, 0xb8, 0x77, 0xb4, 0xbc, 0x94, 0xc5, 0xe8, 0x85,
- 0xef, 0x87, 0x68, 0x87, 0xcc, 0x84, 0xdd, 0x82, 0xcb, 0x58, 0xef, 0x1f, 0x92, 0xb9, 0x68, 0xdb,
- 0xc4, 0x1a, 0xda, 0x54, 0xf1, 0x69, 0x05, 0xe6, 0x62, 0x2b, 0xda, 0x5b, 0x9c, 0x60, 0x6b, 0xb4,
- 0xd0, 0x75, 0x42, 0x6c, 0xab, 0x44, 0x27, 0x77, 0xac, 0xd8, 0xc3, 0x09, 0x82, 0x09, 0x36, 0x2b,
- 0x8f, 0xea, 0xdb, 0x8e, 0xcd, 0xca, 0x9d, 0xcf, 0x61, 0xb3, 0x3f, 0x5f, 0xca, 0xfb, 0x5a, 0xc6,
- 0x66, 0xef, 0xc0, 0x74, 0xe0, 0x83, 0x17, 0xb0, 0x8b, 0x6b, 0xa3, 0xf6, 0x89, 0xa3, 0x8b, 0xae,
- 0xd2, 0x83, 0x12, 0x0f, 0x47, 0xb4, 0xd0, 0x67, 0x15, 0x80, 0x68, 0x62, 0xc4, 0xa6, 0xda, 0x3c,
- 0xbd, 0xe1, 0x90, 0xc4, 0x9a, 0x39, 0xba, 0xa5, 0xa5, 0x45, 0x21, 0xd1, 0x55, 0xbf, 0x51, 0x02,
- 0x94, 0xee, 0x3b, 0x15, 0x37, 0xf7, 0x4c, 0xdb, 0x48, 0x8a, 0xdd, 0x37, 0x4d, 0xdb, 0xc0, 0x0c,
- 0x32, 0x84, 0x40, 0xfa, 0x3c, 0x9c, 0xeb, 0x58, 0xce, 0xb6, 0x66, 0x59, 0x87, 0xc2, 0xad, 0x8f,
- 0xed, 0xd0, 0x72, 0xed, 0x3c, 0x3d, 0x98, 0xae, 0xc7, 0x41, 0x38, 0x59, 0x17, 0xf5, 0x60, 0xde,
- 0xa5, 0xca, 0xb1, 0x6e, 0x5a, 0x4c, 0x41, 0x71, 0xfa, 0x7e, 0x41, 0xeb, 0xcb, 0x85, 0xe3, 0xa3,
- 0xe5, 0x79, 0x9c, 0xc0, 0x85, 0x53, 0xd8, 0xd1, 0xbb, 0x61, 0xaa, 0xe7, 0x9a, 0x5d, 0xcd, 0x3d,
- 0x64, 0x2a, 0x50, 0xb9, 0x56, 0xa1, 0x27, 0x5c, 0x8b, 0x17, 0xe1, 0x00, 0xa6, 0x7e, 0x56, 0x81,
- 0xa9, 0xba, 0xe3, 0x92, 0xc6, 0x46, 0x1b, 0x1d, 0x42, 0x45, 0x72, 0x23, 0x15, 0xfb, 0xa5, 0xe0,
- 0x02, 0x62, 0x18, 0xab, 0x11, 0xb6, 0xc0, 0x59, 0x2d, 0x2c, 0xc0, 0x32, 0x2d, 0xb5, 0x45, 0x27,
- 0x2e, 0xd9, 0x06, 0x3d, 0x0b, 0xe3, 0x5d, 0xc7, 0x08, 0xf4, 0xa5, 0xf7, 0x04, 0xd3, 0xb2, 0xee,
- 0x18, 0x54, 0x2f, 0xbe, 0x94, 0x6e, 0xc1, 0xcc, 0x2d, 0xac, 0x8d, 0xfa, 0x35, 0x05, 0xc6, 0xe8,
- 0x47, 0xa9, 0x30, 0x69, 0x38, 0x5d, 0xcd, 0xb4, 0x05, 0x16, 0xe6, 0xf6, 0xd7, 0x60, 0x25, 0x58,
- 0x40, 0x50, 0x0f, 0xa6, 0x83, 0xb3, 0x69, 0xa4, 0x6b, 0xe0, 0xc6, 0x46, 0x3b, 0x74, 0x9d, 0x09,
- 0x37, 0x4c, 0x50, 0xe2, 0xe1, 0x88, 0x88, 0xaa, 0xc1, 0x42, 0x63, 0xa3, 0xdd, 0xb4, 0x75, 0xab,
- 0x6f, 0x90, 0xd5, 0x03, 0xf6, 0x87, 0x4e, 0x99, 0xc9, 0x4b, 0x84, 0xab, 0x21, 0x9b, 0x32, 0x51,
- 0x09, 0x07, 0x30, 0x5a, 0x8d, 0xf0, 0x16, 0xc2, 0x4f, 0x8e, 0x55, 0x13, 0x48, 0x70, 0x00, 0x53,
- 0xdf, 0x2c, 0x41, 0x45, 0xea, 0x10, 0xb2, 0x60, 0x8a, 0x7f, 0x6e, 0xe0, 0xa6, 0xb2, 0x5a, 0xf0,
- 0x13, 0xe3, 0xbd, 0xe6, 0xd4, 0xf9, 0x80, 0x7a, 0x38, 0x20, 0x21, 0x2f, 0xbf, 0x52, 0xfe, 0xf2,
- 0x43, 0x2b, 0x00, 0xdc, 0x21, 0x87, 0xdd, 0xae, 0xf2, 0x33, 0x8f, 0xed, 0xf0, 0x76, 0x58, 0x8a,
- 0xa5, 0x1a, 0xe8, 0x51, 0xb1, 0x51, 0xf9, 0x3d, 0x6c, 0x39, 0xb1, 0x49, 0x77, 0x60, 0xe2, 0xae,
- 0x63, 0x13, 0x4f, 0x5c, 0x3e, 0x9c, 0xd2, 0x07, 0x4e, 0x53, 0x36, 0xfc, 0x2a, 0xc5, 0x8b, 0x39,
- 0x7a, 0xf5, 0x17, 0x15, 0x80, 0x86, 0xe6, 0x6b, 0xdc, 0x56, 0x3e, 0x84, 0xab, 0xe3, 0xa3, 0x31,
- 0xfe, 0x52, 0x4e, 0x5d, 0x67, 0x8e, 0x7b, 0xe6, 0xdd, 0xe0, 0xf3, 0x43, 0xb9, 0x85, 0x63, 0x6f,
- 0x9b, 0x77, 0x09, 0x66, 0x70, 0xf4, 0x5e, 0x98, 0x26, 0xb6, 0xee, 0x1e, 0xf6, 0x7c, 0x62, 0xb0,
- 0x11, 0x28, 0xf3, 0x1b, 0xf0, 0xd5, 0xa0, 0x10, 0x47, 0x70, 0xf5, 0x29, 0x88, 0x0b, 0x9f, 0xf7,
- 0xef, 0xa5, 0xba, 0x0f, 0xe5, 0x55, 0xdb, 0xe8, 0x39, 0xa6, 0xed, 0x0f, 0xf1, 0x4d, 0x97, 0x61,
- 0xac, 0xef, 0x5a, 0xe2, 0x93, 0x2a, 0xa2, 0xc2, 0xd8, 0x16, 0x5e, 0xc3, 0xb4, 0x1c, 0x3d, 0x09,
- 0x53, 0xbd, 0xbe, 0xdb, 0x73, 0xbc, 0xe0, 0xbb, 0x42, 0x29, 0xbb, 0xc5, 0x8b, 0x71, 0x00, 0x57,
- 0xef, 0x29, 0x30, 0xbf, 0x7a, 0xd0, 0x33, 0x5d, 0xe6, 0x76, 0x49, 0x5c, 0x2a, 0x41, 0xd2, 0xf6,
- 0xfb, 0xfc, 0x5f, 0xd1, 0x87, 0xb0, 0xbd, 0xa8, 0x81, 0x03, 0x38, 0xda, 0x81, 0x39, 0xc2, 0x9a,
- 0xb3, 0xa3, 0x42, 0x0b, 0x4d, 0xfe, 0x27, 0x31, 0x2c, 0x71, 0xaf, 0xde, 0x18, 0x16, 0x9c, 0xc0,
- 0x8a, 0xda, 0x30, 0xa7, 0x5b, 0x9a, 0xe7, 0x99, 0x3b, 0xa6, 0x1e, 0x39, 0x14, 0x4c, 0xd7, 0xde,
- 0x4b, 0xdb, 0xd6, 0x63, 0x90, 0x7b, 0x47, 0xcb, 0x17, 0x45, 0x3f, 0xe3, 0x00, 0x9c, 0x40, 0xa1,
- 0xfe, 0x8e, 0x02, 0xd3, 0xa1, 0xdc, 0xfc, 0x96, 0xb2, 0x10, 0xa1, 0x27, 0xa0, 0x6c, 0x98, 0x9e,
- 0x7c, 0xd8, 0xb1, 0x4b, 0xd7, 0x86, 0x28, 0xc3, 0x21, 0x54, 0xf5, 0xa0, 0x7c, 0x5d, 0x6c, 0x2b,
- 0xb4, 0x04, 0x25, 0x33, 0x38, 0x6b, 0x41, 0x7c, 0x40, 0xa9, 0xd9, 0xc0, 0x25, 0xd3, 0x08, 0x57,
- 0x55, 0x29, 0x77, 0x55, 0x49, 0xd3, 0x3e, 0x36, 0x78, 0xda, 0xd5, 0x5f, 0x53, 0xa0, 0x72, 0xc3,
- 0xdc, 0x26, 0x2e, 0x37, 0x3e, 0x33, 0xbe, 0x18, 0x73, 0xc4, 0xaf, 0x64, 0x39, 0xe1, 0xa3, 0x03,
- 0x98, 0xf6, 0xf4, 0x5d, 0x62, 0xf4, 0xad, 0xd0, 0xe5, 0xa1, 0x90, 0xbb, 0xbd, 0x44, 0xba, 0x2d,
- 0xf0, 0x49, 0x0e, 0x87, 0x01, 0x05, 0x1c, 0x11, 0x53, 0x3f, 0x09, 0xe7, 0x33, 0x1a, 0xa1, 0x65,
- 0x98, 0xf0, 0x7c, 0xcd, 0xf5, 0xc5, 0x98, 0x31, 0x76, 0xc3, 0xfc, 0x3b, 0x30, 0x2f, 0x47, 0x0f,
- 0xc3, 0x18, 0xb1, 0x0d, 0x31, 0x68, 0x53, 0x74, 0x97, 0xad, 0xda, 0x06, 0xa6, 0x65, 0x74, 0x8a,
- 0x2c, 0x27, 0xb6, 0x18, 0xd9, 0x14, 0xad, 0x89, 0x32, 0x1c, 0x42, 0xd5, 0x7f, 0x36, 0x0e, 0x97,
- 0x6f, 0x38, 0xae, 0x79, 0xd7, 0xb1, 0x7d, 0xcd, 0x6a, 0x39, 0x46, 0x74, 0x89, 0x27, 0xa6, 0xfb,
- 0x73, 0x0a, 0x3c, 0xa4, 0xf7, 0xfa, 0x4d, 0xdb, 0xf4, 0x4d, 0x2d, 0xb8, 0x5b, 0x69, 0x11, 0xd7,
- 0x74, 0x8a, 0xde, 0xe5, 0x31, 0x07, 0xee, 0x7a, 0x6b, 0x2b, 0x0b, 0x25, 0xce, 0xa3, 0xc5, 0xae,
- 0x14, 0x0d, 0xe7, 0x8e, 0xcd, 0x3a, 0xd7, 0xf6, 0x99, 0x53, 0xf9, 0xdd, 0xe8, 0x13, 0x0b, 0x5e,
- 0x29, 0x36, 0x32, 0x31, 0xe2, 0x1c, 0x4a, 0xe8, 0x53, 0x70, 0xd1, 0xe4, 0x9d, 0xc3, 0x44, 0x33,
- 0x4c, 0x9b, 0x78, 0x1e, 0xbb, 0x58, 0x1b, 0xe5, 0xce, 0xac, 0x99, 0x85, 0x10, 0x67, 0xd3, 0x41,
- 0xaf, 0x01, 0x78, 0x87, 0xb6, 0x2e, 0xc6, 0x7f, 0xa2, 0x10, 0x55, 0x7e, 0x92, 0x86, 0x58, 0xb0,
- 0x84, 0x91, 0x1e, 0x26, 0xbe, 0x63, 0x11, 0x57, 0xb3, 0x75, 0x6e, 0xfb, 0x56, 0xf8, 0x61, 0xb2,
- 0x19, 0x14, 0xe2, 0x08, 0xae, 0xfe, 0x63, 0x05, 0xa6, 0xc4, 0x63, 0x0d, 0xf4, 0x9e, 0x84, 0x40,
- 0x15, 0x1a, 0xc0, 0x12, 0x42, 0xd5, 0x21, 0x33, 0x5e, 0x08, 0x59, 0x5c, 0x30, 0xa9, 0x42, 0x27,
- 0xb2, 0x20, 0x1c, 0x09, 0xf6, 0x31, 0x23, 0x46, 0x20, 0xec, 0x4b, 0xc4, 0xd4, 0xaf, 0x2b, 0xb0,
- 0x90, 0x6a, 0x35, 0x84, 0x1a, 0xf0, 0x00, 0xad, 0xef, 0x7f, 0x58, 0x01, 0xf6, 0x2e, 0xa7, 0xda,
- 0x6a, 0xb6, 0x89, 0xbb, 0x1f, 0x6e, 0xc2, 0x2f, 0x29, 0x30, 0x1f, 0xdd, 0x13, 0x89, 0x5e, 0x28,
- 0xc5, 0x9d, 0x89, 0x6e, 0x26, 0x70, 0xd5, 0x16, 0xc5, 0x77, 0xcf, 0x27, 0x21, 0x38, 0x45, 0x17,
- 0x7d, 0x51, 0x81, 0x79, 0x2d, 0xfe, 0x2e, 0x27, 0x60, 0x99, 0x85, 0xfc, 0x4d, 0x13, 0x6f, 0x7c,
- 0xa2, 0xbe, 0x24, 0x00, 0x1e, 0x4e, 0x91, 0x45, 0x1f, 0x80, 0x19, 0xad, 0x67, 0x56, 0xfb, 0x86,
- 0x49, 0x6c, 0x3d, 0x7c, 0xcc, 0xc1, 0x4c, 0x14, 0xd5, 0x56, 0x33, 0x2c, 0xc7, 0xb1, 0x5a, 0xe1,
- 0xc3, 0x1b, 0x31, 0x90, 0xe3, 0x23, 0x3e, 0xbc, 0x11, 0x63, 0x18, 0x3d, 0xbc, 0x11, 0x43, 0x27,
- 0x13, 0x41, 0x3f, 0x0e, 0x0f, 0xf3, 0xb3, 0xa6, 0xa6, 0x79, 0xa6, 0x5e, 0xed, 0xfb, 0xbb, 0xc4,
- 0xf6, 0x03, 0x89, 0x81, 0xeb, 0x62, 0xcc, 0xb9, 0x60, 0x35, 0xaf, 0x12, 0xce, 0x6f, 0x8f, 0x6c,
- 0x00, 0xc7, 0x34, 0x74, 0xf1, 0x3d, 0xfc, 0x7e, 0xbb, 0x90, 0xef, 0xc7, 0xad, 0x66, 0xa3, 0x2e,
- 0x3e, 0x87, 0xb1, 0x89, 0xe8, 0x37, 0x96, 0x28, 0xa0, 0x2f, 0x2b, 0x30, 0x2b, 0x16, 0xb9, 0xa0,
- 0x39, 0xc5, 0xe6, 0xff, 0xd5, 0xa2, 0x8b, 0x31, 0xb1, 0xe0, 0x57, 0xb0, 0x8c, 0x9c, 0x7b, 0xd0,
- 0x86, 0xde, 0x4e, 0x31, 0x18, 0x8e, 0xf7, 0x03, 0xfd, 0x5d, 0x05, 0x2e, 0x78, 0xc4, 0xdd, 0x37,
- 0x75, 0x52, 0xd5, 0x75, 0xa7, 0x6f, 0x07, 0x93, 0x5c, 0x2e, 0xfe, 0x08, 0xa2, 0x9d, 0x81, 0x8f,
- 0x5f, 0xb3, 0x67, 0x41, 0x70, 0x26, 0x7d, 0x7a, 0x7e, 0x9d, 0xbb, 0xa3, 0xf9, 0xfa, 0x6e, 0x5d,
- 0xd3, 0x77, 0x99, 0xfc, 0xce, 0x6f, 0xd6, 0x0b, 0x6e, 0x9a, 0x97, 0xe3, 0xa8, 0xb8, 0xc1, 0x21,
- 0x51, 0x88, 0x93, 0x04, 0x91, 0x07, 0x65, 0x97, 0xbc, 0xd1, 0x27, 0x1e, 0xbb, 0x7e, 0xa7, 0xc4,
- 0x9b, 0x23, 0xcf, 0x18, 0x16, 0x08, 0xb9, 0x8c, 0x11, 0xfc, 0xc2, 0x21, 0x21, 0xd4, 0x81, 0xcb,
- 0x7c, 0xe5, 0x56, 0x6d, 0xc7, 0x3e, 0xec, 0x3a, 0x7d, 0x2f, 0xb1, 0xfa, 0x2b, 0x6c, 0xf5, 0x33,
- 0x07, 0x83, 0xd5, 0x41, 0x15, 0xf1, 0x60, 0x3c, 0xe8, 0x15, 0x28, 0x93, 0x7d, 0x62, 0xfb, 0x9b,
- 0x9b, 0x6b, 0x8b, 0x33, 0x85, 0x8e, 0x46, 0xf6, 0x09, 0xab, 0x02, 0x07, 0x0e, 0xb1, 0x2d, 0xbd,
- 0x08, 0x28, 0xbd, 0x22, 0xd1, 0x3c, 0x8c, 0xed, 0x11, 0xfe, 0x6e, 0x6f, 0x1a, 0xd3, 0x7f, 0xd1,
- 0x05, 0x98, 0xd8, 0xd7, 0xac, 0x3e, 0x17, 0x65, 0xcb, 0x98, 0xff, 0x78, 0xb6, 0xf4, 0x61, 0x45,
- 0xfd, 0xa6, 0x02, 0x17, 0x33, 0x87, 0x0d, 0x61, 0xb8, 0xc4, 0xfc, 0x32, 0xec, 0xf5, 0xbe, 0xaf,
- 0xf9, 0xa6, 0xdd, 0x69, 0xda, 0x3b, 0x96, 0xd9, 0xd9, 0xe5, 0x92, 0xdf, 0x04, 0x97, 0x53, 0xd6,
- 0x33, 0x6b, 0xe0, 0x9c, 0x96, 0xa8, 0x09, 0xe7, 0xbb, 0xda, 0x41, 0x0a, 0x61, 0x89, 0x21, 0x64,
- 0xaf, 0x3f, 0xd7, 0xd3, 0x60, 0x9c, 0xd5, 0x46, 0xfd, 0xea, 0x04, 0x3c, 0x42, 0x3b, 0x1e, 0x1d,
- 0x99, 0xeb, 0x9a, 0xad, 0x75, 0xde, 0x9a, 0x47, 0xd3, 0xaf, 0x29, 0xf0, 0xd0, 0x6e, 0xb6, 0x38,
- 0x2b, 0x0e, 0xed, 0x97, 0x0a, 0x09, 0xf5, 0x83, 0x24, 0x64, 0xbe, 0x70, 0x07, 0x56, 0xc1, 0x79,
- 0x9d, 0x42, 0x2f, 0xc2, 0xbc, 0xed, 0x18, 0xa4, 0xde, 0x6c, 0xe0, 0x75, 0xcd, 0xdb, 0x6b, 0x07,
- 0x0a, 0xff, 0x04, 0xb7, 0xe8, 0x6d, 0x24, 0x60, 0x38, 0x55, 0x1b, 0xed, 0x03, 0xea, 0x39, 0xc6,
- 0xea, 0xbe, 0xa9, 0x07, 0x2e, 0x15, 0xc5, 0xad, 0x88, 0xcc, 0xc3, 0xbc, 0x95, 0xc2, 0x86, 0x33,
- 0x28, 0x30, 0x79, 0x9c, 0x76, 0x66, 0xdd, 0xb1, 0x4d, 0xdf, 0x71, 0x99, 0xdf, 0xcf, 0x48, 0x62,
- 0x29, 0x5b, 0xe7, 0x1b, 0x99, 0x18, 0x71, 0x0e, 0x25, 0xf5, 0xff, 0x28, 0x70, 0x8e, 0x2e, 0x8b,
- 0x96, 0xeb, 0x1c, 0x1c, 0xbe, 0x15, 0x17, 0xe4, 0x93, 0xc2, 0x56, 0xc9, 0xb5, 0xb4, 0x8b, 0x92,
- 0x9d, 0x72, 0x9a, 0xf5, 0x39, 0x32, 0x4d, 0xca, 0x8a, 0xea, 0x58, 0xbe, 0xa2, 0xaa, 0xfe, 0x67,
- 0x85, 0x8b, 0x88, 0x81, 0xa2, 0xf8, 0x96, 0xdc, 0x87, 0x1f, 0x82, 0x59, 0x5a, 0xb6, 0xae, 0x1d,
- 0xb4, 0x1a, 0xb7, 0x1d, 0x2b, 0x70, 0x47, 0x62, 0x97, 0x9f, 0x37, 0x65, 0x00, 0x8e, 0xd7, 0x53,
- 0x7f, 0xf9, 0x1c, 0xb0, 0x0a, 0x16, 0xf1, 0xdf, 0x8a, 0xdf, 0xf5, 0x14, 0x54, 0xf4, 0x5e, 0xbf,
- 0x7e, 0xad, 0xfd, 0x52, 0xdf, 0xf1, 0x35, 0x61, 0xc3, 0x64, 0x72, 0x5f, 0xbd, 0xb5, 0x15, 0x14,
- 0x63, 0xb9, 0x0e, 0xdd, 0xe1, 0x7a, 0xaf, 0x2f, 0x78, 0x66, 0x4b, 0xbe, 0xc5, 0x63, 0x3b, 0xbc,
- 0xde, 0xda, 0x8a, 0xc1, 0x70, 0xaa, 0x36, 0xfa, 0x14, 0xcc, 0x10, 0xb1, 0xf9, 0x6e, 0x68, 0xae,
- 0x21, 0xf6, 0x76, 0xe1, 0x83, 0x3b, 0x1c, 0xda, 0x60, 0x47, 0x73, 0x71, 0x79, 0x55, 0x22, 0x81,
- 0x63, 0x04, 0x99, 0xe8, 0x2a, 0x7e, 0xd3, 0x99, 0x72, 0x8c, 0xe4, 0x66, 0x9f, 0x10, 0xa2, 0x6b,
- 0x5e, 0x25, 0x9c, 0xdf, 0x1e, 0xfd, 0xaa, 0x02, 0x97, 0x42, 0xa8, 0x69, 0x9b, 0xdd, 0x7e, 0x17,
- 0x13, 0xdd, 0xd2, 0xcc, 0xae, 0x90, 0x63, 0x5f, 0x3e, 0xb5, 0x0f, 0x8d, 0xa3, 0xe7, 0x0c, 0x27,
- 0x1b, 0x86, 0x73, 0xba, 0x84, 0xbe, 0xae, 0xc0, 0x63, 0x01, 0xa8, 0x45, 0x35, 0xc9, 0xbe, 0x4b,
- 0x22, 0x87, 0x36, 0x31, 0x24, 0x53, 0x85, 0xf8, 0xdf, 0xe3, 0xc7, 0x47, 0xcb, 0x8f, 0xad, 0xde,
- 0x07, 0x37, 0xbe, 0x2f, 0x75, 0x79, 0xb9, 0xb4, 0x9d, 0x1d, 0x5f, 0x08, 0xbe, 0x67, 0xb5, 0x5c,
- 0x28, 0x09, 0x1c, 0x23, 0x88, 0x7e, 0x5d, 0x81, 0x87, 0xe4, 0x02, 0x79, 0xb5, 0x70, 0x89, 0xf7,
- 0x95, 0x53, 0xeb, 0x4c, 0x02, 0x3f, 0xb7, 0x2d, 0xe5, 0x00, 0x71, 0x5e, 0xaf, 0x28, 0xeb, 0xed,
- 0xb2, 0x85, 0xc9, 0xa5, 0xe2, 0x09, 0xce, 0x7a, 0xf9, 0x5a, 0xf5, 0x70, 0x00, 0xa3, 0xca, 0x66,
- 0xcf, 0x31, 0x5a, 0xa6, 0xe1, 0xad, 0x99, 0x5d, 0xd3, 0x67, 0x72, 0xeb, 0x18, 0x1f, 0x8e, 0x96,
- 0x63, 0xb4, 0x9a, 0x0d, 0x5e, 0x8e, 0x63, 0xb5, 0x98, 0x1b, 0xba, 0xd9, 0xd5, 0x3a, 0xa4, 0xd5,
- 0xb7, 0xac, 0x96, 0xeb, 0x30, 0x03, 0x44, 0x83, 0x68, 0x86, 0x65, 0xda, 0xa4, 0xa0, 0x9c, 0xca,
- 0xb6, 0x5b, 0x33, 0x0f, 0x29, 0xce, 0xa7, 0x87, 0x56, 0x00, 0x76, 0x34, 0xd3, 0x6a, 0xdf, 0xd1,
- 0x7a, 0xb7, 0xec, 0xc5, 0x59, 0xc6, 0xc0, 0x98, 0xa6, 0x77, 0x2d, 0x2c, 0xc5, 0x52, 0x0d, 0xba,
- 0x9a, 0x28, 0x17, 0xc4, 0x84, 0x3f, 0x80, 0x5b, 0x9c, 0x3b, 0xa5, 0xd5, 0x14, 0x20, 0xe4, 0xc3,
- 0x77, 0x53, 0x22, 0x81, 0x63, 0x04, 0xd1, 0xe7, 0x14, 0x98, 0xf3, 0x0e, 0x3d, 0x9f, 0x74, 0xc3,
- 0x3e, 0x9c, 0x3b, 0xed, 0x3e, 0x30, 0xd3, 0x4c, 0x3b, 0x46, 0x04, 0x27, 0x88, 0x22, 0x0d, 0x1e,
- 0x61, 0xa3, 0x7a, 0xbd, 0x7e, 0xc3, 0xec, 0xec, 0x86, 0xce, 0xe5, 0x2d, 0xe2, 0xea, 0xc4, 0xf6,
- 0x17, 0xe7, 0xd9, 0xba, 0x59, 0x3e, 0x3e, 0x5a, 0x7e, 0xa4, 0x99, 0x5f, 0x0d, 0x0f, 0xc2, 0x81,
- 0x5e, 0x83, 0x25, 0x01, 0x5e, 0x73, 0xee, 0xa4, 0x28, 0x2c, 0x30, 0x0a, 0xcc, 0xe3, 0xbf, 0x99,
- 0x5b, 0x0b, 0x0f, 0xc0, 0x40, 0xb5, 0x02, 0x8f, 0xb8, 0xcc, 0xb2, 0x4a, 0xc2, 0xc5, 0xe3, 0x2d,
- 0x22, 0xb6, 0x08, 0x98, 0x56, 0xd0, 0x4e, 0x83, 0x71, 0x56, 0x1b, 0xf5, 0xa8, 0xc4, 0xd5, 0x99,
- 0xd4, 0x86, 0x44, 0xcf, 0xc3, 0xb9, 0x2e, 0xe9, 0x3a, 0xee, 0x61, 0x35, 0x08, 0x99, 0x21, 0x4c,
- 0x6b, 0x4c, 0x43, 0x5d, 0x8f, 0x83, 0x70, 0xb2, 0x2e, 0x3d, 0x2e, 0xd9, 0x17, 0x5c, 0x6b, 0x47,
- 0xed, 0x4b, 0xd1, 0x71, 0xd9, 0x4c, 0xc0, 0x70, 0xaa, 0x36, 0xaa, 0xc3, 0x82, 0x28, 0x6b, 0x52,
- 0xa9, 0xd1, 0xbb, 0xe6, 0x92, 0xe0, 0xb2, 0x89, 0xca, 0x5f, 0x0b, 0xcd, 0x24, 0x10, 0xa7, 0xeb,
- 0xd3, 0xaf, 0xa0, 0x3f, 0xe4, 0x5e, 0x8c, 0x47, 0x5f, 0xb1, 0x11, 0x07, 0xe1, 0x64, 0xdd, 0x40,
- 0xac, 0x8f, 0x75, 0x61, 0x22, 0xfa, 0x8a, 0x8d, 0x04, 0x0c, 0xa7, 0x6a, 0xab, 0xff, 0x65, 0x1c,
- 0xde, 0x35, 0xc4, 0x21, 0x86, 0xba, 0xd9, 0xc3, 0x7d, 0x1f, 0x96, 0xb2, 0x12, 0x38, 0x69, 0xac,
- 0xbc, 0xd4, 0xd7, 0x6c, 0xdf, 0xf4, 0x0f, 0x87, 0x9c, 0x9e, 0x5e, 0xce, 0xf4, 0x9c, 0x9c, 0xde,
- 0xb0, 0xd3, 0xe9, 0xe5, 0x4d, 0xe7, 0xc9, 0x49, 0x0e, 0x3f, 0xfd, 0xdd, 0xec, 0xe9, 0x2f, 0x38,
- 0xaa, 0xf7, 0x5d, 0x2e, 0xbd, 0x9c, 0xe5, 0x52, 0x70, 0x54, 0x87, 0x58, 0x5e, 0x7f, 0x34, 0x0e,
- 0x8f, 0x0f, 0x73, 0xa0, 0x16, 0x5c, 0x5f, 0x19, 0x47, 0xd6, 0x99, 0xae, 0xaf, 0x3c, 0x8f, 0x98,
- 0x33, 0x5c, 0x5f, 0x19, 0x24, 0xcf, 0x7a, 0x7d, 0xe5, 0x8d, 0xea, 0x59, 0xad, 0xaf, 0xbc, 0x51,
- 0x1d, 0x62, 0x7d, 0xfd, 0x69, 0xf2, 0x7c, 0x08, 0xcf, 0xd1, 0x26, 0x8c, 0xe9, 0xbd, 0x7e, 0x41,
- 0x26, 0xc5, 0xae, 0x39, 0xeb, 0xad, 0x2d, 0x4c, 0x71, 0x20, 0x0c, 0x93, 0x7c, 0xfd, 0x14, 0x64,
- 0x41, 0xcc, 0xe9, 0x87, 0x2f, 0x49, 0x2c, 0x30, 0xd1, 0xa1, 0x22, 0xbd, 0x5d, 0xd2, 0x25, 0xae,
- 0x66, 0xb5, 0x7d, 0xc7, 0xd5, 0x3a, 0x45, 0xb9, 0x0d, 0x1b, 0xaa, 0xd5, 0x04, 0x2e, 0x9c, 0xc2,
- 0x4e, 0x07, 0xa4, 0x67, 0x1a, 0x05, 0xf9, 0x0b, 0x1b, 0x90, 0x56, 0xb3, 0x81, 0x29, 0x0e, 0xf5,
- 0x1f, 0x4c, 0x83, 0xf4, 0xb4, 0x88, 0xea, 0x6d, 0x9a, 0x65, 0x39, 0x77, 0x5a, 0xae, 0xb9, 0x6f,
- 0x5a, 0xa4, 0x43, 0x8c, 0xf0, 0xed, 0x89, 0x27, 0x2e, 0xc3, 0x99, 0x20, 0x59, 0xcd, 0xab, 0x84,
- 0xf3, 0xdb, 0x53, 0xbd, 0x7c, 0x41, 0x4f, 0x3e, 0xfc, 0x1c, 0xe5, 0x42, 0x2f, 0xf5, 0x8a, 0x94,
- 0xef, 0xa7, 0x54, 0x31, 0x4e, 0x93, 0x45, 0x3f, 0xa5, 0x70, 0x83, 0x43, 0x68, 0x5d, 0x15, 0x73,
- 0x76, 0xfd, 0x94, 0xee, 0x23, 0x22, 0xcb, 0x45, 0x64, 0xbf, 0x8d, 0x13, 0xa4, 0x9a, 0xe1, 0xc5,
- 0xbd, 0x2c, 0x3b, 0xa9, 0x98, 0xd9, 0x5b, 0x45, 0xbb, 0x92, 0x63, 0x78, 0xe5, 0x97, 0xc7, 0x99,
- 0x15, 0x70, 0x76, 0x47, 0xc2, 0x51, 0x0a, 0x4d, 0x47, 0x82, 0x09, 0x14, 0x1e, 0xa5, 0x84, 0x0d,
- 0x2a, 0x1a, 0xa5, 0x10, 0x80, 0xe3, 0x04, 0x51, 0x0f, 0xa6, 0xf7, 0x02, 0x7b, 0x9d, 0xd0, 0xef,
- 0xeb, 0x45, 0xa9, 0x4b, 0x46, 0x3f, 0x7e, 0x49, 0x1d, 0x16, 0xe2, 0x88, 0x08, 0xda, 0x85, 0xa9,
- 0x3d, 0xce, 0x88, 0x84, 0x5e, 0x5e, 0x1d, 0x59, 0x6f, 0xe0, 0xea, 0xa1, 0x28, 0xc2, 0x01, 0x7a,
- 0xd9, 0x49, 0xa5, 0x7c, 0x1f, 0xdf, 0xa4, 0xaf, 0x2a, 0x70, 0x71, 0x9f, 0xb8, 0xbe, 0xa9, 0x27,
- 0xad, 0xd4, 0xd3, 0xc5, 0x75, 0x9b, 0xdb, 0x59, 0x08, 0xf9, 0x32, 0xc9, 0x04, 0xe1, 0xec, 0x2e,
- 0x50, 0x4d, 0x87, 0x1b, 0x1b, 0xdb, 0xbe, 0xe6, 0x9b, 0xfa, 0xa6, 0xb3, 0x47, 0x6c, 0xfa, 0xb1,
- 0x22, 0xac, 0x22, 0x30, 0xc6, 0xc1, 0x34, 0x9d, 0xd5, 0xfc, 0x6a, 0x78, 0x10, 0x0e, 0xf5, 0x07,
- 0x0a, 0xa4, 0xcc, 0x6d, 0xe8, 0x67, 0x14, 0x98, 0xd9, 0x21, 0x9a, 0xdf, 0x77, 0xc9, 0x75, 0xcd,
- 0x0f, 0x7d, 0x95, 0x6f, 0x9f, 0x86, 0x95, 0x6f, 0xe5, 0x9a, 0x84, 0x98, 0xdf, 0x27, 0x86, 0x01,
- 0x0c, 0x64, 0x10, 0x8e, 0xf5, 0x60, 0xe9, 0x05, 0x58, 0x48, 0x35, 0x3c, 0xd1, 0xb5, 0xcf, 0xbf,
- 0x14, 0xd6, 0xda, 0x64, 0x4c, 0xcd, 0xd7, 0x60, 0x42, 0x33, 0x8c, 0x30, 0x62, 0xd7, 0x33, 0xc5,
- 0xee, 0xcd, 0x0d, 0xd9, 0x25, 0x9c, 0xfd, 0xc4, 0x1c, 0x2d, 0xba, 0x06, 0x48, 0x8b, 0x5d, 0x8e,
- 0xad, 0x47, 0x1e, 0xb3, 0xcc, 0xca, 0x5f, 0x4d, 0x41, 0x71, 0x46, 0x0b, 0xf5, 0x39, 0x98, 0x8b,
- 0xbf, 0x61, 0x3d, 0x81, 0x07, 0x9e, 0xfa, 0x37, 0x15, 0x40, 0xe9, 0x78, 0x19, 0xc8, 0x85, 0xb2,
- 0xa8, 0x11, 0x4c, 0x71, 0x21, 0x43, 0x6e, 0xd2, 0x37, 0x30, 0xf2, 0xc9, 0x17, 0x05, 0x1e, 0x0e,
- 0xe9, 0xa8, 0x7f, 0xa6, 0x40, 0x14, 0x12, 0x08, 0x7d, 0x10, 0x2a, 0x06, 0xf1, 0x74, 0xd7, 0xec,
- 0xf9, 0xd1, 0x77, 0x84, 0xb1, 0x0e, 0x1a, 0x11, 0x08, 0xcb, 0xf5, 0x90, 0x0a, 0x93, 0xbe, 0xe6,
- 0xed, 0x35, 0x1b, 0x42, 0x23, 0x65, 0xf2, 0xc3, 0x26, 0x2b, 0xc1, 0x02, 0x12, 0xbd, 0x07, 0x1d,
- 0x1b, 0xe2, 0x3d, 0x28, 0xda, 0x39, 0x85, 0xc7, 0xaf, 0xe8, 0xfe, 0x0f, 0x5f, 0xd5, 0x3f, 0x28,
- 0x41, 0x3c, 0x0a, 0x53, 0xd1, 0x21, 0x48, 0xbf, 0xd6, 0x2d, 0x9d, 0xd9, 0x6b, 0xdd, 0xf7, 0xb1,
- 0x10, 0x86, 0x3c, 0xe6, 0x2c, 0xbf, 0x13, 0x93, 0x03, 0x0f, 0xf2, 0x88, 0xb1, 0x61, 0x0d, 0xf4,
- 0x0c, 0xf3, 0x97, 0xf3, 0x03, 0x3d, 0xfd, 0x5d, 0xc1, 0xb6, 0xa0, 0x0c, 0x88, 0xdc, 0x13, 0xef,
- 0x91, 0xc3, 0xef, 0x67, 0xa5, 0x98, 0xb7, 0x40, 0x1f, 0x14, 0xee, 0x95, 0x13, 0xb1, 0x37, 0xd3,
- 0xc1, 0x43, 0xeb, 0x85, 0x58, 0xc3, 0xc8, 0xe7, 0x52, 0xfd, 0xb6, 0x02, 0x53, 0x22, 0xf8, 0xc9,
- 0x10, 0x1e, 0x9a, 0x3b, 0x30, 0xc1, 0xf4, 0x80, 0x51, 0x44, 0xa4, 0xf6, 0xae, 0xe3, 0xf8, 0xb1,
- 0x10, 0x30, 0xcc, 0x2d, 0x90, 0xfd, 0x8b, 0x39, 0x7a, 0xe6, 0x11, 0xe3, 0xea, 0xbb, 0xa6, 0x4f,
- 0x74, 0x3f, 0x08, 0x2c, 0x11, 0x78, 0xc4, 0x48, 0xe5, 0x38, 0x56, 0x4b, 0xfd, 0xda, 0x38, 0x3c,
- 0x26, 0x10, 0xa7, 0xe4, 0x86, 0x70, 0xe3, 0x1e, 0xc2, 0x79, 0x31, 0xb7, 0x0d, 0x57, 0x33, 0xc3,
- 0xbb, 0xc6, 0x62, 0xfa, 0xa0, 0xb8, 0x85, 0x4e, 0xa1, 0xc3, 0x59, 0x34, 0x78, 0x88, 0x04, 0x56,
- 0x7c, 0x83, 0x68, 0x96, 0xbf, 0x1b, 0xd0, 0x2e, 0x8d, 0x12, 0x22, 0x21, 0x8d, 0x0f, 0x67, 0x52,
- 0x61, 0x77, 0x9d, 0x02, 0x50, 0x77, 0x89, 0x26, 0x5f, 0xb4, 0x8e, 0xe0, 0x7b, 0xb8, 0x9e, 0x89,
- 0x11, 0xe7, 0x50, 0x62, 0x86, 0x35, 0xed, 0x80, 0xe9, 0xe9, 0x98, 0xf8, 0xae, 0xc9, 0x42, 0xf9,
- 0xd0, 0x5d, 0xc1, 0x35, 0xeb, 0x38, 0x08, 0x27, 0xeb, 0xa2, 0x67, 0x61, 0x8e, 0xdd, 0x1d, 0x47,
- 0x2f, 0x07, 0x27, 0xa2, 0xc0, 0xc5, 0x1b, 0x31, 0x08, 0x4e, 0xd4, 0x54, 0x7f, 0x45, 0x81, 0x19,
- 0x79, 0xd9, 0x0d, 0xe1, 0x07, 0xde, 0x97, 0x98, 0xfc, 0x08, 0xee, 0xb4, 0x32, 0xd5, 0x61, 0xf8,
- 0xfc, 0x6f, 0x94, 0xe0, 0x7c, 0x46, 0x1b, 0x76, 0x8b, 0x48, 0x12, 0x07, 0xc6, 0x28, 0xb7, 0x88,
- 0xa9, 0xc3, 0x27, 0xbc, 0x45, 0x4c, 0x42, 0x70, 0x8a, 0x2e, 0xba, 0x0d, 0x63, 0xba, 0x6b, 0x8a,
- 0x61, 0xf9, 0x50, 0x21, 0x5d, 0x09, 0x37, 0x23, 0xe7, 0xfa, 0x3a, 0x6e, 0x62, 0x8a, 0x10, 0x7d,
- 0x08, 0x66, 0xe5, 0x4d, 0x1d, 0x9c, 0x41, 0x4c, 0x2a, 0x97, 0xf7, 0xbe, 0x87, 0xe3, 0xf5, 0xd4,
- 0x3f, 0x19, 0x83, 0x8a, 0x14, 0xc6, 0x09, 0xad, 0x8f, 0xa2, 0xa3, 0x47, 0xfd, 0x0a, 0xf4, 0xf4,
- 0x75, 0x18, 0xeb, 0xf4, 0xfa, 0x05, 0x95, 0xf4, 0x10, 0xdd, 0x75, 0x8a, 0xae, 0xd3, 0xeb, 0xa3,
- 0xdb, 0xa1, 0xda, 0x5f, 0x4c, 0x31, 0x0f, 0x5d, 0x53, 0x13, 0xaa, 0x7f, 0xb0, 0xa8, 0xc7, 0x73,
- 0x17, 0x75, 0x17, 0xa6, 0x3c, 0x61, 0x13, 0x98, 0x28, 0xfe, 0x0c, 0x4a, 0x1a, 0x69, 0x61, 0x03,
- 0xe0, 0x0a, 0x45, 0x60, 0x22, 0x08, 0x68, 0x50, 0x79, 0xa3, 0xcf, 0x5c, 0xe9, 0x99, 0xa6, 0x54,
- 0xe6, 0xf2, 0xc6, 0x16, 0x2b, 0xc1, 0x02, 0x92, 0x62, 0xf7, 0x53, 0x43, 0xb1, 0xfb, 0x2f, 0x94,
- 0x00, 0xa5, 0xbb, 0x81, 0xde, 0x05, 0x13, 0xec, 0x1d, 0x82, 0xd8, 0xd7, 0x52, 0x70, 0x14, 0xcd,
- 0xf3, 0x30, 0x87, 0xa1, 0xb6, 0x78, 0x97, 0x52, 0x6c, 0x3a, 0xd9, 0x65, 0xb9, 0xa0, 0x27, 0x3d,
- 0x62, 0x09, 0xce, 0xcf, 0xb1, 0xdc, 0xf3, 0x73, 0x0b, 0xa6, 0xba, 0xa6, 0xcd, 0x1c, 0x64, 0x8a,
- 0x99, 0x4a, 0xf8, 0x9d, 0x1e, 0x47, 0x81, 0x03, 0x5c, 0xea, 0x1f, 0x95, 0xe8, 0xd2, 0x37, 0x6d,
- 0x9f, 0xd8, 0x9a, 0xad, 0x13, 0x74, 0x08, 0xa0, 0xf5, 0x7d, 0x87, 0x8b, 0x21, 0x62, 0x07, 0x34,
- 0x8b, 0xcd, 0x72, 0x88, 0xb4, 0x1a, 0x22, 0xe4, 0x57, 0x6d, 0xd1, 0x6f, 0x2c, 0x11, 0xa3, 0xa4,
- 0x7d, 0xb3, 0x4b, 0x5e, 0x36, 0x6d, 0xc3, 0xb9, 0x23, 0x86, 0x77, 0x54, 0xd2, 0x9b, 0x21, 0x42,
- 0x4e, 0x3a, 0xfa, 0x8d, 0x25, 0x62, 0xe8, 0x15, 0x58, 0x64, 0x9a, 0x99, 0xcd, 0xe2, 0xea, 0x89,
- 0xbe, 0x39, 0x96, 0x15, 0x9c, 0x70, 0x65, 0x16, 0xcb, 0x68, 0xb1, 0x9e, 0x53, 0x07, 0xe7, 0xb6,
- 0x56, 0x7f, 0x5d, 0x81, 0x8b, 0x99, 0x43, 0x81, 0xae, 0xc3, 0x42, 0xe4, 0x5f, 0x21, 0xb3, 0xe4,
- 0x72, 0x14, 0x26, 0xf2, 0x66, 0xb2, 0x02, 0x4e, 0xb7, 0x41, 0xeb, 0xa1, 0x58, 0x22, 0xb3, 0x7c,
- 0xe1, 0x9c, 0xf1, 0x88, 0x40, 0x95, 0x75, 0x2a, 0xe0, 0xac, 0x76, 0xea, 0x8f, 0xc7, 0x3a, 0x1c,
- 0x0d, 0x18, 0xdd, 0x1d, 0xdb, 0xa4, 0x13, 0x7a, 0xb8, 0x87, 0xbb, 0xa3, 0x46, 0x0b, 0x31, 0x87,
- 0xa1, 0xcb, 0xf2, 0xab, 0x8c, 0x90, 0x77, 0x05, 0x2f, 0x33, 0x54, 0x1f, 0x40, 0xb8, 0x31, 0x99,
- 0x76, 0x07, 0xed, 0x40, 0x59, 0x13, 0x89, 0x05, 0xc4, 0x52, 0xfb, 0x48, 0x21, 0x45, 0x50, 0xe0,
- 0xe0, 0xee, 0x8b, 0xc1, 0x2f, 0x1c, 0xe2, 0x56, 0xff, 0x91, 0x02, 0x97, 0x28, 0x1b, 0x33, 0x82,
- 0xc7, 0xaf, 0x61, 0x3c, 0x82, 0x21, 0x4e, 0xf2, 0x2e, 0x54, 0xdc, 0xa8, 0x99, 0x58, 0x97, 0x3f,
- 0x26, 0xc7, 0x3a, 0x90, 0x9e, 0x6c, 0x52, 0x29, 0xa7, 0xee, 0x3a, 0x5e, 0x30, 0x39, 0xc9, 0xf0,
- 0x07, 0xa1, 0x86, 0x21, 0xf5, 0x04, 0xcb, 0xf8, 0xd5, 0xcf, 0x94, 0x00, 0x36, 0x88, 0x7f, 0xc7,
- 0x71, 0xf7, 0xe8, 0x10, 0xbd, 0xa5, 0x9e, 0x3e, 0x3d, 0x0a, 0xe3, 0x3d, 0xc7, 0xf0, 0x04, 0x97,
- 0x62, 0x0f, 0xf6, 0x98, 0x87, 0x00, 0x2b, 0x45, 0xcb, 0x30, 0xc1, 0x0c, 0xe0, 0xe2, 0x00, 0x61,
- 0xa2, 0x39, 0x15, 0xac, 0x3c, 0xcc, 0xcb, 0x79, 0xc8, 0x58, 0xe6, 0x1a, 0xec, 0x09, 0x5d, 0x43,
- 0x84, 0x8c, 0xe5, 0x65, 0x38, 0x84, 0xaa, 0x9f, 0x19, 0x87, 0x58, 0x66, 0x8c, 0xc8, 0x5e, 0xa0,
- 0x9c, 0x8d, 0xbd, 0xe0, 0x15, 0x58, 0xb4, 0x1c, 0xcd, 0xa8, 0x69, 0x16, 0x5d, 0xf4, 0x6e, 0x9b,
- 0x4f, 0x87, 0x66, 0x77, 0xc2, 0xb4, 0x0b, 0x8c, 0x01, 0xac, 0xe5, 0xd4, 0xc1, 0xb9, 0xad, 0x91,
- 0x1f, 0xe6, 0xe3, 0xe0, 0x61, 0x2f, 0xd7, 0x46, 0xcd, 0x1b, 0xb2, 0x22, 0x3b, 0x85, 0x87, 0x67,
- 0x79, 0x3c, 0x65, 0x07, 0xfa, 0xbc, 0x02, 0x17, 0xc9, 0x81, 0x4f, 0x5c, 0x5b, 0xb3, 0x36, 0x5d,
- 0x6d, 0x67, 0xc7, 0xd4, 0x85, 0xef, 0x15, 0x9f, 0x9c, 0xd6, 0xf1, 0xd1, 0xf2, 0xc5, 0xd5, 0xac,
- 0x0a, 0xf7, 0x8e, 0x96, 0xdf, 0x9f, 0x4e, 0x8b, 0x13, 0xf8, 0x80, 0x67, 0x36, 0x61, 0x8b, 0x31,
- 0x9b, 0xdc, 0xd2, 0x33, 0x50, 0x39, 0x81, 0xcb, 0xf0, 0xb4, 0x6c, 0x3b, 0x7a, 0x53, 0x81, 0x19,
- 0xba, 0x7e, 0xd6, 0x1c, 0x5d, 0xb3, 0x1a, 0x1b, 0xed, 0x13, 0xe4, 0x94, 0x41, 0x6b, 0x70, 0x61,
- 0xc7, 0x71, 0x75, 0xb2, 0x59, 0x6f, 0x6d, 0x3a, 0xc2, 0x84, 0xde, 0xd8, 0x68, 0x0b, 0xa6, 0xc8,
- 0xf4, 0x9f, 0x6b, 0x19, 0x70, 0x9c, 0xd9, 0x0a, 0xdd, 0x82, 0x8b, 0x51, 0xf9, 0x56, 0xcf, 0xf3,
- 0x5d, 0xa2, 0x75, 0x29, 0x3a, 0x7e, 0x36, 0x30, 0x13, 0xe3, 0xb5, 0xac, 0x0a, 0x38, 0xbb, 0x9d,
- 0xfa, 0xf3, 0x93, 0x20, 0x3d, 0x2d, 0x38, 0x41, 0x1c, 0xd7, 0x5f, 0x52, 0xe0, 0x82, 0x6e, 0x99,
- 0xc4, 0xf6, 0x13, 0x3e, 0xe4, 0x7c, 0xcf, 0x6f, 0x15, 0x7a, 0xf3, 0xd0, 0x23, 0x76, 0xb3, 0x51,
- 0x77, 0x6c, 0x9b, 0xe8, 0x7e, 0x3d, 0x03, 0x39, 0x1f, 0xaf, 0x2c, 0x08, 0xce, 0xec, 0x0c, 0xfb,
- 0x1e, 0x56, 0xde, 0x6c, 0xc8, 0xef, 0xef, 0xea, 0xa2, 0x0c, 0x87, 0x50, 0xf4, 0x14, 0x54, 0x3a,
- 0xae, 0xd3, 0xef, 0x79, 0x75, 0xe6, 0xf1, 0xc6, 0x17, 0x27, 0x93, 0x91, 0xae, 0x47, 0xc5, 0x58,
- 0xae, 0x43, 0x25, 0x3e, 0xfe, 0xb3, 0xe5, 0x92, 0x1d, 0xf3, 0x40, 0x70, 0x12, 0x26, 0xf1, 0x5d,
- 0x97, 0xca, 0x71, 0xac, 0x16, 0x7a, 0x2f, 0x4c, 0x9b, 0x9e, 0xd7, 0x27, 0xee, 0x16, 0x5e, 0x13,
- 0x41, 0xcd, 0x98, 0xcd, 0xbc, 0x19, 0x14, 0xe2, 0x08, 0x8e, 0x7e, 0x56, 0x81, 0x39, 0x97, 0xbc,
- 0xd1, 0x37, 0x5d, 0x62, 0x30, 0xa2, 0x9e, 0x78, 0xdf, 0x81, 0x47, 0x7b, 0x53, 0xb2, 0x82, 0x63,
- 0x48, 0xf9, 0x16, 0x0e, 0xcd, 0x41, 0x71, 0x20, 0x4e, 0xf4, 0x80, 0x0e, 0x95, 0x67, 0x76, 0x6c,
- 0xd3, 0xee, 0x54, 0xad, 0x8e, 0xb7, 0x58, 0x66, 0x5c, 0x89, 0x8b, 0x93, 0x51, 0x31, 0x96, 0xeb,
- 0x50, 0x85, 0xa8, 0xef, 0xd1, 0x4d, 0xd9, 0x25, 0x7c, 0x7c, 0xa7, 0x23, 0x37, 0xd4, 0x2d, 0x19,
- 0x80, 0xe3, 0xf5, 0xa8, 0xb2, 0x1c, 0x14, 0x88, 0x51, 0x06, 0xfe, 0x0a, 0x9b, 0xf6, 0x73, 0x2b,
- 0x06, 0xc1, 0x89, 0x9a, 0x4b, 0x55, 0x38, 0x9f, 0xf1, 0x99, 0x27, 0xda, 0xf9, 0xbf, 0x52, 0x82,
- 0x77, 0xde, 0x77, 0x55, 0xa2, 0xbf, 0xa7, 0x40, 0x85, 0x1c, 0xf8, 0xae, 0x16, 0x3a, 0xc5, 0xd2,
- 0x29, 0xda, 0x39, 0x93, 0x2d, 0xb0, 0xb2, 0x1a, 0x11, 0xe2, 0xd3, 0x16, 0x9e, 0xe4, 0x12, 0x04,
- 0xcb, 0xfd, 0xa1, 0xea, 0x0b, 0x7f, 0xa3, 0x2f, 0x9b, 0x4b, 0x45, 0x6e, 0x04, 0x01, 0x59, 0xfa,
- 0x28, 0xcc, 0x27, 0x31, 0x9f, 0x68, 0xa4, 0x7e, 0xa3, 0x04, 0x13, 0x2d, 0x4b, 0x7b, 0x20, 0xf1,
- 0xe9, 0xfe, 0x5a, 0x2c, 0x38, 0x50, 0xa1, 0x88, 0x4b, 0xac, 0xab, 0xb9, 0x61, 0xc9, 0x3a, 0x89,
- 0xb0, 0x64, 0x2f, 0x14, 0x27, 0x31, 0x38, 0x0a, 0xd9, 0xb7, 0x15, 0x98, 0x66, 0xf5, 0x1e, 0x40,
- 0x34, 0x9c, 0xd7, 0xe2, 0xd1, 0x70, 0x9e, 0x29, 0xfc, 0x4d, 0x39, 0xc1, 0x6f, 0xbe, 0x1b, 0x7c,
- 0x0b, 0x8b, 0x75, 0xf3, 0x71, 0x39, 0x27, 0x0c, 0xff, 0x98, 0x27, 0xb2, 0xc2, 0x72, 0xb1, 0x33,
- 0x35, 0x15, 0x9b, 0x6b, 0x60, 0x62, 0x98, 0x2e, 0x4c, 0x13, 0x11, 0x07, 0x21, 0xf8, 0x98, 0x42,
- 0xd2, 0x7a, 0x10, 0x4c, 0x21, 0x22, 0x17, 0x94, 0x78, 0x38, 0xa2, 0xa0, 0xfe, 0x8b, 0x12, 0x54,
- 0xa4, 0xb9, 0xfc, 0x61, 0x44, 0xfd, 0xba, 0x96, 0x99, 0x2e, 0xa1, 0xc4, 0xbc, 0x5e, 0x2f, 0x9d,
- 0x20, 0x55, 0x82, 0x0b, 0x15, 0x3d, 0x8a, 0xe0, 0x3a, 0xca, 0xe2, 0x96, 0x02, 0xc1, 0x0a, 0xb7,
- 0xfb, 0xa8, 0x00, 0xcb, 0x44, 0xd4, 0xdf, 0x2a, 0xc1, 0x54, 0xcb, 0x75, 0xe8, 0x04, 0x3f, 0x00,
- 0xd6, 0xa0, 0xc5, 0x58, 0x43, 0xb1, 0x7d, 0xcb, 0x3b, 0x9b, 0xcb, 0x1c, 0xcc, 0x04, 0x73, 0xa8,
- 0x8e, 0x42, 0x64, 0x30, 0x7b, 0xf8, 0xf7, 0x0a, 0x54, 0x44, 0xcd, 0x07, 0xc0, 0x20, 0x3e, 0x11,
- 0x67, 0x10, 0xcf, 0x8d, 0xf0, 0x5d, 0x39, 0x2c, 0xe2, 0xab, 0x0a, 0xcc, 0x8a, 0x1a, 0xeb, 0xa4,
- 0xbb, 0x4d, 0x5c, 0x74, 0x0d, 0xa6, 0xbc, 0x3e, 0x9b, 0x48, 0xf1, 0x41, 0x8f, 0xc8, 0x4c, 0xc2,
- 0xdd, 0xd6, 0x74, 0x96, 0xf9, 0x87, 0x57, 0x91, 0x22, 0x01, 0xf2, 0x02, 0x1c, 0x34, 0xa6, 0xda,
- 0xa9, 0xeb, 0x58, 0xa9, 0xc8, 0x15, 0xd8, 0xb1, 0x08, 0x66, 0x10, 0xaa, 0x14, 0xd2, 0xbf, 0x81,
- 0x2d, 0x96, 0x29, 0x85, 0x14, 0xec, 0x61, 0x5e, 0xae, 0x7e, 0x6e, 0x3c, 0x1c, 0x6c, 0xc6, 0xc1,
- 0x6e, 0xc0, 0xb4, 0xee, 0x12, 0xcd, 0x27, 0x46, 0xed, 0x70, 0x98, 0xce, 0x31, 0x29, 0xae, 0x1e,
- 0xb4, 0xc0, 0x51, 0x63, 0x2a, 0x30, 0xc9, 0x57, 0x7c, 0xa5, 0x48, 0xb6, 0xcc, 0xbd, 0xde, 0xfb,
- 0x08, 0x4c, 0x38, 0x77, 0xec, 0xd0, 0x7d, 0x66, 0x20, 0x61, 0xf6, 0x29, 0xb7, 0x68, 0x6d, 0xcc,
- 0x1b, 0xb1, 0xe8, 0x3e, 0x22, 0xb8, 0x0b, 0x17, 0x64, 0x2b, 0x59, 0x81, 0x5d, 0x90, 0x05, 0x53,
- 0x5d, 0x36, 0x0d, 0x23, 0x05, 0x86, 0x8b, 0x4d, 0xa8, 0x1c, 0xa0, 0x97, 0x61, 0xc6, 0x01, 0x09,
- 0x2a, 0xf8, 0x52, 0xe1, 0xcc, 0xeb, 0x69, 0x3a, 0x91, 0x05, 0xdf, 0x8d, 0xa0, 0x10, 0x47, 0x70,
- 0x74, 0x08, 0x15, 0x1e, 0xde, 0x80, 0x73, 0xd9, 0xa9, 0xe2, 0x46, 0x5e, 0xd1, 0xbd, 0xcd, 0x08,
- 0x1b, 0x1f, 0x7a, 0xa9, 0x00, 0xcb, 0xb4, 0xd4, 0x9f, 0x1e, 0x0f, 0x17, 0xa9, 0xe0, 0xf8, 0xd9,
- 0xd9, 0x6a, 0x94, 0x42, 0xd9, 0x6a, 0xde, 0x0f, 0x13, 0xbd, 0x5d, 0xcd, 0x0b, 0x56, 0x6a, 0x10,
- 0x4c, 0x7a, 0xa2, 0x45, 0x0b, 0xef, 0x1d, 0x2d, 0xcf, 0x08, 0xd2, 0xec, 0x37, 0xe6, 0x75, 0x51,
- 0x1f, 0xce, 0x7b, 0xbe, 0x66, 0x91, 0xb6, 0x29, 0x0c, 0x61, 0x9e, 0xaf, 0x75, 0x7b, 0x05, 0x62,
- 0x42, 0x73, 0xdf, 0xf2, 0x34, 0x2a, 0x9c, 0x85, 0x1f, 0x7d, 0x56, 0x81, 0x45, 0x56, 0x5e, 0xed,
- 0xfb, 0x0e, 0x8f, 0x9e, 0x1f, 0x11, 0x3f, 0xf9, 0xfd, 0x38, 0x33, 0x5c, 0xb4, 0x73, 0xf0, 0xe1,
- 0x5c, 0x4a, 0xe8, 0x93, 0x70, 0xd1, 0xd2, 0x3c, 0xbf, 0xaa, 0xfb, 0xe6, 0xbe, 0xe9, 0x1f, 0x46,
- 0x5d, 0x38, 0x79, 0xe6, 0x1e, 0xa6, 0x20, 0xaf, 0x65, 0x21, 0xc3, 0xd9, 0x34, 0xd4, 0x3f, 0x55,
- 0x00, 0xa5, 0x97, 0x10, 0xb2, 0xa0, 0x6c, 0x90, 0x1d, 0xad, 0x6f, 0xf9, 0x81, 0x08, 0x50, 0xe8,
- 0x95, 0x7f, 0x84, 0x32, 0xe2, 0xcc, 0x0d, 0x81, 0x17, 0x87, 0x14, 0x90, 0x03, 0xd3, 0x77, 0x76,
- 0x4d, 0x9f, 0x58, 0xa6, 0xe7, 0x0b, 0xee, 0x3c, 0x2a, 0xb9, 0x50, 0xe6, 0x79, 0x39, 0x40, 0x8c,
- 0x23, 0x1a, 0xea, 0x17, 0xc6, 0xa0, 0x7c, 0x82, 0x04, 0x89, 0x7d, 0x40, 0x22, 0xbc, 0x07, 0x15,
- 0x94, 0xc8, 0x28, 0xd6, 0x3f, 0x26, 0xce, 0xd4, 0x53, 0xc8, 0x70, 0x06, 0x01, 0xf4, 0x49, 0xb8,
- 0x60, 0xda, 0x3b, 0xae, 0xe6, 0xf9, 0x6e, 0x9f, 0x5d, 0xa7, 0x8c, 0x12, 0x8b, 0x9a, 0x99, 0x16,
- 0x9a, 0x19, 0xe8, 0x70, 0x26, 0x11, 0x44, 0x60, 0xea, 0x8e, 0xe3, 0xee, 0x51, 0xe6, 0x39, 0x5e,
- 0x3c, 0xcf, 0xc9, 0xcb, 0x0c, 0x45, 0xc4, 0x35, 0xf9, 0x6f, 0x0f, 0x07, 0xb8, 0xd5, 0xdf, 0x53,
- 0x60, 0x82, 0xbf, 0x5f, 0x7c, 0x5b, 0xe8, 0x55, 0xac, 0xab, 0xb9, 0x31, 0x56, 0xa9, 0xba, 0xc3,
- 0x6a, 0xbc, 0x4d, 0xd4, 0x1d, 0xd6, 0xd7, 0x1c, 0x59, 0xe6, 0xf7, 0xc6, 0xc4, 0xb7, 0x30, 0x61,
- 0xa1, 0x09, 0xe7, 0x85, 0xd0, 0xbb, 0x66, 0xee, 0x10, 0xba, 0xba, 0x1a, 0xda, 0xa1, 0x27, 0x02,
- 0x07, 0x30, 0xae, 0x5b, 0x4f, 0x83, 0x71, 0x56, 0x1b, 0xf4, 0xcf, 0x15, 0x7a, 0x2c, 0xfb, 0xae,
- 0xa9, 0x8f, 0x14, 0xb8, 0x34, 0xec, 0xdb, 0xca, 0x3a, 0x47, 0xc6, 0xad, 0x05, 0x5b, 0xd1, 0xf9,
- 0xcc, 0x4a, 0xef, 0x1d, 0x2d, 0x2f, 0x67, 0x58, 0x59, 0x83, 0x5b, 0x01, 0x3a, 0xb0, 0x9f, 0xf9,
- 0xde, 0xc0, 0x2a, 0xec, 0x86, 0x22, 0xe8, 0x31, 0xba, 0x01, 0x13, 0x9e, 0xee, 0xf4, 0xc8, 0x49,
- 0x42, 0x31, 0x87, 0x03, 0xdc, 0xa6, 0x2d, 0x31, 0x47, 0xb0, 0xf4, 0x3a, 0xcc, 0xc8, 0x3d, 0xcf,
- 0xb0, 0x46, 0x34, 0x64, 0x6b, 0xc4, 0x89, 0xef, 0x21, 0x65, 0xeb, 0xc5, 0x6f, 0x97, 0x40, 0x24,
- 0x27, 0x1b, 0xe2, 0x1e, 0xc6, 0x0c, 0xc2, 0x18, 0x8e, 0x90, 0x90, 0x2d, 0x99, 0x8f, 0x39, 0x1a,
- 0x03, 0x39, 0x92, 0x21, 0xb2, 0x61, 0xd2, 0xd2, 0xb6, 0x89, 0x15, 0xa4, 0xaa, 0xba, 0x56, 0x3c,
- 0x97, 0x12, 0x0f, 0x1e, 0xec, 0x25, 0xac, 0xf5, 0xbc, 0x10, 0x0b, 0x2a, 0x4b, 0xcf, 0x40, 0x45,
- 0xaa, 0x76, 0x22, 0x03, 0xd0, 0x97, 0x15, 0xb8, 0x14, 0x2c, 0x89, 0x78, 0xf8, 0x13, 0xf4, 0x04,
- 0x94, 0xb5, 0x9e, 0xc9, 0x6c, 0xa2, 0xb2, 0x55, 0xb9, 0xda, 0x6a, 0xb2, 0x32, 0x1c, 0x42, 0xd1,
- 0xfb, 0xa0, 0x1c, 0xcc, 0x93, 0x10, 0x90, 0xc2, 0x2d, 0x1e, 0xde, 0x53, 0x85, 0x35, 0xd0, 0xbb,
- 0xa5, 0xc0, 0x8c, 0x13, 0xd1, 0x89, 0x16, 0x12, 0xe6, 0x57, 0xda, 0xea, 0x17, 0xc7, 0x60, 0x96,
- 0x1b, 0x12, 0x6a, 0xa6, 0x6d, 0x98, 0x76, 0xe7, 0x01, 0xb0, 0xd2, 0x58, 0x4a, 0xdc, 0xd2, 0x69,
- 0xa5, 0xc4, 0xbd, 0x09, 0x93, 0x6f, 0xd0, 0x6d, 0x1d, 0x2c, 0x87, 0xa1, 0x76, 0x57, 0x38, 0xd7,
- 0x8c, 0x23, 0x78, 0x58, 0xa0, 0x40, 0x9e, 0x94, 0x98, 0x78, 0x84, 0x97, 0xec, 0xb1, 0x91, 0x0d,
- 0xc3, 0xab, 0xce, 0x64, 0x67, 0x25, 0x56, 0xff, 0x93, 0x02, 0x0b, 0xb1, 0x16, 0x0f, 0xe0, 0x24,
- 0xd8, 0x89, 0x9f, 0x04, 0xd5, 0x91, 0xbf, 0x32, 0xe7, 0x44, 0x78, 0x06, 0x2e, 0x66, 0x0e, 0xc6,
- 0xfd, 0x05, 0x28, 0xf5, 0x1b, 0x25, 0x18, 0x6f, 0x13, 0x62, 0x3c, 0x80, 0x95, 0xf9, 0x5a, 0xec,
- 0x90, 0xff, 0x48, 0xe1, 0x84, 0x69, 0x79, 0xe6, 0x91, 0x9d, 0x84, 0x79, 0xe4, 0xa3, 0x85, 0x29,
- 0x0c, 0xb6, 0x8d, 0xfc, 0x42, 0x09, 0x80, 0x56, 0xe3, 0x49, 0x54, 0x85, 0x8f, 0x6a, 0x94, 0x66,
- 0x7b, 0xfa, 0xad, 0x92, 0x1c, 0x5b, 0x0d, 0x93, 0x61, 0x8e, 0x45, 0xc6, 0xf7, 0x78, 0x22, 0xcc,
- 0x38, 0xb7, 0x18, 0x3f, 0x25, 0x6e, 0xa1, 0xfe, 0x13, 0x05, 0x58, 0xca, 0x84, 0xc6, 0x46, 0x1b,
- 0x7d, 0x08, 0x66, 0x4d, 0x7e, 0x6b, 0xdb, 0x90, 0x83, 0x03, 0xb2, 0x0b, 0x98, 0xa6, 0x0c, 0xc0,
- 0xf1, 0x7a, 0xa8, 0x2b, 0x8d, 0xeb, 0x08, 0xa9, 0x8c, 0x45, 0x3f, 0xee, 0xcb, 0x1f, 0xbe, 0x57,
- 0x82, 0x73, 0x89, 0xba, 0x43, 0xe8, 0x1f, 0x67, 0xc3, 0x6d, 0xa5, 0x88, 0xcc, 0x63, 0x67, 0x1f,
- 0x91, 0x39, 0x0c, 0x8e, 0x3c, 0x7e, 0xb6, 0xc1, 0x91, 0x7f, 0x57, 0x01, 0x96, 0x1b, 0xf7, 0x01,
- 0x30, 0xde, 0xbf, 0x1a, 0x67, 0xbc, 0x1f, 0x2e, 0xba, 0x70, 0x72, 0xf8, 0xed, 0xaf, 0x96, 0x80,
- 0xa5, 0x3f, 0x10, 0x4e, 0x2a, 0x92, 0xdf, 0x87, 0x92, 0xe3, 0xf7, 0xf1, 0x98, 0x70, 0x1b, 0x49,
- 0x58, 0x09, 0x25, 0xd7, 0x91, 0xf7, 0x49, 0x9e, 0x21, 0x63, 0x71, 0x36, 0x92, 0xf6, 0x0e, 0x41,
- 0x77, 0x61, 0xd6, 0xdb, 0x75, 0x1c, 0x3f, 0x50, 0xd9, 0xc5, 0xdc, 0x55, 0x0b, 0xbb, 0x94, 0x07,
- 0x9f, 0xc2, 0x37, 0x66, 0x5b, 0xc6, 0x8d, 0xe3, 0xa4, 0xd0, 0x0a, 0xc0, 0xb6, 0xe5, 0xe8, 0x7b,
- 0xf5, 0x66, 0x03, 0x07, 0x2e, 0xc4, 0xcc, 0xb3, 0xac, 0x16, 0x96, 0x62, 0xa9, 0x86, 0xfa, 0xaf,
- 0x15, 0x3e, 0x5a, 0x27, 0xd8, 0x56, 0x0f, 0x90, 0x4b, 0xbe, 0x27, 0xc1, 0x25, 0xf3, 0x52, 0x06,
- 0xff, 0x96, 0xf8, 0x8a, 0x30, 0xc9, 0x45, 0x0f, 0x66, 0x2d, 0x39, 0x2b, 0x86, 0x58, 0xc6, 0x85,
- 0x12, 0x6a, 0x84, 0x81, 0x0d, 0x63, 0xc5, 0x38, 0x4e, 0x80, 0xb2, 0xd2, 0xa0, 0xf3, 0x3c, 0xc3,
- 0x67, 0x29, 0x72, 0xee, 0x6d, 0xc9, 0x00, 0x1c, 0xaf, 0xa7, 0xfe, 0xfd, 0x12, 0x5c, 0xe6, 0x7d,
- 0x67, 0x6e, 0xfc, 0x0d, 0xd2, 0x23, 0xb6, 0x41, 0x6c, 0xfd, 0x90, 0x89, 0xcb, 0x86, 0xd3, 0x41,
- 0x7f, 0x43, 0x81, 0x72, 0x70, 0xf1, 0x24, 0x3e, 0xe4, 0xe3, 0xc5, 0x33, 0x9a, 0xe6, 0x50, 0x09,
- 0xaf, 0xbd, 0x78, 0x8c, 0x3d, 0xf1, 0x0b, 0x87, 0x84, 0xd1, 0x1d, 0x98, 0xe8, 0xb9, 0xce, 0x76,
- 0xa0, 0x56, 0xdd, 0x3e, 0xf5, 0x1e, 0xb4, 0x28, 0x76, 0xbe, 0x3d, 0xd9, 0xbf, 0x98, 0xd3, 0x53,
- 0x31, 0xbc, 0x7b, 0xa8, 0x9e, 0x9f, 0xc0, 0xff, 0x46, 0xbd, 0x05, 0xea, 0xfd, 0xfb, 0x72, 0x12,
- 0x84, 0x2f, 0xc1, 0xe3, 0x12, 0xc2, 0xd5, 0x03, 0x9d, 0x78, 0x5e, 0x5d, 0xeb, 0x69, 0x3a, 0x55,
- 0x29, 0xd9, 0xdb, 0x6a, 0x6e, 0xe8, 0x3d, 0x01, 0xca, 0xff, 0xa7, 0xc0, 0xb2, 0x84, 0x33, 0xe6,
- 0xdb, 0x15, 0xb0, 0x9a, 0xaf, 0x29, 0x50, 0xd1, 0x6c, 0xdb, 0xf1, 0x35, 0xf9, 0xde, 0xd1, 0x18,
- 0x71, 0x6e, 0xb2, 0x48, 0xad, 0x54, 0x23, 0x32, 0x09, 0x0f, 0x03, 0x09, 0x82, 0xe5, 0xde, 0x2c,
- 0x7d, 0x14, 0xe6, 0x93, 0xad, 0x4e, 0xa4, 0x3c, 0xd6, 0xe1, 0x92, 0xd4, 0x2b, 0x76, 0x97, 0x51,
- 0xdf, 0x25, 0xfa, 0x9e, 0x77, 0x92, 0x61, 0xac, 0x51, 0xf9, 0x3b, 0x44, 0x22, 0x9e, 0xba, 0x52,
- 0x75, 0xef, 0x49, 0x98, 0xda, 0x37, 0x3d, 0x33, 0x08, 0x99, 0x20, 0xe1, 0xb8, 0xcd, 0x8b, 0x71,
- 0x00, 0x57, 0x5f, 0x84, 0xf3, 0x32, 0x0e, 0xc6, 0x71, 0x4f, 0xe4, 0xf0, 0xa5, 0xae, 0xc3, 0x63,
- 0x12, 0x86, 0xcc, 0xf7, 0x9e, 0x27, 0x41, 0xf7, 0xb5, 0x72, 0xc0, 0xf0, 0xc4, 0xdb, 0x9f, 0xdf,
- 0x54, 0xe0, 0x61, 0x92, 0xb7, 0xea, 0x04, 0xd3, 0x78, 0x65, 0xc4, 0x65, 0x91, 0xbb, 0xaa, 0x45,
- 0x78, 0xb1, 0x3c, 0x30, 0xce, 0xef, 0x19, 0x3a, 0x04, 0xf0, 0xc2, 0x29, 0x19, 0xc5, 0xa9, 0x3a,
- 0x73, 0x8e, 0x45, 0x2c, 0xed, 0xf0, 0x37, 0x96, 0x88, 0xa1, 0x37, 0xa0, 0xec, 0x89, 0x99, 0x1c,
- 0xe5, 0x39, 0x7a, 0xc6, 0xc2, 0x10, 0x7e, 0xa3, 0xe2, 0x17, 0x0e, 0xc9, 0xa0, 0x5f, 0x54, 0xe0,
- 0x82, 0x95, 0xb1, 0xb9, 0x84, 0x84, 0xd0, 0x3e, 0x83, 0x7d, 0xcb, 0x2d, 0xd8, 0x59, 0x10, 0x9c,
- 0xd9, 0x15, 0xf4, 0xcb, 0xb9, 0x6f, 0x9f, 0x27, 0x8a, 0x27, 0x08, 0xba, 0xdf, 0xda, 0x2f, 0xf0,
- 0x0c, 0xfa, 0x27, 0xa1, 0xe2, 0x44, 0x1c, 0x41, 0x3c, 0x56, 0xff, 0xd8, 0x88, 0x9d, 0x93, 0x78,
- 0x0c, 0xbf, 0x0f, 0x94, 0x0a, 0xb0, 0x4c, 0x0f, 0x7d, 0x45, 0x01, 0x64, 0xa4, 0xce, 0x0d, 0x71,
- 0x25, 0xf9, 0xd2, 0xa9, 0x1f, 0x8e, 0xfc, 0x06, 0x24, 0x5d, 0x8e, 0x33, 0x3a, 0xa1, 0x7e, 0x79,
- 0x8a, 0x0b, 0xf3, 0xcc, 0x06, 0xbd, 0x0d, 0x93, 0xdb, 0x4c, 0x19, 0x16, 0x5c, 0xa0, 0xb0, 0xe6,
- 0xcd, 0x55, 0x6a, 0xae, 0xa9, 0xf2, 0xff, 0xb1, 0xc0, 0x8c, 0x5e, 0x85, 0x31, 0xc3, 0x0e, 0x92,
- 0xce, 0x3d, 0x37, 0x82, 0x26, 0x18, 0xb9, 0xe4, 0xd3, 0x8d, 0x43, 0x91, 0x22, 0x1b, 0xca, 0xb6,
- 0x90, 0x7f, 0xc5, 0x36, 0x2d, 0x9c, 0xce, 0x3d, 0x94, 0xa3, 0x43, 0xe9, 0x3d, 0x28, 0xc1, 0x21,
- 0x0d, 0x4a, 0x2f, 0x61, 0x00, 0x2b, 0x4c, 0x2f, 0xd4, 0x6b, 0x07, 0x19, 0x1d, 0x5a, 0xb2, 0x96,
- 0x3a, 0x31, 0xbc, 0x96, 0x3a, 0x9b, 0xab, 0xa1, 0x12, 0x98, 0xf4, 0x79, 0x0a, 0xe7, 0xc9, 0xe2,
- 0x6e, 0x48, 0xb4, 0xff, 0x2c, 0xc5, 0x73, 0x24, 0x74, 0x8b, 0xfc, 0xcf, 0x02, 0x39, 0x5d, 0x58,
- 0x3c, 0xd3, 0xbc, 0x58, 0xf4, 0x85, 0x17, 0x16, 0x4f, 0x99, 0xc3, 0x17, 0x16, 0xff, 0x1f, 0x0b,
- 0xcc, 0xe8, 0x75, 0xaa, 0x78, 0xf1, 0x23, 0x4e, 0x04, 0x4a, 0x7c, 0x71, 0xc4, 0xad, 0xe5, 0x05,
- 0x4e, 0xfd, 0xfc, 0x17, 0x0e, 0xf1, 0xa3, 0x6d, 0x98, 0x12, 0x46, 0x0e, 0x11, 0xe5, 0xe1, 0xb9,
- 0x11, 0xf2, 0x1e, 0x04, 0x59, 0xa0, 0xf8, 0x33, 0xe8, 0x00, 0xb1, 0xfa, 0x1f, 0xa6, 0xb9, 0x79,
- 0x4a, 0xb8, 0x10, 0xec, 0x40, 0x39, 0x40, 0x37, 0xca, 0x03, 0x93, 0x20, 0x8b, 0x0b, 0xff, 0xb4,
- 0xe0, 0x17, 0x0e, 0x71, 0xa3, 0x7a, 0xd6, 0x5b, 0x9e, 0x28, 0xe6, 0xed, 0x70, 0xef, 0x78, 0xe2,
- 0x1e, 0x6e, 0x63, 0x0f, 0xc2, 0xc3, 0x2d, 0xdb, 0xc5, 0x62, 0xbc, 0x90, 0x8b, 0xc5, 0xf3, 0x70,
- 0x2e, 0x70, 0x40, 0x33, 0x08, 0xbb, 0xea, 0x11, 0xae, 0xd9, 0xec, 0x7d, 0x6e, 0x3d, 0x0e, 0xc2,
- 0xc9, 0xba, 0xe8, 0xb7, 0x15, 0x28, 0xeb, 0x42, 0x80, 0x11, 0xfb, 0x6a, 0x6d, 0x34, 0x1b, 0xe6,
- 0x4a, 0x20, 0x0f, 0x71, 0x71, 0xfa, 0x76, 0xc0, 0x23, 0x82, 0xe2, 0x53, 0xba, 0x83, 0x0b, 0x7b,
- 0x8d, 0xfe, 0x1d, 0x55, 0x16, 0x2c, 0x96, 0x5b, 0x86, 0xbd, 0x5a, 0xe4, 0x3e, 0xe3, 0xb7, 0x46,
- 0xfc, 0x8a, 0x6a, 0x84, 0x91, 0x7f, 0xc8, 0xc7, 0x43, 0xbd, 0x20, 0x82, 0x9c, 0xd2, 0xb7, 0xc8,
- 0xdd, 0x47, 0xff, 0x50, 0x81, 0xc7, 0xb9, 0xa3, 0x7e, 0x9d, 0x0a, 0x08, 0x2c, 0x37, 0x13, 0x89,
- 0x92, 0x41, 0x45, 0x0e, 0x21, 0xe5, 0x13, 0x3b, 0x84, 0x3c, 0x71, 0x7c, 0xb4, 0xfc, 0x78, 0x7d,
- 0x08, 0xdc, 0x78, 0xa8, 0x1e, 0x2c, 0xed, 0xc1, 0x6c, 0x6c, 0xb2, 0xcf, 0xf2, 0xd6, 0x72, 0xc9,
- 0x86, 0xf9, 0xe4, 0x9c, 0x9c, 0xe9, 0x2d, 0xe9, 0x4d, 0x98, 0x0e, 0x0f, 0x0b, 0x74, 0x59, 0x22,
- 0x14, 0x1d, 0xe6, 0x37, 0xc9, 0x21, 0xa7, 0xba, 0x1c, 0xd3, 0xf5, 0xb8, 0xb2, 0x7f, 0x9b, 0x16,
- 0x08, 0x84, 0xea, 0x77, 0x84, 0x25, 0x67, 0x93, 0x74, 0x7b, 0x96, 0xe6, 0x93, 0xb7, 0xff, 0xd5,
- 0x87, 0xfa, 0x3f, 0x15, 0xce, 0xf3, 0x45, 0xde, 0x39, 0x0d, 0x2a, 0x5d, 0x1e, 0x23, 0x92, 0x3d,
- 0x96, 0x55, 0x8a, 0x3f, 0xd3, 0x5d, 0x8f, 0xd0, 0x60, 0x19, 0x27, 0xba, 0x93, 0xce, 0x8c, 0x78,
- 0x6d, 0xb4, 0xc3, 0x79, 0xe8, 0x04, 0x89, 0x28, 0xdd, 0x46, 0x4e, 0x2a, 0xa7, 0x0c, 0x4e, 0x2a,
- 0x77, 0xff, 0x54, 0x63, 0xea, 0x37, 0xc7, 0x20, 0x33, 0xad, 0x07, 0x52, 0x61, 0x92, 0xbf, 0x90,
- 0x91, 0x53, 0x46, 0xf2, 0xe7, 0x33, 0x58, 0x40, 0x90, 0x0b, 0x17, 0xc4, 0xfb, 0x93, 0x9b, 0xe4,
- 0x30, 0x4a, 0x56, 0x28, 0xa6, 0x7e, 0x78, 0x4f, 0x74, 0x16, 0x3b, 0xae, 0x9d, 0xc0, 0x84, 0x33,
- 0x71, 0xa3, 0x5b, 0xfc, 0xa5, 0x9b, 0x6d, 0xb0, 0x20, 0x4b, 0x11, 0x77, 0x90, 0x1f, 0x67, 0xad,
- 0x66, 0x55, 0xc0, 0xd9, 0xed, 0xd0, 0x3e, 0xa0, 0xae, 0x76, 0x90, 0xc4, 0x36, 0x42, 0x46, 0x81,
- 0xf5, 0x14, 0x36, 0x9c, 0x41, 0x81, 0x1e, 0xa0, 0x9a, 0xae, 0x93, 0x9e, 0x4f, 0x0c, 0x3e, 0xac,
- 0x81, 0x7d, 0x99, 0x1d, 0xa0, 0xd5, 0x38, 0x08, 0x27, 0xeb, 0xb2, 0xa7, 0x20, 0x4c, 0x25, 0x7e,
- 0x7b, 0xb8, 0x2c, 0xb1, 0xae, 0x9e, 0xed, 0x53, 0x10, 0x4e, 0x62, 0xf0, 0x7d, 0xe6, 0xc7, 0xe1,
- 0x12, 0xab, 0x56, 0x35, 0x98, 0x16, 0xec, 0x11, 0xa3, 0x6a, 0x18, 0xec, 0xc9, 0xe9, 0xa8, 0xb9,
- 0x1e, 0xd5, 0x7f, 0x55, 0x82, 0x73, 0x0c, 0x77, 0xbd, 0x8a, 0x85, 0x8d, 0x8e, 0x9e, 0x0a, 0xdc,
- 0x0f, 0x95, 0x63, 0x5d, 0x49, 0xfa, 0xa1, 0x5e, 0xe6, 0x0d, 0x5c, 0xc2, 0xc4, 0x22, 0xcd, 0xf2,
- 0x82, 0x96, 0x31, 0xc7, 0x54, 0x17, 0x90, 0xa5, 0x79, 0x3e, 0xcf, 0x9c, 0x16, 0x9c, 0x84, 0x05,
- 0xfc, 0x52, 0xd9, 0xea, 0x5c, 0x4b, 0x61, 0xc2, 0x19, 0xd8, 0x03, 0x9a, 0x75, 0xa7, 0xdb, 0xb3,
- 0x48, 0x48, 0xb3, 0x54, 0x9c, 0x66, 0x1c, 0x13, 0xce, 0xc0, 0xae, 0x7e, 0x49, 0x81, 0xf9, 0xe4,
- 0x80, 0xa0, 0x7d, 0x28, 0xbb, 0x62, 0x50, 0xc4, 0xea, 0x5e, 0x2b, 0xbc, 0x38, 0x32, 0x06, 0x5a,
- 0xa4, 0xf1, 0x11, 0xbf, 0x70, 0x48, 0x4b, 0xfd, 0xe3, 0x49, 0x58, 0xcc, 0x6b, 0x84, 0xbe, 0xac,
- 0xc0, 0x25, 0x3d, 0x92, 0x51, 0xaa, 0x7d, 0x7f, 0xd7, 0x71, 0x4d, 0xdf, 0x24, 0x41, 0x5a, 0xd9,
- 0x7a, 0xf1, 0x3e, 0x86, 0xab, 0x87, 0x87, 0xcd, 0xa9, 0x67, 0x92, 0xc1, 0x39, 0xe4, 0xd1, 0x27,
- 0x01, 0xf6, 0xa2, 0xe0, 0x75, 0x7c, 0xbe, 0x6e, 0x16, 0xee, 0x8c, 0x14, 0xe0, 0x2e, 0xe8, 0x14,
- 0x33, 0x01, 0x4a, 0xe5, 0x12, 0x39, 0x4a, 0xdc, 0xf3, 0x76, 0x6f, 0x92, 0xc3, 0x9e, 0x66, 0x06,
- 0x4e, 0xf5, 0xc5, 0x89, 0xb7, 0xdb, 0x37, 0x04, 0xaa, 0x38, 0x71, 0xa9, 0x5c, 0x22, 0x87, 0xbe,
- 0xa0, 0xc0, 0x2c, 0xd7, 0x53, 0x84, 0xc7, 0x97, 0xe0, 0xe1, 0x1b, 0x85, 0x3b, 0x70, 0x4b, 0xc6,
- 0x16, 0xf6, 0x81, 0x5d, 0x41, 0xc5, 0x41, 0x71, 0xba, 0x74, 0x75, 0x2c, 0xc4, 0x93, 0x62, 0xdd,
- 0x24, 0x87, 0xc2, 0x16, 0x81, 0x8b, 0x0f, 0x47, 0x12, 0x63, 0xd8, 0x23, 0xa6, 0x73, 0xa6, 0xc1,
- 0xe9, 0x3e, 0xb0, 0x9e, 0x11, 0x5f, 0x37, 0x44, 0xb2, 0x5c, 0xd3, 0xb1, 0x69, 0xcf, 0x26, 0x47,
- 0xec, 0xd9, 0xea, 0x66, 0xbd, 0x11, 0xc3, 0x18, 0xef, 0x59, 0x1a, 0x9c, 0xee, 0x83, 0xfa, 0xfb,
- 0x25, 0xb8, 0x32, 0x18, 0xd9, 0x5f, 0x32, 0xd3, 0x13, 0x31, 0xd3, 0x4f, 0x97, 0xe0, 0xa1, 0x9c,
- 0x3d, 0x9c, 0x33, 0x06, 0xca, 0x9f, 0xbb, 0x31, 0xf8, 0xb6, 0x02, 0xd3, 0x6c, 0x0c, 0xde, 0x26,
- 0x9e, 0xd0, 0xac, 0xaf, 0x39, 0x7e, 0x18, 0xbf, 0xab, 0xc0, 0x42, 0x2a, 0x20, 0xde, 0x50, 0x7e,
- 0xb4, 0x0f, 0xcc, 0xbd, 0xe0, 0xdd, 0xc9, 0xb4, 0xc5, 0x95, 0xcc, 0x38, 0x99, 0x2f, 0xc3, 0x6c,
- 0xcc, 0x0d, 0x23, 0x8c, 0x33, 0xa2, 0x64, 0xc6, 0x19, 0x91, 0xc3, 0x88, 0x94, 0x06, 0x86, 0x11,
- 0xf9, 0x6c, 0x09, 0x96, 0xf2, 0x19, 0xf7, 0x5f, 0x98, 0x55, 0x1f, 0xee, 0xfc, 0xf4, 0x01, 0xfa,
- 0x17, 0x66, 0x0c, 0xc2, 0xe3, 0x24, 0xf7, 0xd4, 0xfc, 0xcb, 0xe3, 0xe4, 0x44, 0x03, 0xfa, 0x8d,
- 0x39, 0xc1, 0x4a, 0xd9, 0x25, 0xd8, 0x6b, 0x30, 0xc9, 0x02, 0xe9, 0x04, 0xe2, 0xee, 0xb3, 0x85,
- 0x03, 0xf4, 0x78, 0xdc, 0xb0, 0xc0, 0xff, 0xc7, 0x02, 0x2b, 0x6a, 0xc0, 0xbc, 0x6e, 0x39, 0x7d,
- 0xa3, 0xe5, 0x3a, 0x3b, 0xa6, 0x45, 0x36, 0x22, 0x1b, 0x46, 0x18, 0x78, 0xb0, 0x9e, 0x80, 0xe3,
- 0x54, 0x0b, 0x84, 0xf9, 0x35, 0x1a, 0x9f, 0x8c, 0x0f, 0x15, 0x74, 0xf5, 0xe3, 0x31, 0xe7, 0xc3,
- 0xeb, 0xb3, 0x37, 0x00, 0x48, 0xc0, 0x14, 0x83, 0x37, 0x49, 0xcf, 0x17, 0x0b, 0xa9, 0x18, 0xb2,
- 0xd6, 0x40, 0xf7, 0x0e, 0x8b, 0x3c, 0x2c, 0x11, 0x41, 0x2e, 0x54, 0x76, 0xa3, 0x8c, 0xe9, 0x42,
- 0x8e, 0x7c, 0x61, 0xc4, 0x6c, 0xed, 0xdc, 0xe4, 0x25, 0x15, 0x60, 0x99, 0x08, 0x72, 0xb9, 0x1a,
- 0xc1, 0x6f, 0x2c, 0x46, 0xc9, 0xb0, 0x1b, 0x5d, 0x85, 0x44, 0xdf, 0x19, 0x95, 0x61, 0x89, 0x0a,
- 0xa5, 0x69, 0x87, 0x91, 0xb0, 0x46, 0xb9, 0x04, 0x8b, 0xe2, 0x69, 0x45, 0x34, 0xa3, 0x32, 0x2c,
- 0x51, 0xa1, 0x63, 0xdb, 0x8d, 0xa2, 0x9f, 0x09, 0xd3, 0xf6, 0x0b, 0x23, 0x46, 0xa1, 0x13, 0xe6,
- 0xc4, 0xa8, 0x00, 0xcb, 0x44, 0x90, 0x0d, 0xd0, 0x0d, 0x83, 0xa2, 0x89, 0xbb, 0xb1, 0x42, 0xdf,
- 0x19, 0x85, 0x56, 0xe3, 0x8a, 0x51, 0xf4, 0x1b, 0x4b, 0x14, 0xd0, 0xeb, 0xd2, 0x0d, 0x2c, 0x14,
- 0x37, 0xca, 0x0e, 0x75, 0xfb, 0xfa, 0xc1, 0xc8, 0x36, 0x59, 0x61, 0xfb, 0xf5, 0x11, 0xc9, 0x2e,
- 0x79, 0xef, 0x68, 0x79, 0x86, 0xf1, 0x90, 0x94, 0x9d, 0x32, 0x72, 0x4c, 0x9c, 0x19, 0xe4, 0x98,
- 0x88, 0xae, 0x53, 0xc5, 0x4a, 0x72, 0xfe, 0x67, 0x8c, 0x61, 0x96, 0x35, 0x09, 0x83, 0xe8, 0xb5,
- 0x93, 0x15, 0x70, 0xba, 0x0d, 0x17, 0x2a, 0x88, 0xc1, 0xda, 0xcf, 0xc9, 0x42, 0x05, 0x2f, 0xc3,
- 0x21, 0x14, 0xed, 0xc3, 0x8c, 0x27, 0xb9, 0x42, 0x8a, 0x6c, 0x5c, 0x23, 0x5c, 0x9b, 0x0a, 0x37,
- 0x48, 0x16, 0xc1, 0x48, 0x2e, 0xc1, 0x31, 0x3a, 0xe8, 0x93, 0x30, 0x1d, 0xd8, 0xa9, 0xbd, 0xc5,
- 0xf9, 0xe2, 0x2f, 0xd4, 0xb2, 0x03, 0xe1, 0x45, 0x86, 0xe7, 0x00, 0xe4, 0xe1, 0x88, 0x1e, 0xea,
- 0xc7, 0x1f, 0x86, 0x2f, 0x9c, 0xca, 0x63, 0xd8, 0xd0, 0xc1, 0x2d, 0xef, 0x51, 0x38, 0xaa, 0xc3,
- 0x02, 0x39, 0xe8, 0x39, 0x5e, 0xdf, 0x25, 0x2c, 0x06, 0x27, 0x9b, 0x1e, 0x14, 0xdd, 0xab, 0xae,
- 0x26, 0x81, 0x38, 0x5d, 0x1f, 0x7d, 0x5e, 0x81, 0x79, 0x9e, 0xcc, 0x8c, 0x1e, 0x61, 0x8e, 0x4d,
- 0x6c, 0xdf, 0x5b, 0x3c, 0x5f, 0x3c, 0xf6, 0x6d, 0x3b, 0x81, 0x4b, 0x58, 0xab, 0x13, 0xa5, 0x38,
- 0x45, 0x53, 0xfd, 0x37, 0x33, 0x50, 0x91, 0x6c, 0x92, 0x3f, 0x8c, 0x90, 0x26, 0x3e, 0x54, 0x74,
- 0xc7, 0xf6, 0x7c, 0x57, 0x93, 0xc2, 0xb8, 0x8c, 0x48, 0x33, 0x9c, 0xc6, 0x7a, 0x84, 0x19, 0xcb,
- 0x64, 0x28, 0xc3, 0x09, 0xaf, 0xe1, 0xc7, 0x4e, 0xe1, 0x1a, 0x3e, 0x64, 0x38, 0x19, 0x57, 0xf1,
- 0x1f, 0x00, 0x08, 0xce, 0x2d, 0xc2, 0xb3, 0xca, 0x94, 0xa3, 0x54, 0x07, 0x4d, 0xef, 0x46, 0x08,
- 0xc3, 0x52, 0x3d, 0x74, 0x17, 0x66, 0x2d, 0x39, 0xcc, 0xb9, 0x38, 0x54, 0x0b, 0xb9, 0x94, 0xc7,
- 0xe2, 0xa5, 0x73, 0xeb, 0x50, 0xac, 0x08, 0xc7, 0x49, 0xd1, 0x65, 0x60, 0x05, 0xa1, 0xf9, 0x47,
- 0x72, 0x29, 0x09, 0x03, 0xfc, 0x47, 0xcb, 0x20, 0x2c, 0xf2, 0xb0, 0x44, 0x24, 0xe7, 0xde, 0x7f,
- 0xaa, 0xd0, 0xbd, 0x7f, 0x1f, 0xce, 0xbb, 0xc4, 0x77, 0x0f, 0xeb, 0x87, 0x3a, 0x4b, 0x77, 0xe1,
- 0xfa, 0x4c, 0xfa, 0x2c, 0x17, 0x8b, 0x92, 0x80, 0xd3, 0xa8, 0x70, 0x16, 0xfe, 0x18, 0xc3, 0x9e,
- 0x1e, 0xc8, 0xb0, 0x3f, 0x08, 0x15, 0x9f, 0xe8, 0xbb, 0xb6, 0xa9, 0x6b, 0x56, 0xb3, 0x21, 0x22,
- 0x99, 0x45, 0xbc, 0x27, 0x02, 0x61, 0xb9, 0x1e, 0xaa, 0xc1, 0x58, 0xdf, 0x34, 0xc4, 0xa9, 0xf5,
- 0xa3, 0xa1, 0x75, 0xbf, 0xd9, 0xb8, 0x77, 0xb4, 0xfc, 0xce, 0xe8, 0x22, 0x3d, 0xfc, 0xaa, 0xab,
- 0xbd, 0xbd, 0xce, 0x55, 0xff, 0xb0, 0x47, 0xbc, 0x95, 0xad, 0x66, 0x03, 0xd3, 0xc6, 0x59, 0x3e,
- 0x11, 0x33, 0x27, 0xf0, 0x89, 0xf8, 0x8a, 0x02, 0xe7, 0xb5, 0xe4, 0xc5, 0x04, 0xf1, 0x16, 0x67,
- 0x8b, 0x73, 0xff, 0xec, 0xcb, 0x8e, 0x28, 0x4c, 0x6c, 0x35, 0x4d, 0x0e, 0x67, 0xf5, 0x81, 0xea,
- 0x1c, 0x5d, 0xb3, 0x13, 0x66, 0x13, 0x10, 0xb3, 0x3e, 0x57, 0x4c, 0xe7, 0x58, 0x4f, 0x61, 0xc2,
- 0x19, 0xd8, 0xd1, 0x1d, 0xa8, 0xe8, 0x91, 0xfa, 0x25, 0x4e, 0xde, 0xc6, 0x69, 0x58, 0xff, 0x45,
- 0x34, 0x25, 0x49, 0xb7, 0x93, 0x29, 0xa1, 0x2f, 0x29, 0xb0, 0x44, 0xb7, 0x8f, 0x24, 0x1e, 0x6f,
- 0xba, 0x66, 0xa7, 0x43, 0x5c, 0xf6, 0xd5, 0xf3, 0x27, 0xfe, 0x6a, 0x96, 0xc6, 0x72, 0x2d, 0x17,
- 0x23, 0x1e, 0x40, 0x4d, 0xfd, 0x03, 0x45, 0xd8, 0x4b, 0x1e, 0xe0, 0x1d, 0xfe, 0x59, 0x5f, 0xf8,
- 0xa9, 0x7f, 0xa2, 0x40, 0xea, 0x08, 0x45, 0xdb, 0x30, 0x45, 0x51, 0x34, 0x36, 0xda, 0xe2, 0xb3,
- 0x9e, 0x2b, 0x76, 0x52, 0x31, 0x14, 0xdc, 0xf8, 0x24, 0x7e, 0xe0, 0x00, 0x31, 0x15, 0xe7, 0x6c,
- 0x29, 0xc8, 0xa8, 0xf8, 0xc2, 0x42, 0xe2, 0x9c, 0x1c, 0xac, 0x94, 0x8b, 0x73, 0x72, 0x09, 0x8e,
- 0xd1, 0x51, 0xd7, 0x00, 0x22, 0xb1, 0x67, 0x64, 0xb7, 0x8e, 0x1f, 0x4c, 0xc0, 0xc5, 0x51, 0x9d,
- 0xde, 0x59, 0x9a, 0x07, 0x96, 0x22, 0xb8, 0xba, 0xe3, 0x13, 0xf7, 0xd6, 0xad, 0xf5, 0x30, 0x83,
- 0x6a, 0xc1, 0x3c, 0x13, 0x51, 0x86, 0xe9, 0x14, 0x46, 0x9c, 0x43, 0x89, 0x89, 0x7c, 0x22, 0x17,
- 0x23, 0xd6, 0x7c, 0x52, 0xeb, 0xbb, 0x9e, 0x2f, 0x9e, 0x9a, 0x73, 0x91, 0x2f, 0x09, 0xc4, 0xe9,
- 0xfa, 0x49, 0x24, 0x3c, 0x5d, 0x31, 0x95, 0x05, 0x94, 0x34, 0x12, 0x9e, 0xb3, 0x38, 0x5d, 0x5f,
- 0x46, 0xc2, 0x67, 0x8a, 0x2a, 0x84, 0x13, 0x69, 0x24, 0x21, 0x10, 0xa7, 0xeb, 0x23, 0x03, 0x1e,
- 0x75, 0x89, 0xee, 0x74, 0xbb, 0xc4, 0x36, 0x78, 0x5a, 0x21, 0xcd, 0xed, 0x98, 0xf6, 0x35, 0x57,
- 0x63, 0x15, 0x99, 0x26, 0xad, 0xd4, 0x1e, 0x3b, 0x3e, 0x5a, 0x7e, 0x14, 0x0f, 0xa8, 0x87, 0x07,
- 0x62, 0x41, 0x5d, 0x38, 0xd7, 0x67, 0x51, 0xc5, 0xdd, 0xa6, 0xed, 0x13, 0x77, 0x5f, 0xb3, 0x0a,
- 0x26, 0xe1, 0x66, 0xe7, 0xd2, 0x56, 0x1c, 0x15, 0x4e, 0xe2, 0x46, 0x87, 0xf4, 0xc8, 0x17, 0xdd,
- 0x91, 0x48, 0x96, 0x8b, 0x27, 0x42, 0xc1, 0x69, 0x74, 0x38, 0x8b, 0x86, 0xfa, 0x15, 0x05, 0x84,
- 0x0f, 0x2b, 0x7a, 0x34, 0x66, 0xea, 0x2e, 0x27, 0xcc, 0xdc, 0x8f, 0x8a, 0x77, 0x76, 0xa5, 0x08,
- 0x2a, 0xbd, 0xb1, 0x7b, 0x8f, 0x14, 0xc3, 0x60, 0x3a, 0xe2, 0x7d, 0x1c, 0xb3, 0x14, 0x97, 0xff,
- 0xbd, 0x30, 0x4d, 0xf8, 0xdd, 0x53, 0x28, 0x4c, 0xce, 0xf2, 0x90, 0x85, 0xa2, 0x10, 0x47, 0x70,
- 0xf5, 0xf7, 0x15, 0x10, 0x18, 0x58, 0x16, 0x89, 0xa1, 0xb2, 0x09, 0xdc, 0xd7, 0x21, 0x47, 0xca,
- 0x82, 0x30, 0x96, 0x9b, 0x05, 0xe1, 0x8c, 0x92, 0x03, 0xfc, 0xa6, 0x02, 0xe7, 0xe2, 0x41, 0x25,
- 0x3c, 0xf4, 0x6e, 0x98, 0x12, 0x01, 0x92, 0x44, 0x98, 0x15, 0xfe, 0xae, 0x96, 0x17, 0xe1, 0x00,
- 0x16, 0xd7, 0x56, 0x47, 0x88, 0xa7, 0x92, 0x1d, 0xdb, 0x62, 0xb0, 0xb6, 0xaa, 0x7e, 0x77, 0x0e,
- 0x26, 0x79, 0x48, 0x1f, 0xca, 0xd3, 0x32, 0x1e, 0x70, 0xdd, 0x2c, 0x1e, 0x34, 0xa8, 0xc0, 0x3b,
- 0xad, 0x58, 0x7c, 0xe7, 0xd2, 0xc0, 0xf8, 0xce, 0x98, 0xa7, 0x46, 0x19, 0xc1, 0x42, 0x59, 0xc7,
- 0x4d, 0x91, 0x26, 0x34, 0x48, 0x8b, 0xe2, 0xc7, 0x4c, 0x77, 0xe3, 0xc5, 0x85, 0x26, 0x3e, 0x00,
- 0x92, 0x01, 0x6f, 0x6e, 0x80, 0xf1, 0x2e, 0x8a, 0xa1, 0x32, 0x51, 0xdc, 0x41, 0x4e, 0x0c, 0xf9,
- 0x10, 0x31, 0x54, 0xc2, 0x8d, 0x34, 0x99, 0xbb, 0x91, 0x76, 0x60, 0x4a, 0x6c, 0x05, 0xc1, 0x1c,
- 0x9f, 0x1b, 0x21, 0x7b, 0x89, 0x14, 0x71, 0x8f, 0x17, 0xe0, 0x00, 0x39, 0x3d, 0x71, 0xbb, 0xda,
- 0x81, 0xd9, 0xed, 0x77, 0x19, 0x47, 0x9c, 0x90, 0xab, 0xb2, 0x62, 0x1c, 0xc0, 0x59, 0x55, 0xee,
- 0x57, 0xc8, 0x74, 0x18, 0xb9, 0xaa, 0x48, 0x73, 0x1d, 0xc0, 0xd1, 0xab, 0x50, 0xee, 0x6a, 0x07,
- 0xed, 0xbe, 0xdb, 0x21, 0xc2, 0x68, 0x97, 0x2f, 0xe3, 0xf5, 0x7d, 0xd3, 0x5a, 0xa1, 0x9a, 0xb7,
- 0xef, 0xae, 0x34, 0x6d, 0xff, 0x96, 0xdb, 0xf6, 0xdd, 0x30, 0x3f, 0xc2, 0xba, 0xc0, 0x82, 0x43,
- 0x7c, 0xc8, 0x82, 0xb9, 0xae, 0x76, 0xb0, 0x65, 0x6b, 0x61, 0x36, 0xde, 0x4a, 0x41, 0x0a, 0xec,
- 0x56, 0x70, 0x3d, 0x86, 0x0b, 0x27, 0x70, 0x67, 0x5c, 0x40, 0xce, 0x9c, 0xd5, 0x05, 0x64, 0x35,
- 0x7c, 0xa9, 0xc1, 0x55, 0xa6, 0x87, 0xb3, 0x3c, 0x10, 0x07, 0xbf, 0xc2, 0x78, 0x2d, 0x7c, 0x85,
- 0x31, 0x57, 0xfc, 0x66, 0x63, 0xc0, 0x0b, 0x8c, 0x3e, 0x54, 0xa8, 0x84, 0xcd, 0x4b, 0xa9, 0x4e,
- 0x53, 0xd8, 0xb2, 0xd6, 0x08, 0xd1, 0x48, 0x89, 0xec, 0x22, 0xd4, 0x58, 0xa6, 0x83, 0x6e, 0xf1,
- 0x6c, 0xad, 0x16, 0xf1, 0xa3, 0x2a, 0x4c, 0x97, 0x9e, 0xe7, 0xc6, 0xd3, 0x20, 0xb9, 0x6a, 0xaa,
- 0x02, 0xce, 0x6e, 0x47, 0x45, 0x54, 0x1e, 0x48, 0x61, 0x21, 0x0a, 0xf4, 0x19, 0x0b, 0xaa, 0xf4,
- 0xb7, 0xb2, 0xcc, 0x70, 0xa8, 0xf8, 0xab, 0x32, 0xce, 0x1b, 0x8a, 0x1a, 0xe3, 0xd0, 0x37, 0x15,
- 0x58, 0xec, 0xe6, 0x64, 0x7c, 0x13, 0xd6, 0xc1, 0xcd, 0x11, 0xf8, 0x43, 0x6e, 0x16, 0xb9, 0xda,
- 0xe3, 0xc7, 0x47, 0xcb, 0xf7, 0xcd, 0x35, 0x87, 0x73, 0xfb, 0x36, 0xea, 0xa3, 0xdf, 0x51, 0x82,
- 0x4d, 0xfd, 0x92, 0x02, 0xf3, 0xc9, 0x43, 0x40, 0x4e, 0x30, 0xab, 0x9c, 0x6d, 0x82, 0x59, 0xc9,
- 0x9d, 0xa0, 0x34, 0xc0, 0x9d, 0xe0, 0x79, 0xb8, 0x94, 0xbd, 0x36, 0xa8, 0x44, 0xc6, 0x12, 0x3a,
- 0x0b, 0x4d, 0x28, 0x4a, 0x05, 0x42, 0x0b, 0x31, 0x87, 0xd5, 0x5e, 0xf9, 0xd6, 0xf7, 0xaf, 0xbc,
- 0xe3, 0x3b, 0xdf, 0xbf, 0xf2, 0x8e, 0x37, 0xbf, 0x7f, 0xe5, 0x1d, 0x3f, 0x75, 0x7c, 0x45, 0xf9,
- 0xd6, 0xf1, 0x15, 0xe5, 0x3b, 0xc7, 0x57, 0x94, 0x37, 0x8f, 0xaf, 0x28, 0xff, 0xf5, 0xf8, 0x8a,
- 0xf2, 0x33, 0xff, 0xed, 0xca, 0x3b, 0x5e, 0x7d, 0x3a, 0xfa, 0xc6, 0xab, 0xc1, 0xa7, 0x45, 0xff,
- 0xf4, 0xf6, 0x3a, 0x57, 0xe9, 0x37, 0x06, 0xaf, 0x2c, 0xd8, 0x37, 0xfe, 0xff, 0x00, 0x00, 0x00,
- 0xff, 0xff, 0x09, 0x8c, 0xba, 0xbb, 0x41, 0xcb, 0x00, 0x00,
+ 0x75, 0x98, 0x7a, 0xf8, 0x35, 0x7c, 0x43, 0x72, 0xc9, 0xda, 0x8f, 0xe3, 0xf1, 0x6e, 0x77, 0x56,
+ 0xad, 0x93, 0x70, 0x8a, 0x64, 0xae, 0xef, 0x24, 0x59, 0xba, 0x3b, 0x9d, 0xee, 0x86, 0x33, 0xdc,
+ 0xdd, 0xd1, 0x92, 0xdc, 0xb9, 0x1a, 0x72, 0xef, 0x74, 0x76, 0x2e, 0x6a, 0x76, 0x17, 0x87, 0x7d,
+ 0xec, 0xe9, 0x9e, 0xeb, 0xee, 0xe1, 0x92, 0xab, 0x18, 0xb2, 0x14, 0xc9, 0x8a, 0xe4, 0x24, 0x30,
+ 0x0c, 0x38, 0x82, 0x24, 0x27, 0x96, 0x61, 0x38, 0x4e, 0xe0, 0xc0, 0x56, 0x62, 0x58, 0x80, 0xf3,
+ 0x81, 0x18, 0x4e, 0x02, 0x4b, 0x46, 0x62, 0x28, 0x0e, 0x04, 0x5f, 0x80, 0x98, 0x8a, 0x18, 0x44,
+ 0x49, 0x10, 0xc3, 0x08, 0x60, 0xe4, 0xcf, 0xc2, 0x40, 0x82, 0xfa, 0xe8, 0xee, 0xea, 0xaf, 0xd9,
+ 0x61, 0x0f, 0xb9, 0xba, 0x8b, 0xfd, 0x8b, 0x9c, 0x7a, 0x55, 0xef, 0xd5, 0x57, 0xbf, 0x7a, 0xef,
+ 0xd5, 0xab, 0xf7, 0x60, 0xa5, 0x63, 0xfa, 0xbb, 0xfd, 0xed, 0x65, 0xdd, 0xe9, 0x5e, 0xeb, 0x68,
+ 0xae, 0x41, 0x6c, 0xe2, 0x46, 0xff, 0xf4, 0xf6, 0x3a, 0xd7, 0xb4, 0x9e, 0xe9, 0x5d, 0xd3, 0x1d,
+ 0x97, 0x5c, 0xdb, 0x7f, 0x6a, 0x9b, 0xf8, 0xda, 0x53, 0xd7, 0x3a, 0x14, 0xa6, 0xf9, 0xc4, 0x58,
+ 0xee, 0xb9, 0x8e, 0xef, 0xa0, 0xa7, 0x23, 0x1c, 0xcb, 0x41, 0xd3, 0xe8, 0x9f, 0xde, 0x5e, 0x67,
+ 0x99, 0xe2, 0x58, 0xa6, 0x38, 0x96, 0x05, 0x8e, 0xa5, 0x1f, 0x91, 0xe9, 0x3a, 0x1d, 0xe7, 0x1a,
+ 0x43, 0xb5, 0xdd, 0xdf, 0x61, 0xbf, 0xd8, 0x0f, 0xf6, 0x1f, 0x27, 0xb1, 0xf4, 0xde, 0xbd, 0x8f,
+ 0x78, 0xcb, 0xa6, 0x43, 0x3b, 0x73, 0x4d, 0xeb, 0xfb, 0x8e, 0xa7, 0x6b, 0x96, 0x69, 0x77, 0xae,
+ 0xed, 0xa7, 0x7a, 0xb3, 0xa4, 0x4a, 0x55, 0x45, 0xb7, 0x07, 0xd6, 0x71, 0xb7, 0x35, 0x3d, 0xab,
+ 0xce, 0x07, 0xa3, 0x3a, 0x5d, 0x4d, 0xdf, 0x35, 0x6d, 0xe2, 0x1e, 0x06, 0x13, 0x72, 0xcd, 0x25,
+ 0x9e, 0xd3, 0x77, 0x75, 0x72, 0xa2, 0x56, 0xde, 0xb5, 0x2e, 0xf1, 0xb5, 0x2c, 0x5a, 0xd7, 0xf2,
+ 0x5a, 0xb9, 0x7d, 0xdb, 0x37, 0xbb, 0x69, 0x32, 0x3f, 0xf6, 0xa0, 0x06, 0x9e, 0xbe, 0x4b, 0xba,
+ 0x5a, 0xaa, 0xdd, 0x07, 0xf2, 0xda, 0xf5, 0x7d, 0xd3, 0xba, 0x66, 0xda, 0xbe, 0xe7, 0xbb, 0xc9,
+ 0x46, 0xea, 0xd3, 0x30, 0x51, 0x33, 0x0c, 0xc7, 0x46, 0xef, 0x85, 0x29, 0x62, 0x6b, 0xdb, 0x16,
+ 0x31, 0x16, 0x95, 0xab, 0xca, 0x93, 0xe5, 0x95, 0x73, 0xdf, 0x3a, 0xaa, 0xbe, 0xe3, 0xf8, 0xa8,
+ 0x3a, 0xb5, 0xca, 0x8b, 0x71, 0x00, 0x57, 0x7f, 0xbe, 0x04, 0x93, 0xac, 0x91, 0x87, 0x7e, 0x4e,
+ 0x81, 0xf3, 0x7b, 0xfd, 0x6d, 0xe2, 0xda, 0xc4, 0x27, 0x5e, 0x43, 0xf3, 0x76, 0xb7, 0x1d, 0xcd,
+ 0xe5, 0x28, 0x2a, 0x4f, 0xdf, 0x58, 0x3e, 0xf9, 0xee, 0x59, 0xbe, 0x95, 0x46, 0xb7, 0xf2, 0xc8,
+ 0xf1, 0x51, 0xf5, 0x7c, 0x06, 0x00, 0x67, 0x11, 0x47, 0xfb, 0x30, 0x63, 0x77, 0x4c, 0xfb, 0xa0,
+ 0x69, 0x77, 0x5c, 0xe2, 0x79, 0x8b, 0x25, 0xd6, 0x99, 0x17, 0x8b, 0x74, 0x66, 0x43, 0xc2, 0xb3,
+ 0x32, 0x7f, 0x7c, 0x54, 0x9d, 0x91, 0x4b, 0x70, 0x8c, 0x8e, 0xfa, 0x0d, 0x05, 0xce, 0xd5, 0x8c,
+ 0xae, 0xe9, 0x79, 0xa6, 0x63, 0xb7, 0xac, 0x7e, 0xc7, 0xb4, 0xd1, 0x55, 0x18, 0xb7, 0xb5, 0x2e,
+ 0x61, 0x13, 0x32, 0xbd, 0x32, 0x23, 0xe6, 0x74, 0x7c, 0x43, 0xeb, 0x12, 0xcc, 0x20, 0xe8, 0x25,
+ 0x98, 0xd4, 0x1d, 0x7b, 0xc7, 0xec, 0x88, 0x7e, 0xfe, 0xc8, 0x32, 0x5f, 0xc7, 0x65, 0x79, 0x1d,
+ 0x59, 0xf7, 0xc4, 0xfa, 0x2f, 0x63, 0xed, 0xee, 0xea, 0x81, 0x4f, 0x6c, 0x4a, 0x66, 0x05, 0x8e,
+ 0x8f, 0xaa, 0x93, 0x75, 0x86, 0x00, 0x0b, 0x44, 0xe8, 0x49, 0x28, 0x1b, 0xa6, 0xc7, 0x17, 0x73,
+ 0x8c, 0x2d, 0xe6, 0xcc, 0xf1, 0x51, 0xb5, 0xdc, 0x10, 0x65, 0x38, 0x84, 0xaa, 0xd7, 0xa1, 0x5c,
+ 0xb3, 0x88, 0xeb, 0x9b, 0x76, 0x07, 0x3d, 0x0b, 0x73, 0xa4, 0xab, 0x99, 0x16, 0x26, 0x3a, 0x31,
+ 0xf7, 0x89, 0xeb, 0x2d, 0x2a, 0x57, 0xc7, 0x9e, 0x9c, 0x5e, 0x41, 0xc7, 0x47, 0xd5, 0xb9, 0xd5,
+ 0x18, 0x04, 0x27, 0x6a, 0xaa, 0x9f, 0x51, 0xa0, 0x52, 0xeb, 0x1b, 0xa6, 0xcf, 0x7b, 0x82, 0x5c,
+ 0xa8, 0x68, 0xf4, 0x67, 0xcb, 0xb1, 0x4c, 0xfd, 0x50, 0x6c, 0x87, 0x17, 0x8a, 0xac, 0x40, 0x2d,
+ 0x42, 0xb3, 0x72, 0xee, 0xf8, 0xa8, 0x5a, 0x91, 0x0a, 0xb0, 0x4c, 0x44, 0xdd, 0x05, 0x19, 0x86,
+ 0x3e, 0x01, 0x33, 0x7c, 0x3a, 0xd6, 0xb5, 0x1e, 0x26, 0x3b, 0xa2, 0x0f, 0xef, 0x92, 0x66, 0x37,
+ 0x20, 0xb4, 0x7c, 0x7b, 0xfb, 0x75, 0xa2, 0xfb, 0x98, 0xec, 0x10, 0x97, 0xd8, 0x3a, 0xe1, 0x0b,
+ 0x5d, 0x97, 0x1a, 0xe3, 0x18, 0x2a, 0xf5, 0x7b, 0x0a, 0xcc, 0xd7, 0xf6, 0x35, 0xd3, 0xd2, 0xb6,
+ 0x4d, 0xcb, 0xf4, 0x0f, 0x5f, 0x75, 0x6c, 0x32, 0xc4, 0x4a, 0x6f, 0xc1, 0x23, 0x7d, 0x5b, 0xe3,
+ 0xed, 0x2c, 0xb2, 0xce, 0xd7, 0x76, 0xf3, 0xb0, 0x47, 0xe8, 0x16, 0xa5, 0x33, 0xfd, 0xd8, 0xf1,
+ 0x51, 0xf5, 0x91, 0xad, 0xec, 0x2a, 0x38, 0xaf, 0x2d, 0xc2, 0x70, 0x49, 0x02, 0xdd, 0x71, 0xac,
+ 0x7e, 0x57, 0x60, 0x1d, 0x63, 0x58, 0x97, 0x8e, 0x8f, 0xaa, 0x97, 0xb6, 0x32, 0x6b, 0xe0, 0x9c,
+ 0x96, 0xea, 0xb7, 0x4a, 0x30, 0xb3, 0xa2, 0xe9, 0x7b, 0xfd, 0xde, 0x4a, 0x5f, 0xdf, 0x23, 0x3e,
+ 0xfa, 0x24, 0x94, 0x29, 0x83, 0x33, 0x34, 0x5f, 0x13, 0x33, 0xf9, 0xa3, 0xb9, 0xfb, 0x94, 0x2d,
+ 0x22, 0xad, 0x1d, 0xcd, 0xed, 0x3a, 0xf1, 0xb5, 0x15, 0x24, 0xe6, 0x04, 0xa2, 0x32, 0x1c, 0x62,
+ 0x45, 0x3b, 0x30, 0xee, 0xf5, 0x88, 0x2e, 0xbe, 0x82, 0x46, 0x91, 0xbd, 0x22, 0xf7, 0xb8, 0xdd,
+ 0x23, 0x7a, 0xb4, 0x0a, 0xf4, 0x17, 0x66, 0xf8, 0x91, 0x0d, 0x93, 0x9e, 0xaf, 0xf9, 0x7d, 0x8f,
+ 0x7d, 0x1a, 0x95, 0xa7, 0xaf, 0x8f, 0x4c, 0x89, 0x61, 0x5b, 0x99, 0x13, 0xb4, 0x26, 0xf9, 0x6f,
+ 0x2c, 0xa8, 0xa8, 0x7f, 0xa4, 0xc0, 0xbc, 0x5c, 0x7d, 0xcd, 0xf4, 0x7c, 0xf4, 0x13, 0xa9, 0xe9,
+ 0x5c, 0x1e, 0x6e, 0x3a, 0x69, 0x6b, 0x36, 0x99, 0xf3, 0x82, 0x5c, 0x39, 0x28, 0x91, 0xa6, 0x92,
+ 0xc0, 0x84, 0xe9, 0x93, 0x2e, 0xdf, 0x56, 0x05, 0x39, 0x9f, 0xdc, 0xe5, 0x95, 0x59, 0x41, 0x6c,
+ 0xa2, 0x49, 0xd1, 0x62, 0x8e, 0x5d, 0xfd, 0x24, 0x5c, 0x90, 0x6b, 0xb5, 0x5c, 0x67, 0xdf, 0x34,
+ 0x88, 0x4b, 0xbf, 0x04, 0xff, 0xb0, 0x97, 0xfa, 0x12, 0xe8, 0xce, 0xc2, 0x0c, 0x82, 0xde, 0x03,
+ 0x93, 0x2e, 0xe9, 0x98, 0x8e, 0xcd, 0x56, 0x7b, 0x3a, 0x9a, 0x3b, 0xcc, 0x4a, 0xb1, 0x80, 0xaa,
+ 0xff, 0xa7, 0x14, 0x9f, 0x3b, 0xba, 0x8c, 0x68, 0x1f, 0xca, 0x3d, 0x41, 0x4a, 0xcc, 0xdd, 0xcd,
+ 0x51, 0x07, 0x18, 0x74, 0x3d, 0x9a, 0xd5, 0xa0, 0x04, 0x87, 0xb4, 0x90, 0x09, 0x73, 0xc1, 0xff,
+ 0xf5, 0x11, 0x18, 0x36, 0x63, 0xa7, 0xad, 0x18, 0x22, 0x9c, 0x40, 0x8c, 0x36, 0x61, 0xda, 0x23,
+ 0xba, 0x4b, 0x28, 0x4f, 0x12, 0xdb, 0x34, 0x93, 0x71, 0xb5, 0x83, 0x4a, 0x82, 0x71, 0x2d, 0x88,
+ 0xee, 0x4f, 0x87, 0x00, 0x1c, 0x21, 0xa2, 0xc7, 0x82, 0x47, 0x88, 0x41, 0x39, 0xd2, 0xe2, 0x38,
+ 0x5f, 0x1b, 0x3a, 0xd4, 0xb6, 0x28, 0xc3, 0x21, 0x54, 0xfd, 0xfa, 0x38, 0xa0, 0xf4, 0x16, 0x97,
+ 0x67, 0x80, 0x97, 0x88, 0xf9, 0x1f, 0x65, 0x06, 0xc4, 0xd7, 0x92, 0x40, 0x8c, 0xee, 0xc1, 0xac,
+ 0xa5, 0x79, 0xfe, 0xed, 0x1e, 0x95, 0x56, 0x82, 0x8d, 0x52, 0x79, 0xba, 0x56, 0x64, 0xa5, 0xd7,
+ 0x64, 0x44, 0x2b, 0x0b, 0xc7, 0x47, 0xd5, 0xd9, 0x58, 0x11, 0x8e, 0x93, 0x42, 0xaf, 0xc3, 0x34,
+ 0x2d, 0x58, 0x75, 0x5d, 0xc7, 0x15, 0xb3, 0xff, 0x7c, 0x51, 0xba, 0x0c, 0xc9, 0xca, 0x2c, 0x5d,
+ 0x93, 0xf0, 0x27, 0x8e, 0xd0, 0xa3, 0x8f, 0x03, 0x72, 0xb6, 0x3d, 0xe2, 0xee, 0x13, 0xe3, 0x06,
+ 0x17, 0xcd, 0xe8, 0x60, 0xe9, 0xea, 0x8c, 0xad, 0x2c, 0x89, 0xd5, 0x44, 0xb7, 0x53, 0x35, 0x70,
+ 0x46, 0x2b, 0xb4, 0x07, 0x28, 0x14, 0xef, 0xc2, 0x0d, 0xb0, 0x38, 0x31, 0xfc, 0xf6, 0xb9, 0x44,
+ 0x89, 0xdd, 0x48, 0xa1, 0xc0, 0x19, 0x68, 0xd5, 0x7f, 0x5b, 0x82, 0x0a, 0xdf, 0x22, 0xab, 0xb6,
+ 0xef, 0x1e, 0x3e, 0x84, 0x03, 0x82, 0xc4, 0x0e, 0x88, 0x7a, 0xf1, 0x6f, 0x9e, 0x75, 0x38, 0xf7,
+ 0x7c, 0xe8, 0x26, 0xce, 0x87, 0xd5, 0x51, 0x09, 0x0d, 0x3e, 0x1e, 0xbe, 0xab, 0xc0, 0x39, 0xa9,
+ 0xf6, 0x43, 0x38, 0x1d, 0x8c, 0xf8, 0xe9, 0xf0, 0xc2, 0x88, 0xe3, 0xcb, 0x39, 0x1c, 0x9c, 0xd8,
+ 0xb0, 0x18, 0xe3, 0x7e, 0x1a, 0x60, 0x9b, 0xb1, 0x93, 0x8d, 0x48, 0x4e, 0x0a, 0x97, 0x7c, 0x25,
+ 0x84, 0x60, 0xa9, 0x56, 0x8c, 0x67, 0x95, 0x06, 0xf2, 0xac, 0xff, 0x36, 0x06, 0x0b, 0xa9, 0x69,
+ 0x4f, 0xf3, 0x11, 0xe5, 0x87, 0xc4, 0x47, 0x4a, 0x3f, 0x0c, 0x3e, 0x32, 0x56, 0x88, 0x8f, 0x0c,
+ 0x7d, 0x4e, 0x20, 0x17, 0x50, 0xd7, 0xec, 0xf0, 0x66, 0x6d, 0x5f, 0x73, 0xfd, 0x4d, 0xb3, 0x4b,
+ 0x04, 0xc7, 0xf9, 0x2b, 0xc3, 0x6d, 0x59, 0xda, 0x82, 0x33, 0x9e, 0xf5, 0x14, 0x26, 0x9c, 0x81,
+ 0x5d, 0xfd, 0x5d, 0x05, 0xc6, 0xea, 0xb8, 0x89, 0xde, 0x17, 0x93, 0xb7, 0x1f, 0x91, 0xe5, 0xed,
+ 0xfb, 0x47, 0xd5, 0xa9, 0x3a, 0x6e, 0x4a, 0xa2, 0xf7, 0xdf, 0x56, 0x60, 0x41, 0x77, 0x6c, 0x5f,
+ 0xa3, 0xbd, 0xc0, 0xfc, 0x50, 0x0a, 0x3e, 0x80, 0x42, 0xa2, 0x66, 0x3d, 0x81, 0x6c, 0xe5, 0x51,
+ 0xd1, 0x81, 0x85, 0x24, 0xc4, 0xc3, 0x69, 0xca, 0xea, 0x16, 0x4c, 0xd7, 0x2d, 0xa7, 0x6f, 0x34,
+ 0xed, 0x1d, 0xe7, 0x14, 0xe5, 0xa5, 0x37, 0x15, 0x98, 0x61, 0x78, 0x5b, 0xae, 0xb3, 0x63, 0x5a,
+ 0xe4, 0xed, 0x21, 0xb6, 0xcb, 0x3d, 0xce, 0x63, 0xcb, 0x4c, 0x8c, 0x96, 0x2b, 0xbe, 0x4d, 0xc4,
+ 0x68, 0xb9, 0xcb, 0x39, 0x9c, 0xf2, 0xe7, 0xa7, 0xe2, 0x23, 0x63, 0xbc, 0xf2, 0x49, 0x28, 0xeb,
+ 0xda, 0x4a, 0xdf, 0x36, 0xac, 0x70, 0x5f, 0xd0, 0x5e, 0xd6, 0x6b, 0xbc, 0x0c, 0x87, 0x50, 0x74,
+ 0x0f, 0x20, 0x32, 0x82, 0x88, 0x65, 0xb8, 0x3e, 0x9a, 0xe1, 0xa5, 0x4d, 0x7c, 0xdf, 0xb4, 0x3b,
+ 0x5e, 0xb4, 0xf4, 0x11, 0x0c, 0x4b, 0xd4, 0xd0, 0x4f, 0xc2, 0xac, 0x98, 0xe4, 0x66, 0x57, 0xeb,
+ 0x08, 0x8d, 0xb3, 0xe0, 0x4c, 0xad, 0x4b, 0x88, 0x56, 0x2e, 0x0a, 0xc2, 0xb3, 0x72, 0xa9, 0x87,
+ 0xe3, 0xd4, 0xd0, 0x21, 0xcc, 0x74, 0x65, 0x2d, 0x7a, 0xbc, 0xf8, 0x81, 0x26, 0x69, 0xd4, 0x2b,
+ 0x17, 0x04, 0xf1, 0x99, 0x98, 0xfe, 0x1d, 0x23, 0x95, 0xa1, 0x0c, 0x4c, 0x9c, 0x95, 0x32, 0x40,
+ 0x60, 0x8a, 0x7f, 0xde, 0xde, 0xe2, 0x24, 0x1b, 0xe0, 0xb3, 0x45, 0x06, 0xc8, 0x39, 0x45, 0x64,
+ 0xd5, 0xe3, 0xbf, 0x3d, 0x1c, 0xe0, 0x46, 0xfb, 0x30, 0x43, 0xf9, 0x7a, 0x9b, 0x58, 0x44, 0xf7,
+ 0x1d, 0x77, 0x71, 0xaa, 0xb8, 0xd5, 0xac, 0x2d, 0xe1, 0xe1, 0xc6, 0x14, 0xb9, 0x04, 0xc7, 0xe8,
+ 0x84, 0xdc, 0xaf, 0x9c, 0xcb, 0xfd, 0xfa, 0x50, 0xd9, 0x97, 0xac, 0x1a, 0xd3, 0x6c, 0x12, 0x3e,
+ 0x56, 0xa4, 0x63, 0x91, 0x89, 0x63, 0xe5, 0xbc, 0x20, 0x54, 0x91, 0xcd, 0x21, 0x32, 0x1d, 0xf5,
+ 0xa8, 0x0c, 0x0b, 0x75, 0xab, 0xef, 0xf9, 0xc4, 0xad, 0x09, 0xb3, 0x34, 0x71, 0xd1, 0x67, 0x15,
+ 0xb8, 0xc4, 0xfe, 0x6d, 0x38, 0x77, 0xed, 0x06, 0xb1, 0xb4, 0xc3, 0xda, 0x0e, 0xad, 0x61, 0x18,
+ 0x27, 0xe3, 0x40, 0x8d, 0xbe, 0x90, 0x23, 0x98, 0x79, 0xa6, 0x9d, 0x89, 0x11, 0xe7, 0x50, 0x42,
+ 0x3f, 0xa3, 0xc0, 0xa3, 0x19, 0xa0, 0x06, 0xb1, 0x88, 0x4f, 0x04, 0x0f, 0x38, 0x69, 0x3f, 0x2e,
+ 0x1f, 0x1f, 0x55, 0x1f, 0x6d, 0xe7, 0x21, 0xc5, 0xf9, 0xf4, 0xd0, 0xdf, 0x51, 0x60, 0x29, 0x03,
+ 0x7a, 0x5d, 0x33, 0xad, 0xbe, 0x4b, 0x84, 0x18, 0x7d, 0xd2, 0xee, 0x5c, 0x39, 0x3e, 0xaa, 0x2e,
+ 0xb5, 0x73, 0xb1, 0xe2, 0x01, 0x14, 0xd1, 0xa7, 0xe1, 0x62, 0x08, 0xdd, 0xb2, 0x6d, 0x42, 0x0c,
+ 0x62, 0x30, 0xc9, 0x64, 0xbc, 0x50, 0x57, 0x1e, 0x3d, 0x3e, 0xaa, 0x5e, 0x6c, 0x67, 0x21, 0xc4,
+ 0xd9, 0x74, 0x50, 0x07, 0x2e, 0x47, 0x00, 0xdf, 0xb4, 0xcc, 0x7b, 0x0c, 0xd3, 0xe6, 0xae, 0x4b,
+ 0xbc, 0x5d, 0xc7, 0x32, 0x18, 0xb3, 0x50, 0x56, 0xde, 0x79, 0x7c, 0x54, 0xbd, 0xdc, 0x1e, 0x54,
+ 0x11, 0x0f, 0xc6, 0x83, 0x0c, 0x98, 0xf1, 0x74, 0xcd, 0x6e, 0xda, 0x3e, 0x71, 0xf7, 0x35, 0x6b,
+ 0x71, 0xb2, 0xd0, 0x00, 0xf9, 0x27, 0x2a, 0xe1, 0xc1, 0x31, 0xac, 0xe8, 0x23, 0x50, 0x26, 0x07,
+ 0x3d, 0xcd, 0x36, 0x08, 0x67, 0x0b, 0xd3, 0x2b, 0x8f, 0xd3, 0xc3, 0x68, 0x55, 0x94, 0xdd, 0x3f,
+ 0xaa, 0xce, 0x04, 0xff, 0xaf, 0x3b, 0x06, 0xc1, 0x61, 0x6d, 0xf4, 0xd7, 0xe1, 0x42, 0x57, 0x3b,
+ 0xd8, 0x70, 0x0c, 0xc2, 0x98, 0x1c, 0xe5, 0x79, 0x6c, 0x21, 0xca, 0x85, 0xfa, 0xb9, 0x78, 0x7c,
+ 0x54, 0xbd, 0xb0, 0x9e, 0x81, 0x0f, 0x67, 0x52, 0xa1, 0xcb, 0xd0, 0xd5, 0x0e, 0x6e, 0xb8, 0x9a,
+ 0x4e, 0x76, 0xfa, 0xd6, 0x26, 0x71, 0xbb, 0xa6, 0xcd, 0xa5, 0x49, 0xa2, 0x3b, 0xb6, 0x41, 0x59,
+ 0x89, 0xf2, 0xe4, 0x04, 0x5f, 0x86, 0xf5, 0x41, 0x15, 0xf1, 0x60, 0x3c, 0xe8, 0x83, 0x30, 0x63,
+ 0x76, 0x6c, 0xc7, 0x25, 0x9b, 0x9a, 0x69, 0xfb, 0xde, 0x22, 0x30, 0xc3, 0x2b, 0x9b, 0xd6, 0xa6,
+ 0x54, 0x8e, 0x63, 0xb5, 0xd4, 0xff, 0xa9, 0x40, 0x45, 0x30, 0x18, 0x26, 0x07, 0x6e, 0xc3, 0x84,
+ 0x4e, 0xe5, 0x00, 0xc1, 0x48, 0x9e, 0x2f, 0x2c, 0x6f, 0x50, 0x6c, 0x91, 0xb0, 0xc1, 0x8a, 0x30,
+ 0x47, 0x8d, 0xf6, 0x33, 0xa4, 0x85, 0x95, 0xd1, 0xa4, 0x05, 0x46, 0xed, 0x01, 0x92, 0x82, 0x7a,
+ 0x34, 0x06, 0xd3, 0x75, 0xc7, 0x36, 0x4c, 0xa6, 0x61, 0x3c, 0x15, 0x93, 0x78, 0x2f, 0xcb, 0x3c,
+ 0xff, 0xfe, 0x51, 0x75, 0x36, 0xac, 0x28, 0x1d, 0x02, 0xcf, 0x84, 0x6a, 0x39, 0x17, 0x81, 0xdf,
+ 0x19, 0xd7, 0xa7, 0xef, 0x1f, 0x55, 0xcf, 0x85, 0xcd, 0xe2, 0x2a, 0x36, 0xda, 0x07, 0x44, 0x15,
+ 0xa5, 0x4d, 0x57, 0xb3, 0x3d, 0x8e, 0x96, 0x6e, 0xc1, 0xb1, 0x13, 0x6b, 0x29, 0xa1, 0x1e, 0xb5,
+ 0x96, 0xc2, 0x86, 0x33, 0x28, 0xa0, 0xd7, 0x61, 0x8e, 0x96, 0x6e, 0xf5, 0x0c, 0xcd, 0x27, 0x12,
+ 0xff, 0x39, 0x91, 0x66, 0x24, 0x68, 0xce, 0xad, 0xc5, 0x30, 0xe1, 0x04, 0x66, 0xae, 0x21, 0x68,
+ 0x9e, 0x63, 0x33, 0xd6, 0x12, 0xd3, 0x10, 0x68, 0x29, 0x16, 0x50, 0xf4, 0x5e, 0x98, 0xea, 0x12,
+ 0xcf, 0xd3, 0x3a, 0x84, 0xf1, 0x8a, 0xe9, 0x48, 0x20, 0x58, 0xe7, 0xc5, 0x38, 0x80, 0xa3, 0xf7,
+ 0xc3, 0x84, 0xee, 0x18, 0xc4, 0x5b, 0x9c, 0x62, 0xbb, 0xf9, 0x12, 0xdb, 0x4b, 0xb4, 0xe0, 0xfe,
+ 0x51, 0x75, 0x9a, 0x69, 0x9d, 0xf4, 0x17, 0xe6, 0x95, 0xd4, 0x5f, 0xa4, 0xf2, 0x79, 0x42, 0xcf,
+ 0x19, 0x42, 0xb3, 0x79, 0x78, 0x46, 0x55, 0xf5, 0x8b, 0x25, 0xb8, 0x40, 0x7b, 0xe8, 0x3a, 0x96,
+ 0x45, 0xcf, 0xae, 0x9e, 0xe5, 0x1c, 0x76, 0x89, 0xfd, 0x30, 0xee, 0x36, 0x82, 0x79, 0x28, 0xe5,
+ 0xce, 0x43, 0x37, 0x35, 0x0f, 0x63, 0x45, 0xe6, 0x21, 0xdc, 0x2e, 0x0f, 0x98, 0x8b, 0xff, 0xae,
+ 0xc0, 0x62, 0xd6, 0x5c, 0x3c, 0x04, 0xad, 0xaa, 0x1b, 0xd7, 0xaa, 0x6e, 0x16, 0xd5, 0xbe, 0x93,
+ 0x5d, 0xcf, 0xd1, 0xae, 0x7e, 0x50, 0x82, 0x4b, 0x51, 0xf5, 0xa6, 0xed, 0xf9, 0x9a, 0x65, 0x71,
+ 0x3b, 0xc7, 0xd9, 0xaf, 0x7b, 0x2f, 0xa6, 0x1c, 0x6f, 0x8c, 0x36, 0x54, 0xb9, 0xef, 0xb9, 0xd6,
+ 0xcb, 0x83, 0x84, 0xf5, 0xb2, 0x75, 0x8a, 0x34, 0x07, 0x1b, 0x32, 0xff, 0x97, 0x02, 0x4b, 0xd9,
+ 0x0d, 0x1f, 0xc2, 0xa6, 0x72, 0xe2, 0x9b, 0xea, 0xe3, 0xa7, 0x37, 0xea, 0x9c, 0x6d, 0xf5, 0x4f,
+ 0x4b, 0x79, 0xa3, 0x65, 0xea, 0xfb, 0x0e, 0x9c, 0xa3, 0x7a, 0x95, 0xe7, 0x0b, 0x33, 0xdb, 0xc9,
+ 0xee, 0x9f, 0x03, 0x63, 0xd6, 0x39, 0x1c, 0xc7, 0x81, 0x93, 0x48, 0xd1, 0x06, 0x4c, 0x51, 0x65,
+ 0x8a, 0xe2, 0x2f, 0x0d, 0x8f, 0x3f, 0xe4, 0xf9, 0x6d, 0xde, 0x16, 0x07, 0x48, 0xd0, 0x4f, 0xc0,
+ 0xac, 0x11, 0x7e, 0x51, 0x0f, 0xb8, 0x7c, 0x4a, 0x62, 0x65, 0x06, 0xd1, 0x86, 0xdc, 0x1a, 0xc7,
+ 0x91, 0xa9, 0x7f, 0xae, 0xc0, 0xe3, 0x83, 0xf6, 0x16, 0x7a, 0x03, 0x40, 0x0f, 0x0e, 0x71, 0xee,
+ 0x7e, 0x50, 0x54, 0x0c, 0x0a, 0xb0, 0x44, 0x1f, 0x68, 0x58, 0xe4, 0x61, 0x89, 0x48, 0xc6, 0x9d,
+ 0x56, 0xe9, 0x8c, 0xee, 0xb4, 0xd4, 0x3f, 0x51, 0x64, 0x56, 0x24, 0xaf, 0xed, 0xdb, 0x8d, 0x15,
+ 0xc9, 0x7d, 0xcf, 0xb5, 0xd8, 0xfd, 0xc7, 0x12, 0x5c, 0xcd, 0x6e, 0x22, 0x9d, 0xbd, 0x2f, 0xc2,
+ 0x64, 0x8f, 0xfb, 0x88, 0x8c, 0xb1, 0xb3, 0xf1, 0x49, 0xca, 0x59, 0xb8, 0x07, 0xc7, 0xfd, 0xa3,
+ 0xea, 0x52, 0x16, 0xa3, 0x17, 0xbe, 0x1f, 0xa2, 0x1d, 0x32, 0x13, 0x76, 0x0b, 0x2e, 0x63, 0x7d,
+ 0x60, 0x48, 0xe6, 0xa2, 0x6d, 0x13, 0x6b, 0x68, 0x53, 0xc5, 0x67, 0x14, 0x98, 0x8b, 0xed, 0x68,
+ 0x6f, 0x71, 0x82, 0xed, 0xd1, 0x42, 0xd7, 0x09, 0xb1, 0x4f, 0x25, 0x3a, 0xb9, 0x63, 0xc5, 0x1e,
+ 0x4e, 0x10, 0x4c, 0xb0, 0x59, 0x79, 0x56, 0xdf, 0x76, 0x6c, 0x56, 0xee, 0x7c, 0x0e, 0x9b, 0xfd,
+ 0x85, 0x52, 0xde, 0x68, 0x19, 0x9b, 0xbd, 0x0b, 0xd3, 0x81, 0xb7, 0x5e, 0xc0, 0x2e, 0xae, 0x8f,
+ 0xda, 0x27, 0x8e, 0x2e, 0xba, 0x4a, 0x0f, 0x4a, 0x3c, 0x1c, 0xd1, 0x42, 0x9f, 0x53, 0x00, 0xa2,
+ 0x85, 0x11, 0x1f, 0xd5, 0xe6, 0xe9, 0x4d, 0x87, 0x24, 0xd6, 0xcc, 0xd1, 0x4f, 0x5a, 0xda, 0x14,
+ 0x12, 0x5d, 0xf5, 0x1b, 0x25, 0x40, 0xe9, 0xbe, 0x53, 0x71, 0x73, 0xcf, 0xb4, 0x8d, 0xa4, 0xd8,
+ 0x7d, 0xcb, 0xb4, 0x0d, 0xcc, 0x20, 0x43, 0x08, 0xa4, 0xcf, 0xc3, 0xb9, 0x8e, 0xe5, 0x6c, 0x6b,
+ 0x96, 0x75, 0x28, 0x1c, 0x00, 0x85, 0x2b, 0xd9, 0x79, 0x7a, 0x30, 0xdd, 0x88, 0x83, 0x70, 0xb2,
+ 0x2e, 0xea, 0xc1, 0xbc, 0x4b, 0x95, 0x63, 0xdd, 0xb4, 0x98, 0x82, 0xe2, 0xf4, 0xfd, 0x82, 0xd6,
+ 0x97, 0x0b, 0xc7, 0x47, 0xd5, 0x79, 0x9c, 0xc0, 0x85, 0x53, 0xd8, 0xd1, 0xbb, 0x61, 0xaa, 0xe7,
+ 0x9a, 0x5d, 0xcd, 0x3d, 0x64, 0x2a, 0x50, 0x79, 0xa5, 0x42, 0x4f, 0xb8, 0x16, 0x2f, 0xc2, 0x01,
+ 0x4c, 0xfd, 0x9c, 0x02, 0x53, 0x75, 0xc7, 0x25, 0x8d, 0x8d, 0x36, 0x3a, 0x84, 0x8a, 0xe4, 0x70,
+ 0x2a, 0xbe, 0x97, 0x82, 0x1b, 0x88, 0x61, 0xac, 0x45, 0xd8, 0x02, 0x67, 0xb5, 0xb0, 0x00, 0xcb,
+ 0xb4, 0xd4, 0x16, 0x5d, 0xb8, 0x64, 0x1b, 0xf4, 0x2c, 0x8c, 0x77, 0x1d, 0x23, 0xd0, 0x97, 0xde,
+ 0x13, 0x2c, 0xcb, 0xba, 0x63, 0x50, 0xbd, 0xf8, 0x52, 0xba, 0x05, 0x33, 0xb7, 0xb0, 0x36, 0xea,
+ 0xd7, 0x14, 0x18, 0xa3, 0x83, 0x52, 0x61, 0xd2, 0x70, 0xba, 0x9a, 0x69, 0x0b, 0x2c, 0xcc, 0x41,
+ 0xb0, 0xc1, 0x4a, 0xb0, 0x80, 0xa0, 0x1e, 0x4c, 0x07, 0x67, 0xd3, 0x48, 0xd7, 0xc0, 0x8d, 0x8d,
+ 0x76, 0xe8, 0x3a, 0x13, 0x7e, 0x30, 0x41, 0x89, 0x87, 0x23, 0x22, 0xaa, 0x06, 0x0b, 0x8d, 0x8d,
+ 0x76, 0xd3, 0xd6, 0xad, 0xbe, 0x41, 0x56, 0x0f, 0xd8, 0x1f, 0xba, 0x64, 0x26, 0x2f, 0x11, 0xae,
+ 0x86, 0x6c, 0xc9, 0x44, 0x25, 0x1c, 0xc0, 0x68, 0x35, 0xc2, 0x5b, 0x08, 0x3f, 0x39, 0x56, 0x4d,
+ 0x20, 0xc1, 0x01, 0x4c, 0x7d, 0xb3, 0x04, 0x15, 0xa9, 0x43, 0xc8, 0x82, 0x29, 0x3e, 0xdc, 0xc0,
+ 0x4d, 0x65, 0xb5, 0xe0, 0x10, 0xe3, 0xbd, 0xe6, 0xd4, 0xf9, 0x84, 0x7a, 0x38, 0x20, 0x21, 0x6f,
+ 0xbf, 0x52, 0xfe, 0xf6, 0x43, 0xcb, 0x00, 0xdc, 0x21, 0x87, 0xdd, 0xae, 0xf2, 0x33, 0x8f, 0x7d,
+ 0xe1, 0xed, 0xb0, 0x14, 0x4b, 0x35, 0xd0, 0xe3, 0xe2, 0x43, 0xe5, 0xf7, 0xb0, 0xe5, 0xc4, 0x47,
+ 0xba, 0x03, 0x13, 0xf7, 0x1c, 0x9b, 0x78, 0xe2, 0xf2, 0xe1, 0x94, 0x06, 0x38, 0x4d, 0xd9, 0xf0,
+ 0xab, 0x14, 0x2f, 0xe6, 0xe8, 0xd5, 0x5f, 0x52, 0x00, 0x1a, 0x9a, 0xaf, 0x71, 0x5b, 0xf9, 0x10,
+ 0xae, 0x8e, 0x8f, 0xc7, 0xf8, 0x4b, 0x39, 0x75, 0x9d, 0x39, 0xee, 0x99, 0xf7, 0x82, 0xe1, 0x87,
+ 0x72, 0x0b, 0xc7, 0xde, 0x36, 0xef, 0x11, 0xcc, 0xe0, 0xe8, 0x7d, 0x30, 0x4d, 0x6c, 0xdd, 0x3d,
+ 0xec, 0xf9, 0xc4, 0x60, 0x33, 0x50, 0xe6, 0x37, 0xe0, 0xab, 0x41, 0x21, 0x8e, 0xe0, 0xea, 0x53,
+ 0x10, 0x17, 0x3e, 0x1f, 0xdc, 0x4b, 0x75, 0x1f, 0xca, 0xab, 0xb6, 0xd1, 0x73, 0x4c, 0xdb, 0x1f,
+ 0x62, 0x4c, 0x97, 0x61, 0xac, 0xef, 0x5a, 0x62, 0x48, 0x15, 0x51, 0x61, 0x6c, 0x0b, 0xaf, 0x61,
+ 0x5a, 0x8e, 0xde, 0x0b, 0x53, 0xbd, 0xbe, 0xdb, 0x73, 0xbc, 0x60, 0x5c, 0xa1, 0x94, 0xdd, 0xe2,
+ 0xc5, 0x38, 0x80, 0xab, 0xf7, 0x15, 0x98, 0x5f, 0x3d, 0xe8, 0x99, 0x2e, 0x73, 0xbb, 0x24, 0x2e,
+ 0x95, 0x20, 0x69, 0xfb, 0x7d, 0xfe, 0xaf, 0xe8, 0x43, 0xd8, 0x5e, 0xd4, 0xc0, 0x01, 0x1c, 0xed,
+ 0xc0, 0x1c, 0x61, 0xcd, 0xd9, 0x51, 0xa1, 0x85, 0x26, 0xff, 0x93, 0x18, 0x96, 0xb8, 0x57, 0x6f,
+ 0x0c, 0x0b, 0x4e, 0x60, 0x45, 0x6d, 0x98, 0xd3, 0x2d, 0xcd, 0xf3, 0xcc, 0x1d, 0x53, 0x8f, 0x1c,
+ 0x0a, 0xa6, 0x57, 0xde, 0x47, 0xdb, 0xd6, 0x63, 0x90, 0xfb, 0x47, 0xd5, 0x8b, 0xa2, 0x9f, 0x71,
+ 0x00, 0x4e, 0xa0, 0x50, 0x7f, 0x57, 0x81, 0xe9, 0x50, 0x6e, 0x7e, 0x4b, 0x59, 0x88, 0x4e, 0xe0,
+ 0x37, 0xed, 0x41, 0xf9, 0x86, 0xf8, 0xac, 0xd0, 0x12, 0x94, 0xcc, 0xe0, 0xac, 0x05, 0x31, 0x80,
+ 0x52, 0xb3, 0x81, 0x4b, 0xa6, 0x11, 0xee, 0xaa, 0x52, 0xee, 0xae, 0x92, 0x96, 0x7d, 0x6c, 0xf0,
+ 0xb2, 0xab, 0xbf, 0xae, 0x40, 0xe5, 0xa6, 0xb9, 0x4d, 0x5c, 0x6e, 0x7c, 0x66, 0x7c, 0x31, 0xe6,
+ 0xb2, 0x5f, 0xc9, 0x72, 0xd7, 0x47, 0x07, 0x30, 0xed, 0xe9, 0xbb, 0xc4, 0xe8, 0x5b, 0xa1, 0xcb,
+ 0x43, 0x21, 0xc7, 0x7c, 0x89, 0x74, 0x5b, 0xe0, 0x93, 0x1c, 0x0e, 0x03, 0x0a, 0x38, 0x22, 0xa6,
+ 0x7e, 0x0a, 0xce, 0x67, 0x34, 0x42, 0x55, 0x98, 0xf0, 0x7c, 0xcd, 0xf5, 0xc5, 0x9c, 0x31, 0x76,
+ 0xc3, 0xfc, 0x3b, 0x30, 0x2f, 0x47, 0x8f, 0xc2, 0x18, 0xb1, 0x0d, 0x31, 0x69, 0x53, 0xf4, 0x2b,
+ 0x5b, 0xb5, 0x0d, 0x4c, 0xcb, 0xe8, 0x12, 0x59, 0x4e, 0x6c, 0x33, 0xb2, 0x25, 0x5a, 0x13, 0x65,
+ 0x38, 0x84, 0xaa, 0xff, 0x6c, 0x1c, 0x2e, 0xdf, 0x74, 0x5c, 0xf3, 0x9e, 0x63, 0xfb, 0x9a, 0xd5,
+ 0x72, 0x8c, 0xe8, 0x12, 0x4f, 0x2c, 0xf7, 0xe7, 0x15, 0x78, 0x44, 0xef, 0xf5, 0x9b, 0xb6, 0xe9,
+ 0x9b, 0x5a, 0x70, 0xb7, 0xd2, 0x22, 0xae, 0xe9, 0x14, 0xbd, 0xcb, 0x63, 0x0e, 0xdc, 0xf5, 0xd6,
+ 0x56, 0x16, 0x4a, 0x9c, 0x47, 0x8b, 0x5d, 0x29, 0x1a, 0xce, 0x5d, 0x9b, 0x75, 0xae, 0xed, 0x33,
+ 0xa7, 0xf2, 0x7b, 0xd1, 0x10, 0x0b, 0x5e, 0x29, 0x36, 0x32, 0x31, 0xe2, 0x1c, 0x4a, 0xe8, 0xd3,
+ 0x70, 0xd1, 0xe4, 0x9d, 0xc3, 0x44, 0x33, 0x4c, 0x9b, 0x78, 0x1e, 0xbb, 0x58, 0x1b, 0xe5, 0xce,
+ 0xac, 0x99, 0x85, 0x10, 0x67, 0xd3, 0x41, 0xaf, 0x01, 0x78, 0x87, 0xb6, 0x2e, 0xe6, 0x7f, 0xa2,
+ 0x10, 0x55, 0x7e, 0x92, 0x86, 0x58, 0xb0, 0x84, 0x91, 0x1e, 0x26, 0xbe, 0x63, 0x11, 0x57, 0xb3,
+ 0x75, 0x6e, 0xfb, 0x56, 0xf8, 0x61, 0xb2, 0x19, 0x14, 0xe2, 0x08, 0xae, 0xfe, 0x63, 0x05, 0xa6,
+ 0xc4, 0xb3, 0x0e, 0xf4, 0x9e, 0x84, 0x40, 0x15, 0x1a, 0xc0, 0x12, 0x42, 0xd5, 0x21, 0x33, 0x5e,
+ 0x08, 0x59, 0x5c, 0x30, 0xa9, 0x42, 0x27, 0xb2, 0x20, 0x1c, 0x09, 0xf6, 0x31, 0x23, 0x46, 0x20,
+ 0xec, 0x4b, 0xc4, 0xd4, 0xaf, 0x2b, 0xb0, 0x90, 0x6a, 0x35, 0x84, 0x1a, 0xf0, 0x10, 0xad, 0xef,
+ 0x7f, 0x54, 0x01, 0xf6, 0x82, 0xa7, 0xd6, 0x6a, 0xb6, 0x89, 0xbb, 0x1f, 0x7e, 0x84, 0x5f, 0x52,
+ 0x60, 0x3e, 0xba, 0x27, 0x12, 0xbd, 0x50, 0x8a, 0x3b, 0x13, 0xdd, 0x4a, 0xe0, 0x5a, 0x59, 0x14,
+ 0xe3, 0x9e, 0x4f, 0x42, 0x70, 0x8a, 0x2e, 0xfa, 0xa2, 0x02, 0xf3, 0x5a, 0xfc, 0x05, 0x4f, 0xc0,
+ 0x32, 0x0b, 0xf9, 0x9b, 0x26, 0x5e, 0x03, 0x45, 0x7d, 0x49, 0x00, 0x3c, 0x9c, 0x22, 0x8b, 0x3e,
+ 0x08, 0x33, 0x5a, 0xcf, 0xac, 0xf5, 0x0d, 0x93, 0xd8, 0x7a, 0xf8, 0x98, 0x83, 0x99, 0x28, 0x6a,
+ 0xad, 0x66, 0x58, 0x8e, 0x63, 0xb5, 0xc2, 0x87, 0x37, 0x62, 0x22, 0xc7, 0x47, 0x7c, 0x78, 0x23,
+ 0xe6, 0x30, 0x7a, 0x78, 0x23, 0xa6, 0x4e, 0x26, 0x82, 0x7e, 0x1c, 0x1e, 0xe5, 0x67, 0xcd, 0x8a,
+ 0xe6, 0x99, 0x7a, 0xad, 0xef, 0xef, 0x12, 0xdb, 0x0f, 0x24, 0x06, 0xae, 0x8b, 0x31, 0xe7, 0x82,
+ 0xd5, 0xbc, 0x4a, 0x38, 0xbf, 0x3d, 0xb2, 0x01, 0x1c, 0xd3, 0xd0, 0xc5, 0x78, 0xf8, 0xfd, 0x76,
+ 0x21, 0xdf, 0x8f, 0xdb, 0xcd, 0x46, 0x5d, 0x0c, 0x87, 0xb1, 0x89, 0xe8, 0x37, 0x96, 0x28, 0xa0,
+ 0x2f, 0x2b, 0x30, 0x2b, 0x36, 0xb9, 0xa0, 0x39, 0xc5, 0xd6, 0xff, 0xd5, 0xa2, 0x9b, 0x31, 0xb1,
+ 0xe1, 0x97, 0xb1, 0x8c, 0x9c, 0x7b, 0xd0, 0x86, 0xde, 0x4e, 0x31, 0x18, 0x8e, 0xf7, 0x03, 0xfd,
+ 0x5d, 0x05, 0x2e, 0x78, 0xc4, 0xdd, 0x37, 0x75, 0x52, 0xd3, 0x75, 0xa7, 0x6f, 0x07, 0x8b, 0x5c,
+ 0x2e, 0xfe, 0x08, 0xa2, 0x9d, 0x81, 0x8f, 0x5f, 0xb3, 0x67, 0x41, 0x70, 0x26, 0x7d, 0x7a, 0x7e,
+ 0x9d, 0xbb, 0xab, 0xf9, 0xfa, 0x6e, 0x5d, 0xd3, 0x77, 0x99, 0xfc, 0xce, 0x6f, 0xd6, 0x0b, 0x7e,
+ 0x34, 0x2f, 0xc7, 0x51, 0x71, 0x83, 0x43, 0xa2, 0x10, 0x27, 0x09, 0x22, 0x0f, 0xca, 0x2e, 0x79,
+ 0xa3, 0x4f, 0x3c, 0x76, 0xfd, 0x4e, 0x89, 0x37, 0x47, 0x5e, 0x31, 0x2c, 0x10, 0x72, 0x19, 0x23,
+ 0xf8, 0x85, 0x43, 0x42, 0xa8, 0x03, 0x97, 0xf9, 0xce, 0xad, 0xd9, 0x8e, 0x7d, 0xd8, 0x75, 0xfa,
+ 0x5e, 0x62, 0xf7, 0x57, 0xd8, 0xee, 0x67, 0x0e, 0x06, 0xab, 0x83, 0x2a, 0xe2, 0xc1, 0x78, 0xd0,
+ 0x2b, 0x50, 0x26, 0xfb, 0xc4, 0xf6, 0x37, 0x37, 0xd7, 0x16, 0x67, 0x0a, 0x1d, 0x8d, 0x6c, 0x08,
+ 0xab, 0x02, 0x07, 0x0e, 0xb1, 0x2d, 0xbd, 0x08, 0x28, 0xbd, 0x23, 0xd1, 0x3c, 0x8c, 0xed, 0x11,
+ 0xfe, 0x6e, 0x6f, 0x1a, 0xd3, 0x7f, 0xd1, 0x05, 0x98, 0xd8, 0xd7, 0xac, 0x3e, 0x17, 0x65, 0xcb,
+ 0x98, 0xff, 0x78, 0xb6, 0xf4, 0x11, 0x45, 0xfd, 0xa6, 0x02, 0x17, 0x33, 0xa7, 0x0d, 0x61, 0xb8,
+ 0xc4, 0xfc, 0x32, 0xec, 0xf5, 0xbe, 0xaf, 0xf9, 0xa6, 0xdd, 0x69, 0xda, 0x3b, 0x96, 0xd9, 0xd9,
+ 0xe5, 0x92, 0xdf, 0x04, 0x97, 0x53, 0xd6, 0x33, 0x6b, 0xe0, 0x9c, 0x96, 0xa8, 0x09, 0xe7, 0xbb,
+ 0xda, 0x41, 0x0a, 0x61, 0x89, 0x21, 0x64, 0xef, 0x44, 0xd7, 0xd3, 0x60, 0x9c, 0xd5, 0x46, 0xfd,
+ 0xea, 0x04, 0x3c, 0x46, 0x3b, 0x1e, 0x1d, 0x99, 0xeb, 0x9a, 0xad, 0x75, 0xde, 0x9a, 0x47, 0xd3,
+ 0xaf, 0x2b, 0xf0, 0xc8, 0x6e, 0xb6, 0x38, 0x2b, 0x0e, 0xed, 0x97, 0x0a, 0x09, 0xf5, 0x83, 0x24,
+ 0x64, 0xbe, 0x71, 0x07, 0x56, 0xc1, 0x79, 0x9d, 0x42, 0x2f, 0xc2, 0xbc, 0xed, 0x18, 0xa4, 0xde,
+ 0x6c, 0xe0, 0x75, 0xcd, 0xdb, 0x6b, 0x07, 0x0a, 0xff, 0x04, 0xb7, 0xe8, 0x6d, 0x24, 0x60, 0x38,
+ 0x55, 0x1b, 0xed, 0x03, 0xea, 0x39, 0xc6, 0xea, 0xbe, 0xa9, 0x07, 0x2e, 0x15, 0xc5, 0xad, 0x88,
+ 0xcc, 0xc3, 0xbc, 0x95, 0xc2, 0x86, 0x33, 0x28, 0x30, 0x79, 0x9c, 0x76, 0x66, 0xdd, 0xb1, 0x4d,
+ 0xdf, 0x71, 0x99, 0xdf, 0xcf, 0x48, 0x62, 0x29, 0xdb, 0xe7, 0x1b, 0x99, 0x18, 0x71, 0x0e, 0x25,
+ 0xf5, 0x7f, 0x2b, 0x70, 0x8e, 0x6e, 0x8b, 0x96, 0xeb, 0x1c, 0x1c, 0xbe, 0x15, 0x37, 0xe4, 0x7b,
+ 0x85, 0xad, 0x92, 0x6b, 0x69, 0x17, 0x25, 0x3b, 0xe5, 0x34, 0xeb, 0x73, 0x64, 0x9a, 0x94, 0x15,
+ 0xd5, 0xb1, 0x7c, 0x45, 0x55, 0xfd, 0x72, 0x89, 0x8b, 0x88, 0x81, 0xa2, 0xf8, 0x96, 0xfc, 0x0e,
+ 0x3f, 0x0c, 0xb3, 0xb4, 0x6c, 0x5d, 0x3b, 0x68, 0x35, 0xee, 0x38, 0x56, 0xe0, 0x8e, 0xc4, 0x2e,
+ 0x3f, 0x6f, 0xc9, 0x00, 0x1c, 0xaf, 0x87, 0x9e, 0x85, 0xa9, 0x1e, 0x77, 0xf0, 0x16, 0x8a, 0xeb,
+ 0x55, 0x6e, 0x20, 0x64, 0x45, 0xf7, 0x8f, 0xaa, 0x0b, 0x62, 0xd8, 0xa6, 0xdd, 0x11, 0x85, 0x38,
+ 0x68, 0xa0, 0xfe, 0xca, 0x39, 0x60, 0xc8, 0x2d, 0xe2, 0xbf, 0x15, 0xe7, 0xe4, 0x29, 0xa8, 0xe8,
+ 0xbd, 0x7e, 0xfd, 0x7a, 0xfb, 0xa5, 0xbe, 0xe3, 0x6b, 0xc2, 0xfe, 0xc9, 0x64, 0xc6, 0x7a, 0x6b,
+ 0x2b, 0x28, 0xc6, 0x72, 0x1d, 0xca, 0x1d, 0xf4, 0x5e, 0x5f, 0xf0, 0xdb, 0x96, 0x7c, 0x03, 0xc8,
+ 0xb8, 0x43, 0xbd, 0xb5, 0x15, 0x83, 0xe1, 0x54, 0x6d, 0xf4, 0x69, 0x98, 0x21, 0xe2, 0xc3, 0xbd,
+ 0xa9, 0xb9, 0x86, 0xe0, 0x0b, 0x85, 0x0f, 0xfd, 0x70, 0x6a, 0x03, 0x6e, 0xc0, 0x45, 0xed, 0x55,
+ 0x89, 0x04, 0x8e, 0x11, 0x64, 0x62, 0xaf, 0xf8, 0x4d, 0x57, 0xd9, 0x31, 0x92, 0x8c, 0x62, 0x42,
+ 0x88, 0xbd, 0x79, 0x95, 0x70, 0x7e, 0x7b, 0xf4, 0x6b, 0x0a, 0x5c, 0x0a, 0xa1, 0xa6, 0x6d, 0x76,
+ 0xfb, 0x5d, 0x4c, 0x74, 0x4b, 0x33, 0xbb, 0x42, 0x06, 0x7e, 0xf9, 0xd4, 0x06, 0x1a, 0x47, 0xcf,
+ 0x99, 0x55, 0x36, 0x0c, 0xe7, 0x74, 0x09, 0x7d, 0x5d, 0x81, 0xab, 0x01, 0xa8, 0x45, 0xb5, 0xd0,
+ 0xbe, 0x4b, 0x22, 0x67, 0x38, 0x31, 0x25, 0x53, 0x85, 0x78, 0xe7, 0x13, 0xc7, 0x47, 0xd5, 0xab,
+ 0xab, 0x0f, 0xc0, 0x8d, 0x1f, 0x48, 0x5d, 0xde, 0x2e, 0x6d, 0x67, 0xc7, 0x17, 0x42, 0xf3, 0x59,
+ 0x6d, 0x17, 0x4a, 0x02, 0xc7, 0x08, 0xa2, 0xdf, 0x50, 0xe0, 0x11, 0xb9, 0x40, 0xde, 0x2d, 0x5c,
+ 0x5a, 0x7e, 0xe5, 0xd4, 0x3a, 0x93, 0xc0, 0xcf, 0xed, 0x52, 0x39, 0x40, 0x9c, 0xd7, 0x2b, 0xca,
+ 0xb6, 0xbb, 0x6c, 0x63, 0x72, 0x89, 0x7a, 0x82, 0xb3, 0x6d, 0xbe, 0x57, 0x3d, 0x1c, 0xc0, 0xa8,
+ 0xa2, 0xda, 0x73, 0x8c, 0x96, 0x69, 0x78, 0x6b, 0x66, 0xd7, 0xf4, 0x99, 0xcc, 0x3b, 0xc6, 0xa7,
+ 0xa3, 0xe5, 0x18, 0xad, 0x66, 0x83, 0x97, 0xe3, 0x58, 0x2d, 0xe6, 0xc2, 0x6e, 0x76, 0xb5, 0x0e,
+ 0x69, 0xf5, 0x2d, 0xab, 0xe5, 0x3a, 0xcc, 0x78, 0xd1, 0x20, 0x9a, 0x61, 0x99, 0x36, 0x29, 0x28,
+ 0xe3, 0xb2, 0xcf, 0xad, 0x99, 0x87, 0x14, 0xe7, 0xd3, 0x43, 0xcb, 0x00, 0x3b, 0x9a, 0x69, 0xb5,
+ 0xef, 0x6a, 0xbd, 0xdb, 0xf6, 0xe2, 0x2c, 0x63, 0x60, 0x4c, 0x4b, 0xbc, 0x1e, 0x96, 0x62, 0xa9,
+ 0x06, 0xdd, 0x4d, 0x94, 0x0b, 0x62, 0xc2, 0x1f, 0xcf, 0x2d, 0xce, 0x9d, 0xd2, 0x6e, 0x0a, 0x10,
+ 0xf2, 0xe9, 0xbb, 0x25, 0x91, 0xc0, 0x31, 0x82, 0xe8, 0xf3, 0x0a, 0xcc, 0x79, 0x87, 0x9e, 0x4f,
+ 0xba, 0x61, 0x1f, 0xce, 0x9d, 0x76, 0x1f, 0x98, 0x59, 0xa7, 0x1d, 0x23, 0x82, 0x13, 0x44, 0x91,
+ 0x06, 0x8f, 0xb1, 0x59, 0xbd, 0x51, 0xbf, 0x69, 0x76, 0x76, 0x43, 0xc7, 0xf4, 0x16, 0x71, 0x75,
+ 0x62, 0xfb, 0x8b, 0xf3, 0x6c, 0xdf, 0x54, 0x8f, 0x8f, 0xaa, 0x8f, 0x35, 0xf3, 0xab, 0xe1, 0x41,
+ 0x38, 0xd0, 0x6b, 0xb0, 0x24, 0xc0, 0x6b, 0xce, 0xdd, 0x14, 0x85, 0x05, 0x46, 0x81, 0xbd, 0x16,
+ 0x68, 0xe6, 0xd6, 0xc2, 0x03, 0x30, 0x50, 0x8d, 0xc2, 0x23, 0x2e, 0xb3, 0xca, 0x92, 0x70, 0xf3,
+ 0x78, 0x8b, 0x88, 0x6d, 0x02, 0xa6, 0x51, 0xb4, 0xd3, 0x60, 0x9c, 0xd5, 0x46, 0x3d, 0x2a, 0x71,
+ 0x55, 0x28, 0xf5, 0x41, 0xa2, 0xe7, 0xe1, 0x5c, 0x97, 0x74, 0x1d, 0xf7, 0xb0, 0x16, 0x84, 0xdb,
+ 0x10, 0x66, 0x39, 0xa6, 0xdd, 0xae, 0xc7, 0x41, 0x38, 0x59, 0x97, 0x1e, 0x97, 0x6c, 0x04, 0xd7,
+ 0xdb, 0x51, 0xfb, 0x52, 0x74, 0x5c, 0x36, 0x13, 0x30, 0x9c, 0xaa, 0x8d, 0xea, 0xb0, 0x20, 0xca,
+ 0x9a, 0x54, 0xe2, 0xf4, 0xae, 0xbb, 0x24, 0x10, 0x44, 0xa8, 0xec, 0xb6, 0xd0, 0x4c, 0x02, 0x71,
+ 0xba, 0x3e, 0x1d, 0x05, 0xfd, 0x21, 0xf7, 0x62, 0x3c, 0x1a, 0xc5, 0x46, 0x1c, 0x84, 0x93, 0x75,
+ 0x03, 0x95, 0x20, 0xd6, 0x85, 0x89, 0x68, 0x14, 0x1b, 0x09, 0x18, 0x4e, 0xd5, 0x56, 0xff, 0xf3,
+ 0x38, 0xbc, 0x6b, 0x88, 0x43, 0x0c, 0x75, 0xb3, 0xa7, 0xfb, 0x01, 0x2c, 0x65, 0x39, 0x70, 0xf0,
+ 0x58, 0x7e, 0xa9, 0xaf, 0xd9, 0xbe, 0xe9, 0x1f, 0x0e, 0xb9, 0x3c, 0xbd, 0x9c, 0xe5, 0x39, 0x39,
+ 0xbd, 0x61, 0x97, 0xd3, 0xcb, 0x5b, 0xce, 0x93, 0x93, 0x1c, 0x7e, 0xf9, 0xbb, 0xd9, 0xcb, 0x5f,
+ 0x70, 0x56, 0x1f, 0xb8, 0x5d, 0x7a, 0x39, 0xdb, 0xa5, 0xe0, 0xac, 0x0e, 0xb1, 0xbd, 0xfe, 0x78,
+ 0x1c, 0x9e, 0x18, 0xe6, 0x40, 0x2d, 0xb8, 0xbf, 0x32, 0x8e, 0xac, 0x33, 0xdd, 0x5f, 0x79, 0xde,
+ 0x34, 0x67, 0xb8, 0xbf, 0x32, 0x48, 0x9e, 0xf5, 0xfe, 0xca, 0x9b, 0xd5, 0xb3, 0xda, 0x5f, 0x79,
+ 0xb3, 0x3a, 0xc4, 0xfe, 0xfa, 0xb3, 0xe4, 0xf9, 0x10, 0x9e, 0xa3, 0x4d, 0x18, 0xd3, 0x7b, 0xfd,
+ 0x82, 0x4c, 0x8a, 0x5d, 0x91, 0xd6, 0x5b, 0x5b, 0x98, 0xe2, 0x40, 0x18, 0x26, 0xf9, 0xfe, 0x29,
+ 0xc8, 0x82, 0x98, 0xc3, 0x10, 0xdf, 0x92, 0x58, 0x60, 0xa2, 0x53, 0x45, 0x7a, 0xbb, 0xa4, 0x4b,
+ 0x5c, 0xcd, 0x6a, 0xfb, 0x8e, 0xab, 0x75, 0x8a, 0x72, 0x1b, 0x36, 0x55, 0xab, 0x09, 0x5c, 0x38,
+ 0x85, 0x9d, 0x4e, 0x48, 0xcf, 0x34, 0x0a, 0xf2, 0x17, 0x36, 0x21, 0xad, 0x66, 0x03, 0x53, 0x1c,
+ 0xea, 0x3f, 0x98, 0x06, 0xe9, 0x59, 0x12, 0xd5, 0xdb, 0x34, 0xcb, 0x72, 0xee, 0xb6, 0x5c, 0x73,
+ 0xdf, 0xb4, 0x48, 0x87, 0x18, 0xe1, 0xbb, 0x15, 0x4f, 0x5c, 0xa4, 0x33, 0x41, 0xb2, 0x96, 0x57,
+ 0x09, 0xe7, 0xb7, 0xa7, 0x7a, 0xf9, 0x82, 0x9e, 0x7c, 0x34, 0x3a, 0xca, 0x65, 0x60, 0xea, 0x05,
+ 0x2a, 0xff, 0x9e, 0x52, 0xc5, 0x38, 0x4d, 0x16, 0xfd, 0x94, 0xc2, 0x8d, 0x15, 0xa1, 0x65, 0x56,
+ 0xac, 0xd9, 0x8d, 0x53, 0xba, 0xcb, 0x88, 0xac, 0x1e, 0x91, 0xed, 0x37, 0x4e, 0x90, 0x6a, 0x86,
+ 0x17, 0xf7, 0xb2, 0x6c, 0xac, 0x62, 0x65, 0x6f, 0x17, 0xed, 0x4a, 0x8e, 0xd1, 0x96, 0x5f, 0x3c,
+ 0x67, 0x56, 0xc0, 0xd9, 0x1d, 0x09, 0x67, 0x29, 0x34, 0x3b, 0x09, 0x26, 0x50, 0x78, 0x96, 0x12,
+ 0xf6, 0xab, 0x68, 0x96, 0x42, 0x00, 0x8e, 0x13, 0x44, 0x3d, 0x98, 0xde, 0x0b, 0x6c, 0x7d, 0x42,
+ 0xbf, 0xaf, 0x17, 0xa5, 0x2e, 0x19, 0x0c, 0xf9, 0x05, 0x77, 0x58, 0x88, 0x23, 0x22, 0x68, 0x17,
+ 0xa6, 0xf6, 0x38, 0x23, 0x12, 0x7a, 0x79, 0x6d, 0x64, 0xbd, 0x81, 0xab, 0x87, 0xa2, 0x08, 0x07,
+ 0xe8, 0x65, 0x07, 0x97, 0xf2, 0x03, 0xfc, 0x9a, 0xbe, 0xaa, 0xc0, 0xc5, 0x7d, 0xe2, 0xfa, 0xa6,
+ 0x9e, 0xb4, 0x70, 0x4f, 0x17, 0xd7, 0x6d, 0xee, 0x64, 0x21, 0xe4, 0xdb, 0x24, 0x13, 0x84, 0xb3,
+ 0xbb, 0x40, 0x35, 0x1d, 0x6e, 0xa8, 0x6c, 0xfb, 0x9a, 0x6f, 0xea, 0x9b, 0xce, 0x1e, 0xb1, 0xe9,
+ 0x60, 0x45, 0xf0, 0x46, 0x60, 0x8c, 0x83, 0x69, 0x3a, 0xab, 0xf9, 0xd5, 0xf0, 0x20, 0x1c, 0xea,
+ 0x0f, 0x14, 0x48, 0x99, 0xdb, 0xd0, 0xcf, 0x2a, 0x30, 0xb3, 0x43, 0x34, 0xbf, 0xef, 0x92, 0x1b,
+ 0x9a, 0x1f, 0xfa, 0x39, 0xdf, 0x39, 0x0d, 0x2b, 0xdf, 0xf2, 0x75, 0x09, 0x31, 0xbf, 0x8b, 0x0c,
+ 0x83, 0x1f, 0xc8, 0x20, 0x1c, 0xeb, 0xc1, 0xd2, 0x0b, 0xb0, 0x90, 0x6a, 0x78, 0xa2, 0x2b, 0xa3,
+ 0x7f, 0xa9, 0x40, 0x56, 0x38, 0x4f, 0xf4, 0x1a, 0x4c, 0x68, 0x86, 0x11, 0x46, 0xfb, 0x7a, 0xa6,
+ 0xd8, 0x9d, 0xbb, 0x21, 0xbb, 0x93, 0xb3, 0x9f, 0x98, 0xa3, 0x45, 0xd7, 0x01, 0x69, 0xb1, 0x8b,
+ 0xb5, 0xf5, 0xc8, 0xdb, 0x96, 0xdd, 0x10, 0xd4, 0x52, 0x50, 0x9c, 0xd1, 0x42, 0x7d, 0x0e, 0xe6,
+ 0xe2, 0xef, 0x5f, 0x4f, 0xe0, 0xbd, 0xa7, 0xfe, 0x4d, 0x05, 0x50, 0x3a, 0xd6, 0x06, 0x72, 0xa1,
+ 0x2c, 0x6a, 0x04, 0x4b, 0x5c, 0xc8, 0x90, 0x9b, 0xf4, 0x2b, 0x8c, 0xfc, 0xf9, 0x45, 0x81, 0x87,
+ 0x43, 0x3a, 0xea, 0x9f, 0x2b, 0x10, 0x85, 0x13, 0x42, 0x1f, 0x82, 0x8a, 0x41, 0x3c, 0xdd, 0x35,
+ 0x7b, 0x7e, 0x34, 0x8e, 0x30, 0x4e, 0x42, 0x23, 0x02, 0x61, 0xb9, 0x1e, 0x52, 0x61, 0xd2, 0xd7,
+ 0xbc, 0xbd, 0x66, 0x43, 0x68, 0xa4, 0x4c, 0x7e, 0xd8, 0x64, 0x25, 0x58, 0x40, 0xa2, 0xb7, 0xa4,
+ 0x63, 0x43, 0xbc, 0x25, 0x45, 0x3b, 0xa7, 0xf0, 0x70, 0x16, 0x3d, 0xf8, 0xd1, 0xac, 0xfa, 0x87,
+ 0x25, 0x88, 0x47, 0x70, 0x2a, 0x3a, 0x05, 0xe9, 0x97, 0xbe, 0xa5, 0x33, 0x7b, 0xe9, 0xfb, 0x7e,
+ 0x16, 0xfe, 0x90, 0x47, 0xb6, 0xe5, 0xf7, 0x69, 0x72, 0xd0, 0x42, 0x1e, 0x97, 0x36, 0xac, 0x81,
+ 0x9e, 0x61, 0xbe, 0x76, 0x7e, 0xa0, 0xa7, 0xbf, 0x2b, 0xf8, 0x2c, 0x28, 0x03, 0x22, 0xf7, 0xc5,
+ 0x5b, 0xe6, 0x70, 0xfc, 0xac, 0x14, 0xf3, 0x16, 0xe8, 0x43, 0xc2, 0x35, 0x73, 0x22, 0xf6, 0xde,
+ 0x3a, 0x78, 0xa4, 0xbd, 0x10, 0x6b, 0x18, 0xf9, 0x6b, 0xaa, 0xdf, 0x56, 0x60, 0x4a, 0x04, 0x4e,
+ 0x19, 0xc2, 0xbb, 0x73, 0x07, 0x26, 0x98, 0x1e, 0x30, 0x8a, 0x88, 0xd4, 0xde, 0x75, 0x1c, 0x3f,
+ 0x16, 0x3e, 0x86, 0xb9, 0x14, 0xb2, 0x7f, 0x31, 0x47, 0xcf, 0xbc, 0x69, 0x5c, 0x7d, 0xd7, 0xf4,
+ 0x89, 0xee, 0x07, 0x41, 0x29, 0x02, 0x6f, 0x1a, 0xa9, 0x1c, 0xc7, 0x6a, 0xa9, 0x5f, 0x1b, 0x87,
+ 0xab, 0x02, 0x71, 0x4a, 0x6e, 0x08, 0x3f, 0xdc, 0x43, 0x38, 0x2f, 0xd6, 0xb6, 0xe1, 0x6a, 0x66,
+ 0x78, 0x4f, 0x59, 0x4c, 0x1f, 0x14, 0x37, 0xd8, 0x29, 0x74, 0x38, 0x8b, 0x06, 0x0f, 0xaf, 0xc0,
+ 0x8a, 0x6f, 0x12, 0xcd, 0xf2, 0x77, 0x03, 0xda, 0xa5, 0x51, 0xc2, 0x2b, 0xa4, 0xf1, 0xe1, 0x4c,
+ 0x2a, 0xec, 0x9e, 0x54, 0x00, 0xea, 0x2e, 0xd1, 0xe4, 0x4b, 0xda, 0x11, 0xfc, 0x16, 0xd7, 0x33,
+ 0x31, 0xe2, 0x1c, 0x4a, 0xcc, 0xb0, 0xa6, 0x1d, 0x30, 0x3d, 0x1d, 0x13, 0xdf, 0x35, 0x59, 0x18,
+ 0x20, 0xfa, 0x55, 0x70, 0xcd, 0x3a, 0x0e, 0xc2, 0xc9, 0xba, 0xe8, 0x59, 0x98, 0x63, 0xf7, 0xce,
+ 0xd1, 0xab, 0xc3, 0x89, 0x28, 0xe8, 0xf1, 0x46, 0x0c, 0x82, 0x13, 0x35, 0xd5, 0x5f, 0x55, 0x60,
+ 0x46, 0xde, 0x76, 0x43, 0xf8, 0x90, 0xf7, 0x25, 0x26, 0x3f, 0x82, 0x2b, 0xae, 0x4c, 0x75, 0x18,
+ 0x3e, 0xff, 0x9b, 0x25, 0x38, 0x9f, 0xd1, 0x86, 0xdd, 0x22, 0x92, 0xc4, 0x81, 0x31, 0xca, 0x2d,
+ 0x62, 0xea, 0xf0, 0x09, 0x6f, 0x11, 0x93, 0x10, 0x9c, 0xa2, 0x8b, 0xee, 0xc0, 0x98, 0xee, 0x9a,
+ 0x62, 0x5a, 0x3e, 0x5c, 0x48, 0x57, 0xc2, 0xcd, 0xc8, 0x31, 0xbf, 0x8e, 0x9b, 0x98, 0x22, 0x44,
+ 0x1f, 0x86, 0x59, 0xf9, 0xa3, 0x0e, 0xce, 0x20, 0x26, 0x95, 0xcb, 0xdf, 0xbe, 0x87, 0xe3, 0xf5,
+ 0xd4, 0x3f, 0x1d, 0x83, 0x8a, 0x14, 0x02, 0x0a, 0xad, 0x8f, 0xa2, 0xa3, 0x47, 0xfd, 0x0a, 0xf4,
+ 0xf4, 0x75, 0x18, 0xeb, 0xf4, 0xfa, 0x05, 0x95, 0xf4, 0x10, 0xdd, 0x0d, 0x8a, 0xae, 0xd3, 0xeb,
+ 0xa3, 0x3b, 0xa1, 0xda, 0x5f, 0x4c, 0x31, 0x0f, 0xdd, 0x5a, 0x13, 0xaa, 0x7f, 0xb0, 0xa9, 0xc7,
+ 0x73, 0x37, 0x75, 0x17, 0xa6, 0x3c, 0x61, 0x13, 0x98, 0x28, 0xfe, 0x84, 0x4a, 0x9a, 0x69, 0x61,
+ 0x03, 0xe0, 0x0a, 0x45, 0x60, 0x22, 0x08, 0x68, 0x50, 0x79, 0xa3, 0xcf, 0xdc, 0xf0, 0x99, 0xa6,
+ 0x54, 0xe6, 0xf2, 0xc6, 0x16, 0x2b, 0xc1, 0x02, 0x92, 0x62, 0xf7, 0x53, 0x43, 0xb1, 0xfb, 0x2f,
+ 0x94, 0x00, 0xa5, 0xbb, 0x81, 0xde, 0x05, 0x13, 0xec, 0x0d, 0x83, 0xf8, 0xae, 0xa5, 0xc0, 0x2a,
+ 0x9a, 0xe7, 0x61, 0x0e, 0x43, 0x6d, 0xf1, 0xa6, 0xa5, 0xd8, 0x72, 0xb2, 0xcb, 0x72, 0x41, 0x4f,
+ 0x7a, 0x00, 0x13, 0x9c, 0x9f, 0x63, 0xb9, 0xe7, 0xe7, 0x16, 0x4c, 0x75, 0x4d, 0x9b, 0x39, 0xd7,
+ 0x14, 0x33, 0x95, 0xf0, 0x3b, 0x3d, 0x8e, 0x02, 0x07, 0xb8, 0xd4, 0x3f, 0x2e, 0xd1, 0xad, 0x6f,
+ 0xda, 0x3e, 0xb1, 0x35, 0x5b, 0x27, 0xe8, 0x10, 0x40, 0xeb, 0xfb, 0x0e, 0x17, 0x43, 0xc4, 0x17,
+ 0xd0, 0x2c, 0xb6, 0xca, 0x21, 0xd2, 0x5a, 0x88, 0x90, 0x5f, 0xb5, 0x45, 0xbf, 0xb1, 0x44, 0x8c,
+ 0x92, 0xf6, 0xcd, 0x2e, 0x79, 0xd9, 0xb4, 0x0d, 0xe7, 0xae, 0x98, 0xde, 0x51, 0x49, 0x6f, 0x86,
+ 0x08, 0x39, 0xe9, 0xe8, 0x37, 0x96, 0x88, 0xa1, 0x57, 0x60, 0x91, 0x69, 0x66, 0x36, 0x8b, 0xc9,
+ 0x27, 0xfa, 0xe6, 0x58, 0x56, 0x70, 0xc2, 0x95, 0x59, 0x1c, 0xa4, 0xc5, 0x7a, 0x4e, 0x1d, 0x9c,
+ 0xdb, 0x5a, 0xfd, 0x0d, 0x05, 0x2e, 0x66, 0x4e, 0x05, 0xba, 0x01, 0x0b, 0x91, 0x7f, 0x85, 0xcc,
+ 0x92, 0xcb, 0x51, 0x88, 0xc9, 0x5b, 0xc9, 0x0a, 0x38, 0xdd, 0x06, 0xad, 0x87, 0x62, 0x89, 0xcc,
+ 0xf2, 0x85, 0x73, 0xc6, 0x63, 0x02, 0x55, 0xd6, 0xa9, 0x80, 0xb3, 0xda, 0xa9, 0x3f, 0x1e, 0xeb,
+ 0x70, 0x34, 0x61, 0xf4, 0xeb, 0xd8, 0x26, 0x9d, 0xd0, 0x3b, 0x3e, 0xfc, 0x3a, 0x56, 0x68, 0x21,
+ 0xe6, 0x30, 0x74, 0x59, 0x7e, 0xd1, 0x11, 0xf2, 0xae, 0xe0, 0x55, 0x87, 0xea, 0x03, 0x08, 0x17,
+ 0x28, 0xd3, 0xee, 0xa0, 0x1d, 0x28, 0x6b, 0x22, 0x29, 0x81, 0xd8, 0x6a, 0x1f, 0x2d, 0xa4, 0x08,
+ 0x0a, 0x1c, 0xdc, 0xf5, 0x31, 0xf8, 0x85, 0x43, 0xdc, 0xea, 0x3f, 0x52, 0xe0, 0x12, 0x65, 0x63,
+ 0x46, 0xf0, 0x70, 0x36, 0x8c, 0x65, 0x30, 0xc4, 0x49, 0xde, 0x85, 0x8a, 0x1b, 0x35, 0x13, 0xfb,
+ 0xf2, 0xc7, 0xe4, 0x38, 0x09, 0xd2, 0x73, 0x4f, 0x2a, 0xe5, 0xd4, 0x5d, 0xc7, 0x0b, 0x16, 0x27,
+ 0x19, 0x3a, 0x21, 0xd4, 0x30, 0xa4, 0x9e, 0x60, 0x19, 0xbf, 0xfa, 0xd9, 0x12, 0xc0, 0x06, 0xf1,
+ 0xef, 0x3a, 0xee, 0x1e, 0x9d, 0xa2, 0xb7, 0xd4, 0xb3, 0xa9, 0xc7, 0x61, 0xbc, 0xe7, 0x18, 0x9e,
+ 0xe0, 0x52, 0xec, 0xb1, 0x1f, 0xf3, 0x10, 0x60, 0xa5, 0xa8, 0x0a, 0x13, 0xcc, 0x00, 0x2e, 0x0e,
+ 0x10, 0x26, 0x9a, 0x53, 0xc1, 0xca, 0xc3, 0xbc, 0x9c, 0x87, 0x9b, 0x65, 0x6e, 0xc5, 0x9e, 0xd0,
+ 0x35, 0x44, 0xb8, 0x59, 0x5e, 0x86, 0x43, 0xa8, 0xfa, 0xd9, 0x71, 0x88, 0xe5, 0xdf, 0x88, 0xec,
+ 0x05, 0xca, 0xd9, 0xd8, 0x0b, 0x5e, 0x81, 0x45, 0xcb, 0xd1, 0x8c, 0x15, 0xcd, 0xa2, 0x9b, 0xde,
+ 0x6d, 0xf3, 0xe5, 0xd0, 0xec, 0x4e, 0x98, 0xb2, 0x81, 0x31, 0x80, 0xb5, 0x9c, 0x3a, 0x38, 0xb7,
+ 0x35, 0xf2, 0xc3, 0xac, 0x1f, 0x3c, 0x64, 0xe6, 0xda, 0xa8, 0xd9, 0x49, 0x96, 0x65, 0x87, 0xf2,
+ 0xf0, 0x2c, 0x4f, 0x24, 0x06, 0xf9, 0x69, 0x05, 0x2e, 0x92, 0x03, 0x9f, 0xb8, 0xb6, 0x66, 0x6d,
+ 0xba, 0xda, 0xce, 0x8e, 0xa9, 0x0b, 0xdf, 0x2b, 0xbe, 0x38, 0xad, 0xe3, 0xa3, 0xea, 0xc5, 0xd5,
+ 0xac, 0x0a, 0xf7, 0x8f, 0xaa, 0x1f, 0x48, 0x27, 0xdf, 0x09, 0xfc, 0xc7, 0x33, 0x9b, 0xb0, 0xcd,
+ 0x98, 0x4d, 0x6e, 0xe9, 0x19, 0xa8, 0x9c, 0xc0, 0xdd, 0x78, 0x5a, 0xb6, 0x1d, 0xbd, 0xa9, 0xc0,
+ 0x0c, 0xdd, 0x3f, 0x6b, 0x8e, 0xae, 0x59, 0x8d, 0x8d, 0xf6, 0x09, 0x32, 0xd7, 0xa0, 0x35, 0xb8,
+ 0xb0, 0xe3, 0xb8, 0x3a, 0xd9, 0xac, 0xb7, 0x36, 0x1d, 0x61, 0x42, 0x6f, 0x6c, 0xb4, 0x05, 0x53,
+ 0x64, 0xfa, 0xcf, 0xf5, 0x0c, 0x38, 0xce, 0x6c, 0x85, 0x6e, 0xc3, 0xc5, 0xa8, 0x7c, 0xab, 0xe7,
+ 0xf9, 0x2e, 0xd1, 0xba, 0x14, 0x1d, 0x3f, 0x1b, 0x98, 0x89, 0xf1, 0x7a, 0x56, 0x05, 0x9c, 0xdd,
+ 0x4e, 0xfd, 0x85, 0x49, 0x90, 0x9e, 0x25, 0x9c, 0x20, 0x06, 0xec, 0x2f, 0x2b, 0x70, 0x41, 0xb7,
+ 0x4c, 0x62, 0xfb, 0x09, 0xff, 0x73, 0xfe, 0xcd, 0x6f, 0x15, 0x7a, 0x2f, 0xd1, 0x23, 0x76, 0xb3,
+ 0x51, 0x77, 0x6c, 0x9b, 0xe8, 0x7e, 0x3d, 0x03, 0x39, 0x9f, 0xaf, 0x2c, 0x08, 0xce, 0xec, 0x0c,
+ 0x1b, 0x0f, 0x2b, 0x6f, 0x36, 0xe4, 0xb7, 0x7b, 0x75, 0x51, 0x86, 0x43, 0x28, 0x7a, 0x0a, 0x2a,
+ 0x1d, 0xd7, 0xe9, 0xf7, 0xbc, 0x3a, 0xf3, 0x78, 0xe3, 0x9b, 0x93, 0xc9, 0x48, 0x37, 0xa2, 0x62,
+ 0x2c, 0xd7, 0xa1, 0x12, 0x1f, 0xff, 0xd9, 0x72, 0xc9, 0x8e, 0x79, 0x20, 0x38, 0x09, 0x93, 0xf8,
+ 0x6e, 0x48, 0xe5, 0x38, 0x56, 0x0b, 0xbd, 0x0f, 0xa6, 0x4d, 0xcf, 0xeb, 0x13, 0x77, 0x0b, 0xaf,
+ 0x89, 0x80, 0x68, 0xcc, 0x66, 0xde, 0x0c, 0x0a, 0x71, 0x04, 0x47, 0x3f, 0xa7, 0xc0, 0x9c, 0x4b,
+ 0xde, 0xe8, 0x9b, 0x2e, 0x31, 0x18, 0x51, 0x4f, 0xbc, 0x0d, 0xc1, 0xa3, 0xbd, 0x47, 0x59, 0xc6,
+ 0x31, 0xa4, 0xfc, 0x13, 0x0e, 0xcd, 0x41, 0x71, 0x20, 0x4e, 0xf4, 0x80, 0x4e, 0x95, 0x67, 0x76,
+ 0x6c, 0xd3, 0xee, 0xd4, 0xac, 0x8e, 0xb7, 0x58, 0x66, 0x5c, 0x89, 0x8b, 0x93, 0x51, 0x31, 0x96,
+ 0xeb, 0x50, 0x85, 0xa8, 0xef, 0xd1, 0x8f, 0xb2, 0x4b, 0xf8, 0xfc, 0x4e, 0x47, 0x2e, 0xac, 0x5b,
+ 0x32, 0x00, 0xc7, 0xeb, 0x51, 0x65, 0x39, 0x28, 0x10, 0xb3, 0x0c, 0xfc, 0x05, 0x37, 0xed, 0xe7,
+ 0x56, 0x0c, 0x82, 0x13, 0x35, 0x97, 0x6a, 0x70, 0x3e, 0x63, 0x98, 0x27, 0xfa, 0xf2, 0x7f, 0xb5,
+ 0x04, 0xef, 0x7c, 0xe0, 0xae, 0x44, 0x7f, 0x4f, 0x81, 0x0a, 0x39, 0xf0, 0x5d, 0x2d, 0x74, 0x8a,
+ 0xa5, 0x4b, 0xb4, 0x73, 0x26, 0x9f, 0xc0, 0xf2, 0x6a, 0x44, 0x88, 0x2f, 0x5b, 0x78, 0x92, 0x4b,
+ 0x10, 0x2c, 0xf7, 0x87, 0xaa, 0x2f, 0xfc, 0x7d, 0xbf, 0x6c, 0x2e, 0x15, 0x79, 0x15, 0x04, 0x64,
+ 0xe9, 0x63, 0x30, 0x9f, 0xc4, 0x7c, 0xa2, 0x99, 0xfa, 0xcd, 0x12, 0x4c, 0xb4, 0x2c, 0xed, 0xa1,
+ 0xc4, 0xb6, 0xfb, 0x6b, 0xb1, 0xc0, 0x42, 0x85, 0xa2, 0x35, 0xb1, 0xae, 0xe6, 0x86, 0x34, 0xeb,
+ 0x24, 0x42, 0x9a, 0xbd, 0x50, 0x9c, 0xc4, 0xe0, 0x08, 0x66, 0xdf, 0x56, 0x60, 0x9a, 0xd5, 0x7b,
+ 0x08, 0x91, 0x74, 0x5e, 0x8b, 0x47, 0xd2, 0x79, 0xa6, 0xf0, 0x98, 0x72, 0x02, 0xe7, 0x7c, 0x37,
+ 0x18, 0x0b, 0x8b, 0x93, 0xf3, 0x09, 0x39, 0x9f, 0x0c, 0x1f, 0xcc, 0x93, 0x59, 0x21, 0xbd, 0xd8,
+ 0x99, 0x9a, 0x8a, 0xeb, 0x35, 0x30, 0xa9, 0x4c, 0x17, 0xa6, 0x89, 0x88, 0xa1, 0x10, 0x0c, 0xa6,
+ 0x90, 0xb4, 0x1e, 0x04, 0x62, 0x88, 0xc8, 0x05, 0x25, 0x1e, 0x8e, 0x28, 0xa8, 0xff, 0xa2, 0x04,
+ 0x15, 0x69, 0x2d, 0x7f, 0x18, 0x11, 0xc3, 0xae, 0x67, 0xa6, 0x5a, 0x28, 0x31, 0xaf, 0xd7, 0x4b,
+ 0x27, 0x48, 0xb3, 0xe0, 0x42, 0x45, 0x8f, 0xa2, 0xbf, 0x8e, 0xb2, 0xb9, 0xa5, 0x20, 0xb2, 0xc2,
+ 0xed, 0x3e, 0x2a, 0xc0, 0x32, 0x11, 0xf5, 0xb7, 0x4b, 0x30, 0xd5, 0x72, 0x1d, 0xba, 0xc0, 0x0f,
+ 0x81, 0x35, 0x68, 0x31, 0xd6, 0x50, 0xec, 0xbb, 0xe5, 0x9d, 0xcd, 0x65, 0x0e, 0x66, 0x82, 0x39,
+ 0xd4, 0x46, 0x21, 0x32, 0x98, 0x3d, 0xfc, 0x7b, 0x05, 0x2a, 0xa2, 0xe6, 0x43, 0x60, 0x10, 0x9f,
+ 0x8c, 0x33, 0x88, 0xe7, 0x46, 0x18, 0x57, 0x0e, 0x8b, 0xf8, 0xaa, 0x02, 0xb3, 0xa2, 0xc6, 0x3a,
+ 0xe9, 0x6e, 0x13, 0x17, 0x5d, 0x87, 0x29, 0xaf, 0xcf, 0x16, 0x52, 0x0c, 0xe8, 0x31, 0x99, 0x49,
+ 0xb8, 0xdb, 0x9a, 0xce, 0xb2, 0x06, 0xf1, 0x2a, 0x52, 0x14, 0x41, 0x5e, 0x80, 0x83, 0xc6, 0x54,
+ 0x3b, 0x75, 0x1d, 0x2b, 0x15, 0xf5, 0x02, 0x3b, 0x16, 0xc1, 0x0c, 0x42, 0x95, 0x42, 0xfa, 0x37,
+ 0xb0, 0xc5, 0x32, 0xa5, 0x90, 0x82, 0x3d, 0xcc, 0xcb, 0xd5, 0xcf, 0x8f, 0x87, 0x93, 0xcd, 0x38,
+ 0xd8, 0x4d, 0x98, 0xd6, 0x5d, 0xa2, 0xf9, 0xc4, 0x58, 0x39, 0x1c, 0xa6, 0x73, 0x4c, 0x8a, 0xab,
+ 0x07, 0x2d, 0x70, 0xd4, 0x98, 0x0a, 0x4c, 0xf2, 0x15, 0x5f, 0x29, 0x92, 0x2d, 0x73, 0xaf, 0xf7,
+ 0x3e, 0x0a, 0x13, 0xce, 0x5d, 0x3b, 0x74, 0x9f, 0x19, 0x48, 0x98, 0x0d, 0xe5, 0x36, 0xad, 0x8d,
+ 0x79, 0x23, 0x16, 0x19, 0x48, 0x04, 0x86, 0xe1, 0x82, 0x6c, 0x25, 0x2b, 0x28, 0x0c, 0xb2, 0x60,
+ 0xaa, 0xcb, 0x96, 0x61, 0xa4, 0xa0, 0x72, 0xb1, 0x05, 0x95, 0x83, 0xfb, 0x32, 0xcc, 0x38, 0x20,
+ 0x41, 0x05, 0x5f, 0x2a, 0x9c, 0x79, 0x3d, 0x4d, 0x27, 0xb2, 0xe0, 0xbb, 0x11, 0x14, 0xe2, 0x08,
+ 0x8e, 0x0e, 0xa1, 0xc2, 0x43, 0x23, 0x70, 0x2e, 0x3b, 0x55, 0xdc, 0xc8, 0x2b, 0xba, 0xb7, 0x19,
+ 0x61, 0xe3, 0x53, 0x2f, 0x15, 0x60, 0x99, 0x96, 0xfa, 0x33, 0xe3, 0xe1, 0x26, 0x15, 0x1c, 0x3f,
+ 0x3b, 0xd3, 0x8d, 0x52, 0x28, 0xd3, 0xcd, 0x07, 0x60, 0xa2, 0xb7, 0xab, 0x79, 0xc1, 0x4e, 0x0d,
+ 0x02, 0x51, 0x4f, 0xb4, 0x68, 0xe1, 0xfd, 0xa3, 0xea, 0x8c, 0x20, 0xcd, 0x7e, 0x63, 0x5e, 0x17,
+ 0xf5, 0xe1, 0xbc, 0xe7, 0x6b, 0x16, 0x69, 0x9b, 0xc2, 0x10, 0xe6, 0xf9, 0x5a, 0xb7, 0x57, 0x20,
+ 0x9e, 0x34, 0xf7, 0x2d, 0x4f, 0xa3, 0xc2, 0x59, 0xf8, 0xd1, 0xe7, 0x14, 0x58, 0x64, 0xe5, 0xb5,
+ 0xbe, 0xef, 0xf0, 0xc8, 0xfb, 0x11, 0xf1, 0x93, 0xdf, 0x8f, 0x33, 0xc3, 0x45, 0x3b, 0x07, 0x1f,
+ 0xce, 0xa5, 0x84, 0x3e, 0x05, 0x17, 0x2d, 0xcd, 0xf3, 0x6b, 0xba, 0x6f, 0xee, 0x9b, 0xfe, 0x61,
+ 0xd4, 0x85, 0x93, 0x67, 0xfd, 0x61, 0x0a, 0xf2, 0x5a, 0x16, 0x32, 0x9c, 0x4d, 0x43, 0xfd, 0x33,
+ 0x05, 0x50, 0x7a, 0x0b, 0x21, 0x0b, 0xca, 0x06, 0xd9, 0xd1, 0xfa, 0x96, 0x1f, 0x88, 0x00, 0x85,
+ 0x22, 0x04, 0x44, 0x28, 0x23, 0xce, 0xdc, 0x10, 0x78, 0x71, 0x48, 0x01, 0x39, 0x30, 0x7d, 0x77,
+ 0xd7, 0xf4, 0x89, 0x65, 0x7a, 0xbe, 0xe0, 0xce, 0xa3, 0x92, 0x0b, 0x65, 0x9e, 0x97, 0x03, 0xc4,
+ 0x38, 0xa2, 0xa1, 0x7e, 0x61, 0x0c, 0xca, 0x27, 0x48, 0xae, 0xd8, 0x07, 0x24, 0x42, 0x83, 0x50,
+ 0x41, 0x89, 0x8c, 0x62, 0xfd, 0x63, 0xe2, 0x4c, 0x3d, 0x85, 0x0c, 0x67, 0x10, 0x40, 0x9f, 0x82,
+ 0x0b, 0xa6, 0xbd, 0xe3, 0x6a, 0x9e, 0xef, 0xf6, 0xd9, 0x75, 0xca, 0x28, 0x71, 0xac, 0x99, 0x69,
+ 0xa1, 0x99, 0x81, 0x0e, 0x67, 0x12, 0x41, 0x04, 0xa6, 0xee, 0x3a, 0xee, 0x1e, 0x65, 0x9e, 0xe3,
+ 0xc5, 0x73, 0xa4, 0xbc, 0xcc, 0x50, 0x44, 0x5c, 0x93, 0xff, 0xf6, 0x70, 0x80, 0x5b, 0xfd, 0x7d,
+ 0x05, 0x26, 0xf8, 0xfb, 0xc5, 0xb7, 0x85, 0x5e, 0xc5, 0xba, 0x9a, 0x1b, 0x9f, 0x95, 0xaa, 0x3b,
+ 0xac, 0xc6, 0xdb, 0x44, 0xdd, 0x61, 0x7d, 0xcd, 0x91, 0x65, 0x7e, 0x7f, 0x4c, 0x8c, 0x85, 0x09,
+ 0x0b, 0x4d, 0x38, 0x2f, 0x84, 0xde, 0x35, 0x73, 0x87, 0xd0, 0xdd, 0xd5, 0xd0, 0x0e, 0x3d, 0x11,
+ 0x74, 0x80, 0x71, 0xdd, 0x7a, 0x1a, 0x8c, 0xb3, 0xda, 0xa0, 0x7f, 0xae, 0xd0, 0x63, 0xd9, 0x77,
+ 0x4d, 0x7d, 0xa4, 0xa0, 0xa7, 0x61, 0xdf, 0x96, 0xd7, 0x39, 0x32, 0x6e, 0x2d, 0xd8, 0x8a, 0xce,
+ 0x67, 0x56, 0x7a, 0xff, 0xa8, 0x5a, 0xcd, 0xb0, 0xb2, 0x06, 0xb7, 0x02, 0x74, 0x62, 0x3f, 0xfb,
+ 0xbd, 0x81, 0x55, 0xd8, 0x0d, 0x45, 0xd0, 0x63, 0x74, 0x13, 0x26, 0x3c, 0xdd, 0xe9, 0x91, 0x93,
+ 0x84, 0x71, 0x0e, 0x27, 0xb8, 0x4d, 0x5b, 0x62, 0x8e, 0x60, 0xe9, 0x75, 0x98, 0x91, 0x7b, 0x9e,
+ 0x61, 0x8d, 0x68, 0xc8, 0xd6, 0x88, 0x13, 0xdf, 0x43, 0xca, 0xd6, 0x8b, 0xdf, 0x29, 0x81, 0x48,
+ 0x6c, 0x36, 0xc4, 0x3d, 0x8c, 0x19, 0x84, 0x40, 0x1c, 0x21, 0x99, 0x5b, 0x32, 0x97, 0x73, 0x34,
+ 0x07, 0x72, 0x14, 0x44, 0x64, 0xc3, 0xa4, 0xa5, 0x6d, 0x13, 0x2b, 0x48, 0x73, 0x75, 0xbd, 0x78,
+ 0x1e, 0x26, 0x1e, 0x78, 0xd8, 0x4b, 0x58, 0xeb, 0x79, 0x21, 0x16, 0x54, 0x96, 0x9e, 0x81, 0x8a,
+ 0x54, 0xed, 0x44, 0x06, 0xa0, 0x2f, 0x2b, 0x70, 0x29, 0xd8, 0x12, 0xf1, 0xd0, 0x29, 0xe8, 0x49,
+ 0x28, 0x6b, 0x3d, 0x93, 0xd9, 0x44, 0x65, 0xab, 0x72, 0xad, 0xd5, 0x64, 0x65, 0x38, 0x84, 0xa2,
+ 0xf7, 0x43, 0x39, 0x58, 0x27, 0x21, 0x20, 0x85, 0x9f, 0x78, 0x78, 0x4f, 0x15, 0xd6, 0x40, 0xef,
+ 0x96, 0x82, 0x3a, 0x4e, 0x44, 0x27, 0x5a, 0x48, 0x98, 0x5f, 0x69, 0xab, 0x5f, 0x1c, 0x83, 0x59,
+ 0x6e, 0x48, 0x58, 0x31, 0x6d, 0xc3, 0xb4, 0x3b, 0x0f, 0x81, 0x95, 0xc6, 0xd2, 0xe9, 0x96, 0x4e,
+ 0x2b, 0x9d, 0xee, 0x2d, 0x98, 0x7c, 0x83, 0x7e, 0xd6, 0xc1, 0x76, 0x18, 0xea, 0xeb, 0x0a, 0xd7,
+ 0x9a, 0x71, 0x04, 0x0f, 0x0b, 0x14, 0xc8, 0x93, 0x92, 0x1a, 0x8f, 0xf0, 0x92, 0x3d, 0x36, 0xb3,
+ 0x61, 0x68, 0xd6, 0x99, 0xec, 0x8c, 0xc6, 0xea, 0x7f, 0x52, 0x60, 0x21, 0xd6, 0xe2, 0x21, 0x9c,
+ 0x04, 0x3b, 0xf1, 0x93, 0xa0, 0x36, 0xf2, 0x28, 0x73, 0x4e, 0x84, 0x67, 0xe0, 0x62, 0xe6, 0x64,
+ 0x3c, 0x58, 0x80, 0x52, 0xbf, 0x51, 0x82, 0xf1, 0x36, 0x21, 0xc6, 0x43, 0xd8, 0x99, 0xaf, 0xc5,
+ 0x0e, 0xf9, 0x8f, 0x16, 0x4e, 0xb6, 0x96, 0x67, 0x1e, 0xd9, 0x49, 0x98, 0x47, 0x3e, 0x56, 0x98,
+ 0xc2, 0x60, 0xdb, 0xc8, 0x2f, 0x96, 0x00, 0x68, 0x35, 0x9e, 0x80, 0x55, 0xf8, 0xa8, 0x46, 0x29,
+ 0xba, 0xa7, 0xdf, 0x2a, 0x89, 0xb5, 0xd5, 0x30, 0x91, 0xe6, 0x58, 0x64, 0x7c, 0x8f, 0x27, 0xd1,
+ 0x8c, 0x73, 0x8b, 0xf1, 0x53, 0xe2, 0x16, 0xea, 0x3f, 0x51, 0x80, 0xa5, 0x5b, 0x68, 0x6c, 0xb4,
+ 0xd1, 0x87, 0x61, 0xd6, 0xe4, 0xb7, 0xb6, 0x0d, 0x39, 0xb0, 0x20, 0xbb, 0x80, 0x69, 0xca, 0x00,
+ 0x1c, 0xaf, 0x87, 0xba, 0xd2, 0xbc, 0x8e, 0x90, 0x06, 0x59, 0xf4, 0xe3, 0x81, 0xfc, 0xe1, 0x7b,
+ 0x25, 0x38, 0x97, 0xa8, 0x3b, 0x84, 0xfe, 0x71, 0x36, 0xdc, 0x56, 0x8a, 0xe6, 0x3c, 0x76, 0xf6,
+ 0xd1, 0x9c, 0xc3, 0xc0, 0xca, 0xe3, 0x67, 0x1b, 0x58, 0xf9, 0xf7, 0x14, 0x60, 0x79, 0x75, 0x1f,
+ 0x02, 0xe3, 0xfd, 0xab, 0x71, 0xc6, 0xfb, 0x91, 0xa2, 0x1b, 0x27, 0x87, 0xdf, 0xfe, 0x5a, 0x09,
+ 0x58, 0xea, 0x04, 0xe1, 0xa4, 0x22, 0xf9, 0x7d, 0x28, 0x39, 0x7e, 0x1f, 0x57, 0x85, 0xdb, 0x48,
+ 0xc2, 0x4a, 0x28, 0xb9, 0x8e, 0xbc, 0x5f, 0xf2, 0x0c, 0x19, 0x8b, 0xb3, 0x91, 0xb4, 0x77, 0x08,
+ 0xba, 0x07, 0xb3, 0xde, 0xae, 0xe3, 0xf8, 0x81, 0xca, 0x2e, 0xd6, 0xae, 0x56, 0xd8, 0xa5, 0x3c,
+ 0x18, 0x0a, 0xff, 0x30, 0xdb, 0x32, 0x6e, 0x1c, 0x27, 0x85, 0x96, 0x01, 0xb6, 0x2d, 0x47, 0xdf,
+ 0xab, 0x37, 0x1b, 0x38, 0x70, 0x21, 0x66, 0x9e, 0x65, 0x2b, 0x61, 0x29, 0x96, 0x6a, 0xa8, 0xff,
+ 0x5a, 0xe1, 0xb3, 0x75, 0x82, 0xcf, 0xea, 0x21, 0x72, 0xc9, 0xf7, 0x24, 0xb8, 0x64, 0x5e, 0xba,
+ 0xe1, 0xdf, 0x16, 0xa3, 0x08, 0x13, 0x64, 0xf4, 0x60, 0xd6, 0x92, 0x33, 0x6a, 0x88, 0x6d, 0x5c,
+ 0x28, 0x19, 0x47, 0x18, 0x14, 0x31, 0x56, 0x8c, 0xe3, 0x04, 0x28, 0x2b, 0x0d, 0x3a, 0xcf, 0xb3,
+ 0x83, 0x96, 0x22, 0xe7, 0xde, 0x96, 0x0c, 0xc0, 0xf1, 0x7a, 0xea, 0xdf, 0x2f, 0xc1, 0x65, 0xde,
+ 0x77, 0xe6, 0xc6, 0xdf, 0x20, 0x3d, 0x62, 0x1b, 0xc4, 0xd6, 0x0f, 0x99, 0xb8, 0x6c, 0x38, 0x1d,
+ 0xf4, 0x37, 0x14, 0x28, 0x07, 0x17, 0x4f, 0x62, 0x20, 0x9f, 0x28, 0x9e, 0x0d, 0x35, 0x87, 0x4a,
+ 0x78, 0xed, 0xc5, 0xe3, 0xf3, 0x89, 0x5f, 0x38, 0x24, 0x8c, 0xee, 0xc2, 0x44, 0xcf, 0x75, 0xb6,
+ 0x03, 0xb5, 0xea, 0xce, 0xa9, 0xf7, 0xa0, 0x45, 0xb1, 0xf3, 0xcf, 0x93, 0xfd, 0x8b, 0x39, 0x3d,
+ 0x15, 0xc3, 0xbb, 0x87, 0xea, 0xf9, 0x09, 0xfc, 0x6f, 0xd4, 0xdb, 0xa0, 0x3e, 0xb8, 0x2f, 0x27,
+ 0x41, 0xf8, 0x12, 0x3c, 0x21, 0x21, 0x5c, 0x3d, 0xd0, 0x89, 0xe7, 0xd5, 0xb5, 0x9e, 0xa6, 0x53,
+ 0x95, 0x92, 0xbd, 0xad, 0xe6, 0x86, 0xde, 0x13, 0xa0, 0xfc, 0xbf, 0x0a, 0x54, 0x25, 0x9c, 0x31,
+ 0xdf, 0xae, 0x80, 0xd5, 0x7c, 0x4d, 0x81, 0x8a, 0x66, 0xdb, 0x8e, 0xaf, 0xc9, 0xf7, 0x8e, 0xc6,
+ 0x88, 0x6b, 0x93, 0x45, 0x6a, 0xb9, 0x16, 0x91, 0x49, 0x78, 0x18, 0x48, 0x10, 0x2c, 0xf7, 0x66,
+ 0xe9, 0x63, 0x30, 0x9f, 0x6c, 0x75, 0x22, 0xe5, 0xb1, 0x0e, 0x97, 0xa4, 0x5e, 0xb1, 0xbb, 0x8c,
+ 0xfa, 0x2e, 0xd1, 0xf7, 0xbc, 0x93, 0x4c, 0xe3, 0x0a, 0x95, 0xbf, 0x43, 0x24, 0x51, 0x6c, 0x33,
+ 0xf6, 0x52, 0xce, 0xf4, 0xcc, 0x20, 0x64, 0x82, 0x84, 0xe3, 0x0e, 0x2f, 0xc6, 0x01, 0x5c, 0x7d,
+ 0x11, 0xce, 0xcb, 0x38, 0x18, 0xc7, 0x3d, 0x91, 0xc3, 0x97, 0xba, 0x0e, 0x57, 0x25, 0x0c, 0x99,
+ 0xef, 0x3d, 0x4f, 0x82, 0xee, 0x6b, 0xe5, 0x80, 0xe1, 0x89, 0xb7, 0x3f, 0xbf, 0xa5, 0xc0, 0xa3,
+ 0x24, 0x6f, 0xd7, 0x09, 0xa6, 0xf1, 0xca, 0x88, 0xdb, 0x22, 0x77, 0x57, 0x8b, 0xf0, 0x62, 0x79,
+ 0x60, 0x9c, 0xdf, 0x33, 0x74, 0x08, 0xe0, 0x85, 0x4b, 0x32, 0x8a, 0x53, 0x75, 0xe6, 0x1a, 0x8b,
+ 0x38, 0xdc, 0xe1, 0x6f, 0x2c, 0x11, 0x43, 0x6f, 0x40, 0xd9, 0x13, 0x2b, 0x39, 0xca, 0x73, 0xf4,
+ 0x8c, 0x8d, 0x21, 0xfc, 0x46, 0xc5, 0x2f, 0x1c, 0x92, 0x41, 0xbf, 0xa4, 0xc0, 0x05, 0x2b, 0xe3,
+ 0xe3, 0x12, 0x12, 0x42, 0xfb, 0x0c, 0xbe, 0x5b, 0x6e, 0xc1, 0xce, 0x82, 0xe0, 0xcc, 0xae, 0xa0,
+ 0x5f, 0xc9, 0x7d, 0xfb, 0x3c, 0x51, 0x3c, 0xb9, 0xd0, 0x83, 0xf6, 0x7e, 0x81, 0x67, 0xd0, 0x3f,
+ 0x09, 0x15, 0x27, 0xe2, 0x08, 0xe2, 0xb1, 0xfa, 0xc7, 0x47, 0xec, 0x9c, 0xc4, 0x63, 0xf8, 0x7d,
+ 0xa0, 0x54, 0x80, 0x65, 0x7a, 0xe8, 0x2b, 0x0a, 0x20, 0x23, 0x75, 0x6e, 0x88, 0x2b, 0xc9, 0x97,
+ 0x4e, 0xfd, 0x70, 0xe4, 0x37, 0x20, 0xe9, 0x72, 0x9c, 0xd1, 0x09, 0xf5, 0xcb, 0x53, 0x5c, 0x98,
+ 0x67, 0x36, 0xe8, 0x6d, 0x98, 0xdc, 0x66, 0xca, 0xb0, 0xe0, 0x02, 0x85, 0x35, 0x6f, 0xae, 0x52,
+ 0x73, 0x4d, 0x95, 0xff, 0x8f, 0x05, 0x66, 0xf4, 0x2a, 0x8c, 0x19, 0x76, 0x90, 0xb0, 0xee, 0xb9,
+ 0x11, 0x34, 0xc1, 0xc8, 0x25, 0x9f, 0x7e, 0x38, 0x14, 0x29, 0xb2, 0xa1, 0x6c, 0x0b, 0xf9, 0x57,
+ 0x7c, 0xa6, 0x85, 0x53, 0xc1, 0x87, 0x72, 0x74, 0x28, 0xbd, 0x07, 0x25, 0x38, 0xa4, 0x41, 0xe9,
+ 0x25, 0x0c, 0x60, 0x85, 0xe9, 0x85, 0x7a, 0xed, 0x20, 0xa3, 0x43, 0x4b, 0xd6, 0x52, 0x27, 0x86,
+ 0xd7, 0x52, 0x67, 0x73, 0x35, 0x54, 0x02, 0x93, 0x3e, 0x4f, 0xff, 0x3c, 0x59, 0xdc, 0x0d, 0x89,
+ 0xf6, 0x9f, 0xa5, 0x87, 0x8e, 0x84, 0x6e, 0x91, 0x3b, 0x5a, 0x20, 0xa7, 0x1b, 0x8b, 0x67, 0xa9,
+ 0x17, 0x9b, 0xbe, 0xf0, 0xc6, 0xe2, 0xe9, 0x76, 0xf8, 0xc6, 0xe2, 0xff, 0x63, 0x81, 0x19, 0xbd,
+ 0x4e, 0x15, 0x2f, 0x7e, 0xc4, 0x89, 0x40, 0x89, 0x2f, 0x8e, 0xf8, 0x69, 0x79, 0x81, 0x53, 0x3f,
+ 0xff, 0x85, 0x43, 0xfc, 0x68, 0x1b, 0xa6, 0x84, 0x91, 0x43, 0x44, 0x79, 0x78, 0x6e, 0x84, 0x9c,
+ 0x09, 0x41, 0x06, 0x29, 0xfe, 0x0c, 0x3a, 0x40, 0xac, 0xfe, 0x87, 0x69, 0x6e, 0x9e, 0x12, 0x2e,
+ 0x04, 0x3b, 0x50, 0x0e, 0xd0, 0x8d, 0xf2, 0xc0, 0x24, 0xc8, 0x00, 0xc3, 0x87, 0x16, 0xfc, 0xc2,
+ 0x21, 0x6e, 0x54, 0xcf, 0x7a, 0xcb, 0x13, 0xc5, 0xcb, 0x1d, 0xee, 0x1d, 0x4f, 0xdc, 0xc3, 0x6d,
+ 0xec, 0x61, 0x78, 0xb8, 0x65, 0xbb, 0x58, 0x8c, 0x17, 0x72, 0xb1, 0x78, 0x1e, 0xce, 0x05, 0x0e,
+ 0x68, 0x06, 0x61, 0x57, 0x3d, 0xc2, 0x35, 0x9b, 0xbd, 0xcf, 0xad, 0xc7, 0x41, 0x38, 0x59, 0x17,
+ 0xfd, 0x8e, 0x02, 0x65, 0x5d, 0x08, 0x30, 0xe2, 0xbb, 0x5a, 0x1b, 0xcd, 0x86, 0xb9, 0x1c, 0xc8,
+ 0x43, 0x5c, 0x9c, 0xbe, 0x13, 0xf0, 0x88, 0xa0, 0xf8, 0x94, 0xee, 0xe0, 0xc2, 0x5e, 0xa3, 0x7f,
+ 0x47, 0x95, 0x05, 0x8b, 0xe5, 0xa5, 0x61, 0xaf, 0x16, 0xb9, 0xcf, 0xf8, 0xed, 0x11, 0x47, 0x51,
+ 0x8b, 0x30, 0xf2, 0x81, 0x7c, 0x22, 0xd4, 0x0b, 0x22, 0xc8, 0x29, 0x8d, 0x45, 0xee, 0x3e, 0xfa,
+ 0x87, 0x0a, 0x3c, 0xc1, 0x1d, 0xf5, 0xeb, 0x54, 0x40, 0x60, 0x79, 0x9d, 0x48, 0x94, 0x48, 0x2a,
+ 0x72, 0x08, 0x29, 0x9f, 0xd8, 0x21, 0xe4, 0xc9, 0xe3, 0xa3, 0xea, 0x13, 0xf5, 0x21, 0x70, 0xe3,
+ 0xa1, 0x7a, 0xb0, 0xb4, 0x07, 0xb3, 0xb1, 0xc5, 0x3e, 0xcb, 0x5b, 0xcb, 0x25, 0x1b, 0xe6, 0x93,
+ 0x6b, 0x72, 0xa6, 0xb7, 0xa4, 0xb7, 0x60, 0x3a, 0x3c, 0x2c, 0xd0, 0x65, 0x89, 0x50, 0x74, 0x98,
+ 0xdf, 0x22, 0x87, 0x9c, 0x6a, 0x35, 0xa6, 0xeb, 0x71, 0x65, 0xff, 0x0e, 0x2d, 0x10, 0x08, 0xd5,
+ 0xef, 0x08, 0x4b, 0xce, 0x26, 0xe9, 0xf6, 0x2c, 0xcd, 0x27, 0x6f, 0xff, 0xab, 0x0f, 0xf5, 0x7f,
+ 0x28, 0x9c, 0xe7, 0x8b, 0x9c, 0x75, 0x1a, 0x54, 0xba, 0x3c, 0x46, 0x24, 0x7b, 0x2c, 0xab, 0x14,
+ 0x7f, 0xa6, 0xbb, 0x1e, 0xa1, 0xc1, 0x32, 0x4e, 0x74, 0x37, 0x9d, 0x55, 0xf1, 0xfa, 0x68, 0x87,
+ 0xf3, 0xd0, 0xc9, 0x15, 0x51, 0xba, 0x8d, 0x9c, 0x90, 0x4e, 0x19, 0x9c, 0x90, 0xee, 0xc1, 0x69,
+ 0xca, 0xd4, 0x6f, 0x8e, 0x41, 0x66, 0x4a, 0x10, 0xa4, 0xc2, 0x24, 0x7f, 0x21, 0x23, 0xa7, 0x9b,
+ 0xe4, 0xcf, 0x67, 0xb0, 0x80, 0x20, 0x17, 0x2e, 0x88, 0xf7, 0x27, 0xb7, 0xc8, 0x61, 0x94, 0xe8,
+ 0x50, 0x2c, 0xfd, 0xf0, 0x9e, 0xe8, 0x2c, 0x76, 0x5c, 0x3b, 0x81, 0x09, 0x67, 0xe2, 0x46, 0xb7,
+ 0xf9, 0x4b, 0x37, 0xdb, 0x60, 0x41, 0x96, 0x22, 0xee, 0x20, 0x3f, 0xce, 0x5a, 0xcd, 0xaa, 0x80,
+ 0xb3, 0xdb, 0xa1, 0x7d, 0x40, 0x5d, 0xed, 0x20, 0x89, 0x6d, 0x84, 0x6c, 0x04, 0xeb, 0x29, 0x6c,
+ 0x38, 0x83, 0x02, 0x3d, 0x40, 0x35, 0x5d, 0x27, 0x3d, 0x9f, 0x18, 0x7c, 0x5a, 0x03, 0xfb, 0x32,
+ 0x3b, 0x40, 0x6b, 0x71, 0x10, 0x4e, 0xd6, 0x65, 0x4f, 0x41, 0x98, 0x4a, 0xfc, 0xf6, 0x70, 0x59,
+ 0x62, 0x5d, 0x3d, 0xdb, 0xa7, 0x20, 0x9c, 0xc4, 0xe0, 0xfb, 0xcc, 0x4f, 0xc0, 0x25, 0x56, 0xad,
+ 0x66, 0x30, 0x2d, 0xd8, 0x23, 0x46, 0xcd, 0x30, 0xd8, 0x93, 0xd3, 0x51, 0xf3, 0x44, 0xaa, 0xff,
+ 0xaa, 0x04, 0xe7, 0x18, 0xee, 0x7a, 0x0d, 0x0b, 0x1b, 0x1d, 0x3d, 0x15, 0xb8, 0x1f, 0x2a, 0xc7,
+ 0xba, 0x9c, 0xf4, 0x43, 0xbd, 0xcc, 0x1b, 0xb8, 0x84, 0x89, 0x45, 0x9a, 0xe5, 0x05, 0x2d, 0x63,
+ 0x8e, 0xa9, 0x2e, 0x20, 0x4b, 0xf3, 0x7c, 0x9e, 0x75, 0x2d, 0x38, 0x09, 0x0b, 0xf8, 0xa5, 0xb2,
+ 0xdd, 0xb9, 0x96, 0xc2, 0x84, 0x33, 0xb0, 0x07, 0x34, 0xeb, 0x4e, 0xb7, 0x67, 0x91, 0x90, 0x66,
+ 0xa9, 0x38, 0xcd, 0x38, 0x26, 0x9c, 0x81, 0x5d, 0xfd, 0x92, 0x02, 0xf3, 0xc9, 0x09, 0x41, 0xfb,
+ 0x50, 0x76, 0xc5, 0xa4, 0x88, 0xdd, 0xbd, 0x56, 0x78, 0x73, 0x64, 0x4c, 0xb4, 0x48, 0x01, 0x24,
+ 0x7e, 0xe1, 0x90, 0x96, 0xfa, 0x27, 0x93, 0xb0, 0x98, 0xd7, 0x08, 0x7d, 0x59, 0x81, 0x4b, 0x7a,
+ 0x24, 0xa3, 0xd4, 0xfa, 0xfe, 0xae, 0xe3, 0x9a, 0xbe, 0x49, 0x82, 0x94, 0xb4, 0xf5, 0xe2, 0x7d,
+ 0x0c, 0x77, 0x0f, 0x0f, 0x9b, 0x53, 0xcf, 0x24, 0x83, 0x73, 0xc8, 0xa3, 0x4f, 0x01, 0xec, 0x45,
+ 0xc1, 0xeb, 0xf8, 0x7a, 0xdd, 0x2a, 0xdc, 0x19, 0x29, 0xc0, 0x5d, 0xd0, 0x29, 0x66, 0x02, 0x94,
+ 0xca, 0x25, 0x72, 0x94, 0xb8, 0xe7, 0xed, 0xde, 0x22, 0x87, 0x3d, 0xcd, 0x0c, 0x9c, 0xea, 0x8b,
+ 0x13, 0x6f, 0xb7, 0x6f, 0x0a, 0x54, 0x71, 0xe2, 0x52, 0xb9, 0x44, 0x0e, 0x7d, 0x41, 0x81, 0x59,
+ 0xae, 0xa7, 0x08, 0x8f, 0x2f, 0xc1, 0xc3, 0x37, 0x0a, 0x77, 0xe0, 0xb6, 0x8c, 0x2d, 0xec, 0x03,
+ 0xbb, 0x82, 0x8a, 0x83, 0xe2, 0x74, 0xe9, 0xee, 0x58, 0x88, 0x27, 0xd4, 0xba, 0x45, 0x0e, 0x85,
+ 0x2d, 0x02, 0x17, 0x9f, 0x8e, 0x24, 0xc6, 0xb0, 0x47, 0x4c, 0xe7, 0x4c, 0x83, 0xd3, 0x7d, 0x60,
+ 0x3d, 0x23, 0xbe, 0x6e, 0x88, 0x44, 0xbb, 0xa6, 0x63, 0xd3, 0x9e, 0x4d, 0x8e, 0xd8, 0xb3, 0xd5,
+ 0xcd, 0x7a, 0x23, 0x86, 0x31, 0xde, 0xb3, 0x34, 0x38, 0xdd, 0x07, 0xf5, 0x0f, 0x4a, 0x70, 0x65,
+ 0x30, 0xb2, 0xbf, 0x64, 0xa6, 0x27, 0x62, 0xa6, 0x9f, 0x29, 0xc1, 0x23, 0x39, 0xdf, 0x70, 0xce,
+ 0x1c, 0x28, 0xff, 0xdf, 0xcd, 0xc1, 0xb7, 0x15, 0x98, 0x66, 0x73, 0xf0, 0x36, 0xf1, 0x84, 0x66,
+ 0x7d, 0xcd, 0xf1, 0xc3, 0xf8, 0x3d, 0x05, 0x16, 0x52, 0x01, 0xf1, 0x86, 0xf2, 0xa3, 0x7d, 0x68,
+ 0xee, 0x05, 0xef, 0x4e, 0xa6, 0x3c, 0xae, 0x64, 0xc6, 0xc9, 0x7c, 0x19, 0x66, 0x63, 0x6e, 0x18,
+ 0x61, 0x9c, 0x11, 0x25, 0x33, 0xce, 0x88, 0x1c, 0x46, 0xa4, 0x34, 0x30, 0x8c, 0xc8, 0xe7, 0x4a,
+ 0xb0, 0x94, 0xcf, 0xb8, 0xff, 0xc2, 0xec, 0xfa, 0xf0, 0xcb, 0x4f, 0x1f, 0xa0, 0x7f, 0x61, 0xe6,
+ 0x20, 0x3c, 0x4e, 0x72, 0x4f, 0xcd, 0xbf, 0x3c, 0x4e, 0x4e, 0x34, 0xa1, 0xdf, 0x98, 0x13, 0xac,
+ 0x94, 0x5d, 0x82, 0xbd, 0x06, 0x93, 0x2c, 0x90, 0x4e, 0x20, 0xee, 0x3e, 0x5b, 0x38, 0x40, 0x8f,
+ 0xc7, 0x0d, 0x0b, 0xfc, 0x7f, 0x2c, 0xb0, 0xa2, 0x06, 0xcc, 0xeb, 0x96, 0xd3, 0x37, 0x44, 0xc2,
+ 0xb4, 0x8d, 0xc8, 0x86, 0x11, 0x06, 0x1e, 0xac, 0x27, 0xe0, 0x38, 0xd5, 0x02, 0x61, 0x7e, 0x8d,
+ 0xc6, 0x17, 0xe3, 0xc3, 0x05, 0x5d, 0xfd, 0x78, 0xcc, 0xf9, 0xf0, 0xfa, 0xec, 0x0d, 0x00, 0x12,
+ 0x30, 0xc5, 0xe0, 0x4d, 0xd2, 0xf3, 0xc5, 0x42, 0x2a, 0x86, 0xac, 0x35, 0xd0, 0xbd, 0xc3, 0x22,
+ 0x0f, 0x4b, 0x44, 0x90, 0x0b, 0x95, 0xdd, 0x28, 0xdb, 0xba, 0x90, 0x23, 0x5f, 0x18, 0x31, 0xd3,
+ 0x3b, 0x37, 0x79, 0x49, 0x05, 0x58, 0x26, 0x82, 0x5c, 0xae, 0x46, 0xf0, 0x1b, 0x8b, 0x51, 0xb2,
+ 0xf3, 0x46, 0x57, 0x21, 0xd1, 0x38, 0xa3, 0x32, 0x2c, 0x51, 0xa1, 0x34, 0xed, 0x30, 0x12, 0xd6,
+ 0x28, 0x97, 0x60, 0x51, 0x3c, 0xad, 0x88, 0x66, 0x54, 0x86, 0x25, 0x2a, 0x74, 0x6e, 0xbb, 0x51,
+ 0xf4, 0x33, 0x61, 0xda, 0x7e, 0x61, 0xc4, 0x28, 0x74, 0xc2, 0x9c, 0x18, 0x15, 0x60, 0x99, 0x08,
+ 0xb2, 0x01, 0xba, 0x61, 0x50, 0x34, 0x71, 0x37, 0x56, 0x68, 0x9c, 0x51, 0x68, 0x35, 0xae, 0x18,
+ 0x45, 0xbf, 0xb1, 0x44, 0x01, 0xbd, 0x2e, 0xdd, 0xc0, 0x42, 0x71, 0xa3, 0xec, 0x50, 0xb7, 0xaf,
+ 0x1f, 0x8a, 0x6c, 0x93, 0x15, 0xf6, 0xbd, 0x3e, 0x26, 0xd9, 0x25, 0xef, 0x1f, 0x55, 0x67, 0x18,
+ 0x0f, 0x49, 0xd9, 0x29, 0x23, 0xc7, 0xc4, 0x99, 0x41, 0x8e, 0x89, 0xe8, 0x06, 0x55, 0xac, 0x24,
+ 0xe7, 0x7f, 0xc6, 0x18, 0x66, 0x59, 0x93, 0x30, 0x88, 0x5e, 0x3b, 0x59, 0x01, 0xa7, 0xdb, 0x70,
+ 0xa1, 0x82, 0x18, 0xac, 0xfd, 0x9c, 0x2c, 0x54, 0xf0, 0x32, 0x1c, 0x42, 0xd1, 0x3e, 0xcc, 0x78,
+ 0x92, 0x2b, 0xa4, 0xc8, 0xc6, 0x35, 0xc2, 0xb5, 0xa9, 0x70, 0x83, 0x64, 0x11, 0x8c, 0xe4, 0x12,
+ 0x1c, 0xa3, 0x83, 0x3e, 0x05, 0xd3, 0x81, 0x9d, 0xda, 0x5b, 0x9c, 0x2f, 0xfe, 0x42, 0x2d, 0x3b,
+ 0x10, 0x5e, 0x64, 0x78, 0x0e, 0x40, 0x1e, 0x8e, 0xe8, 0xa1, 0x7e, 0xfc, 0x61, 0xf8, 0xc2, 0xa9,
+ 0x3c, 0x86, 0x0d, 0x1d, 0xdc, 0xf2, 0x1e, 0x85, 0xa3, 0x3a, 0x2c, 0x90, 0x83, 0x9e, 0xe3, 0xf5,
+ 0x5d, 0xc2, 0x62, 0x70, 0xb2, 0xe5, 0x41, 0xd1, 0xbd, 0xea, 0x6a, 0x12, 0x88, 0xd3, 0xf5, 0xd1,
+ 0x4f, 0x2b, 0x30, 0xcf, 0x93, 0x99, 0xd1, 0x23, 0xcc, 0xb1, 0x89, 0xed, 0x7b, 0x8b, 0xe7, 0x8b,
+ 0xc7, 0xbe, 0x6d, 0x27, 0x70, 0x09, 0x6b, 0x75, 0xa2, 0x14, 0xa7, 0x68, 0xaa, 0xff, 0x66, 0x06,
+ 0x2a, 0x92, 0x4d, 0xf2, 0x87, 0x11, 0xd2, 0xc4, 0x87, 0x8a, 0xee, 0xd8, 0x9e, 0xef, 0x6a, 0x52,
+ 0x18, 0x97, 0x11, 0x69, 0x86, 0xcb, 0x58, 0x8f, 0x30, 0x63, 0x99, 0x0c, 0x65, 0x38, 0xe1, 0x35,
+ 0xfc, 0xd8, 0x29, 0x5c, 0xc3, 0x87, 0x0c, 0x27, 0xe3, 0x2a, 0xfe, 0x83, 0x00, 0xc1, 0xb9, 0x45,
+ 0x78, 0x56, 0x99, 0x72, 0x94, 0xea, 0xa0, 0xe9, 0xdd, 0x0c, 0x61, 0x58, 0xaa, 0x87, 0xee, 0xc1,
+ 0xac, 0x25, 0x87, 0x39, 0x17, 0x87, 0x6a, 0x21, 0x97, 0xf2, 0x58, 0xbc, 0x74, 0x6e, 0x1d, 0x8a,
+ 0x15, 0xe1, 0x38, 0x29, 0xba, 0x0d, 0xac, 0x20, 0x34, 0xff, 0x48, 0x2e, 0x25, 0x61, 0x80, 0xff,
+ 0x68, 0x1b, 0x84, 0x45, 0x1e, 0x96, 0x88, 0xe4, 0xdc, 0xfb, 0x4f, 0x15, 0xba, 0xf7, 0xef, 0xc3,
+ 0x79, 0x97, 0xf8, 0xee, 0x61, 0xfd, 0x50, 0x67, 0xe9, 0x2e, 0x5c, 0x9f, 0x49, 0x9f, 0xe5, 0x62,
+ 0x51, 0x12, 0x70, 0x1a, 0x15, 0xce, 0xc2, 0x1f, 0x63, 0xd8, 0xd3, 0x03, 0x19, 0xf6, 0x87, 0xa0,
+ 0xe2, 0x13, 0x7d, 0xd7, 0x36, 0x75, 0xcd, 0x6a, 0x36, 0x44, 0x24, 0xb3, 0x88, 0xf7, 0x44, 0x20,
+ 0x2c, 0xd7, 0x43, 0x2b, 0x30, 0xd6, 0x37, 0x0d, 0x71, 0x6a, 0xfd, 0x68, 0x68, 0xdd, 0x6f, 0x36,
+ 0xee, 0x1f, 0x55, 0xdf, 0x19, 0x5d, 0xa4, 0x87, 0xa3, 0xba, 0xd6, 0xdb, 0xeb, 0x5c, 0xf3, 0x0f,
+ 0x7b, 0xc4, 0x5b, 0xde, 0x6a, 0x36, 0x30, 0x6d, 0x9c, 0xe5, 0x13, 0x31, 0x73, 0x02, 0x9f, 0x88,
+ 0xaf, 0x28, 0x70, 0x5e, 0x4b, 0x5e, 0x4c, 0x10, 0x6f, 0x71, 0xb6, 0x38, 0xf7, 0xcf, 0xbe, 0xec,
+ 0x88, 0xc2, 0xc4, 0xd6, 0xd2, 0xe4, 0x70, 0x56, 0x1f, 0xa8, 0xce, 0xd1, 0x35, 0x3b, 0x61, 0x36,
+ 0x01, 0xb1, 0xea, 0x73, 0xc5, 0x74, 0x8e, 0xf5, 0x14, 0x26, 0x9c, 0x81, 0x1d, 0xdd, 0x85, 0x8a,
+ 0x1e, 0xa9, 0x5f, 0xe2, 0xe4, 0x6d, 0x9c, 0x86, 0xf5, 0x5f, 0x44, 0x53, 0x92, 0x74, 0x3b, 0x99,
+ 0x12, 0xfa, 0x92, 0x02, 0x4b, 0xf4, 0xf3, 0x91, 0xc4, 0xe3, 0x4d, 0xd7, 0xec, 0x74, 0x88, 0xcb,
+ 0x46, 0x3d, 0x7f, 0xe2, 0x51, 0xb3, 0x34, 0x96, 0x6b, 0xb9, 0x18, 0xf1, 0x00, 0x6a, 0xea, 0x1f,
+ 0x2a, 0xc2, 0x5e, 0xf2, 0x10, 0xef, 0xf0, 0xcf, 0xfa, 0xc2, 0x4f, 0xfd, 0x53, 0x05, 0x52, 0x47,
+ 0x28, 0xda, 0x86, 0x29, 0x8a, 0xa2, 0xb1, 0xd1, 0x16, 0xc3, 0x7a, 0xae, 0xd8, 0x49, 0xc5, 0x50,
+ 0x70, 0xe3, 0x93, 0xf8, 0x81, 0x03, 0xc4, 0x54, 0x9c, 0xb3, 0xa5, 0x20, 0xa3, 0x62, 0x84, 0x85,
+ 0xc4, 0x39, 0x39, 0x58, 0x29, 0x17, 0xe7, 0xe4, 0x12, 0x1c, 0xa3, 0xa3, 0xae, 0x01, 0x44, 0x62,
+ 0xcf, 0xc8, 0x6e, 0x1d, 0x3f, 0x98, 0x80, 0x8b, 0xa3, 0x3a, 0xbd, 0xb3, 0x34, 0x0f, 0x2c, 0x45,
+ 0x70, 0x6d, 0xc7, 0x27, 0xee, 0xed, 0xdb, 0xeb, 0x61, 0x06, 0xd5, 0x82, 0x79, 0x26, 0xa2, 0x0c,
+ 0xd3, 0x29, 0x8c, 0x38, 0x87, 0x12, 0x13, 0xf9, 0x44, 0x2e, 0x46, 0xac, 0xf9, 0x64, 0xa5, 0xef,
+ 0x7a, 0xbe, 0x78, 0x6a, 0xce, 0x45, 0xbe, 0x24, 0x10, 0xa7, 0xeb, 0x27, 0x91, 0xf0, 0x74, 0xc5,
+ 0x54, 0x16, 0x50, 0xd2, 0x48, 0x78, 0xce, 0xe2, 0x74, 0x7d, 0x19, 0x09, 0x5f, 0x29, 0xaa, 0x10,
+ 0x4e, 0xa4, 0x91, 0x84, 0x40, 0x9c, 0xae, 0x8f, 0x0c, 0x78, 0xdc, 0x25, 0xba, 0xd3, 0xed, 0x12,
+ 0xdb, 0xe0, 0x69, 0x85, 0x34, 0xb7, 0x63, 0xda, 0xd7, 0x5d, 0x8d, 0x55, 0x64, 0x9a, 0xb4, 0xc2,
+ 0x32, 0xc4, 0x3f, 0x8e, 0x07, 0xd4, 0xc3, 0x03, 0xb1, 0xa0, 0x2e, 0x9c, 0xeb, 0xb3, 0xa8, 0xe2,
+ 0x6e, 0xd3, 0xf6, 0x89, 0xbb, 0xaf, 0x59, 0x05, 0x93, 0x70, 0xb3, 0x73, 0x69, 0x2b, 0x8e, 0x0a,
+ 0x27, 0x71, 0xa3, 0x43, 0x7a, 0xe4, 0x8b, 0xee, 0x48, 0x24, 0xcb, 0xc5, 0x13, 0xa1, 0xe0, 0x34,
+ 0x3a, 0x9c, 0x45, 0x43, 0xfd, 0x8a, 0x02, 0xc2, 0x87, 0x15, 0x3d, 0x1e, 0x33, 0x75, 0x97, 0x13,
+ 0x66, 0xee, 0xc7, 0xc5, 0x3b, 0xbb, 0x52, 0x04, 0x95, 0xde, 0xd8, 0xbd, 0x47, 0x8a, 0x61, 0x30,
+ 0x1d, 0xf1, 0x3e, 0x8e, 0x59, 0x8a, 0xcb, 0xff, 0x3e, 0x98, 0x26, 0xfc, 0xee, 0x29, 0x14, 0x26,
+ 0x67, 0x79, 0xc8, 0x42, 0x51, 0x88, 0x23, 0xb8, 0xfa, 0x07, 0x0a, 0x08, 0x0c, 0x2c, 0x8b, 0xc4,
+ 0x50, 0xd9, 0x04, 0x1e, 0xe8, 0x90, 0x23, 0x65, 0x41, 0x18, 0xcb, 0xcd, 0x82, 0x70, 0x46, 0xc9,
+ 0x01, 0x7e, 0x4b, 0x81, 0x73, 0xf1, 0xa0, 0x12, 0x1e, 0x7a, 0x37, 0x4c, 0x89, 0x00, 0x49, 0x22,
+ 0xcc, 0x0a, 0x7f, 0x57, 0xcb, 0x8b, 0x70, 0x00, 0x8b, 0x6b, 0xab, 0x23, 0xc4, 0x53, 0xc9, 0x8e,
+ 0x6d, 0x31, 0x58, 0x5b, 0x55, 0xbf, 0x3b, 0x07, 0x93, 0x3c, 0xa4, 0x0f, 0xe5, 0x69, 0x19, 0x0f,
+ 0xb8, 0x6e, 0x15, 0x0f, 0x1a, 0x54, 0xe0, 0x9d, 0x56, 0x2c, 0xbe, 0x73, 0x69, 0x60, 0x7c, 0x67,
+ 0xcc, 0x53, 0xa3, 0x8c, 0x60, 0xa1, 0xac, 0xe3, 0xa6, 0x48, 0x13, 0x1a, 0xa4, 0x45, 0xf1, 0x63,
+ 0xa6, 0xbb, 0xf1, 0xe2, 0x42, 0x13, 0x9f, 0x00, 0xc9, 0x80, 0x37, 0x37, 0xc0, 0x78, 0x17, 0xc5,
+ 0x50, 0x99, 0x28, 0xee, 0x20, 0x27, 0xa6, 0x7c, 0x88, 0x18, 0x2a, 0xe1, 0x87, 0x34, 0x99, 0xfb,
+ 0x21, 0xed, 0xc0, 0x94, 0xf8, 0x14, 0x04, 0x73, 0x7c, 0x6e, 0x84, 0xec, 0x25, 0x52, 0xc4, 0x3d,
+ 0x5e, 0x80, 0x03, 0xe4, 0xf4, 0xc4, 0xed, 0x6a, 0x07, 0x66, 0xb7, 0xdf, 0x65, 0x1c, 0x71, 0x42,
+ 0xae, 0xca, 0x8a, 0x71, 0x00, 0x67, 0x55, 0xb9, 0x5f, 0x21, 0xd3, 0x61, 0xe4, 0xaa, 0x22, 0xcd,
+ 0x75, 0x00, 0x47, 0xaf, 0x42, 0xb9, 0xab, 0x1d, 0xb4, 0xfb, 0x6e, 0x87, 0x08, 0xa3, 0x5d, 0xbe,
+ 0x8c, 0xd7, 0xf7, 0x4d, 0x6b, 0x99, 0x6a, 0xde, 0xbe, 0xbb, 0xdc, 0xb4, 0xfd, 0xdb, 0x6e, 0xdb,
+ 0x77, 0xc3, 0xfc, 0x08, 0xeb, 0x02, 0x0b, 0x0e, 0xf1, 0x21, 0x0b, 0xe6, 0xba, 0xda, 0xc1, 0x96,
+ 0xad, 0x85, 0xd9, 0x78, 0x2b, 0x05, 0x29, 0xb0, 0x5b, 0xc1, 0xf5, 0x18, 0x2e, 0x9c, 0xc0, 0x9d,
+ 0x71, 0x01, 0x39, 0x73, 0x56, 0x17, 0x90, 0xb5, 0xf0, 0xa5, 0x06, 0x57, 0x99, 0x1e, 0xcd, 0xf2,
+ 0x40, 0x1c, 0xfc, 0x0a, 0xe3, 0xb5, 0xf0, 0x15, 0xc6, 0x5c, 0xf1, 0x9b, 0x8d, 0x01, 0x2f, 0x30,
+ 0xfa, 0x50, 0xa1, 0x12, 0x36, 0x2f, 0xa5, 0x3a, 0x4d, 0x61, 0xcb, 0x5a, 0x23, 0x44, 0x23, 0x25,
+ 0xb2, 0x8b, 0x50, 0x63, 0x99, 0x0e, 0xba, 0xcd, 0xb3, 0xb5, 0x5a, 0xc4, 0x8f, 0xaa, 0x30, 0x5d,
+ 0x7a, 0x9e, 0x1b, 0x4f, 0x83, 0xe4, 0xaa, 0xa9, 0x0a, 0x38, 0xbb, 0x1d, 0x15, 0x51, 0x79, 0x20,
+ 0x85, 0x85, 0x28, 0xd0, 0x67, 0x2c, 0xa8, 0xd2, 0xdf, 0xca, 0x32, 0xc3, 0xa1, 0xe2, 0xaf, 0xca,
+ 0x38, 0x6f, 0x28, 0x6a, 0x8c, 0x43, 0xdf, 0x54, 0x60, 0xb1, 0x9b, 0x93, 0xf1, 0x4d, 0x58, 0x07,
+ 0x37, 0x47, 0xe0, 0x0f, 0xb9, 0x59, 0xe4, 0x56, 0x9e, 0x38, 0x3e, 0xaa, 0x3e, 0x30, 0xd7, 0x1c,
+ 0xce, 0xed, 0xdb, 0xa8, 0x8f, 0x7e, 0x47, 0x09, 0x36, 0xf5, 0xcb, 0x0a, 0xcc, 0x27, 0x0f, 0x01,
+ 0x39, 0xc1, 0xac, 0x72, 0xb6, 0x09, 0x66, 0x25, 0x77, 0x82, 0xd2, 0x00, 0x77, 0x82, 0xe7, 0xe1,
+ 0x52, 0xf6, 0xde, 0xa0, 0x12, 0x19, 0x4b, 0xe8, 0x2c, 0x34, 0xa1, 0x28, 0x15, 0x08, 0x2d, 0xc4,
+ 0x1c, 0xb6, 0xf2, 0xca, 0xb7, 0xbe, 0x7f, 0xe5, 0x1d, 0xdf, 0xf9, 0xfe, 0x95, 0x77, 0xbc, 0xf9,
+ 0xfd, 0x2b, 0xef, 0xf8, 0xa9, 0xe3, 0x2b, 0xca, 0xb7, 0x8e, 0xaf, 0x28, 0xdf, 0x39, 0xbe, 0xa2,
+ 0xbc, 0x79, 0x7c, 0x45, 0xf9, 0x2f, 0xc7, 0x57, 0x94, 0x9f, 0xfd, 0xaf, 0x57, 0xde, 0xf1, 0xea,
+ 0xd3, 0xd1, 0x18, 0xaf, 0x05, 0x43, 0x8b, 0xfe, 0xe9, 0xed, 0x75, 0xae, 0xd1, 0x31, 0x06, 0xaf,
+ 0x2c, 0xd8, 0x18, 0xff, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc0, 0x35, 0x3c, 0x08, 0xa7, 0xcb,
+ 0x00, 0x00,
}
func (m *Addon) Marshal() (dAtA []byte, err error) {
@@ -5288,6 +5290,16 @@ func (m *AdmissionPlugin) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
+ if m.Disabled != nil {
+ i--
+ if *m.Disabled {
+ dAtA[i] = 1
+ } else {
+ dAtA[i] = 0
+ }
+ i--
+ dAtA[i] = 0x18
+ }
if m.Config != nil {
{
size, err := m.Config.MarshalToSizedBuffer(dAtA[:i])
@@ -8123,6 +8135,13 @@ func (m *KubeSchedulerConfig) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
+ if m.Profile != nil {
+ i -= len(*m.Profile)
+ copy(dAtA[i:], *m.Profile)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(*m.Profile)))
+ i--
+ dAtA[i] = 0x1a
+ }
if m.KubeMaxPDVols != nil {
i -= len(*m.KubeMaxPDVols)
copy(dAtA[i:], *m.KubeMaxPDVols)
@@ -14090,6 +14109,9 @@ func (m *AdmissionPlugin) Size() (n int) {
l = m.Config.Size()
n += 1 + l + sovGenerated(uint64(l))
}
+ if m.Disabled != nil {
+ n += 2
+ }
return n
}
@@ -15147,6 +15169,10 @@ func (m *KubeSchedulerConfig) Size() (n int) {
l = len(*m.KubeMaxPDVols)
n += 1 + l + sovGenerated(uint64(l))
}
+ if m.Profile != nil {
+ l = len(*m.Profile)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
return n
}
@@ -17357,6 +17383,7 @@ func (this *AdmissionPlugin) String() string {
s := strings.Join([]string{`&AdmissionPlugin{`,
`Name:` + fmt.Sprintf("%v", this.Name) + `,`,
`Config:` + strings.Replace(fmt.Sprintf("%v", this.Config), "RawExtension", "runtime.RawExtension", 1) + `,`,
+ `Disabled:` + valueToStringGenerated(this.Disabled) + `,`,
`}`,
}, "")
return s
@@ -18105,6 +18132,7 @@ func (this *KubeSchedulerConfig) String() string {
s := strings.Join([]string{`&KubeSchedulerConfig{`,
`KubernetesConfig:` + strings.Replace(strings.Replace(this.KubernetesConfig.String(), "KubernetesConfig", "KubernetesConfig", 1), `&`, ``, 1) + `,`,
`KubeMaxPDVols:` + valueToStringGenerated(this.KubeMaxPDVols) + `,`,
+ `Profile:` + valueToStringGenerated(this.Profile) + `,`,
`}`,
}, "")
return s
@@ -19901,6 +19929,27 @@ func (m *AdmissionPlugin) Unmarshal(dAtA []byte) error {
return err
}
iNdEx = postIndex
+ case 3:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Disabled", wireType)
+ }
+ var v int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ b := bool(v != 0)
+ m.Disabled = &b
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -28072,6 +28121,39 @@ func (m *KubeSchedulerConfig) Unmarshal(dAtA []byte) error {
s := string(dAtA[iNdEx:postIndex])
m.KubeMaxPDVols = &s
iNdEx = postIndex
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Profile", 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 < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ s := SchedulingProfile(dAtA[iNdEx:postIndex])
+ m.Profile = &s
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
diff --git a/vendor/github.com/gardener/gardener/pkg/apis/core/v1beta1/generated.proto b/vendor/github.com/gardener/gardener/pkg/apis/core/v1beta1/generated.proto
index c8932894a..72c05e7d4 100644
--- a/vendor/github.com/gardener/gardener/pkg/apis/core/v1beta1/generated.proto
+++ b/vendor/github.com/gardener/gardener/pkg/apis/core/v1beta1/generated.proto
@@ -57,6 +57,10 @@ message AdmissionPlugin {
// Config is the configuration of the plugin.
// +optional
optional k8s.io.apimachinery.pkg.runtime.RawExtension config = 2;
+
+ // Disabled specifies whether this plugin should be disabled.
+ // +optional
+ optional bool disabled = 3;
}
// Alerting contains information about how alerting will be done (i.e. who will receive alerts and how).
@@ -802,7 +806,7 @@ message KubeAPIServerConfig {
// WatchCacheSizes contains configuration of the API server's watch cache sizes.
// Configuring these flags might be useful for large-scale Shoot clusters with a lot of parallel update requests
- // and a lot of watching controllers (e.g. large shooted Seed clusters). When the API server's watch cache's
+ // and a lot of watching controllers (e.g. large ManagedSeed clusters). When the API server's watch cache's
// capacity is too small to cope with the amount of update requests and watchers for a particular resource, it
// might happen that controller watches are permanently stopped with `too old resource version` errors.
// Starting from kubernetes v1.19, the API server's watch cache size is adapted dynamically and setting the watch
@@ -886,6 +890,11 @@ message KubeSchedulerConfig {
// of all the side-effects and consequences when changing it.
// +optional
optional string kubeMaxPDVols = 2;
+
+ // Profile configures the scheduling profile for the cluster.
+ // If not specified, the used profile is "balanced" (provides the default kube-scheduler behavior).
+ // +optional
+ optional string profile = 3;
}
// KubeletConfig contains configuration settings for the kubelet.
@@ -1743,7 +1752,7 @@ message SecretBinding {
repeated k8s.io.api.core.v1.ObjectReference quotas = 3;
// Provider defines the provider type of the SecretBinding.
- // This field is immutable when the SecretBindingProviderValidation feature gate is enabled.
+ // This field is immutable.
// +optional
optional SecretBindingProvider provider = 4;
}
@@ -2135,8 +2144,7 @@ message ServiceAccountConfig {
// MaxTokenExpiration is the maximum validity duration of a token created by the service account token issuer. If an
// otherwise valid TokenRequest with a validity duration larger than this value is requested, a token will be issued
// with a validity duration of this value.
- // This field must be within [30d,90d] when the ShootMaxTokenExpirationValidation feature gate is enabled.
- // This field will be overwritten to be within [30d,90d] when the ShootMaxTokenExpirationOverwrite feature gate is enabled.
+ // This field must be within [30d,90d].
// +optional
optional k8s.io.apimachinery.pkg.apis.meta.v1.Duration maxTokenExpiration = 4;
diff --git a/vendor/github.com/gardener/gardener/pkg/apis/core/v1beta1/helper/helper.go b/vendor/github.com/gardener/gardener/pkg/apis/core/v1beta1/helper/helper.go
index f635b6081..2bb9eba16 100644
--- a/vendor/github.com/gardener/gardener/pkg/apis/core/v1beta1/helper/helper.go
+++ b/vendor/github.com/gardener/gardener/pkg/apis/core/v1beta1/helper/helper.go
@@ -27,11 +27,7 @@ import (
"github.com/Masterminds/semver"
corev1 "k8s.io/api/core/v1"
apiequality "k8s.io/apimachinery/pkg/api/equality"
- "k8s.io/apimachinery/pkg/api/resource"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
- "k8s.io/apimachinery/pkg/runtime"
- "k8s.io/apimachinery/pkg/util/json"
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/apimachinery/pkg/util/validation/field"
@@ -256,45 +252,18 @@ func TaintsAreTolerated(taints []gardencorev1beta1.SeedTaint, tolerations []gard
return true
}
-// ShootedSeed contains the configuration of a shooted seed.
-type ShootedSeed struct {
- DisableDNS *bool
- DisableCapacityReservation *bool
- Protected *bool
- Visible *bool
- LoadBalancerServicesAnnotations map[string]string
- MinimumVolumeSize *string
- APIServer *ShootedSeedAPIServer
- BlockCIDRs []string
- ShootDefaults *gardencorev1beta1.ShootNetworks
- Backup *gardencorev1beta1.SeedBackup
- SeedProviderConfig *runtime.RawExtension
- IngressController *gardencorev1beta1.IngressController
- NoGardenlet bool
- UseServiceAccountBootstrapping bool
- WithSecretRef bool
- FeatureGates map[string]bool
- Resources *ShootedSeedResources
-}
-
-// ShootedSeedAPIServer contains the configuration of a shooted seed API server.
-type ShootedSeedAPIServer struct {
+// ManagedSeedAPIServer contains the configuration of a ManagedSeed API server.
+type ManagedSeedAPIServer struct {
Replicas *int32
- Autoscaler *ShootedSeedAPIServerAutoscaler
+ Autoscaler *ManagedSeedAPIServerAutoscaler
}
-// ShootedSeedAPIServerAutoscaler contains the configuration of a shooted seed API server autoscaler.
-type ShootedSeedAPIServerAutoscaler struct {
+// ManagedSeedAPIServerAutoscaler contains the configuration of a ManagedSeed API server autoscaler.
+type ManagedSeedAPIServerAutoscaler struct {
MinReplicas *int32
MaxReplicas int32
}
-// ShootedSeedResources contains the resources capacity and reserved values of a shooted seed.
-type ShootedSeedResources struct {
- Capacity corev1.ResourceList
- Reserved corev1.ResourceList
-}
-
func parseInt32(s string) (int32, error) {
i64, err := strconv.ParseInt(s, 10, 32)
if err != nil {
@@ -303,94 +272,6 @@ func parseInt32(s string) (int32, error) {
return int32(i64), nil
}
-func parseShootedSeed(annotation string) (*ShootedSeed, error) {
- flags, settings := getFlagsAndSettings(annotation)
-
- if _, ok := flags["true"]; !ok {
- return nil, nil
- }
-
- shootedSeed := ShootedSeed{
- LoadBalancerServicesAnnotations: parseShootedSeedLoadBalancerServicesAnnotations(settings),
- FeatureGates: parseShootedSeedFeatureGates(settings),
- }
-
- apiServer, err := parseShootedSeedAPIServer(settings)
- if err != nil {
- return nil, err
- }
- shootedSeed.APIServer = apiServer
-
- blockCIDRs, err := parseShootedSeedBlockCIDRs(settings)
- if err != nil {
- return nil, err
- }
- shootedSeed.BlockCIDRs = blockCIDRs
-
- shootDefaults, err := parseShootedSeedShootDefaults(settings)
- if err != nil {
- return nil, err
- }
- shootedSeed.ShootDefaults = shootDefaults
-
- backup, err := parseShootedSeedBackup(settings)
- if err != nil {
- return nil, err
- }
- shootedSeed.Backup = backup
-
- seedProviderConfig, err := parseProviderConfig("providerConfig.", settings)
- if err != nil {
- return nil, err
- }
- shootedSeed.SeedProviderConfig = seedProviderConfig
-
- resources, err := parseShootedSeedResources(settings)
- if err != nil {
- return nil, err
- }
- shootedSeed.Resources = resources
-
- ingressController, err := parseIngressController(settings)
- if err != nil {
- return nil, err
- }
- shootedSeed.IngressController = ingressController
-
- if size, ok := settings["minimumVolumeSize"]; ok {
- shootedSeed.MinimumVolumeSize = &size
- }
- if _, ok := flags["disable-dns"]; ok {
- shootedSeed.DisableDNS = pointer.Bool(true)
- }
- if _, ok := flags["disable-capacity-reservation"]; ok {
- shootedSeed.DisableCapacityReservation = pointer.Bool(true)
- }
- if _, ok := flags["no-gardenlet"]; ok {
- shootedSeed.NoGardenlet = true
- }
- if _, ok := flags["use-serviceaccount-bootstrapping"]; ok {
- shootedSeed.UseServiceAccountBootstrapping = true
- }
- if _, ok := flags["with-secret-ref"]; ok {
- shootedSeed.WithSecretRef = true
- }
- if _, ok := flags["protected"]; ok {
- shootedSeed.Protected = pointer.Bool(true)
- }
- if _, ok := flags["unprotected"]; ok {
- shootedSeed.Protected = pointer.Bool(false)
- }
- if _, ok := flags["visible"]; ok {
- shootedSeed.Visible = pointer.Bool(true)
- }
- if _, ok := flags["invisible"]; ok {
- shootedSeed.Visible = pointer.Bool(false)
- }
-
- return &shootedSeed, nil
-}
-
func getFlagsAndSettings(annotation string) (map[string]struct{}, map[string]string) {
var (
flags = make(map[string]struct{})
@@ -409,165 +290,8 @@ func getFlagsAndSettings(annotation string) (map[string]struct{}, map[string]str
return flags, settings
}
-func parseShootedSeedBlockCIDRs(settings map[string]string) ([]string, error) {
- cidrs, ok := settings["blockCIDRs"]
- if !ok {
- return nil, nil
- }
-
- return strings.Split(cidrs, ";"), nil
-}
-
-func parseShootedSeedShootDefaults(settings map[string]string) (*gardencorev1beta1.ShootNetworks, error) {
- var (
- podCIDR, ok1 = settings["shootDefaults.pods"]
- serviceCIDR, ok2 = settings["shootDefaults.services"]
- )
-
- if !ok1 && !ok2 {
- return nil, nil
- }
-
- shootNetworks := &gardencorev1beta1.ShootNetworks{}
-
- if ok1 {
- shootNetworks.Pods = &podCIDR
- }
-
- if ok2 {
- shootNetworks.Services = &serviceCIDR
- }
-
- return shootNetworks, nil
-}
-
-func parseIngressController(settings map[string]string) (*gardencorev1beta1.IngressController, error) {
- ingressController := &gardencorev1beta1.IngressController{}
-
- kind, ok := settings["ingress.controller.kind"]
- if !ok {
- return nil, nil
- }
- ingressController.Kind = kind
-
- parsedProviderConfig, err := parseProviderConfig("ingress.controller.providerConfig.", settings)
- if err != nil {
- return nil, fmt.Errorf("parsing Ingress providerConfig failed: %s", err.Error())
- }
- ingressController.ProviderConfig = parsedProviderConfig
-
- return ingressController, nil
-}
-
-func parseShootedSeedBackup(settings map[string]string) (*gardencorev1beta1.SeedBackup, error) {
- var (
- provider, ok1 = settings["backup.provider"]
- region, ok2 = settings["backup.region"]
- secretRefName, ok3 = settings["backup.secretRef.name"]
- secretRefNamespace, ok4 = settings["backup.secretRef.namespace"]
- )
-
- if ok1 && provider == "none" {
- return nil, nil
- }
-
- backup := &gardencorev1beta1.SeedBackup{}
-
- if ok1 {
- backup.Provider = provider
- }
- if ok2 {
- backup.Region = ®ion
- }
- if ok3 {
- backup.SecretRef.Name = secretRefName
- }
- if ok4 {
- backup.SecretRef.Namespace = secretRefNamespace
- }
-
- return backup, nil
-}
-
-func parseShootedSeedFeatureGates(settings map[string]string) map[string]bool {
- featureGates := make(map[string]bool)
-
- for k, v := range settings {
- if strings.HasPrefix(k, "featureGates.") {
- val, _ := strconv.ParseBool(v)
- featureGates[strings.Split(k, ".")[1]] = val
- }
- }
-
- if len(featureGates) == 0 {
- return nil
- }
-
- return featureGates
-}
-
-func parseProviderConfig(prefix string, settings map[string]string) (*runtime.RawExtension, error) {
- // reconstruct providerConfig structure
- providerConfig := map[string]interface{}{}
-
- var err error
- for k, v := range settings {
- if strings.HasPrefix(k, prefix) {
- var value interface{}
- if strings.HasPrefix(v, `"`) && strings.HasSuffix(v, `"`) {
- value, err = strconv.Unquote(v)
- if err != nil {
- return nil, err
- }
- } else if b, err := strconv.ParseBool(v); err == nil {
- value = b
- } else if f, err := strconv.ParseFloat(v, 64); err == nil {
- value = f
- } else {
- value = v
- }
-
- path := strings.TrimPrefix(k, prefix)
- if err := unstructured.SetNestedField(providerConfig, value, strings.Split(path, ".")...); err != nil {
- return nil, err
- }
- }
- }
-
- if len(providerConfig) == 0 {
- return nil, nil
- }
-
- jsonStr, err := json.Marshal(providerConfig)
- if err != nil {
- return nil, err
- }
-
- return &runtime.RawExtension{
- Raw: jsonStr,
- }, nil
-}
-
-func parseShootedSeedLoadBalancerServicesAnnotations(settings map[string]string) map[string]string {
- const optionPrefix = "loadBalancerServices.annotations."
-
- annotations := make(map[string]string)
- for k, v := range settings {
- if strings.HasPrefix(k, optionPrefix) {
- annotationKey := strings.TrimPrefix(k, optionPrefix)
- annotations[annotationKey] = v
- }
- }
-
- if len(annotations) == 0 {
- return nil
- }
-
- return annotations
-}
-
-func parseShootedSeedAPIServer(settings map[string]string) (*ShootedSeedAPIServer, error) {
- apiServerAutoscaler, err := parseShootedSeedAPIServerAutoscaler(settings)
+func parseManagedSeedAPIServer(settings map[string]string) (*ManagedSeedAPIServer, error) {
+ apiServerAutoscaler, err := parseManagedSeedAPIServerAutoscaler(settings)
if err != nil {
return nil, err
}
@@ -577,7 +301,7 @@ func parseShootedSeedAPIServer(settings map[string]string) (*ShootedSeedAPIServe
return nil, nil
}
- var apiServer ShootedSeedAPIServer
+ var apiServer ManagedSeedAPIServer
apiServer.Autoscaler = apiServerAutoscaler
@@ -593,17 +317,17 @@ func parseShootedSeedAPIServer(settings map[string]string) (*ShootedSeedAPIServe
return &apiServer, nil
}
-func parseShootedSeedAPIServerAutoscaler(settings map[string]string) (*ShootedSeedAPIServerAutoscaler, error) {
+func parseManagedSeedAPIServerAutoscaler(settings map[string]string) (*ManagedSeedAPIServerAutoscaler, error) {
minReplicasString, ok1 := settings["apiServer.autoscaler.minReplicas"]
maxReplicasString, ok2 := settings["apiServer.autoscaler.maxReplicas"]
if !ok1 && !ok2 {
return nil, nil
}
if !ok2 {
- return nil, fmt.Errorf("apiSrvMaxReplicas has to be specified for shooted seed API server autoscaler")
+ return nil, fmt.Errorf("apiSrvMaxReplicas has to be specified for ManagedSeed API server autoscaler")
}
- var apiServerAutoscaler ShootedSeedAPIServerAutoscaler
+ var apiServerAutoscaler ManagedSeedAPIServerAutoscaler
if ok1 {
minReplicas, err := parseInt32(minReplicasString)
@@ -622,69 +346,20 @@ func parseShootedSeedAPIServerAutoscaler(settings map[string]string) (*ShootedSe
return &apiServerAutoscaler, nil
}
-func parseShootedSeedResources(settings map[string]string) (*ShootedSeedResources, error) {
- var capacity, reserved corev1.ResourceList
-
- for k, v := range settings {
- var resourceName corev1.ResourceName
- var quantity resource.Quantity
- var err error
- if strings.HasPrefix(k, "resources.capacity.") || strings.HasPrefix(k, "resources.reserved.") {
- resourceName = corev1.ResourceName(strings.Split(k, ".")[2])
- quantity, err = resource.ParseQuantity(v)
- if err != nil {
- return nil, err
- }
- if strings.HasPrefix(k, "resources.capacity.") {
- if capacity == nil {
- capacity = make(corev1.ResourceList)
- }
- capacity[resourceName] = quantity
- } else {
- if reserved == nil {
- reserved = make(corev1.ResourceList)
- }
- reserved[resourceName] = quantity
- }
- }
- }
-
- if len(capacity) == 0 && len(reserved) == 0 {
- return nil, nil
- }
- return &ShootedSeedResources{
- Capacity: capacity,
- Reserved: reserved,
- }, nil
-}
-
-func validateShootedSeed(shootedSeed *ShootedSeed, fldPath *field.Path) field.ErrorList {
- allErrs := field.ErrorList{}
-
- if shootedSeed.APIServer != nil {
- allErrs = append(allErrs, validateShootedSeedAPIServer(shootedSeed.APIServer, fldPath.Child("apiServer"))...)
- }
- if shootedSeed.Resources != nil {
- allErrs = append(allErrs, validateShootedSeedResources(shootedSeed.Resources, fldPath.Child("resources"))...)
- }
-
- return allErrs
-}
-
-func validateShootedSeedAPIServer(apiServer *ShootedSeedAPIServer, fldPath *field.Path) field.ErrorList {
+func validateManagedSeedAPIServer(apiServer *ManagedSeedAPIServer, fldPath *field.Path) field.ErrorList {
allErrs := field.ErrorList{}
if apiServer.Replicas != nil && *apiServer.Replicas < 1 {
allErrs = append(allErrs, field.Invalid(fldPath.Child("replicas"), *apiServer.Replicas, "must be greater than 0"))
}
if apiServer.Autoscaler != nil {
- allErrs = append(allErrs, validateShootedSeedAPIServerAutoscaler(apiServer.Autoscaler, fldPath.Child("autoscaler"))...)
+ allErrs = append(allErrs, validateManagedSeedAPIServerAutoscaler(apiServer.Autoscaler, fldPath.Child("autoscaler"))...)
}
return allErrs
}
-func validateShootedSeedAPIServerAutoscaler(autoscaler *ShootedSeedAPIServerAutoscaler, fldPath *field.Path) field.ErrorList {
+func validateManagedSeedAPIServerAutoscaler(autoscaler *ManagedSeedAPIServerAutoscaler, fldPath *field.Path) field.ErrorList {
allErrs := field.ErrorList{}
if autoscaler.MinReplicas != nil && *autoscaler.MinReplicas < 1 {
@@ -700,45 +375,17 @@ func validateShootedSeedAPIServerAutoscaler(autoscaler *ShootedSeedAPIServerAuto
return allErrs
}
-func validateShootedSeedResources(resources *ShootedSeedResources, fldPath *field.Path) field.ErrorList {
- allErrs := field.ErrorList{}
-
- for resourceName, quantity := range resources.Capacity {
- if reservedQuantity, ok := resources.Reserved[resourceName]; ok && reservedQuantity.Value() > quantity.Value() {
- allErrs = append(allErrs, field.Invalid(fldPath.Child("reserved", string(resourceName)), resources.Reserved[resourceName], "must be lower or equal to capacity"))
- }
- }
- for resourceName := range resources.Reserved {
- if _, ok := resources.Capacity[resourceName]; !ok {
- allErrs = append(allErrs, field.Invalid(fldPath.Child("reserved", string(resourceName)), resources.Reserved[resourceName], "reserved without capacity"))
- }
- }
-
- return allErrs
-}
-
-func setDefaults_ShootedSeed(shootedSeed *ShootedSeed) {
- if shootedSeed.APIServer == nil {
- shootedSeed.APIServer = &ShootedSeedAPIServer{}
- }
- setDefaults_ShootedSeedAPIServer(shootedSeed.APIServer)
- if shootedSeed.Resources == nil {
- shootedSeed.Resources = &ShootedSeedResources{}
- }
- setDefaults_ShootedSeedResources(shootedSeed.Resources)
-}
-
-func setDefaults_ShootedSeedAPIServer(apiServer *ShootedSeedAPIServer) {
+func setDefaults_ManagedSeedAPIServer(apiServer *ManagedSeedAPIServer) {
if apiServer.Replicas == nil {
three := int32(3)
apiServer.Replicas = &three
}
if apiServer.Autoscaler == nil {
- apiServer.Autoscaler = &ShootedSeedAPIServerAutoscaler{
+ apiServer.Autoscaler = &ManagedSeedAPIServerAutoscaler{
MaxReplicas: 3,
}
}
- setDefaults_ShootedSeedAPIServerAutoscaler(apiServer.Autoscaler)
+ setDefaults_ManagedSeedAPIServerAutoscaler(apiServer.Autoscaler)
}
func minInt32(a int32, b int32) int32 {
@@ -748,53 +395,15 @@ func minInt32(a int32, b int32) int32 {
return b
}
-func setDefaults_ShootedSeedAPIServerAutoscaler(autoscaler *ShootedSeedAPIServerAutoscaler) {
+func setDefaults_ManagedSeedAPIServerAutoscaler(autoscaler *ManagedSeedAPIServerAutoscaler) {
if autoscaler.MinReplicas == nil {
minReplicas := minInt32(3, autoscaler.MaxReplicas)
autoscaler.MinReplicas = &minReplicas
}
}
-func setDefaults_ShootedSeedResources(resources *ShootedSeedResources) {
- if _, ok := resources.Capacity[gardencorev1beta1.ResourceShoots]; !ok {
- if resources.Capacity == nil {
- resources.Capacity = make(corev1.ResourceList)
- }
- resources.Capacity[gardencorev1beta1.ResourceShoots] = resource.MustParse("250")
- }
-}
-
-// ReadShootedSeed determines whether the Shoot has been marked to be registered automatically as a Seed cluster.
-func ReadShootedSeed(shoot *gardencorev1beta1.Shoot) (*ShootedSeed, error) {
- if shoot.Namespace != v1beta1constants.GardenNamespace || shoot.Annotations == nil {
- return nil, nil
- }
-
- val, ok := shoot.Annotations[v1beta1constants.AnnotationShootUseAsSeed]
- if !ok {
- return nil, nil
- }
-
- shootedSeed, err := parseShootedSeed(val)
- if err != nil {
- return nil, err
- }
-
- if shootedSeed == nil {
- return nil, nil
- }
-
- setDefaults_ShootedSeed(shootedSeed)
-
- if errs := validateShootedSeed(shootedSeed, nil); len(errs) > 0 {
- return nil, errs.ToAggregate()
- }
-
- return shootedSeed, nil
-}
-
// ReadManagedSeedAPIServer reads the managed seed API server settings from the corresponding annotation.
-func ReadManagedSeedAPIServer(shoot *gardencorev1beta1.Shoot) (*ShootedSeedAPIServer, error) {
+func ReadManagedSeedAPIServer(shoot *gardencorev1beta1.Shoot) (*ManagedSeedAPIServer, error) {
if shoot.Namespace != v1beta1constants.GardenNamespace || shoot.Annotations == nil {
return nil, nil
}
@@ -805,7 +414,7 @@ func ReadManagedSeedAPIServer(shoot *gardencorev1beta1.Shoot) (*ShootedSeedAPISe
}
_, settings := getFlagsAndSettings(val)
- apiServer, err := parseShootedSeedAPIServer(settings)
+ apiServer, err := parseManagedSeedAPIServer(settings)
if err != nil {
return nil, err
}
@@ -813,9 +422,9 @@ func ReadManagedSeedAPIServer(shoot *gardencorev1beta1.Shoot) (*ShootedSeedAPISe
return nil, nil
}
- setDefaults_ShootedSeedAPIServer(apiServer)
+ setDefaults_ManagedSeedAPIServer(apiServer)
- if errs := validateShootedSeedAPIServer(apiServer, nil); len(errs) > 0 {
+ if errs := validateManagedSeedAPIServer(apiServer, nil); len(errs) > 0 {
return nil, errs.ToAggregate()
}
@@ -876,6 +485,14 @@ func ShootUsesUnmanagedDNS(shoot *gardencorev1beta1.Shoot) bool {
return shoot.Spec.DNS != nil && len(shoot.Spec.DNS.Providers) > 0 && shoot.Spec.DNS.Providers[0].Type != nil && *shoot.Spec.DNS.Providers[0].Type == "unmanaged"
}
+// ShootSchedulingProfile returns the scheduling profile of the given Shoot.
+func ShootSchedulingProfile(shoot *gardencorev1beta1.Shoot) *gardencorev1beta1.SchedulingProfile {
+ if shoot.Spec.Kubernetes.KubeScheduler != nil {
+ return shoot.Spec.Kubernetes.KubeScheduler.Profile
+ }
+ return nil
+}
+
// SeedSettingVerticalPodAutoscalerEnabled returns true if the 'verticalPodAutoscaler' setting is enabled.
func SeedSettingVerticalPodAutoscalerEnabled(settings *gardencorev1beta1.SeedSettings) bool {
return settings == nil || settings.VerticalPodAutoscaler == nil || settings.VerticalPodAutoscaler.Enabled
@@ -1702,3 +1319,19 @@ func MutateShootETCDEncryptionKeyRotation(shoot *gardencorev1beta1.Shoot, f func
f(shoot.Status.Credentials.Rotation.ETCDEncryptionKey)
}
+
+// IsPSPDisabled returns true if the PodSecurityPolicy plugin is explicitly disabled in the ShootSpec or the cluster version is >= 1.25.
+func IsPSPDisabled(shoot *gardencorev1beta1.Shoot) bool {
+ if versionutils.ConstraintK8sGreaterEqual125.Check(semver.MustParse(shoot.Spec.Kubernetes.Version)) {
+ return true
+ }
+
+ if shoot.Spec.Kubernetes.KubeAPIServer != nil {
+ for _, plugin := range shoot.Spec.Kubernetes.KubeAPIServer.AdmissionPlugins {
+ if plugin.Name == "PodSecurityPolicy" && pointer.BoolDeref(plugin.Disabled, false) {
+ return true
+ }
+ }
+ }
+ return false
+}
diff --git a/vendor/github.com/gardener/gardener/pkg/apis/core/v1beta1/types_secretbinding.go b/vendor/github.com/gardener/gardener/pkg/apis/core/v1beta1/types_secretbinding.go
index 68c6768ea..099e675f4 100644
--- a/vendor/github.com/gardener/gardener/pkg/apis/core/v1beta1/types_secretbinding.go
+++ b/vendor/github.com/gardener/gardener/pkg/apis/core/v1beta1/types_secretbinding.go
@@ -36,7 +36,7 @@ type SecretBinding struct {
// +optional
Quotas []corev1.ObjectReference `json:"quotas,omitempty" protobuf:"bytes,3,rep,name=quotas"`
// Provider defines the provider type of the SecretBinding.
- // This field is immutable when the SecretBindingProviderValidation feature gate is enabled.
+ // This field is immutable.
// +optional
Provider *SecretBindingProvider `json:"provider,omitempty" protobuf:"bytes,4,opt,name=provider"`
}
diff --git a/vendor/github.com/gardener/gardener/pkg/apis/core/v1beta1/types_shoot.go b/vendor/github.com/gardener/gardener/pkg/apis/core/v1beta1/types_shoot.go
index 48d10e5f3..210b39dca 100644
--- a/vendor/github.com/gardener/gardener/pkg/apis/core/v1beta1/types_shoot.go
+++ b/vendor/github.com/gardener/gardener/pkg/apis/core/v1beta1/types_shoot.go
@@ -662,7 +662,7 @@ type KubeAPIServerConfig struct {
ServiceAccountConfig *ServiceAccountConfig `json:"serviceAccountConfig,omitempty" protobuf:"bytes,8,opt,name=serviceAccountConfig"`
// WatchCacheSizes contains configuration of the API server's watch cache sizes.
// Configuring these flags might be useful for large-scale Shoot clusters with a lot of parallel update requests
- // and a lot of watching controllers (e.g. large shooted Seed clusters). When the API server's watch cache's
+ // and a lot of watching controllers (e.g. large ManagedSeed clusters). When the API server's watch cache's
// capacity is too small to cope with the amount of update requests and watchers for a particular resource, it
// might happen that controller watches are permanently stopped with `too old resource version` errors.
// Starting from kubernetes v1.19, the API server's watch cache size is adapted dynamically and setting the watch
@@ -717,8 +717,7 @@ type ServiceAccountConfig struct {
// MaxTokenExpiration is the maximum validity duration of a token created by the service account token issuer. If an
// otherwise valid TokenRequest with a validity duration larger than this value is requested, a token will be issued
// with a validity duration of this value.
- // This field must be within [30d,90d] when the ShootMaxTokenExpirationValidation feature gate is enabled.
- // This field will be overwritten to be within [30d,90d] when the ShootMaxTokenExpirationOverwrite feature gate is enabled.
+ // This field must be within [30d,90d].
// +optional
MaxTokenExpiration *metav1.Duration `json:"maxTokenExpiration,omitempty" protobuf:"bytes,4,opt,name=maxTokenExpiration"`
// AcceptedIssuers is an additional set of issuers that are used to determine which service account tokens are accepted.
@@ -797,6 +796,9 @@ type AdmissionPlugin struct {
// Config is the configuration of the plugin.
// +optional
Config *runtime.RawExtension `json:"config,omitempty" protobuf:"bytes,2,opt,name=config"`
+ // Disabled specifies whether this plugin should be disabled.
+ // +optional
+ Disabled *bool `json:"disabled,omitempty" protobuf:"varint,3,opt,name=disabled"`
}
// WatchCacheSizes contains configuration of the API server's watch cache sizes.
@@ -885,8 +887,25 @@ type KubeSchedulerConfig struct {
// of all the side-effects and consequences when changing it.
// +optional
KubeMaxPDVols *string `json:"kubeMaxPDVols,omitempty" protobuf:"bytes,2,opt,name=kubeMaxPDVols"`
+ // Profile configures the scheduling profile for the cluster.
+ // If not specified, the used profile is "balanced" (provides the default kube-scheduler behavior).
+ // +optional
+ Profile *SchedulingProfile `json:"profile,omitempty" protobuf:"bytes,3,opt,name=profile,casttype=SchedulingProfile"`
}
+// SchedulingProfile is a string alias used for scheduling profile values.
+type SchedulingProfile string
+
+const (
+ // SchedulingProfileBalanced is a scheduling profile that attempts to spread Pods evenly across Nodes
+ // to obtain a more balanced resource usage. This profile provides the default kube-scheduler behavior.
+ SchedulingProfileBalanced SchedulingProfile = "balanced"
+ // SchedulingProfileBinPacking is a scheduling profile that scores Nodes based on the allocation of resources.
+ // It prioritizes Nodes with most allocated resources. This leads the Node count in the cluster to be minimized and
+ // the Node resource utilization to be increased.
+ SchedulingProfileBinPacking SchedulingProfile = "bin-packing"
+)
+
// KubeProxyConfig contains configuration settings for the kube-proxy.
type KubeProxyConfig struct {
KubernetesConfig `json:",inline" protobuf:"bytes,1,opt,name=kubernetesConfig"`
diff --git a/vendor/github.com/gardener/gardener/pkg/apis/core/v1beta1/zz_generated.conversion.go b/vendor/github.com/gardener/gardener/pkg/apis/core/v1beta1/zz_generated.conversion.go
index 51a811634..ef7a4702c 100644
--- a/vendor/github.com/gardener/gardener/pkg/apis/core/v1beta1/zz_generated.conversion.go
+++ b/vendor/github.com/gardener/gardener/pkg/apis/core/v1beta1/zz_generated.conversion.go
@@ -1630,6 +1630,7 @@ func Convert_core_Addons_To_v1beta1_Addons(in *core.Addons, out *Addons, s conve
func autoConvert_v1beta1_AdmissionPlugin_To_core_AdmissionPlugin(in *AdmissionPlugin, out *core.AdmissionPlugin, s conversion.Scope) error {
out.Name = in.Name
out.Config = (*runtime.RawExtension)(unsafe.Pointer(in.Config))
+ out.Disabled = (*bool)(unsafe.Pointer(in.Disabled))
return nil
}
@@ -1640,6 +1641,7 @@ func Convert_v1beta1_AdmissionPlugin_To_core_AdmissionPlugin(in *AdmissionPlugin
func autoConvert_core_AdmissionPlugin_To_v1beta1_AdmissionPlugin(in *core.AdmissionPlugin, out *AdmissionPlugin, s conversion.Scope) error {
out.Name = in.Name
+ out.Disabled = (*bool)(unsafe.Pointer(in.Disabled))
out.Config = (*runtime.RawExtension)(unsafe.Pointer(in.Config))
return nil
}
@@ -2897,7 +2899,17 @@ func autoConvert_v1beta1_KubeAPIServerConfig_To_core_KubeAPIServerConfig(in *Kub
if err := Convert_v1beta1_KubernetesConfig_To_core_KubernetesConfig(&in.KubernetesConfig, &out.KubernetesConfig, s); err != nil {
return err
}
- out.AdmissionPlugins = *(*[]core.AdmissionPlugin)(unsafe.Pointer(&in.AdmissionPlugins))
+ if in.AdmissionPlugins != nil {
+ in, out := &in.AdmissionPlugins, &out.AdmissionPlugins
+ *out = make([]core.AdmissionPlugin, len(*in))
+ for i := range *in {
+ if err := Convert_v1beta1_AdmissionPlugin_To_core_AdmissionPlugin(&(*in)[i], &(*out)[i], s); err != nil {
+ return err
+ }
+ }
+ } else {
+ out.AdmissionPlugins = nil
+ }
out.APIAudiences = *(*[]string)(unsafe.Pointer(&in.APIAudiences))
out.AuditConfig = (*core.AuditConfig)(unsafe.Pointer(in.AuditConfig))
out.EnableBasicAuthentication = (*bool)(unsafe.Pointer(in.EnableBasicAuthentication))
@@ -2920,7 +2932,17 @@ func autoConvert_core_KubeAPIServerConfig_To_v1beta1_KubeAPIServerConfig(in *cor
if err := Convert_core_KubernetesConfig_To_v1beta1_KubernetesConfig(&in.KubernetesConfig, &out.KubernetesConfig, s); err != nil {
return err
}
- out.AdmissionPlugins = *(*[]AdmissionPlugin)(unsafe.Pointer(&in.AdmissionPlugins))
+ if in.AdmissionPlugins != nil {
+ in, out := &in.AdmissionPlugins, &out.AdmissionPlugins
+ *out = make([]AdmissionPlugin, len(*in))
+ for i := range *in {
+ if err := Convert_core_AdmissionPlugin_To_v1beta1_AdmissionPlugin(&(*in)[i], &(*out)[i], s); err != nil {
+ return err
+ }
+ }
+ } else {
+ out.AdmissionPlugins = nil
+ }
out.APIAudiences = *(*[]string)(unsafe.Pointer(&in.APIAudiences))
out.AuditConfig = (*AuditConfig)(unsafe.Pointer(in.AuditConfig))
out.EnableBasicAuthentication = (*bool)(unsafe.Pointer(in.EnableBasicAuthentication))
@@ -3026,6 +3048,7 @@ func autoConvert_v1beta1_KubeSchedulerConfig_To_core_KubeSchedulerConfig(in *Kub
return err
}
out.KubeMaxPDVols = (*string)(unsafe.Pointer(in.KubeMaxPDVols))
+ out.Profile = (*core.SchedulingProfile)(unsafe.Pointer(in.Profile))
return nil
}
@@ -3039,6 +3062,7 @@ func autoConvert_core_KubeSchedulerConfig_To_v1beta1_KubeSchedulerConfig(in *cor
return err
}
out.KubeMaxPDVols = (*string)(unsafe.Pointer(in.KubeMaxPDVols))
+ out.Profile = (*SchedulingProfile)(unsafe.Pointer(in.Profile))
return nil
}
@@ -3218,7 +3242,15 @@ func Convert_core_KubeletConfigReserved_To_v1beta1_KubeletConfigReserved(in *cor
func autoConvert_v1beta1_Kubernetes_To_core_Kubernetes(in *Kubernetes, out *core.Kubernetes, s conversion.Scope) error {
out.AllowPrivilegedContainers = (*bool)(unsafe.Pointer(in.AllowPrivilegedContainers))
out.ClusterAutoscaler = (*core.ClusterAutoscaler)(unsafe.Pointer(in.ClusterAutoscaler))
- out.KubeAPIServer = (*core.KubeAPIServerConfig)(unsafe.Pointer(in.KubeAPIServer))
+ if in.KubeAPIServer != nil {
+ in, out := &in.KubeAPIServer, &out.KubeAPIServer
+ *out = new(core.KubeAPIServerConfig)
+ if err := Convert_v1beta1_KubeAPIServerConfig_To_core_KubeAPIServerConfig(*in, *out, s); err != nil {
+ return err
+ }
+ } else {
+ out.KubeAPIServer = nil
+ }
out.KubeControllerManager = (*core.KubeControllerManagerConfig)(unsafe.Pointer(in.KubeControllerManager))
out.KubeScheduler = (*core.KubeSchedulerConfig)(unsafe.Pointer(in.KubeScheduler))
out.KubeProxy = (*core.KubeProxyConfig)(unsafe.Pointer(in.KubeProxy))
@@ -3237,7 +3269,15 @@ func Convert_v1beta1_Kubernetes_To_core_Kubernetes(in *Kubernetes, out *core.Kub
func autoConvert_core_Kubernetes_To_v1beta1_Kubernetes(in *core.Kubernetes, out *Kubernetes, s conversion.Scope) error {
out.AllowPrivilegedContainers = (*bool)(unsafe.Pointer(in.AllowPrivilegedContainers))
out.ClusterAutoscaler = (*ClusterAutoscaler)(unsafe.Pointer(in.ClusterAutoscaler))
- out.KubeAPIServer = (*KubeAPIServerConfig)(unsafe.Pointer(in.KubeAPIServer))
+ if in.KubeAPIServer != nil {
+ in, out := &in.KubeAPIServer, &out.KubeAPIServer
+ *out = new(KubeAPIServerConfig)
+ if err := Convert_core_KubeAPIServerConfig_To_v1beta1_KubeAPIServerConfig(*in, *out, s); err != nil {
+ return err
+ }
+ } else {
+ out.KubeAPIServer = nil
+ }
out.KubeControllerManager = (*KubeControllerManagerConfig)(unsafe.Pointer(in.KubeControllerManager))
out.KubeScheduler = (*KubeSchedulerConfig)(unsafe.Pointer(in.KubeScheduler))
out.KubeProxy = (*KubeProxyConfig)(unsafe.Pointer(in.KubeProxy))
diff --git a/vendor/github.com/gardener/gardener/pkg/apis/core/v1beta1/zz_generated.deepcopy.go b/vendor/github.com/gardener/gardener/pkg/apis/core/v1beta1/zz_generated.deepcopy.go
index 2131a4a1e..81dc7495c 100644
--- a/vendor/github.com/gardener/gardener/pkg/apis/core/v1beta1/zz_generated.deepcopy.go
+++ b/vendor/github.com/gardener/gardener/pkg/apis/core/v1beta1/zz_generated.deepcopy.go
@@ -79,6 +79,11 @@ func (in *AdmissionPlugin) DeepCopyInto(out *AdmissionPlugin) {
*out = new(runtime.RawExtension)
(*in).DeepCopyInto(*out)
}
+ if in.Disabled != nil {
+ in, out := &in.Disabled, &out.Disabled
+ *out = new(bool)
+ **out = **in
+ }
return
}
@@ -1618,6 +1623,11 @@ func (in *KubeSchedulerConfig) DeepCopyInto(out *KubeSchedulerConfig) {
*out = new(string)
**out = **in
}
+ if in.Profile != nil {
+ in, out := &in.Profile, &out.Profile
+ *out = new(SchedulingProfile)
+ **out = **in
+ }
return
}
diff --git a/vendor/github.com/gardener/gardener/pkg/apis/core/zz_generated.deepcopy.go b/vendor/github.com/gardener/gardener/pkg/apis/core/zz_generated.deepcopy.go
index f25826c22..f26de4da6 100644
--- a/vendor/github.com/gardener/gardener/pkg/apis/core/zz_generated.deepcopy.go
+++ b/vendor/github.com/gardener/gardener/pkg/apis/core/zz_generated.deepcopy.go
@@ -74,6 +74,11 @@ func (in *Addons) DeepCopy() *Addons {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AdmissionPlugin) DeepCopyInto(out *AdmissionPlugin) {
*out = *in
+ if in.Disabled != nil {
+ in, out := &in.Disabled, &out.Disabled
+ *out = new(bool)
+ **out = **in
+ }
if in.Config != nil {
in, out := &in.Config, &out.Config
*out = new(runtime.RawExtension)
@@ -1772,6 +1777,11 @@ func (in *KubeSchedulerConfig) DeepCopyInto(out *KubeSchedulerConfig) {
*out = new(string)
**out = **in
}
+ if in.Profile != nil {
+ in, out := &in.Profile, &out.Profile
+ *out = new(SchedulingProfile)
+ **out = **in
+ }
return
}
diff --git a/vendor/github.com/gardener/gardener/pkg/apis/resources/v1alpha1/types.go b/vendor/github.com/gardener/gardener/pkg/apis/resources/v1alpha1/types.go
index 038f9ca81..27e841aa9 100644
--- a/vendor/github.com/gardener/gardener/pkg/apis/resources/v1alpha1/types.go
+++ b/vendor/github.com/gardener/gardener/pkg/apis/resources/v1alpha1/types.go
@@ -25,6 +25,8 @@ const (
// Ignore is an annotation that dictates whether a resources should be ignored during
// reconciliation.
Ignore = "resources.gardener.cloud/ignore"
+ // SkipHealthCheck is an annotation that dictates whether a resource should be ignored during health check.
+ SkipHealthCheck = "resources.gardener.cloud/skip-health-check"
// DeleteOnInvalidUpdate is a constant for an annotation on a resource managed by a ManagedResource. If set to
// true then the controller will delete the object in case it faces an "Invalid" response during an update operation.
DeleteOnInvalidUpdate = "resources.gardener.cloud/delete-on-invalid-update"
@@ -51,6 +53,10 @@ const (
// clusterID.
OriginAnnotation = "resources.gardener.cloud/origin"
+ // ManagedBy is a constant for a label on an object managed by a ManagedResource.
+ // It is set by the ManagedResource controller depending on its configuration. By default it is set to "gardener".
+ ManagedBy = "resources.gardener.cloud/managed-by"
+
// StaticTokenSkip is a constant for a label on a ServiceAccount which indicates that this ServiceAccount should not
// be considered by this controller.
StaticTokenSkip = "token-invalidator.resources.gardener.cloud/skip"
@@ -169,6 +175,9 @@ type ManagedResourceStatus struct {
// Resources is a list of objects that have been created.
// +optional
Resources []ObjectReference `json:"resources,omitempty"`
+ // SecretsDataChecksum is the checksum of referenced secrets data.
+ // +optional
+ SecretsDataChecksum *string `json:"secretsDataChecksum,omitempty"`
}
// ObjectReference is a reference to another object.
diff --git a/vendor/github.com/gardener/gardener/pkg/apis/resources/v1alpha1/zz_generated.deepcopy.go b/vendor/github.com/gardener/gardener/pkg/apis/resources/v1alpha1/zz_generated.deepcopy.go
index a1ecf194c..c97ea2d9e 100644
--- a/vendor/github.com/gardener/gardener/pkg/apis/resources/v1alpha1/zz_generated.deepcopy.go
+++ b/vendor/github.com/gardener/gardener/pkg/apis/resources/v1alpha1/zz_generated.deepcopy.go
@@ -170,6 +170,11 @@ func (in *ManagedResourceStatus) DeepCopyInto(out *ManagedResourceStatus) {
(*in)[i].DeepCopyInto(&(*out)[i])
}
}
+ if in.SecretsDataChecksum != nil {
+ in, out := &in.SecretsDataChecksum, &out.SecretsDataChecksum
+ *out = new(string)
+ **out = **in
+ }
return
}
diff --git a/vendor/github.com/gardener/gardener/pkg/client/kubernetes/runtime_client.go b/vendor/github.com/gardener/gardener/pkg/client/kubernetes/runtime_client.go
index 19ea818f6..de30f5e06 100644
--- a/vendor/github.com/gardener/gardener/pkg/client/kubernetes/runtime_client.go
+++ b/vendor/github.com/gardener/gardener/pkg/client/kubernetes/runtime_client.go
@@ -15,12 +15,10 @@
package kubernetes
import (
- "context"
"fmt"
"time"
kcache "github.com/gardener/gardener/pkg/client/kubernetes/cache"
- "github.com/gardener/gardener/pkg/logger"
"golang.org/x/time/rate"
"k8s.io/apimachinery/pkg/runtime"
@@ -29,48 +27,12 @@ import (
"sigs.k8s.io/controller-runtime/pkg/cache"
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/client/apiutil"
- "sigs.k8s.io/controller-runtime/pkg/cluster"
)
const (
defaultCacheResyncPeriod = 6 * time.Hour
)
-// NewRuntimeClientWithCache creates a new client.client with the given config and options.
-// The client uses a new cache, which will be started immediately using the given context.
-func NewRuntimeClientWithCache(ctx context.Context, config *rest.Config, options client.Options, uncachedObjects ...client.Object) (client.Client, error) {
- if err := setClientOptionsDefaults(config, &options); err != nil {
- return nil, err
- }
-
- clientCache, err := NewRuntimeCache(config, cache.Options{
- Scheme: options.Scheme,
- Mapper: options.Mapper,
- })
- if err != nil {
- return nil, fmt.Errorf("could not create new client cache: %w", err)
- }
-
- runtimeClient, err := newRuntimeClientWithCache(config, options, clientCache, uncachedObjects...)
- if err != nil {
- return nil, err
- }
-
- go func() {
- if err := clientCache.Start(ctx); err != nil {
- logger.NewLogger(logger.ErrorLevel, "").Errorf("cache.Start returned error, which should never happen, ignoring.")
- }
- }()
-
- clientCache.WaitForCacheSync(ctx)
-
- return runtimeClient, nil
-}
-
-func newRuntimeClientWithCache(config *rest.Config, options client.Options, cache cache.Cache, uncachedObjects ...client.Object) (client.Client, error) {
- return cluster.DefaultNewClient(cache, config, options, uncachedObjects...)
-}
-
func setClientOptionsDefaults(config *rest.Config, options *client.Options) error {
if options.Mapper == nil {
// default the client's REST mapper to a dynamic REST mapper (automatically rediscovers resources on NoMatchErrors)
diff --git a/vendor/github.com/gardener/gardener/pkg/controllerutils/finalizers.go b/vendor/github.com/gardener/gardener/pkg/controllerutils/finalizers.go
index 289f5d3b7..234569717 100644
--- a/vendor/github.com/gardener/gardener/pkg/controllerutils/finalizers.go
+++ b/vendor/github.com/gardener/gardener/pkg/controllerutils/finalizers.go
@@ -19,87 +19,37 @@ import (
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
- "k8s.io/client-go/util/retry"
"sigs.k8s.io/controller-runtime/pkg/client"
)
-// PatchAddFinalizers adds the given finalizers to the object via a merge patch request with optimistic locking.
-func PatchAddFinalizers(ctx context.Context, writer client.Writer, obj client.Object, finalizers ...string) error {
+// AddFinalizers ensures that the given finalizer is present in the given object and optimistic locking. If it is not
+// set, it adds it and issues a patch.
+// Note that this is done with a regular merge-patch since strategic merge-patches do not work with custom resources,
+// see https://github.com/kubernetes/kubernetes/issues/105146.
+func AddFinalizers(ctx context.Context, writer client.Writer, obj client.Object, finalizers ...string) error {
return patchFinalizers(ctx, writer, obj, mergeFromWithOptimisticLock, controllerutil.AddFinalizer, finalizers...)
}
-// PatchRemoveFinalizers removes the given finalizers from the object via a merge patch request with optimistic locking.
-func PatchRemoveFinalizers(ctx context.Context, writer client.Writer, obj client.Object, finalizers ...string) error {
- return patchFinalizers(ctx, writer, obj, mergeFromWithOptimisticLock, controllerutil.RemoveFinalizer, finalizers...)
-}
-
-func patchFinalizers(ctx context.Context, writer client.Writer, obj client.Object, patchFunc patchFn, mutate func(client.Object, string) bool, finalizers ...string) error {
- beforePatch := obj.DeepCopyObject().(client.Object)
- for _, finalizer := range finalizers {
- mutate(obj, finalizer)
- }
-
- return writer.Patch(ctx, obj, patchFunc(beforePatch))
-}
-
-// StrategicMergePatchAddFinalizers adds the given finalizers to the object via a strategic merge patch request
-// (without optimistic locking).
-// Note: we can't do the same for removing finalizers, because removing the last finalizer results in the following patch:
-// {"metadata":{"finalizers":null}}
-// which is not safe to issue without optimistic locking. Also, $deleteFromPrimitiveList is not idempotent, see
-// https://github.com/kubernetes/kubernetes/issues/105146.
-func StrategicMergePatchAddFinalizers(ctx context.Context, writer client.Writer, obj client.Object, finalizers ...string) error {
- return patchFinalizers(ctx, writer, obj, strategicMergeFrom, controllerutil.AddFinalizer, finalizers...)
-}
-
-// EnsureFinalizer ensures that a finalizer of the given name is set on the given object with exponential backoff.
-// If the finalizer is not set, it adds it to the list of finalizers and patches the remote object.
-// Use PatchAddFinalizers instead, if the controller is able to tolerate conflict errors caused by stale reads.
-func EnsureFinalizer(ctx context.Context, reader client.Reader, writer client.Writer, obj client.Object, finalizer string) error {
- return tryPatchFinalizers(ctx, reader, writer, obj, controllerutil.AddFinalizer, finalizer)
-}
-
-// RemoveFinalizer ensures that the given finalizer is not present anymore in the given object with exponential backoff.
+// RemoveFinalizers ensures that the given finalizer is not present anymore in the given object and optimistic locking.
// If it is set, it removes it and issues a patch.
-// Use PatchRemoveFinalizers instead, if the controller is able to tolerate conflict errors caused by stale reads.
-func RemoveFinalizer(ctx context.Context, reader client.Reader, writer client.Writer, obj client.Object, finalizer string) error {
- return tryPatchFinalizers(ctx, reader, writer, obj, controllerutil.RemoveFinalizer, finalizer)
+// Note that this is done with a regular merge-patch since strategic merge-patches do not work with custom resources,
+// see https://github.com/kubernetes/kubernetes/issues/105146.
+func RemoveFinalizers(ctx context.Context, writer client.Writer, obj client.Object, finalizers ...string) error {
+ return client.IgnoreNotFound(patchFinalizers(ctx, writer, obj, mergeFromWithOptimisticLock, controllerutil.RemoveFinalizer, finalizers...))
}
// RemoveAllFinalizers ensures that the given object has no finalizers with exponential backoff.
// If any finalizers are set, it removes them and issues a patch.
-func RemoveAllFinalizers(ctx context.Context, reader client.Reader, writer client.Writer, obj client.Object) error {
- return tryPatchObject(ctx, reader, writer, obj, func(obj client.Object) {
- obj.SetFinalizers(nil)
- })
-}
-
-func tryPatchFinalizers(ctx context.Context, reader client.Reader, writer client.Writer, obj client.Object, mutate func(client.Object, string) bool, finalizer string) error {
- return retry.RetryOnConflict(retry.DefaultBackoff, func() error {
- // Unset finalizers array manually here, because finalizers array won't be unset in decoder, if it's empty on
- // the API server. This can lead to an empty patch, although we want to ensure, that the finalizer is present.
- // The patch itself will go through and it won't be noticed that the finalizer wasn't added at all
- obj.SetFinalizers(nil)
-
- if err := reader.Get(ctx, client.ObjectKeyFromObject(obj), obj); err != nil {
- return err
- }
-
- return patchFinalizers(ctx, writer, obj, mergeFromWithOptimisticLock, mutate, finalizer)
- })
-}
-
-func tryPatchObject(ctx context.Context, reader client.Reader, writer client.Writer, obj client.Object, mutate func(client.Object)) error {
- return retry.RetryOnConflict(retry.DefaultBackoff, func() error {
- if err := reader.Get(ctx, client.ObjectKeyFromObject(obj), obj); err != nil {
- return err
- }
- return patchObject(ctx, writer, obj, mutate)
- })
+func RemoveAllFinalizers(ctx context.Context, writer client.Writer, obj client.Object) error {
+ beforePatch := obj.DeepCopyObject().(client.Object)
+ obj.SetFinalizers(nil)
+ return client.IgnoreNotFound(writer.Patch(ctx, obj, mergeFrom(beforePatch)))
}
-func patchObject(ctx context.Context, writer client.Writer, obj client.Object, mutate func(client.Object)) error {
+func patchFinalizers(ctx context.Context, writer client.Writer, obj client.Object, patchFunc patchFn, mutate func(client.Object, string) bool, finalizers ...string) error {
beforePatch := obj.DeepCopyObject().(client.Object)
- mutate(obj)
- return writer.Patch(ctx, obj, mergeFromWithOptimisticLock(beforePatch))
+ for _, finalizer := range finalizers {
+ mutate(obj, finalizer)
+ }
+ return writer.Patch(ctx, obj, patchFunc(beforePatch))
}
diff --git a/vendor/github.com/gardener/gardener/pkg/controllerutils/mapper/enqueue_mapped.go b/vendor/github.com/gardener/gardener/pkg/controllerutils/mapper/enqueue_mapped.go
index 19b9da3f0..f547e29d8 100644
--- a/vendor/github.com/gardener/gardener/pkg/controllerutils/mapper/enqueue_mapped.go
+++ b/vendor/github.com/gardener/gardener/pkg/controllerutils/mapper/enqueue_mapped.go
@@ -15,7 +15,18 @@
package mapper
import (
+ "context"
+ "fmt"
+
+ ctxutils "github.com/gardener/gardener/pkg/utils/context"
+
+ "github.com/go-logr/logr"
+ "k8s.io/apimachinery/pkg/api/meta"
+ "k8s.io/apimachinery/pkg/runtime"
+ "k8s.io/apimachinery/pkg/types"
+ utilruntime "k8s.io/apimachinery/pkg/util/runtime"
"k8s.io/client-go/util/workqueue"
+ "sigs.k8s.io/controller-runtime/pkg/cache"
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/event"
"sigs.k8s.io/controller-runtime/pkg/handler"
@@ -26,37 +37,71 @@ import (
// Mapper maps an object to a collection of keys to be enqueued
type Mapper interface {
// Map maps an object
- Map(obj client.Object) []reconcile.Request
+ Map(ctx context.Context, log logr.Logger, reader client.Reader, obj client.Object) []reconcile.Request
}
var _ Mapper = MapFunc(nil)
// MapFunc is the signature required for enqueueing requests from a generic function.
// This type is usually used with EnqueueRequestsFromMapFunc when registering an event mapper.
-type MapFunc func(client.Object) []reconcile.Request
+type MapFunc func(ctx context.Context, log logr.Logger, reader client.Reader, obj client.Object) []reconcile.Request
// Map implements Mapper.
-func (f MapFunc) Map(obj client.Object) []reconcile.Request {
- return f(obj)
+func (f MapFunc) Map(ctx context.Context, log logr.Logger, reader client.Reader, obj client.Object) []reconcile.Request {
+ return f(ctx, log, reader, obj)
}
// EnqueueRequestsFrom is similar to controller-runtime's mapper.EnqueueRequestsFromMapFunc.
// Instead of taking only a MapFunc it also allows passing a Mapper interface. Also, it allows customizing the
-// behaviour on UpdateEvents.
-// For UpdateEvents, the given UpdateBehaviour decides if only the old, only the new or both objects should be mapped
+// behavior on UpdateEvents.
+// For UpdateEvents, the given UpdateBehavior decides if only the old, only the new or both objects should be mapped
// and enqueued.
-func EnqueueRequestsFrom(m Mapper, updateBehavior UpdateBehavior) handler.EventHandler {
+func EnqueueRequestsFrom(m Mapper, updateBehavior UpdateBehavior, log logr.Logger) handler.EventHandler {
return &enqueueRequestsFromMapFunc{
mapper: m,
updateBehavior: updateBehavior,
+ log: log,
}
}
type enqueueRequestsFromMapFunc struct {
// mapper transforms the argument into a slice of keys to be reconciled
mapper Mapper
- // updateBehaviour decides which object(s) to map and enqueue on updates
+ // updateBehavior decides which object(s) to map and enqueue on updates
updateBehavior UpdateBehavior
+
+ ctx context.Context
+ log logr.Logger
+ reader client.Reader
+}
+
+// UpdateBehavior determines how an update should be handled.
+type UpdateBehavior uint8
+
+const (
+ // UpdateWithOldAndNew considers both, the old as well as the new object, in case of an update.
+ UpdateWithOldAndNew UpdateBehavior = iota
+ // UpdateWithOld considers only the old object in case of an update.
+ UpdateWithOld
+ // UpdateWithNew considers only the new object in case of an update.
+ UpdateWithNew
+)
+
+func (e *enqueueRequestsFromMapFunc) InjectCache(c cache.Cache) error {
+ e.reader = c
+ return nil
+}
+
+func (e *enqueueRequestsFromMapFunc) InjectStopChannel(stopCh <-chan struct{}) error {
+ e.ctx = ctxutils.FromStopChannel(stopCh)
+ return nil
+}
+
+func (e *enqueueRequestsFromMapFunc) InjectFunc(f inject.Func) error {
+ if f == nil {
+ return nil
+ }
+ return f(e.mapper)
}
func (e *enqueueRequestsFromMapFunc) Create(evt event.CreateEvent, q workqueue.RateLimitingInterface) {
@@ -84,26 +129,34 @@ func (e *enqueueRequestsFromMapFunc) Generic(evt event.GenericEvent, q workqueue
}
func (e *enqueueRequestsFromMapFunc) mapAndEnqueue(q workqueue.RateLimitingInterface, object client.Object) {
- for _, req := range e.mapper.Map(object) {
+ for _, req := range e.mapper.Map(e.ctx, e.log, e.reader, object) {
q.Add(req)
}
}
-func (e *enqueueRequestsFromMapFunc) InjectFunc(f inject.Func) error {
- if f == nil {
- return nil
- }
- return f(e.mapper)
-}
+// ObjectListToRequests adds a reconcile.Request for each object in the provided list.
+func ObjectListToRequests(list client.ObjectList, predicates ...func(client.Object) bool) []reconcile.Request {
+ var requests []reconcile.Request
-// UpdateBehavior determines how an update should be handled.
-type UpdateBehavior uint8
+ utilruntime.HandleError(meta.EachListItem(list, func(object runtime.Object) error {
+ obj, ok := object.(client.Object)
+ if !ok {
+ return fmt.Errorf("cannot convert object of type %T to client.Object", object)
+ }
-const (
- // UpdateWithOldAndNew considers both, the old as well as the new object, in case of an update.
- UpdateWithOldAndNew UpdateBehavior = iota
- // UpdateWithOld considers only the old object in case of an update.
- UpdateWithOld
- // UpdateWithNew considers only the new object in case of an update.
- UpdateWithNew
-)
+ for _, predicate := range predicates {
+ if !predicate(obj) {
+ return nil
+ }
+ }
+
+ requests = append(requests, reconcile.Request{NamespacedName: types.NamespacedName{
+ Name: obj.GetName(),
+ Namespace: obj.GetNamespace(),
+ }})
+
+ return nil
+ }))
+
+ return requests
+}
diff --git a/vendor/github.com/gardener/gardener/pkg/controllerutils/mapper/mapper.go b/vendor/github.com/gardener/gardener/pkg/controllerutils/mapper/mapper.go
index 8fa01c2fa..a34597ba2 100644
--- a/vendor/github.com/gardener/gardener/pkg/controllerutils/mapper/mapper.go
+++ b/vendor/github.com/gardener/gardener/pkg/controllerutils/mapper/mapper.go
@@ -17,29 +17,28 @@ package mapper
import (
"context"
- "k8s.io/apimachinery/pkg/api/meta"
- "k8s.io/apimachinery/pkg/runtime"
- "k8s.io/apimachinery/pkg/types"
- utilruntime "k8s.io/apimachinery/pkg/util/runtime"
- "sigs.k8s.io/controller-runtime/pkg/client"
- "sigs.k8s.io/controller-runtime/pkg/predicate"
- "sigs.k8s.io/controller-runtime/pkg/reconcile"
- "sigs.k8s.io/controller-runtime/pkg/runtime/inject"
+ "sigs.k8s.io/controller-runtime/pkg/cache"
extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
predicateutils "github.com/gardener/gardener/pkg/controllerutils/predicate"
contextutil "github.com/gardener/gardener/pkg/utils/context"
+
+ "github.com/go-logr/logr"
+ "sigs.k8s.io/controller-runtime/pkg/client"
+ "sigs.k8s.io/controller-runtime/pkg/predicate"
+ "sigs.k8s.io/controller-runtime/pkg/reconcile"
+ "sigs.k8s.io/controller-runtime/pkg/runtime/inject"
)
type clusterToObjectMapper struct {
ctx context.Context
- client client.Client
+ reader cache.Cache
newObjListFunc func() client.ObjectList
predicates []predicate.Predicate
}
-func (m *clusterToObjectMapper) InjectClient(c client.Client) error {
- m.client = c
+func (m *clusterToObjectMapper) InjectCache(c cache.Cache) error {
+ m.reader = c
return nil
}
@@ -57,34 +56,20 @@ func (m *clusterToObjectMapper) InjectFunc(f inject.Func) error {
return nil
}
-func (m *clusterToObjectMapper) Map(obj client.Object) []reconcile.Request {
+func (m *clusterToObjectMapper) Map(ctx context.Context, _ logr.Logger, reader client.Reader, obj client.Object) []reconcile.Request {
cluster, ok := obj.(*extensionsv1alpha1.Cluster)
if !ok {
return nil
}
objList := m.newObjListFunc()
- if err := m.client.List(m.ctx, objList, client.InNamespace(cluster.Name)); err != nil {
+ if err := reader.List(ctx, objList, client.InNamespace(cluster.Name)); err != nil {
return nil
}
- var requests []reconcile.Request
-
- utilruntime.HandleError(meta.EachListItem(objList, func(obj runtime.Object) error {
- o := obj.(client.Object)
- if !predicateutils.EvalGeneric(o, m.predicates...) {
- return nil
- }
-
- requests = append(requests, reconcile.Request{
- NamespacedName: types.NamespacedName{
- Namespace: o.GetNamespace(),
- Name: o.GetName(),
- },
- })
- return nil
- }))
- return requests
+ return ObjectListToRequests(objList, func(o client.Object) bool {
+ return predicateutils.EvalGeneric(o, m.predicates...)
+ })
}
// ClusterToObjectMapper returns a mapper that returns requests for objects whose
diff --git a/vendor/github.com/gardener/gardener/pkg/controllerutils/predicate/or.go b/vendor/github.com/gardener/gardener/pkg/controllerutils/predicate/or.go
deleted file mode 100644
index 7e07feaa3..000000000
--- a/vendor/github.com/gardener/gardener/pkg/controllerutils/predicate/or.go
+++ /dev/null
@@ -1,77 +0,0 @@
-// Copyright (c) 2022 SAP SE or an SAP affiliate company. All rights reserved. This file is licensed under the Apache Software License, v. 2 except as noted otherwise in the LICENSE file
-//
-// 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 predicate
-
-import (
- "sigs.k8s.io/controller-runtime/pkg/event"
- "sigs.k8s.io/controller-runtime/pkg/predicate"
- "sigs.k8s.io/controller-runtime/pkg/runtime/inject"
-)
-
-// Or returns a composite predicate that implements a logical OR of the predicates passed to it.
-// TODO: This is a copy of "sigs.k8s.io/controller-runtime/pkg/predicate.Or" with the addition of the InjectFunc.
-// Delete this code once the upstream library supports the InjectFunc as well.
-func Or(predicates ...predicate.Predicate) predicate.Predicate {
- return or{predicates}
-}
-
-type or struct {
- predicates []predicate.Predicate
-}
-
-func (o or) InjectFunc(f inject.Func) error {
- for _, p := range o.predicates {
- if err := f(p); err != nil {
- return err
- }
- }
- return nil
-}
-
-func (o or) Create(e event.CreateEvent) bool {
- for _, p := range o.predicates {
- if p.Create(e) {
- return true
- }
- }
- return false
-}
-
-func (o or) Update(e event.UpdateEvent) bool {
- for _, p := range o.predicates {
- if p.Update(e) {
- return true
- }
- }
- return false
-}
-
-func (o or) Delete(e event.DeleteEvent) bool {
- for _, p := range o.predicates {
- if p.Delete(e) {
- return true
- }
- }
- return false
-}
-
-func (o or) Generic(e event.GenericEvent) bool {
- for _, p := range o.predicates {
- if p.Generic(e) {
- return true
- }
- }
- return false
-}
diff --git a/vendor/github.com/gardener/gardener/pkg/controllerutils/worker.go b/vendor/github.com/gardener/gardener/pkg/controllerutils/worker.go
index 7982ee91a..372058345 100644
--- a/vendor/github.com/gardener/gardener/pkg/controllerutils/worker.go
+++ b/vendor/github.com/gardener/gardener/pkg/controllerutils/worker.go
@@ -27,8 +27,6 @@ import (
"k8s.io/client-go/util/workqueue"
logf "sigs.k8s.io/controller-runtime/pkg/log"
"sigs.k8s.io/controller-runtime/pkg/reconcile"
-
- "github.com/gardener/gardener/pkg/logger"
)
// WorkerOptions are options for a controller's worker.
@@ -87,9 +85,6 @@ func requestFromKey(key interface{}) (reconcile.Request, error) {
// worker runs a worker thread that just dequeues items, processes them, and marks them done.
// It enforces that the reconciler is never invoked concurrently with the same key.
func worker(ctx context.Context, queue workqueue.RateLimitingInterface, resourceType string, reconciler reconcile.Reconciler, opts WorkerOptions) {
- // TODO(timebertt): remove this var and all usages of logger.Logger, once all controllers have migrated to logr.
- controllerLogger := opts.logger
-
exit := false
for !exit {
exit = func() bool {
@@ -101,33 +96,19 @@ func worker(ctx context.Context, queue workqueue.RateLimitingInterface, resource
req, err := requestFromKey(key)
if err != nil {
- if controllerLogger.GetSink() != nil {
- controllerLogger.Error(err, "Cannot obtain request from key")
- } else {
- logger.Logger.WithError(err).Error("Cannot obtain request from key")
- }
+ opts.logger.Error(err, "Cannot obtain request from key")
queue.Forget(key)
return false
}
- var (
- reconcileCtx = ctx
- reconcileLogger logr.Logger
- )
- if controllerLogger.GetSink() != nil {
- reconcileLogger = controllerLogger.WithValues("name", req.Name, "namespace", req.Namespace)
- reconcileCtx = logf.IntoContext(ctx, reconcileLogger)
- }
+ reconcileLogger := opts.logger.WithValues("name", req.Name, "namespace", req.Namespace)
+ reconcileCtx := logf.IntoContext(ctx, reconcileLogger)
res, err := reconciler.Reconcile(reconcileCtx, req)
if err != nil {
- if reconcileLogger.GetSink() != nil {
- // resource type is not added to logger here. Ideally, each controller sets WithName and it is clear from
- // which controller the error log comes.
- reconcileLogger.Error(err, "Error reconciling request")
- } else {
- logger.Logger.Infof("Error syncing %s %v: %v", resourceType, key, err)
- }
+ // resource type is not added to logger here. Ideally, each controller sets WithName and it is clear from
+ // which controller the error log comes.
+ reconcileLogger.Error(err, "Error reconciling request")
queue.AddRateLimited(key)
return false
}
diff --git a/vendor/github.com/gardener/gardener/pkg/extensions/customresources.go b/vendor/github.com/gardener/gardener/pkg/extensions/customresources.go
index 8da8f73cb..aa2b1a689 100644
--- a/vendor/github.com/gardener/gardener/pkg/extensions/customresources.go
+++ b/vendor/github.com/gardener/gardener/pkg/extensions/customresources.go
@@ -20,13 +20,6 @@ import (
"fmt"
"time"
- "github.com/sirupsen/logrus"
- autoscalingv1 "k8s.io/api/autoscaling/v1"
- apierrors "k8s.io/apimachinery/pkg/api/errors"
- "k8s.io/apimachinery/pkg/api/meta"
- "k8s.io/apimachinery/pkg/runtime"
- "sigs.k8s.io/controller-runtime/pkg/client"
-
gardencorev1alpha1 "github.com/gardener/gardener/pkg/apis/core/v1alpha1"
gardencorev1alpha1helper "github.com/gardener/gardener/pkg/apis/core/v1alpha1/helper"
gardencorev1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1"
@@ -39,6 +32,13 @@ import (
"github.com/gardener/gardener/pkg/utils/kubernetes/health"
unstructuredutils "github.com/gardener/gardener/pkg/utils/kubernetes/unstructured"
"github.com/gardener/gardener/pkg/utils/retry"
+
+ "github.com/go-logr/logr"
+ autoscalingv1 "k8s.io/api/autoscaling/v1"
+ apierrors "k8s.io/apimachinery/pkg/api/errors"
+ "k8s.io/apimachinery/pkg/api/meta"
+ "k8s.io/apimachinery/pkg/runtime"
+ "sigs.k8s.io/controller-runtime/pkg/client"
)
// TimeNow returns the current time. Exposed for testing.
@@ -50,7 +50,7 @@ var TimeNow = time.Now
func WaitUntilExtensionObjectReady(
ctx context.Context,
c client.Client,
- logger logrus.FieldLogger,
+ log logr.Logger,
obj extensionsv1alpha1.Object,
kind string,
interval time.Duration,
@@ -58,7 +58,7 @@ func WaitUntilExtensionObjectReady(
timeout time.Duration,
postReadyFunc func() error,
) error {
- return WaitUntilObjectReadyWithHealthFunction(ctx, c, logger, health.CheckExtensionObject, obj, kind, interval, severeThreshold, timeout, postReadyFunc)
+ return WaitUntilObjectReadyWithHealthFunction(ctx, c, log, health.CheckExtensionObject, obj, kind, interval, severeThreshold, timeout, postReadyFunc)
}
// WaitUntilObjectReadyWithHealthFunction waits until the given object has become ready. It takes the health check
@@ -68,7 +68,7 @@ func WaitUntilExtensionObjectReady(
func WaitUntilObjectReadyWithHealthFunction(
ctx context.Context,
c client.Client,
- logger logrus.FieldLogger,
+ log logr.Logger,
healthFunc health.Func,
obj client.Object,
kind string,
@@ -106,7 +106,8 @@ func WaitUntilObjectReadyWithHealthFunction(
if err := healthFunc(obj); err != nil {
lastObservedError = err
- logger.WithError(err).Errorf("%s did not get ready yet", extensionKey(kind, namespace, name))
+ log.Error(err, "Object did not get ready yet")
+
if retry.IsRetriable(err) {
return retry.MinorOrSevereError(retryCountUntilSevere, int(severeThreshold.Nanoseconds()/interval.Nanoseconds()), err)
}
@@ -178,7 +179,7 @@ func DeleteExtensionObjects(
func WaitUntilExtensionObjectsDeleted(
ctx context.Context,
c client.Client,
- logger logrus.FieldLogger,
+ log logr.Logger,
listObj client.ObjectList,
kind string,
namespace string,
@@ -187,7 +188,7 @@ func WaitUntilExtensionObjectsDeleted(
predicateFunc func(obj extensionsv1alpha1.Object) bool,
) error {
fns, err := applyFuncToExtensionObjects(ctx, c, listObj, namespace, predicateFunc, func(ctx context.Context, obj extensionsv1alpha1.Object) error {
- return WaitUntilExtensionObjectDeleted(ctx, c, logger, obj, kind, interval, timeout)
+ return WaitUntilExtensionObjectDeleted(ctx, c, log, obj, kind, interval, timeout)
})
if err != nil {
return err
@@ -202,7 +203,7 @@ func WaitUntilExtensionObjectsDeleted(
func WaitUntilExtensionObjectDeleted(
ctx context.Context,
c client.Client,
- logger logrus.FieldLogger,
+ log logr.Logger,
obj extensionsv1alpha1.Object,
kind string,
interval time.Duration,
@@ -224,7 +225,7 @@ func WaitUntilExtensionObjectDeleted(
}
if lastErr := obj.GetExtensionStatus().GetLastError(); lastErr != nil {
- logger.Errorf("%s did not get deleted yet, lastError is: %s", extensionKey(kind, namespace, name), lastErr.Description)
+ log.Error(fmt.Errorf(lastErr.Description), "Object did not get deleted yet")
lastObservedError = gardencorev1beta1helper.NewErrorWithCodes(errors.New(lastErr.Description), lastErr.Codes...)
}
diff --git a/vendor/github.com/gardener/gardener/pkg/gardenlet/apis/config/types.go b/vendor/github.com/gardener/gardener/pkg/gardenlet/apis/config/types.go
index f7b0204a9..4d992f12e 100644
--- a/vendor/github.com/gardener/gardener/pkg/gardenlet/apis/config/types.go
+++ b/vendor/github.com/gardener/gardener/pkg/gardenlet/apis/config/types.go
@@ -21,7 +21,6 @@ import (
"k8s.io/apimachinery/pkg/api/resource"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
componentbaseconfig "k8s.io/component-base/config"
- "k8s.io/klog"
)
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
@@ -48,8 +47,6 @@ type GardenletConfiguration struct {
LogLevel *string
// LogFormat is the output format for the logs. Must be one of [text,json].
LogFormat *string
- // KubernetesLogLevel is the log level used for Kubernetes' k8s.io/klog functions.
- KubernetesLogLevel *klog.Level
// Server defines the configuration of the HTTP server.
Server *ServerConfiguration
// Debugging holds configuration for Debugging related features.
@@ -81,10 +78,10 @@ type GardenletConfiguration struct {
type GardenClientConnection struct {
componentbaseconfig.ClientConnectionConfiguration
// GardenClusterAddress is the external address that the gardenlets can use to remotely connect to the Garden
- // cluster. It is needed in case the gardenlet deploys itself into shooted seeds.
+ // cluster. It is needed in case the gardenlet deploys itself into ManagedSeeds.
GardenClusterAddress *string
// GardenClusterCACert is the external address that the gardenlets can use to remotely connect to the Garden
- // cluster. It is needed in case the gardenlet deploys itself into shooted seeds.
+ // cluster. It is needed in case the gardenlet deploys itself into ManagedSeeds.
GardenClusterCACert []byte
// BootstrapKubeconfig is a reference to a secret that contains a data key 'kubeconfig' whose value
// is a kubeconfig that can be used for bootstrapping. If `kubeconfig` is given then only this kubeconfig
@@ -138,9 +135,9 @@ type GardenletControllerConfiguration struct {
ShootStateSync *ShootStateSyncControllerConfiguration
// SeedAPIServerNetworkPolicy defines the configuration of the SeedAPIServerNetworkPolicy controller.
SeedAPIServerNetworkPolicy *SeedAPIServerNetworkPolicyControllerConfiguration
- // ManagedSeedControllerConfiguration the configuration of the ManagedSeed controller.
+ // ManagedSeedControllerConfiguration defines the configuration of the ManagedSeed controller.
ManagedSeed *ManagedSeedControllerConfiguration
- // ShootSecretControllerConfiguration the configuration of the ShootSecret controller.
+ // ShootSecretControllerConfiguration defines the configuration of the ShootSecret controller.
ShootSecret *ShootSecretControllerConfiguration
}
@@ -408,8 +405,6 @@ type Loki struct {
// GardenLoki contains configuration for the Loki in garden namespace.
type GardenLoki struct {
- // Priority is the priority value for the Loki.
- Priority *int32
// Storage is the disk storage capacity of the central Loki.
// Defaults to 100Gi.
Storage *resource.Quantity
@@ -421,6 +416,12 @@ type ShootNodeLogging struct {
ShootPurposes []gardencore.ShootPurpose
}
+// ShootEventLogging contains configurations for the shoot event logger.
+type ShootEventLogging struct {
+ // Enabled is used to enable or disable shoot event logger.
+ Enabled *bool
+}
+
// Logging contains configuration for the logging stack.
type Logging struct {
// Enabled is used to enable or disable logging stack for clusters.
@@ -431,6 +432,8 @@ type Logging struct {
Loki *Loki
// ShootNodeLogging contains configurations for the shoot node logging.
ShootNodeLogging *ShootNodeLogging
+ // ShootEventLogging contains configurations for the shoot event logger.
+ ShootEventLogging *ShootEventLogging
}
// ServerConfiguration contains details for the HTTP(S) servers.
@@ -565,6 +568,9 @@ type MonitoringConfig struct {
// ShootMonitoringConfig contains settings for the shoot monitoring stack.
type ShootMonitoringConfig struct {
+ // Enabled is used to enable or disable the shoot monitoring stack.
+ // Defaults to true.
+ Enabled *bool
// RemoteWrite is optional and contains remote write setting.
RemoteWrite *RemoteWriteMonitoringConfig
// ExternalLabels is optional and sets additional external labels for the monitoring stack.
diff --git a/vendor/github.com/gardener/gardener/pkg/gardenlet/apis/config/v1alpha1/defaults.go b/vendor/github.com/gardener/gardener/pkg/gardenlet/apis/config/v1alpha1/defaults.go
index 4880b0d37..3317cf623 100644
--- a/vendor/github.com/gardener/gardener/pkg/gardenlet/apis/config/v1alpha1/defaults.go
+++ b/vendor/github.com/gardener/gardener/pkg/gardenlet/apis/config/v1alpha1/defaults.go
@@ -62,11 +62,6 @@ func SetDefaults_GardenletConfiguration(obj *GardenletConfiguration) {
obj.LogFormat = &v
}
- if obj.KubernetesLogLevel == nil {
- v := DefaultKubernetesLogLevel
- obj.KubernetesLogLevel = &v
- }
-
if obj.Server == nil {
obj.Server = &ServerConfiguration{}
}
@@ -87,11 +82,15 @@ func SetDefaults_GardenletConfiguration(obj *GardenletConfiguration) {
obj.SNI = &SNI{}
}
+ if obj.Monitoring == nil {
+ obj.Monitoring = &MonitoringConfig{}
+ }
+
if obj.ETCDConfig == nil {
obj.ETCDConfig = &ETCDConfig{}
}
- var defaultSVCName = DefaultSNIIngresServiceName
+ var defaultSVCName = v1beta1constants.DefaultSNIIngressServiceName
for i, handler := range obj.ExposureClassHandlers {
if obj.ExposureClassHandlers[i].SNI == nil {
obj.ExposureClassHandlers[i].SNI = &SNI{Ingress: &SNIIngress{}}
@@ -108,7 +107,7 @@ func SetDefaults_GardenletConfiguration(obj *GardenletConfiguration) {
}
if len(obj.ExposureClassHandlers[i].SNI.Ingress.Labels) == 0 {
obj.ExposureClassHandlers[i].SNI.Ingress.Labels = map[string]string{
- v1beta1constants.LabelApp: DefaultIngressGatewayAppLabelValue,
+ v1beta1constants.LabelApp: v1beta1constants.DefaultIngressGatewayAppLabelValue,
v1beta1constants.GardenRole: v1beta1constants.GardenRoleExposureClassHandler,
}
}
@@ -216,6 +215,21 @@ func SetDefaults_BackupEntryControllerConfiguration(obj *BackupEntryControllerCo
}
}
+// SetDefaults_MonitoringConfig sets the defaults for the monitoring stack.
+func SetDefaults_MonitoringConfig(obj *MonitoringConfig) {
+ if obj.Shoot == nil {
+ obj.Shoot = &ShootMonitoringConfig{}
+ }
+}
+
+// SetDefaults_ShootMonitoringConfig sets the defaults for the shoot monitoring.
+func SetDefaults_ShootMonitoringConfig(obj *ShootMonitoringConfig) {
+ if obj.Enabled == nil {
+ v := true
+ obj.Enabled = &v
+ }
+}
+
// SetDefaults_BackupEntryMigrationControllerConfiguration sets defaults for the backup entry migration controller.
func SetDefaults_BackupEntryMigrationControllerConfiguration(obj *BackupEntryMigrationControllerConfiguration) {
if obj.ConcurrentSyncs == nil {
@@ -456,8 +470,8 @@ func SetDefaults_SNI(obj *SNI) {
// SetDefaults_SNIIngress sets defaults for SNI ingressgateway.
func SetDefaults_SNIIngress(obj *SNIIngress) {
var (
- defaultNS = DefaultSNIIngresNamespace
- defaultSVCName = DefaultSNIIngresServiceName
+ defaultNS = v1beta1constants.DefaultSNIIngressNamespace
+ defaultSVCName = v1beta1constants.DefaultSNIIngressServiceName
)
if obj.Namespace == nil {
@@ -470,7 +484,7 @@ func SetDefaults_SNIIngress(obj *SNIIngress) {
if obj.Labels == nil {
obj.Labels = map[string]string{
- v1beta1constants.LabelApp: DefaultIngressGatewayAppLabelValue,
+ v1beta1constants.LabelApp: v1beta1constants.DefaultIngressGatewayAppLabelValue,
"istio": "ingressgateway",
}
}
@@ -479,7 +493,7 @@ func SetDefaults_SNIIngress(obj *SNIIngress) {
// SetDefaults_Logging sets defaults for the Logging stack.
func SetDefaults_Logging(obj *Logging) {
if obj.Enabled == nil {
- obj.Enabled = pointer.BoolPtr(false)
+ obj.Enabled = pointer.Bool(false)
}
if obj.Loki == nil {
obj.Loki = &Loki{}
@@ -493,6 +507,12 @@ func SetDefaults_Logging(obj *Logging) {
if obj.Loki.Garden.Storage == nil {
obj.Loki.Garden.Storage = &DefaultCentralLokiStorage
}
+ if obj.ShootEventLogging == nil {
+ obj.ShootEventLogging = &ShootEventLogging{}
+ }
+ if obj.ShootEventLogging.Enabled == nil {
+ obj.ShootEventLogging.Enabled = obj.Enabled
+ }
}
// SetDefaults_ETCDConfig sets defaults for the ETCD.
diff --git a/vendor/github.com/gardener/gardener/pkg/gardenlet/apis/config/v1alpha1/types.go b/vendor/github.com/gardener/gardener/pkg/gardenlet/apis/config/v1alpha1/types.go
index 4278da3f4..0e188ad3a 100644
--- a/vendor/github.com/gardener/gardener/pkg/gardenlet/apis/config/v1alpha1/types.go
+++ b/vendor/github.com/gardener/gardener/pkg/gardenlet/apis/config/v1alpha1/types.go
@@ -23,7 +23,6 @@ import (
"k8s.io/apimachinery/pkg/api/resource"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
componentbaseconfigv1alpha1 "k8s.io/component-base/config/v1alpha1"
- "k8s.io/klog"
)
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
@@ -58,9 +57,6 @@ type GardenletConfiguration struct {
// LogFormat is the output format for the logs. Must be one of [text,json].
// +optional
LogFormat *string `json:"logFormat,omitempty"`
- // KubernetesLogLevel is the log level used for Kubernetes' k8s.io/klog functions.
- // +optional
- KubernetesLogLevel *klog.Level `json:"kubernetesLogLevel,omitempty"`
// Server defines the configuration of the HTTP server.
// +optional
Server *ServerConfiguration `json:"server,omitempty"`
@@ -101,11 +97,11 @@ type GardenletConfiguration struct {
type GardenClientConnection struct {
componentbaseconfigv1alpha1.ClientConnectionConfiguration `json:",inline"`
// GardenClusterAddress is the external address that the gardenlets can use to remotely connect to the Garden
- // cluster. It is needed in case the gardenlet deploys itself into shooted seeds.
+ // cluster. It is needed in case the gardenlet deploys itself into ManagedSeeds.
// +optional
GardenClusterAddress *string `json:"gardenClusterAddress,omitempty"`
// GardenClusterCACert is the external address that the gardenlets can use to remotely connect to the Garden
- // cluster. It is needed in case the gardenlet deploys itself into shooted seeds.
+ // cluster. It is needed in case the gardenlet deploys itself into ManagedSeeds.
// +optional
GardenClusterCACert []byte `json:"gardenClusterCACert,omitempty"`
// BootstrapKubeconfig is a reference to a secret that contains a data key 'kubeconfig' whose value
@@ -176,10 +172,10 @@ type GardenletControllerConfiguration struct {
// SeedAPIServerNetworkPolicy defines the configuration of the SeedAPIServerNetworkPolicy controller
// +optional
SeedAPIServerNetworkPolicy *SeedAPIServerNetworkPolicyControllerConfiguration `json:"seedAPIServerNetworkPolicy,omitempty"`
- // ManagedSeedControllerConfiguration the configuration of the ManagedSeed controller.
+ // ManagedSeedControllerConfiguration defines the configuration of the ManagedSeed controller.
// +optional
ManagedSeed *ManagedSeedControllerConfiguration `json:"managedSeed,omitempty"`
- // ShootSecretControllerConfiguration the configuration of the ShootSecret controller.
+ // ShootSecretControllerConfiguration defines the configuration of the ShootSecret controller.
// +optional
ShootSecret *ShootSecretControllerConfiguration `json:"shootSecret,omitempty"`
}
@@ -501,9 +497,6 @@ type Loki struct {
// GardenLoki contains configuration for the Loki in garden namespace.
type GardenLoki struct {
- // Priority is the priority value for the Loki
- // +optional
- Priority *int `json:"priority,omitempty" yaml:"priority,omitempty"`
// Storage is the disk storage capacity of the central Loki.
// Defaults to 100Gi.
// +optional
@@ -517,6 +510,13 @@ type ShootNodeLogging struct {
ShootPurposes []gardencorev1beta1.ShootPurpose `json:"shootPurposes,omitempty" yaml:"shootPurposes,omitempty"`
}
+// ShootEventLogging contains configurations for the shoot event logger.
+type ShootEventLogging struct {
+ // Enabled is used to enable or disable shoot event logger.
+ // +optional
+ Enabled *bool `json:"enabled,omitempty" yaml:"enabled,omitempty"`
+}
+
// Logging contains configuration for the logging stack.
type Logging struct {
// Enabled is used to enable or disable logging stack for clusters.
@@ -531,6 +531,9 @@ type Logging struct {
// ShootNodeLogging contains configurations for the shoot node logging
// +optional
ShootNodeLogging *ShootNodeLogging `json:"shootNodeLogging,omitempty" yaml:"shootNodeLogging,omitempty"`
+ // ShootEventLogging contains configurations for the shoot event logger.
+ // +optional
+ ShootEventLogging *ShootEventLogging `json:"shootEventLogging,omitempty" yaml:"shootEventLogging,omitempty"`
}
// ServerConfiguration contains details for the HTTP(S) servers.
@@ -685,6 +688,10 @@ type MonitoringConfig struct {
// ShootMonitoringConfig contains settings for the shoot monitoring stack.
type ShootMonitoringConfig struct {
+ // Enabled is used to enable or disable the shoot monitoring stack.
+ // Defaults to true.
+ // +optional
+ Enabled *bool `json:"enabled,omitempty"`
// RemoteWrite is optional and contains remote write setting.
// +optional
RemoteWrite *RemoteWriteMonitoringConfig `json:"remoteWrite,omitempty"`
@@ -728,21 +735,9 @@ const (
// DefaultDiscoveryTTL is the default ttl for the cached discovery client.
DefaultDiscoveryTTL = 10 * time.Second
- // DefaultKubernetesLogLevel is the default Kubernetes log level.
- DefaultKubernetesLogLevel klog.Level = 0
-
// DefaultControllerConcurrentSyncs is a default value for concurrent syncs for controllers.
DefaultControllerConcurrentSyncs = 20
- // DefaultSNIIngresNamespace is the default sni ingress namespace.
- DefaultSNIIngresNamespace = "istio-ingress"
-
- // DefaultSNIIngresServiceName is the default sni ingress service name.
- DefaultSNIIngresServiceName = "istio-ingressgateway"
-
- // DefaultIngressGatewayAppLabelValue is the ingress gateway value for the app label.
- DefaultIngressGatewayAppLabelValue = "istio-ingressgateway"
-
// LogLevelDebug is the debug log level, i.e. the most verbose.
LogLevelDebug = "debug"
// LogLevelInfo is the default log level.
diff --git a/vendor/github.com/gardener/gardener/pkg/gardenlet/apis/config/v1alpha1/zz_generated.conversion.go b/vendor/github.com/gardener/gardener/pkg/gardenlet/apis/config/v1alpha1/zz_generated.conversion.go
index d53de9bbb..116284c3c 100644
--- a/vendor/github.com/gardener/gardener/pkg/gardenlet/apis/config/v1alpha1/zz_generated.conversion.go
+++ b/vendor/github.com/gardener/gardener/pkg/gardenlet/apis/config/v1alpha1/zz_generated.conversion.go
@@ -34,7 +34,6 @@ import (
runtime "k8s.io/apimachinery/pkg/runtime"
componentbaseconfig "k8s.io/component-base/config"
configv1alpha1 "k8s.io/component-base/config/v1alpha1"
- klog "k8s.io/klog"
)
func init() {
@@ -444,6 +443,16 @@ func RegisterConversions(s *runtime.Scheme) error {
}); err != nil {
return err
}
+ if err := s.AddGeneratedConversionFunc((*ShootEventLogging)(nil), (*config.ShootEventLogging)(nil), func(a, b interface{}, scope conversion.Scope) error {
+ return Convert_v1alpha1_ShootEventLogging_To_config_ShootEventLogging(a.(*ShootEventLogging), b.(*config.ShootEventLogging), scope)
+ }); err != nil {
+ return err
+ }
+ if err := s.AddGeneratedConversionFunc((*config.ShootEventLogging)(nil), (*ShootEventLogging)(nil), func(a, b interface{}, scope conversion.Scope) error {
+ return Convert_config_ShootEventLogging_To_v1alpha1_ShootEventLogging(a.(*config.ShootEventLogging), b.(*ShootEventLogging), scope)
+ }); err != nil {
+ return err
+ }
if err := s.AddGeneratedConversionFunc((*ShootMigrationControllerConfiguration)(nil), (*config.ShootMigrationControllerConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v1alpha1_ShootMigrationControllerConfiguration_To_config_ShootMigrationControllerConfiguration(a.(*ShootMigrationControllerConfiguration), b.(*config.ShootMigrationControllerConfiguration), scope)
}); err != nil {
@@ -922,13 +931,6 @@ func Convert_config_GardenClientConnection_To_v1alpha1_GardenClientConnection(in
}
func autoConvert_v1alpha1_GardenLoki_To_config_GardenLoki(in *GardenLoki, out *config.GardenLoki, s conversion.Scope) error {
- if in.Priority != nil {
- in, out := &in.Priority, &out.Priority
- *out = new(int32)
- **out = int32(**in)
- } else {
- out.Priority = nil
- }
out.Storage = (*resource.Quantity)(unsafe.Pointer(in.Storage))
return nil
}
@@ -939,13 +941,6 @@ func Convert_v1alpha1_GardenLoki_To_config_GardenLoki(in *GardenLoki, out *confi
}
func autoConvert_config_GardenLoki_To_v1alpha1_GardenLoki(in *config.GardenLoki, out *GardenLoki, s conversion.Scope) error {
- if in.Priority != nil {
- in, out := &in.Priority, &out.Priority
- *out = new(int)
- **out = int(**in)
- } else {
- out.Priority = nil
- }
out.Storage = (*resource.Quantity)(unsafe.Pointer(in.Storage))
return nil
}
@@ -996,7 +991,6 @@ func autoConvert_v1alpha1_GardenletConfiguration_To_config_GardenletConfiguratio
}
out.LogLevel = (*string)(unsafe.Pointer(in.LogLevel))
out.LogFormat = (*string)(unsafe.Pointer(in.LogFormat))
- out.KubernetesLogLevel = (*klog.Level)(unsafe.Pointer(in.KubernetesLogLevel))
out.Server = (*config.ServerConfiguration)(unsafe.Pointer(in.Server))
if in.Debugging != nil {
in, out := &in.Debugging, &out.Debugging
@@ -1017,15 +1011,7 @@ func autoConvert_v1alpha1_GardenletConfiguration_To_config_GardenletConfiguratio
} else {
out.SeedConfig = nil
}
- if in.Logging != nil {
- in, out := &in.Logging, &out.Logging
- *out = new(config.Logging)
- if err := Convert_v1alpha1_Logging_To_config_Logging(*in, *out, s); err != nil {
- return err
- }
- } else {
- out.Logging = nil
- }
+ out.Logging = (*config.Logging)(unsafe.Pointer(in.Logging))
out.SNI = (*config.SNI)(unsafe.Pointer(in.SNI))
out.ETCDConfig = (*config.ETCDConfig)(unsafe.Pointer(in.ETCDConfig))
out.ExposureClassHandlers = *(*[]config.ExposureClassHandler)(unsafe.Pointer(&in.ExposureClassHandlers))
@@ -1079,7 +1065,6 @@ func autoConvert_config_GardenletConfiguration_To_v1alpha1_GardenletConfiguratio
}
out.LogLevel = (*string)(unsafe.Pointer(in.LogLevel))
out.LogFormat = (*string)(unsafe.Pointer(in.LogFormat))
- out.KubernetesLogLevel = (*klog.Level)(unsafe.Pointer(in.KubernetesLogLevel))
out.Server = (*ServerConfiguration)(unsafe.Pointer(in.Server))
if in.Debugging != nil {
in, out := &in.Debugging, &out.Debugging
@@ -1100,15 +1085,7 @@ func autoConvert_config_GardenletConfiguration_To_v1alpha1_GardenletConfiguratio
} else {
out.SeedConfig = nil
}
- if in.Logging != nil {
- in, out := &in.Logging, &out.Logging
- *out = new(Logging)
- if err := Convert_config_Logging_To_v1alpha1_Logging(*in, *out, s); err != nil {
- return err
- }
- } else {
- out.Logging = nil
- }
+ out.Logging = (*Logging)(unsafe.Pointer(in.Logging))
out.SNI = (*SNI)(unsafe.Pointer(in.SNI))
out.ETCDConfig = (*ETCDConfig)(unsafe.Pointer(in.ETCDConfig))
out.ExposureClassHandlers = *(*[]ExposureClassHandler)(unsafe.Pointer(&in.ExposureClassHandlers))
@@ -1220,16 +1197,9 @@ func Convert_config_LoadBalancerServiceConfig_To_v1alpha1_LoadBalancerServiceCon
func autoConvert_v1alpha1_Logging_To_config_Logging(in *Logging, out *config.Logging, s conversion.Scope) error {
out.Enabled = (*bool)(unsafe.Pointer(in.Enabled))
out.FluentBit = (*config.FluentBit)(unsafe.Pointer(in.FluentBit))
- if in.Loki != nil {
- in, out := &in.Loki, &out.Loki
- *out = new(config.Loki)
- if err := Convert_v1alpha1_Loki_To_config_Loki(*in, *out, s); err != nil {
- return err
- }
- } else {
- out.Loki = nil
- }
+ out.Loki = (*config.Loki)(unsafe.Pointer(in.Loki))
out.ShootNodeLogging = (*config.ShootNodeLogging)(unsafe.Pointer(in.ShootNodeLogging))
+ out.ShootEventLogging = (*config.ShootEventLogging)(unsafe.Pointer(in.ShootEventLogging))
return nil
}
@@ -1241,16 +1211,9 @@ func Convert_v1alpha1_Logging_To_config_Logging(in *Logging, out *config.Logging
func autoConvert_config_Logging_To_v1alpha1_Logging(in *config.Logging, out *Logging, s conversion.Scope) error {
out.Enabled = (*bool)(unsafe.Pointer(in.Enabled))
out.FluentBit = (*FluentBit)(unsafe.Pointer(in.FluentBit))
- if in.Loki != nil {
- in, out := &in.Loki, &out.Loki
- *out = new(Loki)
- if err := Convert_config_Loki_To_v1alpha1_Loki(*in, *out, s); err != nil {
- return err
- }
- } else {
- out.Loki = nil
- }
+ out.Loki = (*Loki)(unsafe.Pointer(in.Loki))
out.ShootNodeLogging = (*ShootNodeLogging)(unsafe.Pointer(in.ShootNodeLogging))
+ out.ShootEventLogging = (*ShootEventLogging)(unsafe.Pointer(in.ShootEventLogging))
return nil
}
@@ -1261,15 +1224,7 @@ func Convert_config_Logging_To_v1alpha1_Logging(in *config.Logging, out *Logging
func autoConvert_v1alpha1_Loki_To_config_Loki(in *Loki, out *config.Loki, s conversion.Scope) error {
out.Enabled = (*bool)(unsafe.Pointer(in.Enabled))
- if in.Garden != nil {
- in, out := &in.Garden, &out.Garden
- *out = new(config.GardenLoki)
- if err := Convert_v1alpha1_GardenLoki_To_config_GardenLoki(*in, *out, s); err != nil {
- return err
- }
- } else {
- out.Garden = nil
- }
+ out.Garden = (*config.GardenLoki)(unsafe.Pointer(in.Garden))
return nil
}
@@ -1280,15 +1235,7 @@ func Convert_v1alpha1_Loki_To_config_Loki(in *Loki, out *config.Loki, s conversi
func autoConvert_config_Loki_To_v1alpha1_Loki(in *config.Loki, out *Loki, s conversion.Scope) error {
out.Enabled = (*bool)(unsafe.Pointer(in.Enabled))
- if in.Garden != nil {
- in, out := &in.Garden, &out.Garden
- *out = new(GardenLoki)
- if err := Convert_config_GardenLoki_To_v1alpha1_GardenLoki(*in, *out, s); err != nil {
- return err
- }
- } else {
- out.Garden = nil
- }
+ out.Garden = (*GardenLoki)(unsafe.Pointer(in.Garden))
return nil
}
@@ -1683,6 +1630,26 @@ func Convert_config_ShootControllerConfiguration_To_v1alpha1_ShootControllerConf
return autoConvert_config_ShootControllerConfiguration_To_v1alpha1_ShootControllerConfiguration(in, out, s)
}
+func autoConvert_v1alpha1_ShootEventLogging_To_config_ShootEventLogging(in *ShootEventLogging, out *config.ShootEventLogging, s conversion.Scope) error {
+ out.Enabled = (*bool)(unsafe.Pointer(in.Enabled))
+ return nil
+}
+
+// Convert_v1alpha1_ShootEventLogging_To_config_ShootEventLogging is an autogenerated conversion function.
+func Convert_v1alpha1_ShootEventLogging_To_config_ShootEventLogging(in *ShootEventLogging, out *config.ShootEventLogging, s conversion.Scope) error {
+ return autoConvert_v1alpha1_ShootEventLogging_To_config_ShootEventLogging(in, out, s)
+}
+
+func autoConvert_config_ShootEventLogging_To_v1alpha1_ShootEventLogging(in *config.ShootEventLogging, out *ShootEventLogging, s conversion.Scope) error {
+ out.Enabled = (*bool)(unsafe.Pointer(in.Enabled))
+ return nil
+}
+
+// Convert_config_ShootEventLogging_To_v1alpha1_ShootEventLogging is an autogenerated conversion function.
+func Convert_config_ShootEventLogging_To_v1alpha1_ShootEventLogging(in *config.ShootEventLogging, out *ShootEventLogging, s conversion.Scope) error {
+ return autoConvert_config_ShootEventLogging_To_v1alpha1_ShootEventLogging(in, out, s)
+}
+
func autoConvert_v1alpha1_ShootMigrationControllerConfiguration_To_config_ShootMigrationControllerConfiguration(in *ShootMigrationControllerConfiguration, out *config.ShootMigrationControllerConfiguration, s conversion.Scope) error {
out.ConcurrentSyncs = (*int)(unsafe.Pointer(in.ConcurrentSyncs))
out.SyncPeriod = (*v1.Duration)(unsafe.Pointer(in.SyncPeriod))
@@ -1710,6 +1677,7 @@ func Convert_config_ShootMigrationControllerConfiguration_To_v1alpha1_ShootMigra
}
func autoConvert_v1alpha1_ShootMonitoringConfig_To_config_ShootMonitoringConfig(in *ShootMonitoringConfig, out *config.ShootMonitoringConfig, s conversion.Scope) error {
+ out.Enabled = (*bool)(unsafe.Pointer(in.Enabled))
out.RemoteWrite = (*config.RemoteWriteMonitoringConfig)(unsafe.Pointer(in.RemoteWrite))
out.ExternalLabels = *(*map[string]string)(unsafe.Pointer(&in.ExternalLabels))
return nil
@@ -1721,6 +1689,7 @@ func Convert_v1alpha1_ShootMonitoringConfig_To_config_ShootMonitoringConfig(in *
}
func autoConvert_config_ShootMonitoringConfig_To_v1alpha1_ShootMonitoringConfig(in *config.ShootMonitoringConfig, out *ShootMonitoringConfig, s conversion.Scope) error {
+ out.Enabled = (*bool)(unsafe.Pointer(in.Enabled))
out.RemoteWrite = (*RemoteWriteMonitoringConfig)(unsafe.Pointer(in.RemoteWrite))
out.ExternalLabels = *(*map[string]string)(unsafe.Pointer(&in.ExternalLabels))
return nil
diff --git a/vendor/github.com/gardener/gardener/pkg/gardenlet/apis/config/v1alpha1/zz_generated.deepcopy.go b/vendor/github.com/gardener/gardener/pkg/gardenlet/apis/config/v1alpha1/zz_generated.deepcopy.go
index e16e95230..7e4c8f651 100644
--- a/vendor/github.com/gardener/gardener/pkg/gardenlet/apis/config/v1alpha1/zz_generated.deepcopy.go
+++ b/vendor/github.com/gardener/gardener/pkg/gardenlet/apis/config/v1alpha1/zz_generated.deepcopy.go
@@ -27,7 +27,6 @@ import (
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
configv1alpha1 "k8s.io/component-base/config/v1alpha1"
- klog "k8s.io/klog"
)
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
@@ -483,11 +482,6 @@ func (in *GardenClientConnection) DeepCopy() *GardenClientConnection {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GardenLoki) DeepCopyInto(out *GardenLoki) {
*out = *in
- if in.Priority != nil {
- in, out := &in.Priority, &out.Priority
- *out = new(int)
- **out = **in
- }
if in.Storage != nil {
in, out := &in.Storage, &out.Storage
x := (*in).DeepCopy()
@@ -550,11 +544,6 @@ func (in *GardenletConfiguration) DeepCopyInto(out *GardenletConfiguration) {
*out = new(string)
**out = **in
}
- if in.KubernetesLogLevel != nil {
- in, out := &in.KubernetesLogLevel, &out.KubernetesLogLevel
- *out = new(klog.Level)
- **out = **in
- }
if in.Server != nil {
in, out := &in.Server, &out.Server
*out = new(ServerConfiguration)
@@ -789,6 +778,11 @@ func (in *Logging) DeepCopyInto(out *Logging) {
*out = new(ShootNodeLogging)
(*in).DeepCopyInto(*out)
}
+ if in.ShootEventLogging != nil {
+ in, out := &in.ShootEventLogging, &out.ShootEventLogging
+ *out = new(ShootEventLogging)
+ (*in).DeepCopyInto(*out)
+ }
return
}
@@ -1264,6 +1258,27 @@ func (in *ShootControllerConfiguration) DeepCopy() *ShootControllerConfiguration
return out
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *ShootEventLogging) DeepCopyInto(out *ShootEventLogging) {
+ *out = *in
+ if in.Enabled != nil {
+ in, out := &in.Enabled, &out.Enabled
+ *out = new(bool)
+ **out = **in
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShootEventLogging.
+func (in *ShootEventLogging) DeepCopy() *ShootEventLogging {
+ if in == nil {
+ return nil
+ }
+ out := new(ShootEventLogging)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ShootMigrationControllerConfiguration) DeepCopyInto(out *ShootMigrationControllerConfiguration) {
*out = *in
@@ -1303,6 +1318,11 @@ func (in *ShootMigrationControllerConfiguration) DeepCopy() *ShootMigrationContr
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ShootMonitoringConfig) DeepCopyInto(out *ShootMonitoringConfig) {
*out = *in
+ if in.Enabled != nil {
+ in, out := &in.Enabled, &out.Enabled
+ *out = new(bool)
+ **out = **in
+ }
if in.RemoteWrite != nil {
in, out := &in.RemoteWrite, &out.RemoteWrite
*out = new(RemoteWriteMonitoringConfig)
diff --git a/vendor/github.com/gardener/gardener/pkg/gardenlet/apis/config/v1alpha1/zz_generated.defaults.go b/vendor/github.com/gardener/gardener/pkg/gardenlet/apis/config/v1alpha1/zz_generated.defaults.go
index 99a09849f..4fadf34ed 100644
--- a/vendor/github.com/gardener/gardener/pkg/gardenlet/apis/config/v1alpha1/zz_generated.defaults.go
+++ b/vendor/github.com/gardener/gardener/pkg/gardenlet/apis/config/v1alpha1/zz_generated.defaults.go
@@ -122,4 +122,10 @@ func SetObjectDefaults_GardenletConfiguration(in *GardenletConfiguration) {
}
}
}
+ if in.Monitoring != nil {
+ SetDefaults_MonitoringConfig(in.Monitoring)
+ if in.Monitoring.Shoot != nil {
+ SetDefaults_ShootMonitoringConfig(in.Monitoring.Shoot)
+ }
+ }
}
diff --git a/vendor/github.com/gardener/gardener/pkg/gardenlet/apis/config/zz_generated.deepcopy.go b/vendor/github.com/gardener/gardener/pkg/gardenlet/apis/config/zz_generated.deepcopy.go
index 10fb3f2b4..b05a6f2be 100644
--- a/vendor/github.com/gardener/gardener/pkg/gardenlet/apis/config/zz_generated.deepcopy.go
+++ b/vendor/github.com/gardener/gardener/pkg/gardenlet/apis/config/zz_generated.deepcopy.go
@@ -27,7 +27,6 @@ import (
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
componentbaseconfig "k8s.io/component-base/config"
- klog "k8s.io/klog"
)
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
@@ -483,11 +482,6 @@ func (in *GardenClientConnection) DeepCopy() *GardenClientConnection {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GardenLoki) DeepCopyInto(out *GardenLoki) {
*out = *in
- if in.Priority != nil {
- in, out := &in.Priority, &out.Priority
- *out = new(int32)
- **out = **in
- }
if in.Storage != nil {
in, out := &in.Storage, &out.Storage
x := (*in).DeepCopy()
@@ -550,11 +544,6 @@ func (in *GardenletConfiguration) DeepCopyInto(out *GardenletConfiguration) {
*out = new(string)
**out = **in
}
- if in.KubernetesLogLevel != nil {
- in, out := &in.KubernetesLogLevel, &out.KubernetesLogLevel
- *out = new(klog.Level)
- **out = **in
- }
if in.Server != nil {
in, out := &in.Server, &out.Server
*out = new(ServerConfiguration)
@@ -789,6 +778,11 @@ func (in *Logging) DeepCopyInto(out *Logging) {
*out = new(ShootNodeLogging)
(*in).DeepCopyInto(*out)
}
+ if in.ShootEventLogging != nil {
+ in, out := &in.ShootEventLogging, &out.ShootEventLogging
+ *out = new(ShootEventLogging)
+ (*in).DeepCopyInto(*out)
+ }
return
}
@@ -1264,6 +1258,27 @@ func (in *ShootControllerConfiguration) DeepCopy() *ShootControllerConfiguration
return out
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *ShootEventLogging) DeepCopyInto(out *ShootEventLogging) {
+ *out = *in
+ if in.Enabled != nil {
+ in, out := &in.Enabled, &out.Enabled
+ *out = new(bool)
+ **out = **in
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShootEventLogging.
+func (in *ShootEventLogging) DeepCopy() *ShootEventLogging {
+ if in == nil {
+ return nil
+ }
+ out := new(ShootEventLogging)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ShootMigrationControllerConfiguration) DeepCopyInto(out *ShootMigrationControllerConfiguration) {
*out = *in
@@ -1303,6 +1318,11 @@ func (in *ShootMigrationControllerConfiguration) DeepCopy() *ShootMigrationContr
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ShootMonitoringConfig) DeepCopyInto(out *ShootMonitoringConfig) {
*out = *in
+ if in.Enabled != nil {
+ in, out := &in.Enabled, &out.Enabled
+ *out = new(bool)
+ **out = **in
+ }
if in.RemoteWrite != nil {
in, out := &in.RemoteWrite, &out.RemoteWrite
*out = new(RemoteWriteMonitoringConfig)
diff --git a/vendor/github.com/gardener/gardener/pkg/logger/logrus.go b/vendor/github.com/gardener/gardener/pkg/logger/logrus.go
deleted file mode 100644
index 04ed470be..000000000
--- a/vendor/github.com/gardener/gardener/pkg/logger/logrus.go
+++ /dev/null
@@ -1,107 +0,0 @@
-// Copyright (c) 2018 SAP SE or an SAP affiliate company. All rights reserved. This file is licensed under the Apache Software License, v. 2 except as noted otherwise in the LICENSE file
-//
-// 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 logger
-
-import (
- "fmt"
- "io"
- "os"
-
- "github.com/sirupsen/logrus"
-)
-
-// Logger is the standard logger for the Gardener which is used for all messages which are not Shoot
-// cluster specific.
-// Deprecated: use logr for new code!
-var Logger *logrus.Logger
-
-// NewLogger creates a new logrus logger.
-// It uses STDERR as output channel and evaluates the value of the --log-level command line argument in order
-// to set the log level.
-// Example output: time="2017-06-08T13:00:28+02:00" level=info msg="gardener started successfully".
-// Deprecated: use logr for new code!
-func NewLogger(logLevel string, format string) *logrus.Logger {
- var level logrus.Level
-
- switch logLevel {
- case DebugLevel:
- level = logrus.DebugLevel
- case "", InfoLevel:
- level = logrus.InfoLevel
- case ErrorLevel:
- level = logrus.ErrorLevel
- default:
- panic("The specified log level is not supported.")
- }
-
- var (
- // for symmetry with zap
- fieldMap = logrus.FieldMap{
- logrus.FieldKeyTime: "ts",
- logrus.FieldKeyLevel: "level",
- logrus.FieldKeyMsg: "msg",
- }
- timestampFormat = "2006-01-02T15:04:05.000Z0700" // ISO8601
-
- formatter logrus.Formatter
- )
- switch format {
- case FormatText:
- formatter = &logrus.TextFormatter{DisableColors: true, FieldMap: fieldMap, TimestampFormat: timestampFormat}
- case "", FormatJSON:
- formatter = &logrus.JSONFormatter{DisableHTMLEscape: true, FieldMap: fieldMap, TimestampFormat: timestampFormat}
- default:
- panic("The specified log format is not supported.")
- }
-
- logger := &logrus.Logger{
- Out: os.Stderr,
- Level: level,
- Formatter: formatter,
- }
- Logger = logger
- return logger
-}
-
-// NewNopLogger instantiates a new logger that logs to ioutil.Discard.
-// Deprecated: use logr for new code!
-func NewNopLogger() *logrus.Logger {
- logger := logrus.New()
- logger.Out = io.Discard
- return logger
-}
-
-// AddWriter returns a logger that uses the tests writer (e.g., GingkoWriter) as output channel
-// Deprecated: use logr for new code!
-func AddWriter(logger *logrus.Logger, writer io.Writer) *logrus.Logger {
- logger.Out = writer
- return logger
-}
-
-// NewShootLogger extends an existing logrus logger and adds an additional field containing the Shoot cluster name
-// and the project in the Garden cluster to the output. If an is provided it will be printed for every
-// log message.
-// Example output: time="2017-06-08T13:00:49+02:00" level=info msg="Creating namespace in seed cluster" shoot=core/crazy-botany.
-// Deprecated: use logr for new code!
-func NewShootLogger(logger logrus.FieldLogger, shoot, project string) *logrus.Entry {
- return logger.WithField("shoot", fmt.Sprintf("%s/%s", project, shoot))
-}
-
-// NewFieldLogger extends an existing logrus logger and adds the provided additional field.
-// Example output: time="2017-06-08T13:00:49+02:00" level=info msg="something" =.
-// Deprecated: use logr for new code!
-func NewFieldLogger(logger logrus.FieldLogger, fieldKey, fieldValue string) *logrus.Entry {
- return logger.WithField(fieldKey, fieldValue)
-}
diff --git a/vendor/github.com/gardener/gardener/pkg/logger/zap.go b/vendor/github.com/gardener/gardener/pkg/logger/zap.go
index fe64eb0ff..ce8a6ce64 100644
--- a/vendor/github.com/gardener/gardener/pkg/logger/zap.go
+++ b/vendor/github.com/gardener/gardener/pkg/logger/zap.go
@@ -30,14 +30,14 @@ func setCommonEncoderConfigOptions(encoderConfig *zapcore.EncoderConfig) {
}
// MustNewZapLogger is like NewZapLogger but panics on invalid input.
-func MustNewZapLogger(level string, format string) logr.Logger {
- logger, err := NewZapLogger(level, format)
+func MustNewZapLogger(level string, format string, additionalOpts ...logzap.Opts) logr.Logger {
+ logger, err := NewZapLogger(level, format, additionalOpts...)
utilruntime.Must(err)
return logger
}
// NewZapLogger creates a new logr.Logger backed by Zap.
-func NewZapLogger(level string, format string) (logr.Logger, error) {
+func NewZapLogger(level string, format string, additionalOpts ...logzap.Opts) (logr.Logger, error) {
var opts []logzap.Opts
// map our log levels to zap levels
@@ -64,7 +64,7 @@ func NewZapLogger(level string, format string) (logr.Logger, error) {
return logr.Logger{}, fmt.Errorf("invalid log format %q", format)
}
- return logzap.New(opts...), nil
+ return logzap.New(append(opts, additionalOpts...)...), nil
}
// ZapLogger is a Logger implementation.
diff --git a/vendor/github.com/gardener/gardener/pkg/operation/botanist/component/extensions/operatingsystemconfig/original/components/containerd/templates/scripts/init.tpl.sh b/vendor/github.com/gardener/gardener/pkg/operation/botanist/component/extensions/operatingsystemconfig/original/components/containerd/templates/scripts/init.tpl.sh
index fc9684262..261535729 100644
--- a/vendor/github.com/gardener/gardener/pkg/operation/botanist/component/extensions/operatingsystemconfig/original/components/containerd/templates/scripts/init.tpl.sh
+++ b/vendor/github.com/gardener/gardener/pkg/operation/botanist/component/extensions/operatingsystemconfig/original/components/containerd/templates/scripts/init.tpl.sh
@@ -11,6 +11,22 @@ sandbox_image_line="$(grep sandbox_image $FILE | sed -e 's/^[ ]*//')"
pause_image={{ .pauseContainerImage }}
sed -i "s|$sandbox_image_line|sandbox_image = \"$pause_image\"|g" $FILE
+# allow to import custom configuration files
+CUSTOM_CONFIG_DIR=/etc/containerd/conf.d
+CUSTOM_CONFIG_FILES="$CUSTOM_CONFIG_DIR/*.toml"
+mkdir -p $CUSTOM_CONFIG_DIR
+if ! grep -E "^imports" $FILE >/dev/null ; then
+ existing_content="$(cat "$FILE")"
+ cat < $FILE
+imports = ["$CUSTOM_CONFIG_FILES"]
+$existing_content
+EOF
+elif ! grep "$CUSTOM_CONFIG_FILES" $FILE >/dev/null ; then
+ existing_imports="$(sed -E 's#imports = \[(.*)\]#\1#g' $FILE)"
+ [ -z "$existing_imports" ] || existing_imports="$existing_imports, "
+ sed -Ei 's#imports = \[(.*)\]#imports = ['"$existing_imports"' "'"$CUSTOM_CONFIG_FILES"'"]#g' $FILE
+fi
+
BIN_PATH={{ .binaryPath }}
mkdir -p $BIN_PATH
diff --git a/vendor/github.com/gardener/gardener/pkg/utils/errors/errors.go b/vendor/github.com/gardener/gardener/pkg/utils/errors/errors.go
index 0d9cbba8d..8fbbf684c 100644
--- a/vendor/github.com/gardener/gardener/pkg/utils/errors/errors.go
+++ b/vendor/github.com/gardener/gardener/pkg/utils/errors/errors.go
@@ -30,7 +30,7 @@ func (w *withSuppressed) Error() string {
return fmt.Sprintf("%s, suppressed: %s", w.cause.Error(), w.suppressed.Error())
}
-func (w *withSuppressed) Cause() error {
+func (w *withSuppressed) Unwrap() error {
return w.cause
}
@@ -38,7 +38,7 @@ func (w *withSuppressed) Format(s fmt.State, verb rune) {
switch verb {
case 'v':
if s.Flag('+') {
- _, _ = fmt.Fprintf(s, "%+v\nsuppressed: %+v", w.Cause(), w.suppressed)
+ _, _ = fmt.Fprintf(s, "%+v\nsuppressed: %+v", w.Unwrap(), w.suppressed)
return
}
fallthrough
@@ -82,7 +82,7 @@ func WithSuppressed(err, suppressed error) error {
}
}
-// reconciliationError implements ErrorIDer and Causer
+// reconciliationError implements ErrorIDer
type reconciliationError struct {
error
errorID string
@@ -102,11 +102,6 @@ func (t *reconciliationError) Unwrap() error {
return t.error
}
-// Cause implements the causer interface and returns the underlying error
-func (t *reconciliationError) Cause() error {
- return t.Unwrap()
-}
-
// GetID returns the ID of the error if possible.
// If err does not implement ErrorID or is nil an empty string will be returned.
func GetID(err error) string {
diff --git a/vendor/github.com/gardener/gardener/pkg/utils/errors/unwrap.go b/vendor/github.com/gardener/gardener/pkg/utils/errors/unwrap.go
index 9aecc8ad6..dca9d5103 100644
--- a/vendor/github.com/gardener/gardener/pkg/utils/errors/unwrap.go
+++ b/vendor/github.com/gardener/gardener/pkg/utils/errors/unwrap.go
@@ -16,29 +16,17 @@ package errors
import "errors"
-type causer interface {
- Cause() error
-}
-
-// Unwrap unwraps and returns the root error. Multiple wrappings either via `fmt.Errorf` or via `causer` implementations are properly taken into account.
+// Unwrap unwraps and returns the root error. Multiple wrappings via `fmt.Errorf` implementations are properly taken into account.
func Unwrap(err error) error {
- var cdone, udone bool
+ var done bool
- for !(udone && cdone) {
+ for !done {
if err == nil || errors.Unwrap(err) == nil {
// this most likely is the root error
- udone = true
+ done = true
} else {
err = errors.Unwrap(err)
- udone = false
- }
-
- if cause, ok := err.(causer); !ok {
- // this most likely is the root cause error
- cdone = true
- } else {
- err = cause.Cause()
- cdone = false
+ done = false
}
}
diff --git a/vendor/github.com/gardener/gardener/pkg/utils/flow/flow.go b/vendor/github.com/gardener/gardener/pkg/utils/flow/flow.go
index 1ce753839..6d4aaf27b 100644
--- a/vendor/github.com/gardener/gardener/pkg/utils/flow/flow.go
+++ b/vendor/github.com/gardener/gardener/pkg/utils/flow/flow.go
@@ -21,11 +21,11 @@ import (
"fmt"
"time"
- "github.com/gardener/gardener/pkg/logger"
utilerrors "github.com/gardener/gardener/pkg/utils/errors"
+ "github.com/go-logr/logr"
"github.com/hashicorp/go-multierror"
- "github.com/sirupsen/logrus"
+ logf "sigs.k8s.io/controller-runtime/pkg/log"
)
const (
@@ -97,8 +97,8 @@ func (n *node) addTargets(taskIDs ...TaskID) {
// Opts are options for a Flow execution. If they are not set, they
// are left blank and don't affect the Flow.
type Opts struct {
- // Logger is used to log any output during flow execution.
- Logger logrus.FieldLogger
+ // Log is used to log any output during flow execution.
+ Log logr.Logger
// ProgressReporter is used to report the progress during flow execution.
ProgressReporter ProgressReporter
// ErrorCleaner is used to clean up a previously failed task.
@@ -110,7 +110,7 @@ type Opts struct {
// Run starts an execution of a Flow.
// It blocks until the Flow has finished and returns the error, if any.
func (f *Flow) Run(ctx context.Context, opts Opts) error {
- return newExecution(f, opts.Logger, opts.ProgressReporter, opts.ErrorCleaner, opts.ErrorContext).run(ctx)
+ return newExecution(f, opts).run(ctx)
}
type nodeResult struct {
@@ -159,26 +159,26 @@ func InitialStats(flowName string, all TaskIDs) *Stats {
}
}
-func newExecution(flow *Flow, log logrus.FieldLogger, progressReporter ProgressReporter, errorCleaner ErrorCleaner, errorContext *utilerrors.ErrorContext) *execution {
+func newExecution(flow *Flow, opts Opts) *execution {
all := NewTaskIDs()
for name := range flow.nodes {
all.Insert(name)
}
- if log == nil {
- log = logger.NewNopLogger()
+ log := logf.Log.WithName("flow").WithValues(logKeyFlow, flow.name)
+ if opts.Log.GetSink() != nil {
+ log = opts.Log.WithValues(logKeyFlow, flow.name)
}
- log = log.WithField(logKeyFlow, flow.name)
return &execution{
flow,
InitialStats(flow.name, all),
nil,
log,
- progressReporter,
- errorCleaner,
- errorContext,
+ opts.ProgressReporter,
+ opts.ErrorCleaner,
+ opts.ErrorContext,
make(chan *nodeResult),
make(map[TaskID]int),
}
@@ -190,7 +190,7 @@ type execution struct {
stats *Stats
taskErrors []error
- log logrus.FieldLogger
+ log logr.Logger
progressReporter ProgressReporter
errorCleaner ErrorCleaner
errorContext *utilerrors.ErrorContext
@@ -199,10 +199,6 @@ type execution struct {
triggerCounts map[TaskID]int
}
-func (e *execution) Log() logrus.FieldLogger {
- return e.log
-}
-
func (e *execution) runNode(ctx context.Context, id TaskID) {
if e.errorContext != nil {
e.errorContext.AddErrorID(string(id))
@@ -210,19 +206,18 @@ func (e *execution) runNode(ctx context.Context, id TaskID) {
e.stats.Pending.Delete(id)
e.stats.Running.Insert(id)
go func() {
- log := e.log.WithField(logKeyTask, id)
-
start := time.Now().UTC()
- log.Debugf("Started")
+
+ e.log.WithValues(logKeyTask, id).V(1).Info("Started")
err := e.flow.nodes[id].fn(ctx)
end := time.Now().UTC()
- log.Debugf("Finished, took %s", end.Sub(start))
+ e.log.WithValues(logKeyTask, id).V(1).Info("Finished", "duration", end.Sub(start))
if err != nil {
- log.WithError(err).Error("Error")
+ e.log.WithValues(logKeyTask, id).Error(err, "Error")
err = fmt.Errorf("task %q failed: %w", id, err)
} else {
- log.Info("Succeeded")
+ e.log.WithValues(logKeyTask, id).Info("Succeeded")
}
e.done <- &nodeResult{TaskID: id, Error: err}
@@ -343,7 +338,7 @@ func (f *flowCanceled) Error() string {
f.name, f.cause, f.taskErrors)
}
-func (f *flowCanceled) Cause() error {
+func (f *flowCanceled) Unwrap() error {
return f.cause
}
@@ -351,7 +346,7 @@ func (f *flowFailed) Error() string {
return fmt.Sprintf("flow %q encountered task errors: %v", f.name, f.taskErrors)
}
-func (f *flowFailed) Cause() error {
+func (f *flowFailed) Unwrap() error {
return &multierror.Error{Errors: f.taskErrors}
}
diff --git a/vendor/github.com/gardener/gardener/pkg/utils/gardener/exposureclass.go b/vendor/github.com/gardener/gardener/pkg/utils/gardener/exposureclass.go
index cdaa6f5b5..98689ac61 100644
--- a/vendor/github.com/gardener/gardener/pkg/utils/gardener/exposureclass.go
+++ b/vendor/github.com/gardener/gardener/pkg/utils/gardener/exposureclass.go
@@ -16,7 +16,6 @@ package gardener
import (
v1beta1constants "github.com/gardener/gardener/pkg/apis/core/v1beta1/constants"
- gardenletconfigv1alpha1 "github.com/gardener/gardener/pkg/gardenlet/apis/config/v1alpha1"
"github.com/gardener/gardener/pkg/utils"
)
@@ -25,7 +24,7 @@ import (
// Existing label keys will be overridden by the mandatory labels keys.
func GetMandatoryExposureClassHandlerSNILabels(labels map[string]string, exposureClassName string) map[string]string {
return utils.MergeStringMaps(labels, map[string]string{
- v1beta1constants.LabelApp: gardenletconfigv1alpha1.DefaultIngressGatewayAppLabelValue,
+ v1beta1constants.LabelApp: v1beta1constants.DefaultIngressGatewayAppLabelValue,
v1beta1constants.GardenRole: v1beta1constants.GardenRoleExposureClassHandler,
v1beta1constants.LabelExposureClassHandlerName: exposureClassName,
})
diff --git a/vendor/github.com/gardener/gardener/pkg/utils/images/images.go b/vendor/github.com/gardener/gardener/pkg/utils/images/images.go
index 1d41dbee8..bf02d3c82 100644
--- a/vendor/github.com/gardener/gardener/pkg/utils/images/images.go
+++ b/vendor/github.com/gardener/gardener/pkg/utils/images/images.go
@@ -45,6 +45,8 @@ const (
ImageNameDependencyWatchdog = "dependency-watchdog"
// ImageNameEtcdDruid is a constant for an image in the image vector with name 'etcd-druid'.
ImageNameEtcdDruid = "etcd-druid"
+ // ImageNameEventLogger is a constant for an image in the image vector with name 'event-logger'.
+ ImageNameEventLogger = "event-logger"
// ImageNameExtAuthzServer is a constant for an image in the image vector with name 'ext-authz-server'.
ImageNameExtAuthzServer = "ext-authz-server"
// ImageNameFluentBit is a constant for an image in the image vector with name 'fluent-bit'.
diff --git a/vendor/github.com/gardener/gardener/pkg/utils/kubernetes/eventhandler.go b/vendor/github.com/gardener/gardener/pkg/utils/kubernetes/eventhandler.go
index 7752fcf96..45956b8cd 100644
--- a/vendor/github.com/gardener/gardener/pkg/utils/kubernetes/eventhandler.go
+++ b/vendor/github.com/gardener/gardener/pkg/utils/kubernetes/eventhandler.go
@@ -18,7 +18,7 @@ import (
"context"
"fmt"
- "github.com/sirupsen/logrus"
+ "github.com/go-logr/logr"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
@@ -87,7 +87,7 @@ type ControlledResourceEventHandler struct {
// Scheme is used to resolve types to their GroupKinds.
Scheme *runtime.Scheme
// Logger is used to log messages.
- Logger logrus.FieldLogger
+ Logger logr.Logger
}
// ControllerType contains information about a controller type.
@@ -283,8 +283,11 @@ func (h *ControlledResourceEventHandler) getControllerByRef(namespace string, co
}
func (h *ControlledResourceEventHandler) logEnqueue(controller, obj client.Object, eventType string) {
- h.Logger.Debugf("Enqueueing %s %s due to %s event on %s %s", h.getLastControllerKind(), ObjectName(controller),
- eventType, h.getObjectKind(obj), ObjectName(obj))
+ h.Logger.V(1).Info("Enqueuing controlling object due to change to controlled object",
+ "controllingKind", h.getLastControllerKind(), "controllingObject", client.ObjectKeyFromObject(controller),
+ "controlledKind", h.getObjectKind(obj), "controlledObject", client.ObjectKeyFromObject(obj),
+ "eventType", eventType,
+ )
}
func (h *ControlledResourceEventHandler) getGroupKind(ct *ControllerType) (*schema.GroupKind, error) {
diff --git a/vendor/github.com/gardener/gardener/pkg/utils/kubernetes/health/healthz.go b/vendor/github.com/gardener/gardener/pkg/utils/kubernetes/health/healthz.go
index d108b09ea..42f315e43 100644
--- a/vendor/github.com/gardener/gardener/pkg/utils/kubernetes/health/healthz.go
+++ b/vendor/github.com/gardener/gardener/pkg/utils/kubernetes/health/healthz.go
@@ -23,12 +23,18 @@ import (
gardencorev1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1"
v1beta1helper "github.com/gardener/gardener/pkg/apis/core/v1beta1/helper"
- "github.com/sirupsen/logrus"
+ "github.com/go-logr/logr"
"k8s.io/client-go/rest"
)
// CheckAPIServerAvailability checks if the API server of a cluster is reachable and measure the response time.
-func CheckAPIServerAvailability(ctx context.Context, condition gardencorev1beta1.Condition, restClient rest.Interface, conditioner conditionerFunc, log logrus.FieldLogger) gardencorev1beta1.Condition {
+func CheckAPIServerAvailability(
+ ctx context.Context,
+ log logr.Logger,
+ condition gardencorev1beta1.Condition,
+ restClient rest.Interface,
+ conditioner conditionerFunc,
+) gardencorev1beta1.Condition {
now := Now()
response := restClient.Get().AbsPath("/healthz").Do(ctx)
responseDurationText := fmt.Sprintf("[response_time:%dms]", Now().Sub(now).Nanoseconds()/time.Millisecond.Nanoseconds())
@@ -49,9 +55,9 @@ func CheckAPIServerAvailability(ctx context.Context, condition gardencorev1beta1
} else {
body = string(bodyRaw)
}
- message := fmt.Sprintf("API server /healthz endpoint check returned a non ok status code %d. (%s)", statusCode, body)
- log.Error(message)
- return conditioner("HealthzRequestError", message)
+
+ log.Error(err, "API Server /healthz endpoint check returned non ok status code", "statusCode", statusCode, "body", body)
+ return conditioner("HealthzRequestError", fmt.Sprintf("API server /healthz endpoint check returned a non ok status code %d. (%s)", statusCode, body))
}
message := "API server /healthz endpoint responded with success status code."
diff --git a/vendor/github.com/gardener/gardener/pkg/utils/kubernetes/kubernetes.go b/vendor/github.com/gardener/gardener/pkg/utils/kubernetes/kubernetes.go
index 68999e530..c6983020e 100644
--- a/vendor/github.com/gardener/gardener/pkg/utils/kubernetes/kubernetes.go
+++ b/vendor/github.com/gardener/gardener/pkg/utils/kubernetes/kubernetes.go
@@ -26,7 +26,7 @@ import (
"github.com/gardener/gardener/pkg/client/kubernetes"
"github.com/gardener/gardener/pkg/utils/retry"
- "github.com/sirupsen/logrus"
+ "github.com/go-logr/logr"
appsv1 "k8s.io/api/apps/v1"
certificatesv1 "k8s.io/api/certificates/v1"
certificatesv1beta1 "k8s.io/api/certificates/v1beta1"
@@ -130,6 +130,14 @@ func ObjectMetaFromKey(key client.ObjectKey) metav1.ObjectMeta {
return ObjectMeta(key.Namespace, key.Name)
}
+// ObjectKeyFromSecretRef returns an ObjectKey for the given SecretReference.
+func ObjectKeyFromSecretRef(ref corev1.SecretReference) client.ObjectKey {
+ return client.ObjectKey{
+ Namespace: ref.Namespace,
+ Name: ref.Name,
+ }
+}
+
// WaitUntilResourceDeleted deletes the given resource and then waits until it has been deleted. It respects the
// given interval and timeout.
func WaitUntilResourceDeleted(ctx context.Context, c client.Client, obj client.Object, interval time.Duration) error {
@@ -182,27 +190,37 @@ func WaitUntilResourceDeletedWithDefaults(ctx context.Context, c client.Client,
// WaitUntilLoadBalancerIsReady waits until the given external load balancer has
// been created (i.e., its ingress information has been updated in the service status).
-func WaitUntilLoadBalancerIsReady(ctx context.Context, c client.Client, namespace, name string, timeout time.Duration, logger logrus.FieldLogger) (string, error) {
+func WaitUntilLoadBalancerIsReady(
+ ctx context.Context,
+ log logr.Logger,
+ c client.Client,
+ namespace, name string,
+ timeout time.Duration,
+) (
+ string,
+ error,
+) {
var (
loadBalancerIngress string
service = &corev1.Service{ObjectMeta: metav1.ObjectMeta{Name: name, Namespace: namespace}}
)
+ log = log.WithValues("service", client.ObjectKeyFromObject(service))
+
if err := retry.UntilTimeout(ctx, 5*time.Second, timeout, func(ctx context.Context) (done bool, err error) {
loadBalancerIngress, err = GetLoadBalancerIngress(ctx, c, service)
if err != nil {
- logger.Infof("Waiting until the %s service is ready...", name)
- // TODO(AC): This is a quite optimistic check / we should differentiate here
+ log.Info("Waiting until service is ready")
return retry.MinorError(fmt.Errorf("%s service is not ready: %v", name, err))
}
return retry.Ok()
}); err != nil {
- logger.Errorf("error %v occurred while waiting for load balancer to be ready", err)
+ log.Error(err, "Error while waiting for load balancer to be ready")
// use API reader here, we don't want to cache all events
eventsErrorMessage, err2 := FetchEventMessages(ctx, c.Scheme(), c, service, corev1.EventTypeWarning, 2)
if err2 != nil {
- logger.Errorf("error %v occurred while fetching events for load balancer service", err2)
+ log.Error(err2, "Error while fetching events for load balancer service")
return "", fmt.Errorf("'%w' occurred but could not fetch events for more information", err)
}
if eventsErrorMessage != "" {
diff --git a/vendor/github.com/gardener/gardener/pkg/utils/retry/retry.go b/vendor/github.com/gardener/gardener/pkg/utils/retry/retry.go
index 75502758b..5c5416c8a 100644
--- a/vendor/github.com/gardener/gardener/pkg/utils/retry/retry.go
+++ b/vendor/github.com/gardener/gardener/pkg/utils/retry/retry.go
@@ -113,20 +113,15 @@ type Error struct {
err error
}
-// Cause implements Causer.
-func (e *Error) Cause() error {
+// Unwrap implements the Unwrap function
+// https://golang.org/pkg/errors/#Unwrap
+func (e *Error) Unwrap() error {
if e.err != nil {
return e.err
}
return e.ctxError
}
-// Unwrap implements the Unwrap function
-// https://golang.org/pkg/errors/#Unwrap
-func (e *Error) Unwrap() error {
- return e.err
-}
-
// Error implements error.
func (e *Error) Error() string {
if e.err != nil {
diff --git a/vendor/github.com/gardener/gardener/pkg/utils/test/matchers/cmp.go b/vendor/github.com/gardener/gardener/pkg/utils/test/matchers/cmp.go
new file mode 100644
index 000000000..b801868a4
--- /dev/null
+++ b/vendor/github.com/gardener/gardener/pkg/utils/test/matchers/cmp.go
@@ -0,0 +1,80 @@
+// Copyright (c) 2022 SAP SE or an SAP affiliate company. All rights reserved. This file is licensed under the Apache Software License, v. 2 except as noted otherwise in the LICENSE file
+//
+// 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 matchers
+
+import (
+ "bytes"
+ "fmt"
+
+ "github.com/google/go-cmp/cmp"
+ "github.com/onsi/gomega/format"
+ "github.com/onsi/gomega/types"
+)
+
+// Inspired by https://github.com/onsi/gomega/pull/546
+// TODO(ScheererJ): Should be removed once gomega with BeComparableTo matcher is available
+
+//BeComparableTo uses gocmp.Equal to compare. You can pass cmp.Option as options.
+//It is an error for actual and expected to be nil. Use BeNil() instead.
+func BeComparableTo(expected interface{}, opts ...cmp.Option) types.GomegaMatcher {
+ return &BeComparableToMatcher{
+ Expected: expected,
+ Options: opts,
+ }
+}
+
+// BeComparableToMatcher allows comparisons with additional comparison options
+type BeComparableToMatcher struct {
+ Expected interface{}
+ Options cmp.Options
+}
+
+// Match compares the actual with the expected value
+func (matcher *BeComparableToMatcher) Match(actual interface{}) (success bool, matchErr error) {
+ if actual == nil && matcher.Expected == nil {
+ return false, fmt.Errorf("refusing to compare to .\nBe explicit and use BeNil() instead. This is to avoid mistakes where both sides of an assertion are erroneously uninitialized")
+ }
+ // Shortcut for byte slices.
+ // Comparing long byte slices with reflect.DeepEqual is very slow,
+ // so use bytes.Equal if actual and expected are both byte slices.
+ if actualByteSlice, ok := actual.([]byte); ok {
+ if expectedByteSlice, ok := matcher.Expected.([]byte); ok {
+ return bytes.Equal(actualByteSlice, expectedByteSlice), nil
+ }
+ }
+
+ defer func() {
+ if r := recover(); r != nil {
+ success = false
+ if err, ok := r.(error); ok {
+ matchErr = err
+ } else if errMsg, ok := r.(string); ok {
+ matchErr = fmt.Errorf(errMsg)
+ }
+ }
+ }()
+
+ return cmp.Equal(actual, matcher.Expected, matcher.Options...), nil
+}
+
+// FailureMessage returns the message of the failure
+func (matcher *BeComparableToMatcher) FailureMessage(actual interface{}) (message string) {
+ return cmp.Diff(matcher.Expected, actual)
+}
+
+// NegatedFailureMessage returns the negated message of the failure
+func (matcher *BeComparableToMatcher) NegatedFailureMessage(actual interface{}) (message string) {
+ return format.Message(actual, "not to equal", matcher.Expected)
+}
diff --git a/vendor/github.com/gardener/gardener/pkg/utils/version/version.go b/vendor/github.com/gardener/gardener/pkg/utils/version/version.go
index 5cb1c5b46..852c04744 100644
--- a/vendor/github.com/gardener/gardener/pkg/utils/version/version.go
+++ b/vendor/github.com/gardener/gardener/pkg/utils/version/version.go
@@ -59,6 +59,8 @@ var (
ConstraintK8sEqual124 *semver.Constraints
// ConstraintK8sLess124 is a version constraint for versions < 1.24.
ConstraintK8sLess124 *semver.Constraints
+ // ConstraintK8sGreaterEqual125 is a version constraint for versions >= 1.25.
+ ConstraintK8sGreaterEqual125 *semver.Constraints
)
func init() {
@@ -100,6 +102,8 @@ func init() {
utilruntime.Must(err)
ConstraintK8sLess124, err = semver.NewConstraint("< 1.24")
utilruntime.Must(err)
+ ConstraintK8sGreaterEqual125, err = semver.NewConstraint(">= 1.25")
+ utilruntime.Must(err)
}
// CompareVersions returns true if the constraint compared by to
diff --git a/vendor/github.com/gardener/gardener/test/framework/commonframework.go b/vendor/github.com/gardener/gardener/test/framework/commonframework.go
index 2deabe47e..377d1eb7d 100644
--- a/vendor/github.com/gardener/gardener/test/framework/commonframework.go
+++ b/vendor/github.com/gardener/gardener/test/framework/commonframework.go
@@ -19,11 +19,13 @@ import (
"os"
"path/filepath"
+ "github.com/gardener/gardener/pkg/logger"
+
+ "github.com/go-logr/logr"
"github.com/onsi/ginkgo/v2"
"github.com/onsi/gomega"
- "github.com/sirupsen/logrus"
-
- "github.com/gardener/gardener/pkg/logger"
+ logf "sigs.k8s.io/controller-runtime/pkg/log"
+ "sigs.k8s.io/controller-runtime/pkg/log/zap"
)
var commonCfg *CommonConfig
@@ -40,7 +42,7 @@ type CommonConfig struct {
// shared features of the specific test frameworks (system, garderner, shoot)
type CommonFramework struct {
Config *CommonConfig
- Logger *logrus.Logger
+ Logger logr.Logger
DisableStateDump bool
// ResourcesDir is the absolute path to the resources directory
@@ -71,14 +73,14 @@ func NewCommonFrameworkFromConfig(cfg *CommonConfig) *CommonFramework {
// BeforeEach should be called in ginkgo's BeforeEach.
// It sets up the common framework.
func (f *CommonFramework) BeforeEach() {
- var err error
-
f.Config = mergeCommonConfigs(f.Config, commonCfg)
-
- f.Logger = logger.AddWriter(logger.NewLogger(f.Config.LogLevel, ""), ginkgo.GinkgoWriter)
f.DisableStateDump = f.Config.DisableStateDump
+ logf.SetLogger(logger.MustNewZapLogger(f.Config.LogLevel, logger.FormatJSON, zap.WriteTo(ginkgo.GinkgoWriter)))
+ f.Logger = logf.Log.WithName("test")
+
if f.ResourcesDir == "" {
+ var err error
if f.Config.ResourceDir != "" {
f.ResourcesDir, err = filepath.Abs(f.Config.ResourceDir)
} else {
diff --git a/vendor/github.com/gardener/gardener/test/framework/dump.go b/vendor/github.com/gardener/gardener/test/framework/dump.go
index 74069bdc9..e8c55a200 100644
--- a/vendor/github.com/gardener/gardener/test/framework/dump.go
+++ b/vendor/github.com/gardener/gardener/test/framework/dump.go
@@ -21,25 +21,24 @@ import (
"fmt"
"sort"
+ "github.com/gardener/gardener/pkg/api/extensions"
gardencorev1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1"
- "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
+ extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
"github.com/gardener/gardener/pkg/client/kubernetes"
"github.com/gardener/gardener/pkg/utils/kubernetes/health"
+ "github.com/go-logr/logr"
"github.com/hashicorp/go-multierror"
appsv1 "k8s.io/api/apps/v1"
corev1 "k8s.io/api/core/v1"
+ "k8s.io/apimachinery/pkg/api/meta"
+ "k8s.io/apimachinery/pkg/runtime"
metricsv1beta1 "k8s.io/metrics/pkg/apis/metrics/v1beta1"
"sigs.k8s.io/controller-runtime/pkg/client"
)
-const (
- healthy = "healthy"
- unhealthy = "unhealthy"
-)
-
// DumpDefaultResourcesInAllNamespaces dumps all default k8s resources of a namespace
-func (f *CommonFramework) DumpDefaultResourcesInAllNamespaces(ctx context.Context, ctxIdentifier string, k8sClient kubernetes.Interface) error {
+func (f *CommonFramework) DumpDefaultResourcesInAllNamespaces(ctx context.Context, k8sClient kubernetes.Interface) error {
namespaces := &corev1.NamespaceList{}
if err := k8sClient.Client().List(ctx, namespaces); err != nil {
return err
@@ -48,7 +47,7 @@ func (f *CommonFramework) DumpDefaultResourcesInAllNamespaces(ctx context.Contex
var result error
for _, ns := range namespaces.Items {
- if err := f.DumpDefaultResourcesInNamespace(ctx, ctxIdentifier, k8sClient, ns.Name); err != nil {
+ if err := f.DumpDefaultResourcesInNamespace(ctx, k8sClient, ns.Name); err != nil {
result = multierror.Append(result, err)
}
}
@@ -56,35 +55,37 @@ func (f *CommonFramework) DumpDefaultResourcesInAllNamespaces(ctx context.Contex
}
// DumpDefaultResourcesInNamespace dumps all default K8s resources of a namespace.
-func (f *CommonFramework) DumpDefaultResourcesInNamespace(ctx context.Context, ctxIdentifier string, k8sClient kubernetes.Interface, namespace string) error {
+func (f *CommonFramework) DumpDefaultResourcesInNamespace(ctx context.Context, k8sClient kubernetes.Interface, namespace string) error {
+ log := f.Logger.WithValues("namespace", namespace)
+
var result error
- if err := f.dumpEventsInNamespace(ctx, ctxIdentifier, k8sClient, namespace); err != nil {
+ if err := f.dumpEventsInNamespace(ctx, log, k8sClient, namespace); err != nil {
result = multierror.Append(result, fmt.Errorf("unable to fetch Events from namespace %s: %s", namespace, err.Error()))
}
- if err := f.dumpPodInfoForNamespace(ctx, ctxIdentifier, k8sClient, namespace); err != nil {
+ if err := f.dumpPodInfoForNamespace(ctx, log, k8sClient, namespace); err != nil {
result = multierror.Append(result, fmt.Errorf("unable to fetch information of Pods from namespace %s: %s", namespace, err.Error()))
}
- if err := f.dumpDeploymentInfoForNamespace(ctx, ctxIdentifier, k8sClient, namespace); err != nil {
+ if err := f.dumpDeploymentInfoForNamespace(ctx, log, k8sClient, namespace); err != nil {
result = multierror.Append(result, fmt.Errorf("unable to fetch information of Deployments from namespace %s: %s", namespace, err.Error()))
}
- if err := f.dumpStatefulSetInfoForNamespace(ctx, ctxIdentifier, k8sClient, namespace); err != nil {
+ if err := f.dumpStatefulSetInfoForNamespace(ctx, log, k8sClient, namespace); err != nil {
result = multierror.Append(result, fmt.Errorf("unable to fetch information of StatefulSets from namespace %s: %s", namespace, err.Error()))
}
- if err := f.dumpDaemonSetInfoForNamespace(ctx, ctxIdentifier, k8sClient, namespace); err != nil {
+ if err := f.dumpDaemonSetInfoForNamespace(ctx, log, k8sClient, namespace); err != nil {
result = multierror.Append(result, fmt.Errorf("unable to fetch information of DaemonSets from namespace %s: %s", namespace, err.Error()))
}
- if err := f.dumpServiceInfoForNamespace(ctx, ctxIdentifier, k8sClient, namespace); err != nil {
+ if err := f.dumpServiceInfoForNamespace(ctx, log, k8sClient, namespace); err != nil {
result = multierror.Append(result, fmt.Errorf("unable to fetch information of Services from namespace %s: %s", namespace, err.Error()))
}
- if err := f.dumpVolumeInfoForNamespace(ctx, ctxIdentifier, k8sClient, namespace); err != nil {
+ if err := f.dumpVolumeInfoForNamespace(ctx, log, k8sClient, namespace); err != nil {
result = multierror.Append(result, fmt.Errorf("unable to fetch information of Volumes from namespace %s: %s", namespace, err.Error()))
}
return result
}
func (f *GardenerFramework) dumpControlplaneInSeed(ctx context.Context, seed *gardencorev1beta1.Seed, namespace string) error {
- ctxIdentifier := fmt.Sprintf("[SEED %s]", seed.GetName())
- f.Logger.Info(ctxIdentifier)
+ log := f.Logger.WithValues("seedName", seed.GetName(), "namespace", namespace)
+ log.Info("Dumping control plane resources")
_, seedClient, err := f.GetSeed(ctx, seed.GetName())
if err != nil {
@@ -92,144 +93,87 @@ func (f *GardenerFramework) dumpControlplaneInSeed(ctx context.Context, seed *ga
}
var result error
- if err := f.dumpGardenerExtensionsInNamespace(ctx, ctxIdentifier, seedClient, namespace); err != nil {
- result = multierror.Append(result, fmt.Errorf("unable to dump Extensions from namespace %s in seed %s: %s", namespace, seed.Name, err.Error()))
+ if err := f.dumpGardenerExtensionsInNamespace(ctx, log, seedClient, namespace); err != nil {
+ result = multierror.Append(result, fmt.Errorf("unable to dump Extensions from namespace %s in seed %s: %w", namespace, seed.Name, err))
}
- if err := f.dumpEventsInNamespace(ctx, ctxIdentifier, seedClient, namespace); err != nil {
- result = multierror.Append(result, fmt.Errorf("unable to dump Events from namespace %s in seed %s: %s", namespace, seed.Name, err.Error()))
+ if err := f.dumpEventsInNamespace(ctx, log, seedClient, namespace); err != nil {
+ result = multierror.Append(result, fmt.Errorf("unable to dump Events from namespace %s in seed %s: %w", namespace, seed.Name, err))
}
- if err := f.dumpPodInfoForNamespace(ctx, ctxIdentifier, seedClient, namespace); err != nil {
- result = multierror.Append(result, fmt.Errorf("unable to dump information of Pods from namespace %s in seed %s: %s", namespace, seed.Name, err.Error()))
+ if err := f.dumpPodInfoForNamespace(ctx, log, seedClient, namespace); err != nil {
+ result = multierror.Append(result, fmt.Errorf("unable to dump information of Pods from namespace %s in seed %s: %w", namespace, seed.Name, err))
}
- if err := f.dumpDeploymentInfoForNamespace(ctx, ctxIdentifier, seedClient, namespace); err != nil {
- result = multierror.Append(result, fmt.Errorf("unable to dump information of Deployments from namespace %s in seed %s: %s", namespace, seed.Name, err.Error()))
+ if err := f.dumpDeploymentInfoForNamespace(ctx, log, seedClient, namespace); err != nil {
+ result = multierror.Append(result, fmt.Errorf("unable to dump information of Deployments from namespace %s in seed %s: %w", namespace, seed.Name, err))
}
- if err := f.dumpStatefulSetInfoForNamespace(ctx, ctxIdentifier, seedClient, namespace); err != nil {
- result = multierror.Append(result, fmt.Errorf("unable to dump information of StatefulSets from namespace %s in seed %s: %s", namespace, seed.Name, err.Error()))
+ if err := f.dumpStatefulSetInfoForNamespace(ctx, log, seedClient, namespace); err != nil {
+ result = multierror.Append(result, fmt.Errorf("unable to dump information of StatefulSets from namespace %s in seed %s: %w", namespace, seed.Name, err))
}
- if err := f.dumpDaemonSetInfoForNamespace(ctx, ctxIdentifier, seedClient, namespace); err != nil {
- result = multierror.Append(result, fmt.Errorf("unable to dump information of DaemonSets from namespace %s in seed %s: %s", namespace, seed.Name, err.Error()))
+ if err := f.dumpDaemonSetInfoForNamespace(ctx, log, seedClient, namespace); err != nil {
+ result = multierror.Append(result, fmt.Errorf("unable to dump information of DaemonSets from namespace %s in seed %s: %w", namespace, seed.Name, err))
}
- if err := f.dumpServiceInfoForNamespace(ctx, ctxIdentifier, seedClient, namespace); err != nil {
- result = multierror.Append(result, fmt.Errorf("unable to dump information of Services from namespace %s in seed %s: %s", namespace, seed.Name, err.Error()))
+ if err := f.dumpServiceInfoForNamespace(ctx, log, seedClient, namespace); err != nil {
+ result = multierror.Append(result, fmt.Errorf("unable to dump information of Services from namespace %s in seed %s: %w", namespace, seed.Name, err))
}
- if err := f.dumpVolumeInfoForNamespace(ctx, ctxIdentifier, seedClient, namespace); err != nil {
- result = multierror.Append(result, fmt.Errorf("unable to fetch information of Volumes from namespace %s: %s", namespace, err.Error()))
+ if err := f.dumpVolumeInfoForNamespace(ctx, log, seedClient, namespace); err != nil {
+ result = multierror.Append(result, fmt.Errorf("unable to fetch information of Volumes from namespace %s: %w", namespace, err))
}
return result
}
// dumpGardenerExtensionsInNamespace prints all gardener extension crds in the shoot namespace
-func (f *GardenerFramework) dumpGardenerExtensionsInNamespace(ctx context.Context, ctxIdentifier string, k8sClient kubernetes.Interface, namespace string) error {
+func (f *GardenerFramework) dumpGardenerExtensionsInNamespace(ctx context.Context, log logr.Logger, k8sClient kubernetes.Interface, namespace string) error {
var result *multierror.Error
- ctxIdentifier = fmt.Sprintf("%s [NAMESPACE %s]", ctxIdentifier, namespace)
-
- f.Logger.Infof("%s [EXTENSIONS] [INFRASTRUCTURE]", ctxIdentifier)
- infrastructures := &v1alpha1.InfrastructureList{}
- err := k8sClient.Client().List(ctx, infrastructures, client.InNamespace(namespace))
- result = multierror.Append(result, err)
- if err != nil {
- for _, infra := range infrastructures.Items {
- f.dumpGardenerExtension(&infra)
- }
- f.Logger.Println()
- }
-
- f.Logger.Infof("%s [EXTENSIONS] [CONTROLPLANE]", ctxIdentifier)
- controlplanes := &v1alpha1.ControlPlaneList{}
- err = k8sClient.Client().List(ctx, controlplanes, client.InNamespace(namespace))
- if err != nil {
- for _, cp := range controlplanes.Items {
- f.dumpGardenerExtension(&cp)
- }
- f.Logger.Println()
- }
-
- f.Logger.Infof("%s [EXTENSIONS] [OS]", ctxIdentifier)
- operatingSystems := &v1alpha1.OperatingSystemConfigList{}
- err = k8sClient.Client().List(ctx, operatingSystems, client.InNamespace(namespace))
- result = multierror.Append(result, err)
- if err == nil {
- for _, os := range operatingSystems.Items {
- f.dumpGardenerExtension(&os)
- }
- f.Logger.Println()
- }
-
- f.Logger.Infof("%s [EXTENSIONS] [WORKER]", ctxIdentifier)
- workers := &v1alpha1.WorkerList{}
- err = k8sClient.Client().List(ctx, workers, client.InNamespace(namespace))
- result = multierror.Append(result, err)
- if err == nil {
- for _, worker := range workers.Items {
- f.dumpGardenerExtension(&worker)
- }
- f.Logger.Println()
- }
-
- f.Logger.Infof("%s [EXTENSIONS] [BACKUPBUCKET]", ctxIdentifier)
- backupBuckets := &v1alpha1.BackupBucketList{}
- err = k8sClient.Client().List(ctx, backupBuckets, client.InNamespace(namespace))
- result = multierror.Append(result, err)
- if err == nil {
- for _, bucket := range backupBuckets.Items {
- f.dumpGardenerExtension(&bucket)
- }
- f.Logger.Println()
- }
-
- f.Logger.Infof("%s [EXTENSIONS] [BACKUPENTRY]", ctxIdentifier)
- backupEntries := &v1alpha1.BackupEntryList{}
- err = k8sClient.Client().List(ctx, backupEntries, client.InNamespace(namespace))
- result = multierror.Append(result, err)
- if err == nil {
- for _, entry := range backupEntries.Items {
- f.dumpGardenerExtension(&entry)
- }
- f.Logger.Println()
- }
-
- f.Logger.Infof("%s [EXTENSIONS] [BASTION]", ctxIdentifier)
- bastions := &v1alpha1.BastionList{}
- err = k8sClient.Client().List(ctx, bastions, client.InNamespace(namespace))
- result = multierror.Append(result, err)
- if err == nil {
- for _, entry := range bastions.Items {
- f.dumpGardenerExtension(&entry)
- }
- f.Logger.Println()
- }
- f.Logger.Infof("%s [EXTENSIONS] [NETWORK]", ctxIdentifier)
- networks := &v1alpha1.NetworkList{}
- err = k8sClient.Client().List(ctx, networks, client.InNamespace(namespace))
- result = multierror.Append(result, err)
- if err == nil {
- for _, network := range networks.Items {
- f.dumpGardenerExtension(&network)
+ for kind, objList := range map[string]client.ObjectList{
+ "Infrastructure": &extensionsv1alpha1.InfrastructureList{},
+ "ControlPlane": &extensionsv1alpha1.ControlPlaneList{},
+ "OperatingSystemConfig": &extensionsv1alpha1.OperatingSystemConfigList{},
+ "Worker": &extensionsv1alpha1.WorkerList{},
+ "BackupBucket": &extensionsv1alpha1.BackupBucketList{},
+ "BackupEntry": &extensionsv1alpha1.BackupEntryList{},
+ "Bastion": &extensionsv1alpha1.BastionList{},
+ "Network": &extensionsv1alpha1.NetworkList{},
+ } {
+ extensionLog := log.WithValues("kind", kind)
+ extensionLog.Info("Dumping extensions.gardener.cloud/v1alpha1 resources")
+
+ if err := k8sClient.Client().List(ctx, objList, client.InNamespace(namespace)); err != nil {
+ result = multierror.Append(result, err)
+ if err := meta.EachListItem(objList, func(o runtime.Object) error {
+ obj, err := extensions.Accessor(o)
+ if err != nil {
+ return err
+ }
+ f.dumpGardenerExtension(extensionLog, obj)
+ return nil
+ }); err != nil {
+ result = multierror.Append(result, err)
+ }
}
- f.Logger.Println()
}
return result.ErrorOrNil()
}
// dumpGardenerExtensions prints all gardener extension crds in the shoot namespace
-func (f *GardenerFramework) dumpGardenerExtension(extension v1alpha1.Object) {
+func (f *GardenerFramework) dumpGardenerExtension(log logr.Logger, extension extensionsv1alpha1.Object) {
+ log = log.WithValues("name", extension.GetName(), "type", extension.GetExtensionSpec().GetExtensionType())
+
if err := health.CheckExtensionObject(extension); err != nil {
- f.Logger.Printf("%s of type %s is %s - Error: %s", extension.GetName(), extension.GetExtensionSpec().GetExtensionType(), unhealthy, err.Error())
+ log.Info("Found unhealthy extension object", "reason", err.Error())
} else {
- f.Logger.Printf("%s of type %s is %s", extension.GetName(), extension.GetExtensionSpec().GetExtensionType(), healthy)
+ log.Info("Found healthy extension object")
}
- f.Logger.Printf("At %v - last operation %s %s: %s", extension.GetExtensionStatus().GetLastOperation().LastUpdateTime, extension.GetExtensionStatus().GetLastOperation().Type, extension.GetExtensionStatus().GetLastOperation().State, extension.GetExtensionStatus().GetLastOperation().Description)
+
+ log.Info("Extension object has last operation", "lastOperation", extension.GetExtensionStatus().GetLastOperation())
if extension.GetExtensionStatus().GetLastError() != nil {
- f.Logger.Printf("At %v - last error: %s", extension.GetExtensionStatus().GetLastError().LastUpdateTime, extension.GetExtensionStatus().GetLastError().Description)
+ log.Info("Extension object has last error", "lastError", extension.GetExtensionStatus().GetLastError())
}
}
// DumpLogsForPodsWithLabelsInNamespace prints the logs of pods in the given namespace selected by the given list options.
-func (f *CommonFramework) DumpLogsForPodsWithLabelsInNamespace(ctx context.Context, ctxIdentifier string, k8sClient kubernetes.Interface, namespace string, opts ...client.ListOption) error {
+func (f *CommonFramework) DumpLogsForPodsWithLabelsInNamespace(ctx context.Context, k8sClient kubernetes.Interface, namespace string, opts ...client.ListOption) error {
pods := &corev1.PodList{}
opts = append(opts, client.InNamespace(namespace))
if err := k8sClient.Client().List(ctx, pods, opts...); err != nil {
@@ -238,7 +182,7 @@ func (f *CommonFramework) DumpLogsForPodsWithLabelsInNamespace(ctx context.Conte
var result error
for _, pod := range pods.Items {
- if err := f.DumpLogsForPodInNamespace(ctx, ctxIdentifier, k8sClient, namespace, pod.Name); err != nil {
+ if err := f.DumpLogsForPodInNamespace(ctx, k8sClient, namespace, pod.Name); err != nil {
result = multierror.Append(result, err)
}
}
@@ -246,168 +190,182 @@ func (f *CommonFramework) DumpLogsForPodsWithLabelsInNamespace(ctx context.Conte
}
// DumpLogsForPodInNamespace prints the logs of the pod with the given namespace and name.
-func (f *CommonFramework) DumpLogsForPodInNamespace(ctx context.Context, ctxIdentifier string, k8sClient kubernetes.Interface, podNamespace, podName string) error {
- f.Logger.Infof("%s [NAMESPACE %s] [POD %s] [LOGS]", ctxIdentifier, podNamespace, podName)
- podIf := k8sClient.Kubernetes().CoreV1().Pods(podNamespace)
- logs, err := kubernetes.GetPodLogs(ctx, podIf, podName, &corev1.PodLogOptions{})
+func (f *CommonFramework) DumpLogsForPodInNamespace(ctx context.Context, k8sClient kubernetes.Interface, namespace, name string) error {
+ log := f.Logger.WithValues("pod", client.ObjectKey{Namespace: namespace, Name: name})
+ log.Info("Dumping logs for corev1.Pod")
+
+ podIf := k8sClient.Kubernetes().CoreV1().Pods(namespace)
+ logs, err := kubernetes.GetPodLogs(ctx, podIf, name, &corev1.PodLogOptions{})
if err != nil {
return err
}
scanner := bufio.NewScanner(bytes.NewReader(logs))
for scanner.Scan() {
- f.Logger.Println(scanner.Text())
+ log.Info(scanner.Text()) //nolint:logcheck
}
return nil
}
// dumpDeploymentInfoForNamespace prints information about all Deployments of a namespace
-func (f *CommonFramework) dumpDeploymentInfoForNamespace(ctx context.Context, ctxIdentifier string, k8sClient kubernetes.Interface, namespace string) error {
- f.Logger.Infof("%s [NAMESPACE %s] [DEPLOYMENTS]", ctxIdentifier, namespace)
+func (f *CommonFramework) dumpDeploymentInfoForNamespace(ctx context.Context, log logr.Logger, k8sClient kubernetes.Interface, namespace string) error {
+ log.Info("Dumping appsv1.Deployment resources")
+
deployments := &appsv1.DeploymentList{}
if err := k8sClient.Client().List(ctx, deployments, client.InNamespace(namespace)); err != nil {
return err
}
for _, deployment := range deployments.Items {
+ log = log.WithValues("name", deployment.Name, "replicas", deployment.Status.Replicas, "availableReplicas", deployment.Status.AvailableReplicas)
+
if err := health.CheckDeployment(&deployment); err != nil {
- f.Logger.Printf("Deployment %s is %s with %d/%d replicas - Error: %s - Conditions %v", deployment.Name, unhealthy, deployment.Status.AvailableReplicas, deployment.Status.Replicas, err.Error(), deployment.Status.Conditions)
+ log.Info("Found unhealthy Deployment", "reason", err.Error(), "conditions", deployment.Status.Conditions)
continue
}
- f.Logger.Printf("Deployment %s is %s with %d/%d replicas", deployment.Name, healthy, deployment.Status.AvailableReplicas, deployment.Status.Replicas)
+ log.Info("Found healthy Deployment")
}
- f.Logger.Println()
return nil
}
// dumpStatefulSetInfoForNamespace prints information about all StatefulSets of a namespace
-func (f *CommonFramework) dumpStatefulSetInfoForNamespace(ctx context.Context, ctxIdentifier string, k8sClient kubernetes.Interface, namespace string) error {
- f.Logger.Infof("%s [NAMESPACE %s] [STATEFULSETS]", ctxIdentifier, namespace)
+func (f *CommonFramework) dumpStatefulSetInfoForNamespace(ctx context.Context, log logr.Logger, k8sClient kubernetes.Interface, namespace string) error {
+ log.Info("Dumping appsv1.StatefulSet resources")
+
statefulSets := &appsv1.StatefulSetList{}
if err := k8sClient.Client().List(ctx, statefulSets, client.InNamespace(namespace)); err != nil {
return err
}
for _, statefulSet := range statefulSets.Items {
+ log = log.WithValues("name", statefulSet.Name, "replicas", statefulSet.Status.Replicas, "readyReplicas", statefulSet.Status.ReadyReplicas)
+
if err := health.CheckStatefulSet(&statefulSet); err != nil {
- f.Logger.Printf("StatefulSet %s is %s with %d/%d replicas - Error: %s - Conditions %v", statefulSet.Name, unhealthy, statefulSet.Status.ReadyReplicas, statefulSet.Status.Replicas, err.Error(), statefulSet.Status.Conditions)
+ log.Info("Found unhealthy StatefulSet", "reason", err.Error(), "conditions", statefulSet.Status.Conditions)
continue
}
- f.Logger.Printf("StatefulSet %s is %s with %d/%d replicas", statefulSet.Name, healthy, statefulSet.Status.ReadyReplicas, statefulSet.Status.Replicas)
+ log.Info("Found healthy StatefulSet")
}
- f.Logger.Println()
return nil
}
// dumpDaemonSetInfoForNamespace prints information about all DaemonSets of a namespace
-func (f *CommonFramework) dumpDaemonSetInfoForNamespace(ctx context.Context, ctxIdentifier string, k8sClient kubernetes.Interface, namespace string) error {
- f.Logger.Infof("%s [NAMESPACE %s] [DAEMONSETS]", ctxIdentifier, namespace)
+func (f *CommonFramework) dumpDaemonSetInfoForNamespace(ctx context.Context, log logr.Logger, k8sClient kubernetes.Interface, namespace string) error {
+ log.Info("Dumping appsv1.DaemonSet resources")
+
daemonSets := &appsv1.DaemonSetList{}
if err := k8sClient.Client().List(ctx, daemonSets, client.InNamespace(namespace)); err != nil {
return err
}
for _, ds := range daemonSets.Items {
+ log = log.WithValues("name", ds.Name, "currentNumberScheduled", ds.Status.CurrentNumberScheduled, "desiredNumberScheduled", ds.Status.DesiredNumberScheduled)
+
if err := health.CheckDaemonSet(&ds); err != nil {
- f.Logger.Printf("DaemonSet %s is %s with %d/%d replicas - Error: %s - Conditions %v", ds.Name, unhealthy, ds.Status.CurrentNumberScheduled, ds.Status.DesiredNumberScheduled, err.Error(), ds.Status.Conditions)
+ log.Info("Found unhealthy DaemonSet", "reason", err.Error(), "conditions", ds.Status.Conditions)
continue
}
- f.Logger.Printf("DaemonSet %s is %s with %d/%d replicas", ds.Name, healthy, ds.Status.CurrentNumberScheduled, ds.Status.DesiredNumberScheduled)
+ log.Info("Found healthy DaemonSet")
}
- f.Logger.Println()
return nil
}
// dumpNamespaceResource prints information about the Namespace itself
-func (f *CommonFramework) dumpNamespaceResource(ctx context.Context, ctxIdentifier string, k8sClient kubernetes.Interface, namespace string) error {
- f.Logger.Infof("%s [NAMESPACE RESOURCE %s]", ctxIdentifier, namespace)
+func (f *CommonFramework) dumpNamespaceResource(ctx context.Context, log logr.Logger, k8sClient kubernetes.Interface, namespace string) error {
+ log.Info("Dumping corev1.Namespace resources")
+
ns := &corev1.Namespace{}
if err := k8sClient.Client().Get(ctx, client.ObjectKey{Name: namespace}, ns); err != nil {
return err
}
- f.Logger.Printf("Namespace %s - Spec %+v - Status %+v", namespace, ns.Spec, ns.Status)
- f.Logger.Println()
+ log.Info("Found Namespace", "namespace", ns)
return nil
}
// dumpServiceInfoForNamespace prints information about all Services of a namespace
-func (f *CommonFramework) dumpServiceInfoForNamespace(ctx context.Context, ctxIdentifier string, k8sClient kubernetes.Interface, namespace string) error {
- f.Logger.Infof("%s [NAMESPACE %s] [SERVICES]", ctxIdentifier, namespace)
+func (f *CommonFramework) dumpServiceInfoForNamespace(ctx context.Context, log logr.Logger, k8sClient kubernetes.Interface, namespace string) error {
+ log.Info("Dumping corev1.Service resources")
+
services := &corev1.ServiceList{}
if err := k8sClient.Client().List(ctx, services, client.InNamespace(namespace)); err != nil {
return err
}
for _, service := range services.Items {
- f.Logger.Printf("Service %s - Spec %+v - Status %+v", service.Name, service.Spec, service.Status)
+ log.Info("Found Service", "service", service)
}
- f.Logger.Println()
return nil
}
// dumpVolumeInfoForNamespace prints information about all PVs and PVCs of a namespace
-func (f *CommonFramework) dumpVolumeInfoForNamespace(ctx context.Context, ctxIdentifier string, k8sClient kubernetes.Interface, namespace string) error {
- f.Logger.Infof("%s [NAMESPACE %s] [PVC]", ctxIdentifier, namespace)
+func (f *CommonFramework) dumpVolumeInfoForNamespace(ctx context.Context, log logr.Logger, k8sClient kubernetes.Interface, namespace string) error {
+ log.Info("Dumping corev1.PersistentVolumeClaim resources")
+
pvcs := &corev1.PersistentVolumeClaimList{}
if err := k8sClient.Client().List(ctx, pvcs, client.InNamespace(namespace)); err != nil {
return err
}
for _, pvc := range pvcs.Items {
- f.Logger.Printf("PVC %s - Spec %+v - Status %+v", pvc.Name, pvc.Spec, pvc.Status)
+ log.Info("Found PersistentVolumeClaim", "persistentVolumeClaim", pvc)
}
- f.Logger.Println()
- f.Logger.Infof("%s [NAMESPACE %s] [PV]", ctxIdentifier, namespace)
+ log.Info("Dumping corev1.PersistentVolume resources")
+
pvs := &corev1.PersistentVolumeList{}
if err := k8sClient.Client().List(ctx, pvs, client.InNamespace(namespace)); err != nil {
return err
}
for _, pv := range pvs.Items {
- f.Logger.Printf("PV %s - Spec %+v - Status %+v", pv.Name, pv.Spec, pv.Status)
+ log.Info("Found PersistentVolume", "persistentVolume", pv)
}
- f.Logger.Println()
return nil
}
// dumpNodes prints information about all nodes
-func (f *CommonFramework) dumpNodes(ctx context.Context, ctxIdentifier string, k8sClient kubernetes.Interface) error {
- f.Logger.Infof("%s [NODES]", ctxIdentifier)
+func (f *CommonFramework) dumpNodes(ctx context.Context, log logr.Logger, k8sClient kubernetes.Interface) error {
+ log.Info("Dumping corev1.Node resources")
+
nodes := &corev1.NodeList{}
if err := k8sClient.Client().List(ctx, nodes); err != nil {
return err
}
for _, node := range nodes.Items {
+ log = log.WithValues("nodeName", node.Name)
if err := health.CheckNode(&node); err != nil {
- f.Logger.Printf("Node %s is %s with phase %s - Error: %s - Conditions %v", node.Name, unhealthy, node.Status.Phase, err.Error(), node.Status.Conditions)
+ log.Info("Found unhealthy Node", "phase", node.Status.Phase, "reason", err.Error(), "conditions", node.Status.Conditions)
} else {
- f.Logger.Printf("Node %s is %s with phase %s", node.Name, healthy, node.Status.Phase)
+ log.Info("Found healthy Node", "phase", node.Status.Phase)
}
- f.Logger.Printf("Node %s has a capacity of %s cpu, %s memory", node.Name, node.Status.Capacity.Cpu().String(), node.Status.Capacity.Memory().String())
+ log.Info("Node resource capacity", "cpu", node.Status.Capacity.Cpu().String(), "memory", node.Status.Capacity.Memory().String())
nodeMetric := &metricsv1beta1.NodeMetrics{}
if err := k8sClient.Client().Get(ctx, client.ObjectKey{Name: node.Name}, nodeMetric); err != nil {
- f.Logger.Errorf("unable to receive metrics for node %s: %s", node.Name, err.Error())
+ log.Error(err, "Unable to receive metrics for node")
continue
}
- f.Logger.Printf("Node %s currently uses %s cpu, %s memory", node.Name, nodeMetric.Usage.Cpu().String(), nodeMetric.Usage.Memory().String())
+ log.Info("Node resource usage", "cpu", nodeMetric.Usage.Cpu().String(), "memory", nodeMetric.Usage.Memory().String())
}
- f.Logger.Println()
return nil
}
// dumpPodInfoForNamespace prints node information of all pods in a namespace
-func (f *CommonFramework) dumpPodInfoForNamespace(ctx context.Context, ctxIdentifier string, k8sClient kubernetes.Interface, namespace string) error {
- f.Logger.Infof("%s [NAMESPACE %s] [PODS]", ctxIdentifier, namespace)
+func (f *CommonFramework) dumpPodInfoForNamespace(ctx context.Context, log logr.Logger, k8sClient kubernetes.Interface, namespace string) error {
+ log.Info("Dumping corev1.Pod resources")
+
pods := &corev1.PodList{}
if err := k8sClient.Client().List(ctx, pods, client.InNamespace(namespace)); err != nil {
return err
}
for _, pod := range pods.Items {
- f.Logger.Infof("Pod %s is %s on Node %s", pod.Name, pod.Status.Phase, pod.Spec.NodeName)
+ log.Info("Found pod",
+ "podName", pod.Name,
+ "phase", pod.Status.Phase,
+ "nodeName", pod.Spec.NodeName,
+ )
}
- f.Logger.Println()
return nil
}
// dumpEventsInNamespace prints all events of a namespace
-func (f *CommonFramework) dumpEventsInNamespace(ctx context.Context, ctxIdentifier string, k8sClient kubernetes.Interface, namespace string, filters ...EventFilterFunc) error {
- f.Logger.Infof("%s [NAMESPACE %s] [EVENTS]", ctxIdentifier, namespace)
+func (f *CommonFramework) dumpEventsInNamespace(ctx context.Context, log logr.Logger, k8sClient kubernetes.Interface, namespace string, filters ...EventFilterFunc) error {
+ log.Info("Dumping corev1.Event resources")
+
events := &corev1.EventList{}
if err := k8sClient.Client().List(ctx, events, client.InNamespace(namespace)); err != nil {
return err
@@ -418,10 +376,15 @@ func (f *CommonFramework) dumpEventsInNamespace(ctx context.Context, ctxIdentifi
}
for _, event := range events.Items {
if ApplyFilters(event, filters...) {
- f.Logger.Printf("At %v - event for %s: %v %v: %s", event.FirstTimestamp, event.InvolvedObject.Name, event.Source, event.Reason, event.Message)
+ log.Info("Found event",
+ "firstTimestamp", event.FirstTimestamp,
+ "involvedObjectName", event.InvolvedObject.Name,
+ "source", event.Source,
+ "reason", event.Reason,
+ "message", event.Message,
+ )
}
}
- f.Logger.Println()
return nil
}
diff --git a/vendor/github.com/gardener/gardener/test/framework/gardener_utils.go b/vendor/github.com/gardener/gardener/test/framework/gardener_utils.go
index 3533d5ed4..e8729e622 100644
--- a/vendor/github.com/gardener/gardener/test/framework/gardener_utils.go
+++ b/vendor/github.com/gardener/gardener/test/framework/gardener_utils.go
@@ -21,7 +21,6 @@ import (
gardencorev1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1"
v1beta1constants "github.com/gardener/gardener/pkg/apis/core/v1beta1/constants"
- seedmanagementv1alpha1 "github.com/gardener/gardener/pkg/apis/seedmanagement/v1alpha1"
gardenversionedcoreclientset "github.com/gardener/gardener/pkg/client/core/clientset/versioned"
"github.com/gardener/gardener/pkg/client/kubernetes"
gutil "github.com/gardener/gardener/pkg/utils/gardener"
@@ -32,7 +31,6 @@ import (
corev1 "k8s.io/api/core/v1"
apierrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- "k8s.io/utils/pointer"
"sigs.k8s.io/controller-runtime/pkg/client"
)
@@ -57,7 +55,7 @@ func (f *GardenerFramework) GetSeed(ctx context.Context, seedName string) (*gard
seedSecretRef := seed.Spec.SecretRef
if seedSecretRef == nil {
- f.Logger.Info("seed does not have secretRef set, skip constructing seed client")
+ f.Logger.Info("Seed does not have secretRef set, skip constructing seed client")
return seed, nil, nil
}
@@ -105,19 +103,21 @@ func (f *GardenerFramework) createShootResource(ctx context.Context, shoot *gard
if err := f.GardenClient.Client().Create(ctx, shoot); err != nil {
return nil, err
}
- f.Logger.Infof("Shoot resource %s was created!", shoot.Name)
+ f.Logger.Info("Shoot resource was created", "shoot", client.ObjectKeyFromObject(shoot))
return shoot, nil
}
// CreateShoot Creates a shoot from a shoot Object and waits until it is successfully reconciled
func (f *GardenerFramework) CreateShoot(ctx context.Context, shoot *gardencorev1beta1.Shoot) error {
+ log := f.Logger.WithValues("shoot", client.ObjectKeyFromObject(shoot))
+
err := retry.UntilTimeout(ctx, 20*time.Second, 5*time.Minute, func(ctx context.Context) (done bool, err error) {
_, err = f.createShootResource(ctx, shoot)
if apierrors.IsInvalid(err) || apierrors.IsForbidden(err) || apierrors.IsAlreadyExists(err) {
return retry.SevereError(err)
}
if err != nil {
- f.Logger.Infof("unable to create shoot %s: %s", shoot.Name, err.Error())
+ log.Error(err, "Unable to create shoot")
return retry.MinorError(err)
}
return retry.Ok()
@@ -132,24 +132,26 @@ func (f *GardenerFramework) CreateShoot(ctx context.Context, shoot *gardencorev1
return err
}
- f.Logger.Infof("Shoot %s was created!", shoot.Name)
+ log.Info("Shoot was created")
return nil
}
// DeleteShootAndWaitForDeletion deletes the test shoot and waits until it cannot be found any more
func (f *GardenerFramework) DeleteShootAndWaitForDeletion(ctx context.Context, shoot *gardencorev1beta1.Shoot) (rErr error) {
if f.Config.ExistingShootName != "" {
- f.Logger.Infof("Skip deleting existing shoot %q", client.ObjectKey{Name: f.Config.ExistingShootName, Namespace: f.ProjectNamespace})
+ f.Logger.Info("Skip deletion of existing shoot", "shoot", client.ObjectKey{Name: f.Config.ExistingShootName, Namespace: f.ProjectNamespace})
return nil
}
+ log := f.Logger.WithValues("shoot", client.ObjectKeyFromObject(shoot))
+
defer func() {
if rErr != nil {
dumpCtx, cancel := context.WithTimeout(context.Background(), 2*time.Minute)
defer cancel()
if shootFramework, err := f.NewShootFramework(dumpCtx, shoot); err != nil {
- f.Logger.Errorf("Cannot dump shoot state %s: %v", shoot.GetName(), err)
+ log.Error(err, "Cannot dump shoot state")
} else {
shootFramework.DumpState(dumpCtx)
}
@@ -166,7 +168,7 @@ func (f *GardenerFramework) DeleteShootAndWaitForDeletion(ctx context.Context, s
return err
}
- f.Logger.Infof("Shoot %s was deleted successfully!", shoot.Name)
+ log.Info("Shoot was deleted successfully")
return nil
}
@@ -204,6 +206,8 @@ func (f *GardenerFramework) DeleteShoot(ctx context.Context, shoot *gardencorev1
// UpdateShoot Updates a shoot from a shoot Object and waits for its reconciliation
func (f *GardenerFramework) UpdateShoot(ctx context.Context, shoot *gardencorev1beta1.Shoot, update func(shoot *gardencorev1beta1.Shoot) error) error {
+ log := f.Logger.WithValues("shoot", client.ObjectKeyFromObject(shoot))
+
err := retry.UntilTimeout(ctx, 20*time.Second, 5*time.Minute, func(ctx context.Context) (done bool, err error) {
updatedShoot := &gardencorev1beta1.Shoot{}
if err := f.GardenClient.Client().Get(ctx, client.ObjectKeyFromObject(shoot), updatedShoot); err != nil {
@@ -215,7 +219,7 @@ func (f *GardenerFramework) UpdateShoot(ctx context.Context, shoot *gardencorev1
}
if err := f.GardenClient.Client().Update(ctx, updatedShoot); err != nil {
- f.Logger.Infof("unable to update shoot %s: %s", updatedShoot.Name, err.Error())
+ log.Error(err, "Unable to update shoot")
return retry.MinorError(err)
}
*shoot = *updatedShoot
@@ -231,12 +235,14 @@ func (f *GardenerFramework) UpdateShoot(ctx context.Context, shoot *gardencorev1
return err
}
- f.Logger.Infof("Shoot %s was successfully updated!", shoot.Name)
+ log.Info("Shoot was successfully updated")
return nil
}
// HibernateShoot hibernates the test shoot
func (f *GardenerFramework) HibernateShoot(ctx context.Context, shoot *gardencorev1beta1.Shoot) error {
+ log := f.Logger.WithValues("shoot", client.ObjectKeyFromObject(shoot))
+
// return if the shoot is already hibernated
if shoot.Spec.Hibernation != nil && shoot.Spec.Hibernation.Enabled != nil && *shoot.Spec.Hibernation.Enabled {
return nil
@@ -258,12 +264,14 @@ func (f *GardenerFramework) HibernateShoot(ctx context.Context, shoot *gardencor
return err
}
- f.Logger.Infof("Shoot %s was hibernated successfully!", shoot.Name)
+ log.Info("Shoot was hibernated successfully")
return nil
}
// WakeUpShoot wakes up the test shoot from hibernation
func (f *GardenerFramework) WakeUpShoot(ctx context.Context, shoot *gardencorev1beta1.Shoot) error {
+ log := f.Logger.WithValues("shoot", client.ObjectKeyFromObject(shoot))
+
// return if the shoot is already running
if shoot.Spec.Hibernation == nil || shoot.Spec.Hibernation.Enabled == nil || !*shoot.Spec.Hibernation.Enabled {
return nil
@@ -285,7 +293,7 @@ func (f *GardenerFramework) WakeUpShoot(ctx context.Context, shoot *gardencorev1
return err
}
- f.Logger.Infof("Shoot %s has been woken up successfully!", shoot.Name)
+ log.Info("Shoot was woken up successfully")
return nil
}
@@ -298,19 +306,21 @@ func (f *GardenerFramework) ScheduleShoot(ctx context.Context, shoot *gardencore
// WaitForShootToBeCreated waits for the shoot to be created
func (f *GardenerFramework) WaitForShootToBeCreated(ctx context.Context, shoot *gardencorev1beta1.Shoot) error {
+ log := f.Logger.WithValues("shoot", client.ObjectKeyFromObject(shoot))
+
return retry.UntilTimeout(ctx, 30*time.Second, 60*time.Minute, func(ctx context.Context) (done bool, err error) {
err = f.GardenClient.Client().Get(ctx, client.ObjectKey{Namespace: shoot.Namespace, Name: shoot.Name}, shoot)
if err != nil {
- f.Logger.Infof("Error while waiting for shoot to be created: %s", err.Error())
+ log.Error(err, "Error while waiting for shoot to be created")
return retry.MinorError(err)
}
completed, msg := ShootReconciliationSuccessful(shoot)
if completed {
return retry.Ok()
}
- f.Logger.Infof("Shoot %s not yet created successfully (%s)", shoot.Name, msg)
+ log.Info("Shoot not yet created", "reason", msg)
if shoot.Status.LastOperation != nil {
- f.Logger.Infof("%d%%: Shoot State: %s, Description: %s", shoot.Status.LastOperation.Progress, shoot.Status.LastOperation.State, shoot.Status.LastOperation.Description)
+ log.Info("Last Operation", "lastOperation", shoot.Status.LastOperation)
}
return retry.MinorError(fmt.Errorf("shoot %q was not successfully reconciled", shoot.Name))
})
@@ -318,18 +328,20 @@ func (f *GardenerFramework) WaitForShootToBeCreated(ctx context.Context, shoot *
// WaitForShootToBeDeleted waits for the shoot to be deleted
func (f *GardenerFramework) WaitForShootToBeDeleted(ctx context.Context, shoot *gardencorev1beta1.Shoot) error {
+ log := f.Logger.WithValues("shoot", client.ObjectKeyFromObject(shoot))
+
return retry.UntilTimeout(ctx, 30*time.Second, 60*time.Minute, func(ctx context.Context) (done bool, err error) {
err = f.GardenClient.Client().Get(ctx, client.ObjectKey{Namespace: shoot.Namespace, Name: shoot.Name}, shoot)
if err != nil {
if apierrors.IsNotFound(err) {
return retry.Ok()
}
- f.Logger.Infof("Error while waiting for shoot to be deleted: %s", err.Error())
+ log.Error(err, "Error while waiting for shoot to be deleted")
return retry.MinorError(err)
}
- f.Logger.Infof("waiting for shoot %s to be deleted", shoot.Name)
+ log.Info("Shoot is not yet deleted")
if shoot.Status.LastOperation != nil {
- f.Logger.Infof("%d%%: Shoot state: %s, Description: %s", shoot.Status.LastOperation.Progress, shoot.Status.LastOperation.State, shoot.Status.LastOperation.Description)
+ log.Info("Last Operation", "lastOperation", shoot.Status.LastOperation)
}
return retry.MinorError(fmt.Errorf("shoot %q still exists", shoot.Name))
})
@@ -337,19 +349,21 @@ func (f *GardenerFramework) WaitForShootToBeDeleted(ctx context.Context, shoot *
// WaitForShootToBeReconciled waits for the shoot to be successfully reconciled
func (f *GardenerFramework) WaitForShootToBeReconciled(ctx context.Context, shoot *gardencorev1beta1.Shoot) error {
+ log := f.Logger.WithValues("shoot", client.ObjectKeyFromObject(shoot))
+
return retry.UntilTimeout(ctx, 30*time.Second, 60*time.Minute, func(ctx context.Context) (done bool, err error) {
err = f.GardenClient.Client().Get(ctx, client.ObjectKey{Namespace: shoot.Namespace, Name: shoot.Name}, shoot)
if err != nil {
- f.Logger.Infof("Error while waiting for shoot to be reconciled: %s", err.Error())
+ log.Error(err, "Error while waiting for shoot to be reconciled")
return retry.MinorError(err)
}
completed, msg := ShootReconciliationSuccessful(shoot)
if completed {
return retry.Ok()
}
- f.Logger.Infof("Shoot %s not yet reconciled successfully (%s)", shoot.Name, msg)
+ log.Info("Shoot is not yet reconciled", "reason", msg)
if shoot.Status.LastOperation != nil {
- f.Logger.Infof("%d%%: Shoot State: %s, Description: %s", shoot.Status.LastOperation.Progress, shoot.Status.LastOperation.State, shoot.Status.LastOperation.Description)
+ log.Info("Last Operation", "lastOperation", shoot.Status.LastOperation)
}
return retry.MinorError(fmt.Errorf("shoot %q was not successfully reconciled", shoot.Name))
})
@@ -402,14 +416,12 @@ func (f *GardenerFramework) MigrateShoot(ctx context.Context, shoot *gardencorev
restConfig := f.GardenClient.RESTConfig()
versionedCoreClient, err := gardenversionedcoreclientset.NewForConfig(restConfig)
if err != nil {
- f.Logger.Errorf("cannot create versioned client %s", err)
- return err
+ return fmt.Errorf("failed create versioned core client: %w", err)
}
shoot.Spec.SeedName = &seed.Name
if _, err = versionedCoreClient.CoreV1beta1().Shoots(shoot.GetNamespace()).UpdateBinding(ctx, shoot.GetName(), shoot, metav1.UpdateOptions{}); err != nil {
- f.Logger.Errorf("cannot create binding for shoot %s: %s", shoot.GetName(), err)
- return err
+ return fmt.Errorf("failed updating binding for shoot %q: %w", client.ObjectKeyFromObject(shoot), err)
}
return f.WaitForShootToBeCreated(ctx, shoot)
@@ -435,24 +447,22 @@ func (f *GardenerFramework) DumpState(ctx context.Context) {
return
}
- ctxIdentifier := "[GARDENER]"
- f.Logger.Info(ctxIdentifier)
-
- if err := f.dumpSeeds(ctx, ctxIdentifier); err != nil {
- f.Logger.Errorf("unable to dump seed status: %s", err.Error())
+ if err := f.dumpSeeds(ctx); err != nil {
+ f.Logger.Error(err, "Unable to dump seed status")
}
// dump events if project namespace set
if f.ProjectNamespace != "" {
- if err := f.dumpEventsInNamespace(ctx, ctxIdentifier, f.GardenClient, f.ProjectNamespace); err != nil {
- f.Logger.Errorf("unable to dump gardener events from project namespace %s: %s", f.ProjectNamespace, err.Error())
+ if err := f.dumpEventsInNamespace(ctx, f.Logger, f.GardenClient, f.ProjectNamespace); err != nil {
+ f.Logger.Error(err, "Unable to dump gardener events from project namespace", "namespace", f.ProjectNamespace)
}
}
}
// dumpSeeds prints information about all seeds
-func (f *GardenerFramework) dumpSeeds(ctx context.Context, ctxIdentifier string) error {
- f.Logger.Infof("%s [SEEDS]", ctxIdentifier)
+func (f *GardenerFramework) dumpSeeds(ctx context.Context) error {
+ f.Logger.Info("Dumping core.gardener.cloud/v1beta1.Seed resources")
+
seeds := &gardencorev1beta1.SeedList{}
if err := f.GardenClient.Client().List(ctx, seeds); err != nil {
return err
@@ -466,10 +476,12 @@ func (f *GardenerFramework) dumpSeeds(ctx context.Context, ctxIdentifier string)
// dumpSeed prints information about a seed
func (f *GardenerFramework) dumpSeed(seed *gardencorev1beta1.Seed) {
+ log := f.Logger.WithValues("seedName", seed.Name)
+
if err := health.CheckSeed(seed, seed.Status.Gardener); err != nil {
- f.Logger.Printf("Seed %s is %s - Error: %s - Conditions %v", seed.Name, unhealthy, err.Error(), seed.Status.Conditions)
+ log.Info("Found unhealthy Seed", "reason", err.Error(), "conditions", seed.Status.Conditions)
} else {
- f.Logger.Printf("Seed %s is %s", seed.Name, healthy)
+ log.Info("Found healthy Seed")
}
}
@@ -481,178 +493,3 @@ func setHibernation(shoot *gardencorev1beta1.Shoot, hibernated bool) {
Enabled: &hibernated,
}
}
-
-// CreateSeed creates a seed from a seed Object and waits until it is successfully reconciled
-func (f *GardenerFramework) CreateSeed(ctx context.Context, seed *gardencorev1beta1.Seed) error {
- err := retry.UntilTimeout(ctx, 20*time.Second, 5*time.Minute, func(ctx context.Context) (done bool, err error) {
- err = f.GardenClient.Client().Create(ctx, seed)
- if apierrors.IsInvalid(err) || apierrors.IsForbidden(err) || apierrors.IsAlreadyExists(err) {
- return retry.SevereError(err)
- }
- if err != nil {
- f.Logger.Infof("unable to create seed %s: %s", seed.Name, err.Error())
- return retry.MinorError(err)
- }
- return retry.Ok()
- })
- if err != nil {
- return err
- }
-
- // Then we wait for the seed to be created
- return f.WaitForSeedToBeCreated(ctx, seed)
-}
-
-// WaitForSeedToBeCreated waits for the seed to be created
-func (f *GardenerFramework) WaitForSeedToBeCreated(ctx context.Context, seed *gardencorev1beta1.Seed) error {
- return retry.UntilTimeout(ctx, 30*time.Second, 60*time.Minute, func(ctx context.Context) (done bool, err error) {
- err = f.GardenClient.Client().Get(ctx, client.ObjectKey{Name: seed.Name}, seed)
- if err != nil {
- f.Logger.Infof("Error while waiting for seed to be created: %s", err.Error())
- return retry.MinorError(err)
- }
- err = health.CheckSeed(seed, seed.Status.Gardener)
- if err == nil {
- return retry.Ok()
- }
- f.Logger.Infof("Seed %s not yet created successfully (%s)", seed.Name, err)
-
- return retry.MinorError(fmt.Errorf("seed %q was not successfully reconciled", seed.Name))
- })
-}
-
-// DeleteSeedAndWaitForDeletion deletes the test seed and waits until it cannot be found any more
-func (f *GardenerFramework) DeleteSeedAndWaitForDeletion(ctx context.Context, seed *gardencorev1beta1.Seed) error {
- if err := f.DeleteSeed(ctx, seed); err != nil {
- return err
- }
- return f.WaitForSeedToBeDeleted(ctx, seed)
-}
-
-// DeleteSeed deletes the test seed
-func (f *GardenerFramework) DeleteSeed(ctx context.Context, seed *gardencorev1beta1.Seed) error {
- return retry.UntilTimeout(ctx, 20*time.Second, 5*time.Minute, func(ctx context.Context) (done bool, err error) {
- err = f.GardenClient.Client().Delete(ctx, seed)
- if err != nil {
- return retry.MinorError(err)
- }
- return retry.Ok()
- })
-}
-
-// WaitForSeedToBeDeleted waits for the seed to be deleted
-func (f *GardenerFramework) WaitForSeedToBeDeleted(ctx context.Context, seed *gardencorev1beta1.Seed) error {
- return retry.UntilTimeout(ctx, 30*time.Second, 60*time.Minute, func(ctx context.Context) (done bool, err error) {
- err = f.GardenClient.Client().Get(ctx, client.ObjectKey{Name: seed.Name}, seed)
- if err != nil {
- if apierrors.IsNotFound(err) {
- return retry.Ok()
- }
- f.Logger.Infof("Error while waiting for seed to be deleted: %s", err.Error())
- return retry.MinorError(err)
- }
- f.Logger.Infof("waiting for seed %s to be deleted", seed.Name)
- return retry.MinorError(fmt.Errorf("seed %q still exists", seed.Name))
- })
-}
-
-// CreateManagedSeed creates a new managed seed and waits for it to be created and successfully reconciled.
-func (f *GardenerFramework) CreateManagedSeed(ctx context.Context, managedSeed *seedmanagementv1alpha1.ManagedSeed) error {
- // Create the managed seed
- err := retry.UntilTimeout(ctx, 20*time.Second, 5*time.Minute, func(ctx context.Context) (done bool, err error) {
- err = f.GardenClient.Client().Create(ctx, managedSeed)
- if apierrors.IsInvalid(err) || apierrors.IsForbidden(err) || apierrors.IsAlreadyExists(err) {
- return retry.SevereError(err)
- }
- if err != nil {
- f.Logger.Infof("Could not create managed seed %s: %s", managedSeed.Name, err.Error())
- return retry.MinorError(err)
- }
- return retry.Ok()
- })
- if err != nil {
- return err
- }
-
- // Wait for the managed seed to be created and successfully reconciled
- return f.WaitForManagedSeedToBeCreated(ctx, managedSeed)
-}
-
-// WaitForManagedSeedToBeCreated waits for the given managed seed to be created and successfully reconciled.
-func (f *GardenerFramework) WaitForManagedSeedToBeCreated(ctx context.Context, managedSeed *seedmanagementv1alpha1.ManagedSeed) error {
- return retry.UntilTimeout(ctx, 30*time.Second, 60*time.Minute, func(ctx context.Context) (done bool, err error) {
- err = f.GardenClient.Client().Get(ctx, client.ObjectKeyFromObject(managedSeed), managedSeed)
- if err != nil {
- f.Logger.Infof("Could not get managed seed %s: %s", managedSeed.Name, err.Error())
- return retry.MinorError(err)
- }
- err = health.CheckManagedSeed(managedSeed)
- if err != nil {
- return retry.MinorError(fmt.Errorf("managed seed %s not reconciled successfully: %w", managedSeed.Name, err))
- }
- return retry.Ok()
- })
-}
-
-// DeleteManagedSeed deletes the given managed seed and waits for it to be deleted.
-func (f *GardenerFramework) DeleteManagedSeed(ctx context.Context, managedSeed *seedmanagementv1alpha1.ManagedSeed) error {
- // Delete the managed seed
- err := retry.UntilTimeout(ctx, 20*time.Second, 5*time.Minute, func(ctx context.Context) (done bool, err error) {
- err = f.GardenClient.Client().Delete(ctx, managedSeed)
- if err != nil {
- f.Logger.Infof("Could not delete managed seed %s: %s", managedSeed.Name, err.Error())
- return retry.MinorError(err)
- }
- return retry.Ok()
- })
- if err != nil {
- return err
- }
-
- // Wait for the managed seed to be deleted
- return f.WaitForManagedSeedToBeDeleted(ctx, managedSeed)
-}
-
-// WaitForManagedSeedToBeDeleted waits for the given managed seed to be deleted.
-func (f *GardenerFramework) WaitForManagedSeedToBeDeleted(ctx context.Context, managedSeed *seedmanagementv1alpha1.ManagedSeed) error {
- return retry.UntilTimeout(ctx, 30*time.Second, 60*time.Minute, func(ctx context.Context) (done bool, err error) {
- err = f.GardenClient.Client().Get(ctx, client.ObjectKeyFromObject(managedSeed), managedSeed)
- if err != nil {
- if apierrors.IsNotFound(err) {
- return retry.Ok()
- }
- f.Logger.Infof("Could not get managed seed %s: %s", managedSeed.Name, err.Error())
- return retry.MinorError(err)
- }
- return retry.MinorError(fmt.Errorf("managed seed %s still exists", managedSeed.Name))
- })
-}
-
-// BuildSeedSpecForTestrun builds a minimal seed spec to be used during testing
-func BuildSeedSpecForTestrun(name string, backupProvider *string) *gardencorev1beta1.SeedSpec {
- seedSpec := &gardencorev1beta1.SeedSpec{
- SecretRef: &corev1.SecretReference{
- Name: name,
- Namespace: v1beta1constants.GardenNamespace,
- },
- Taints: []gardencorev1beta1.SeedTaint{
- {
- Key: SeedTaintTestRun,
- Value: pointer.String(GetTestRunID()),
- },
- },
- Settings: &gardencorev1beta1.SeedSettings{
- Scheduling: &gardencorev1beta1.SeedSettingScheduling{
- Visible: false,
- },
- },
- }
-
- if backupProvider != nil {
- seedSpec.Backup = &gardencorev1beta1.SeedBackup{
- Provider: *backupProvider,
- }
- }
-
- return seedSpec
-}
diff --git a/vendor/github.com/gardener/gardener/test/framework/helm.go b/vendor/github.com/gardener/gardener/test/framework/helm.go
index be75c9085..49913fed5 100644
--- a/vendor/github.com/gardener/gardener/test/framework/helm.go
+++ b/vendor/github.com/gardener/gardener/test/framework/helm.go
@@ -96,7 +96,7 @@ func (f *CommonFramework) DownloadChartArtifacts(ctx context.Context, helm Helm,
if err != nil {
return err
}
- f.Logger.Infof("Chart downloaded to %s", chartPath)
+ f.Logger.Info("Chart downloaded", "chartPath", chartPath)
}
return nil
}
diff --git a/vendor/github.com/gardener/gardener/test/framework/k8s_utils.go b/vendor/github.com/gardener/gardener/test/framework/k8s_utils.go
index 40b0ca7e6..a857f903e 100644
--- a/vendor/github.com/gardener/gardener/test/framework/k8s_utils.go
+++ b/vendor/github.com/gardener/gardener/test/framework/k8s_utils.go
@@ -29,7 +29,7 @@ import (
"github.com/gardener/gardener/pkg/utils/kubernetes/health"
"github.com/gardener/gardener/pkg/utils/retry"
- "github.com/sirupsen/logrus"
+ "github.com/go-logr/logr"
appsv1 "k8s.io/api/apps/v1"
corev1 "k8s.io/api/core/v1"
apierrors "k8s.io/apimachinery/pkg/api/errors"
@@ -41,37 +41,41 @@ import (
)
// WaitUntilDaemonSetIsRunning waits until the daemon set with is running
-func (f *CommonFramework) WaitUntilDaemonSetIsRunning(ctx context.Context, k8sClient client.Client, daemonSetName, daemonSetNamespace string) error {
+func (f *CommonFramework) WaitUntilDaemonSetIsRunning(ctx context.Context, k8sClient client.Client, name, namespace string) error {
return retry.Until(ctx, defaultPollInterval, func(ctx context.Context) (done bool, err error) {
- daemonSet := &appsv1.DaemonSet{}
- if err := k8sClient.Get(ctx, client.ObjectKey{Namespace: daemonSetNamespace, Name: daemonSetName}, daemonSet); err != nil {
+ daemonSet := &appsv1.DaemonSet{ObjectMeta: metav1.ObjectMeta{Namespace: namespace, Name: name}}
+ log := f.Logger.WithValues("daemonSet", client.ObjectKeyFromObject(daemonSet))
+
+ if err := k8sClient.Get(ctx, client.ObjectKeyFromObject(daemonSet), daemonSet); err != nil {
return retry.MinorError(err)
}
if err := health.CheckDaemonSet(daemonSet); err != nil {
- f.Logger.Infof("Waiting for %q to be ready!", daemonSetName)
- return retry.MinorError(fmt.Errorf("daemon set %q is not healthy: %v", daemonSetName, err))
+ log.Info("Waiting for DaemonSet to be ready")
+ return retry.MinorError(fmt.Errorf("daemon set %q is not healthy: %v", name, err))
}
- f.Logger.Infof("Daemon set %q is now ready!", daemonSetName)
+ log.Info("DaemonSet is ready now")
return retry.Ok()
})
}
// WaitUntilStatefulSetIsRunning waits until the stateful set with is running
-func (f *CommonFramework) WaitUntilStatefulSetIsRunning(ctx context.Context, statefulSetName, statefulSetNamespace string, c kubernetes.Interface) error {
+func (f *CommonFramework) WaitUntilStatefulSetIsRunning(ctx context.Context, name, namespace string, c kubernetes.Interface) error {
return retry.Until(ctx, defaultPollInterval, func(ctx context.Context) (done bool, err error) {
- statefulSet := &appsv1.StatefulSet{}
- if err := c.Client().Get(ctx, client.ObjectKey{Namespace: statefulSetNamespace, Name: statefulSetName}, statefulSet); err != nil {
+ statefulSet := &appsv1.StatefulSet{ObjectMeta: metav1.ObjectMeta{Namespace: namespace, Name: name}}
+ log := f.Logger.WithValues("statefulSet", client.ObjectKeyFromObject(statefulSet))
+
+ if err := c.Client().Get(ctx, client.ObjectKeyFromObject(statefulSet), statefulSet); err != nil {
return retry.MinorError(err)
}
if err := health.CheckStatefulSet(statefulSet); err != nil {
- f.Logger.Infof("Waiting for %q to be ready!", statefulSetName)
- return retry.MinorError(fmt.Errorf("stateful set %q is not healthy: %v", statefulSetName, err))
+ log.Info("Waiting for StatefulSet to be ready")
+ return retry.MinorError(fmt.Errorf("stateful set %q is not healthy: %v", name, err))
}
- f.Logger.Infof("%s is now ready!!", statefulSetName)
+ log.Info("StatefulSet is ready now")
return retry.Ok()
})
}
@@ -79,31 +83,36 @@ func (f *CommonFramework) WaitUntilStatefulSetIsRunning(ctx context.Context, sta
// WaitUntilDeploymentIsReady waits until the given deployment is ready
func (f *CommonFramework) WaitUntilDeploymentIsReady(ctx context.Context, name string, namespace string, k8sClient kubernetes.Interface) error {
return retry.Until(ctx, defaultPollInterval, func(ctx context.Context) (done bool, err error) {
- deployment := &appsv1.Deployment{}
+ deployment := &appsv1.Deployment{ObjectMeta: metav1.ObjectMeta{Namespace: namespace, Name: name}}
+ log := f.Logger.WithValues("deployment", client.ObjectKeyFromObject(deployment))
+
if err := k8sClient.Client().Get(ctx, client.ObjectKey{Namespace: namespace, Name: name}, deployment); err != nil {
if apierrors.IsNotFound(err) {
- f.Logger.Infof("Waiting for deployment '%s/%s' to be ready!", namespace, name)
+ log.Info("Waiting for Deployment to be ready")
return retry.MinorError(fmt.Errorf("deployment %q in namespace %q does not exist", name, namespace))
}
return retry.SevereError(err)
}
- err = health.CheckDeployment(deployment)
- if err != nil {
- f.Logger.Infof("Waiting for deployment '%s/%s' to be ready!", namespace, name)
+ if err := health.CheckDeployment(deployment); err != nil {
+ log.Info("Waiting for Deployment to be ready")
return retry.MinorError(fmt.Errorf("deployment %q in namespace %q is not healthy", name, namespace))
}
+
+ log.Info("Deployment is ready now")
return retry.Ok()
})
}
// WaitUntilDeploymentsWithLabelsIsReady wait until pod with labels is running
func (f *CommonFramework) WaitUntilDeploymentsWithLabelsIsReady(ctx context.Context, deploymentLabels labels.Selector, namespace string, k8sClient kubernetes.Interface) error {
+ log := f.Logger.WithValues("labelSelector", client.MatchingLabelsSelector{Selector: deploymentLabels}.String())
+
return retry.Until(ctx, defaultPollInterval, func(ctx context.Context) (done bool, err error) {
deployments := &appsv1.DeploymentList{}
if err := k8sClient.Client().List(ctx, deployments, client.MatchingLabelsSelector{Selector: deploymentLabels}, client.InNamespace(namespace)); err != nil {
if apierrors.IsNotFound(err) {
- f.Logger.Infof("Waiting for deployments with labels: %v to be ready!!", deploymentLabels.String())
+ log.Info("Waiting for deployments to be ready")
return retry.MinorError(fmt.Errorf("no deployments with labels '%s' exist", deploymentLabels.String()))
}
return retry.SevereError(err)
@@ -112,10 +121,12 @@ func (f *CommonFramework) WaitUntilDeploymentsWithLabelsIsReady(ctx context.Cont
for _, deployment := range deployments.Items {
err = health.CheckDeployment(&deployment)
if err != nil {
- f.Logger.Infof("Waiting for deployments with labels: %v to be ready!", deploymentLabels)
+ log.Info("Waiting for deployments to be ready")
return retry.MinorError(fmt.Errorf("deployment %q is not healthy: %v", deployment.Name, err))
}
}
+
+ log.Info("Deployments are ready now")
return retry.Ok()
})
}
@@ -129,7 +140,7 @@ func (f *CommonFramework) WaitUntilNamespaceIsDeleted(ctx context.Context, k8sCl
}
return retry.MinorError(err)
}
- return retry.MinorError(fmt.Errorf("Namespace %q is not deleted yet", ns))
+ return retry.MinorError(fmt.Errorf("namespace %q is not deleted yet", ns))
})
}
@@ -308,10 +319,20 @@ func ShootReconciliationSuccessful(shoot *gardencorev1beta1.Shoot) (bool, string
return false, "no conditions and last operation present yet"
}
+ shootConditions := map[gardencorev1beta1.ConditionType]struct{}{
+ gardencorev1beta1.ShootAPIServerAvailable: {},
+ gardencorev1beta1.ShootControlPlaneHealthy: {},
+ gardencorev1beta1.ShootEveryNodeReady: {},
+ gardencorev1beta1.ShootSystemComponentsHealthy: {},
+ }
+
for _, condition := range shoot.Status.Conditions {
if condition.Status != gardencorev1beta1.ConditionTrue {
+ // Only return false if the status of a shoot condition is not True during hibernation. If the shoot also acts as a seed and
+ // the `gardenlet` that operates the seed has already been shut down as part of the hibernation, the seed conditions will never
+ // be updated to True if they were previously not True.
hibernation := shoot.Spec.Hibernation
- if condition.Type == gardencorev1beta1.SeedGardenletReady && hibernation != nil && hibernation.Enabled != nil && *hibernation.Enabled {
+ if _, ok := shootConditions[condition.Type]; !ok && hibernation != nil && hibernation.Enabled != nil && *hibernation.Enabled {
continue
}
return false, fmt.Sprintf("condition type %s is not true yet, had message %s with reason %s", condition.Type, condition.Message, condition.Reason)
@@ -399,17 +420,21 @@ func NewClientFromServiceAccount(ctx context.Context, k8sClient kubernetes.Inter
}
// WaitUntilPodIsRunning waits until the pod with is running
-func WaitUntilPodIsRunning(ctx context.Context, log *logrus.Logger, podName, podNamespace string, c kubernetes.Interface) error {
+func WaitUntilPodIsRunning(ctx context.Context, log logr.Logger, name, namespace string, c kubernetes.Interface) error {
return retry.Until(ctx, defaultPollInterval, func(ctx context.Context) (done bool, err error) {
- pod := &corev1.Pod{}
- if err := c.Client().Get(ctx, client.ObjectKey{Namespace: podNamespace, Name: podName}, pod); err != nil {
+ pod := &corev1.Pod{ObjectMeta: metav1.ObjectMeta{Namespace: namespace, Name: name}}
+ log = log.WithValues("pod", client.ObjectKeyFromObject(pod))
+
+ if err := c.Client().Get(ctx, client.ObjectKey{Namespace: namespace, Name: name}, pod); err != nil {
return retry.SevereError(err)
}
+
if !health.IsPodReady(pod) {
- log.Infof("Waiting for %s to be ready!!", podName)
- return retry.MinorError(fmt.Errorf(`pod "%s/%s" is not ready: %v`, podNamespace, podName, err))
+ log.Info("Waiting for Pod to be ready")
+ return retry.MinorError(fmt.Errorf(`pod "%s/%s" is not ready: %v`, namespace, name, err))
}
+ log.Info("Pod is ready now")
return retry.Ok()
})
}
@@ -418,16 +443,18 @@ func WaitUntilPodIsRunning(ctx context.Context, log *logrus.Logger, podName, pod
func (f *CommonFramework) WaitUntilPodIsRunningWithLabels(ctx context.Context, labels labels.Selector, podNamespace string, c kubernetes.Interface) error {
return retry.Until(ctx, defaultPollInterval, func(ctx context.Context) (done bool, err error) {
pod, err := GetFirstRunningPodWithLabels(ctx, labels, podNamespace, c)
-
if err != nil {
return retry.SevereError(err)
}
+ log := f.Logger.WithValues("pod", client.ObjectKeyFromObject(pod))
+
if !health.IsPodReady(pod) {
- f.Logger.Infof("Waiting for %s to be ready!!", pod.GetName())
+ log.Info("Waiting for Pod to be ready")
return retry.MinorError(fmt.Errorf(`pod "%s/%s" is not ready: %v`, pod.GetNamespace(), pod.GetName(), err))
}
+ log.Info("Pod is ready now")
return retry.Ok()
})
}
@@ -445,15 +472,12 @@ func DeployRootPod(ctx context.Context, c client.Client, namespace string, noden
ObjectMeta: metav1.ObjectMeta{
Name: fmt.Sprintf("rootpod-%s", id),
Namespace: namespace,
- Annotations: map[string]string{
- "kubernetes.io/psp": "gardener.privileged",
- },
},
Spec: corev1.PodSpec{
Containers: []corev1.Container{
{
Name: "root-container",
- Image: "eu.gcr.io/gardener-project/3rd/busybox:1.29.2",
+ Image: "eu.gcr.io/gardener-project/3rd/busybox:1.29.3",
Command: []string{
"sleep",
"10000000",
diff --git a/vendor/github.com/gardener/gardener/test/framework/managedseedframework.go b/vendor/github.com/gardener/gardener/test/framework/managedseedframework.go
deleted file mode 100644
index fc2628639..000000000
--- a/vendor/github.com/gardener/gardener/test/framework/managedseedframework.go
+++ /dev/null
@@ -1,247 +0,0 @@
-// Copyright (c) 2021 SAP SE or an SAP affiliate company. All rights reserved. This file is licensed under the Apache Software License, v. 2 except as noted otherwise in the LICENSE file
-//
-// 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 framework
-
-import (
- "context"
- "errors"
- "flag"
- "time"
-
- gardencorev1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1"
- v1beta1constants "github.com/gardener/gardener/pkg/apis/core/v1beta1/constants"
- "github.com/gardener/gardener/pkg/apis/seedmanagement/encoding"
- seedmanagementv1alpha1 "github.com/gardener/gardener/pkg/apis/seedmanagement/v1alpha1"
- configv1alpha1 "github.com/gardener/gardener/pkg/gardenlet/apis/config/v1alpha1"
- gutil "github.com/gardener/gardener/pkg/utils/gardener"
- kutil "github.com/gardener/gardener/pkg/utils/kubernetes"
-
- "github.com/onsi/ginkgo/v2"
- metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-)
-
-var managedSeedConfig *ManagedSeedConfig
-
-// ManagedSeedFramework is a test framework for testing managed seed creation and deletion.
-type ManagedSeedFramework struct {
- *GardenerFramework
- TestDescription
- Config *ManagedSeedConfig
-
- ManagedSeed *seedmanagementv1alpha1.ManagedSeed
-}
-
-// ManagedSeedConfig is a managed seed framework configuration.
-type ManagedSeedConfig struct {
- GardenerConfig *GardenerConfig
- ManagedSeedName string
- ShootName string
- DeployGardenlet bool
- BackupProvider string
-}
-
-// NewManagedSeedFramework creates a new managed seed framework.
-func NewManagedSeedFramework(cfg *ManagedSeedConfig) *ManagedSeedFramework {
- var gardenerConfig *GardenerConfig
- if cfg != nil {
- gardenerConfig = cfg.GardenerConfig
- }
-
- f := &ManagedSeedFramework{
- GardenerFramework: NewGardenerFrameworkFromConfig(gardenerConfig),
- TestDescription: NewTestDescription("MANAGEDSEED"),
- Config: cfg,
- }
-
- CBeforeEach(func(ctx context.Context) {
- f.CommonFramework.BeforeEach()
- f.GardenerFramework.BeforeEach()
- f.BeforeEach(ctx)
- }, 8*time.Minute)
- CAfterEach(f.AfterEach, 10*time.Minute)
-
- return f
-}
-
-// BeforeEach should be called in ginkgo's BeforeEach.
-// It merges and validates the managed seed framework configuration.
-func (f *ManagedSeedFramework) BeforeEach(ctx context.Context) {
- f.Config = mergeManagedSeedConfig(f.Config, managedSeedConfig)
- validateManagedSeedConfig(f.Config)
-}
-
-// AfterEach should be called in ginkgo's AfterEach.
-// It dumps the managed seed framework state if the test failed.
-func (f *ManagedSeedFramework) AfterEach(ctx context.Context) {
- if ginkgo.CurrentSpecReport().Failed() {
- f.DumpState(ctx)
- }
-}
-
-func validateManagedSeedConfig(cfg *ManagedSeedConfig) {
- if cfg == nil {
- ginkgo.Fail("no configuration provided")
- return // make linters happy
- }
- if !StringSet(cfg.ManagedSeedName) {
- ginkgo.Fail("You should specify a name for the managed seed")
- }
- if !StringSet(cfg.ShootName) {
- ginkgo.Fail("You should specify the name of the shoot to be registered as seed")
- }
-}
-
-func mergeManagedSeedConfig(base, overwrite *ManagedSeedConfig) *ManagedSeedConfig {
- if base == nil {
- return overwrite
- }
- if overwrite == nil {
- return base
- }
- if overwrite.GardenerConfig != nil {
- base.GardenerConfig = overwrite.GardenerConfig
- }
- if StringSet(overwrite.ManagedSeedName) {
- base.ManagedSeedName = overwrite.ManagedSeedName
- }
- if StringSet(overwrite.ShootName) {
- base.ShootName = overwrite.ShootName
- }
- if overwrite.DeployGardenlet {
- base.DeployGardenlet = overwrite.DeployGardenlet
- }
- if StringSet(overwrite.BackupProvider) {
- base.BackupProvider = overwrite.BackupProvider
- }
- return base
-}
-
-// RegisterManagedSeedFrameworkFlags adds all flags that are needed to configure a managed seed framework.
-func RegisterManagedSeedFrameworkFlags() *ManagedSeedConfig {
- _ = RegisterGardenerFrameworkFlags()
-
- newCfg := &ManagedSeedConfig{}
-
- flag.StringVar(&newCfg.ManagedSeedName, "managed-seed-name", "", "name of the managed seed")
- flag.StringVar(&newCfg.ShootName, "shoot-name", "", "name of the shoot to be registered as seed")
- flag.BoolVar(&newCfg.DeployGardenlet, "deploy-gardenlet", true, "indicates if gardenlet should be deployed to the shoot, default is true")
- flag.StringVar(&newCfg.BackupProvider, "backup-provider", "", "seed backup provider")
-
- managedSeedConfig = newCfg
-
- return managedSeedConfig
-}
-
-// CreateManagedSeed creates a new managed seed according to the managed seed framework configuration.
-func (f *ManagedSeedFramework) CreateManagedSeed(ctx context.Context) error {
- if f.GardenClient == nil {
- return errors.New("no gardener client is defined")
- }
-
- // Get shoot
- shoot := &gardencorev1beta1.Shoot{}
- if err := f.GardenClient.Client().Get(ctx, kutil.Key(v1beta1constants.GardenNamespace, f.Config.ShootName), shoot); err != nil {
- return err
- }
-
- // Ensure shoot VPA is enabled
- if err := f.GardenerFramework.UpdateShoot(ctx, shoot, func(shoot *gardencorev1beta1.Shoot) error {
- shoot.Spec.Kubernetes.VerticalPodAutoscaler = &gardencorev1beta1.VerticalPodAutoscaler{
- Enabled: true,
- }
- return nil
- }); err != nil {
- return err
- }
-
- // Build managed seed object
- var err error
- if f.ManagedSeed, err = f.buildManagedSeed(); err != nil {
- return err
- }
-
- // Create managed seed and wait until it's successfully reconciled
- f.Logger.Infof("Creating managed seed %s", f.ManagedSeed.Name)
- if err := PrettyPrintObject(f.ManagedSeed); err != nil {
- return err
- }
- if err := f.GardenerFramework.CreateManagedSeed(ctx, f.ManagedSeed); err != nil {
- return err
- }
-
- // Wait until the seed is also successfully reconciled
- f.Logger.Infof("Waiting until seed %s is successfully reconciled", f.ManagedSeed.Name)
- seed := gardencorev1beta1.Seed{
- ObjectMeta: metav1.ObjectMeta{
- Name: f.ManagedSeed.Name,
- },
- }
- return f.GardenerFramework.WaitForSeedToBeCreated(ctx, &seed)
-}
-
-func (f *ManagedSeedFramework) buildManagedSeed() (*seedmanagementv1alpha1.ManagedSeed, error) {
- var (
- seedTemplate *gardencorev1beta1.SeedTemplate
- gardenlet *seedmanagementv1alpha1.Gardenlet
- )
-
- // Build seed spec
- seedSpec := BuildSeedSpecForTestrun(gutil.ComputeGardenNamespace(f.Config.ManagedSeedName), &f.Config.BackupProvider)
-
- if !f.Config.DeployGardenlet {
- // Initialize seed template
- seedTemplate = &gardencorev1beta1.SeedTemplate{
- Spec: *seedSpec,
- }
- } else {
- // Initialize gardenlet config
- config := &configv1alpha1.GardenletConfiguration{
- TypeMeta: metav1.TypeMeta{
- APIVersion: configv1alpha1.SchemeGroupVersion.String(),
- Kind: "GardenletConfiguration",
- },
- SeedConfig: &configv1alpha1.SeedConfig{
- SeedTemplate: gardencorev1beta1.SeedTemplate{
- Spec: *seedSpec,
- },
- },
- }
-
- // Encode gardenlet config to raw extension
- re, err := encoding.EncodeGardenletConfiguration(config)
- if err != nil {
- return nil, err
- }
-
- // Initialize gardenlet configuraton and parameters
- gardenlet = &seedmanagementv1alpha1.Gardenlet{
- Config: *re,
- }
- }
-
- return &seedmanagementv1alpha1.ManagedSeed{
- ObjectMeta: metav1.ObjectMeta{
- Name: f.Config.ManagedSeedName,
- Namespace: v1beta1constants.GardenNamespace,
- },
- Spec: seedmanagementv1alpha1.ManagedSeedSpec{
- Shoot: &seedmanagementv1alpha1.Shoot{
- Name: f.Config.ShootName,
- },
- SeedTemplate: seedTemplate,
- Gardenlet: gardenlet,
- },
- }, nil
-}
diff --git a/vendor/github.com/gardener/gardener/test/framework/plant_utils.go b/vendor/github.com/gardener/gardener/test/framework/plant_utils.go
index b24f36345..4ce58abeb 100644
--- a/vendor/github.com/gardener/gardener/test/framework/plant_utils.go
+++ b/vendor/github.com/gardener/gardener/test/framework/plant_utils.go
@@ -21,6 +21,7 @@ import (
gardencorev1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1"
"github.com/gardener/gardener/pkg/utils/retry"
+
corev1 "k8s.io/api/core/v1"
apierrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -45,6 +46,8 @@ func (f *GardenerFramework) CreatePlantSecret(ctx context.Context, namespace str
// CreatePlant Creates a plant from a plant Object
func (f *GardenerFramework) CreatePlant(ctx context.Context, plant *gardencorev1beta1.Plant) error {
+ log := f.Logger.WithValues("plant", client.ObjectKeyFromObject(plant))
+
err := f.GardenClient.Client().Create(ctx, plant)
if err != nil {
return err
@@ -55,12 +58,14 @@ func (f *GardenerFramework) CreatePlant(ctx context.Context, plant *gardencorev1
return err
}
- f.Logger.Infof("Plant %s was created!", plant.Name)
+ log.Info("Plant was created")
return nil
}
// DeletePlant deletes the test plant
func (f *GardenerFramework) DeletePlant(ctx context.Context, plant *gardencorev1beta1.Plant) error {
+ log := f.Logger.WithValues("plant", client.ObjectKeyFromObject(plant))
+
err := f.GardenClient.Client().Delete(ctx, plant)
if err != nil {
return err
@@ -71,12 +76,14 @@ func (f *GardenerFramework) DeletePlant(ctx context.Context, plant *gardencorev1
return err
}
- f.Logger.Infof("Plant %s was deleted successfully!", plant.GetName())
+ log.Info("Plant was deleted successfully")
return nil
}
// WaitForPlantToBeCreated waits for the plant to be created
func (f *GardenerFramework) WaitForPlantToBeCreated(ctx context.Context, plant *gardencorev1beta1.Plant) error {
+ log := f.Logger.WithValues("plant", client.ObjectKeyFromObject(plant))
+
return retry.Until(ctx, 2*time.Second, func(ctx context.Context) (done bool, err error) {
newPlant := &gardencorev1beta1.Plant{}
err = f.GardenClient.Client().Get(ctx, client.ObjectKey{Namespace: plant.GetNamespace(), Name: plant.GetName()}, newPlant)
@@ -85,13 +92,15 @@ func (f *GardenerFramework) WaitForPlantToBeCreated(ctx context.Context, plant *
}
*plant = *newPlant
- f.Logger.Infof("Plant %s has been created", plant.Name)
+ log.Info("Plant has been created")
return retry.Ok()
})
}
// WaitForPlantToBeReconciledSuccessfully waits for the plant to be reconciled with a status indicating success
func (f *GardenerFramework) WaitForPlantToBeReconciledSuccessfully(ctx context.Context, plant *gardencorev1beta1.Plant) error {
+ log := f.Logger.WithValues("plant", client.ObjectKeyFromObject(plant))
+
return retry.Until(ctx, 2*time.Second, func(ctx context.Context) (done bool, err error) {
newPlant := &gardencorev1beta1.Plant{}
err = f.GardenClient.Client().Get(ctx, client.ObjectKey{Namespace: plant.GetNamespace(), Name: plant.GetName()}, newPlant)
@@ -104,13 +113,15 @@ func (f *GardenerFramework) WaitForPlantToBeReconciledSuccessfully(ctx context.C
return retry.Ok()
}
- f.Logger.Infof("Waiting for Plant %s to be successfully reconciled", plant.GetName())
+ log.Info("Waiting for Plant to be successfully reconciled")
return retry.MinorError(fmt.Errorf("plant %s was not successfully reconciled", plant.GetName()))
})
}
// WaitForPlantToBeDeleted waits for the plant to be deleted
func (f *GardenerFramework) WaitForPlantToBeDeleted(ctx context.Context, plant *gardencorev1beta1.Plant) error {
+ log := f.Logger.WithValues("plant", client.ObjectKeyFromObject(plant))
+
return retry.Until(ctx, 2*time.Second, func(ctx context.Context) (done bool, err error) {
newPlant := &gardencorev1beta1.Plant{}
err = f.GardenClient.Client().Get(ctx, client.ObjectKey{Namespace: plant.GetNamespace(), Name: plant.GetName()}, newPlant)
@@ -122,14 +133,15 @@ func (f *GardenerFramework) WaitForPlantToBeDeleted(ctx context.Context, plant *
}
*plant = *newPlant
- f.Logger.Infof("Waiting for plant %s to be deleted", plant.GetName())
+ log.Info("Waiting for plant to be deleted")
return retry.MinorError(fmt.Errorf("plant %s is still present", plant.GetName()))
-
})
}
// WaitForPlantToBeReconciledWithUnknownStatus waits for the plant to be reconciled, setting the expected status 'unknown'
func (f *GardenerFramework) WaitForPlantToBeReconciledWithUnknownStatus(ctx context.Context, plant *gardencorev1beta1.Plant) error {
+ log := f.Logger.WithValues("plant", client.ObjectKeyFromObject(plant))
+
return retry.Until(ctx, 2*time.Second, func(ctx context.Context) (done bool, err error) {
newPlant := &gardencorev1beta1.Plant{}
err = f.GardenClient.Client().Get(ctx, client.ObjectKey{Namespace: plant.GetNamespace(), Name: plant.GetName()}, newPlant)
@@ -142,7 +154,7 @@ func (f *GardenerFramework) WaitForPlantToBeReconciledWithUnknownStatus(ctx cont
return retry.Ok()
}
- f.Logger.Infof("Waiting for Plant %s to be reconciled with status : 'unknown'", plant.GetName())
+ log.Info("Waiting for Plant to be reconciled with status 'unknown'")
return retry.MinorError(fmt.Errorf("plant %s was not reconciled with status 'unknown'", plant.GetName()))
})
}
diff --git a/vendor/github.com/gardener/gardener/test/framework/rootpod_executor.go b/vendor/github.com/gardener/gardener/test/framework/rootpod_executor.go
index 27478e046..7ec5e0cc1 100644
--- a/vendor/github.com/gardener/gardener/test/framework/rootpod_executor.go
+++ b/vendor/github.com/gardener/gardener/test/framework/rootpod_executor.go
@@ -22,7 +22,7 @@ import (
"github.com/gardener/gardener/pkg/client/kubernetes"
- "github.com/sirupsen/logrus"
+ "github.com/go-logr/logr"
corev1 "k8s.io/api/core/v1"
apierrors "k8s.io/apimachinery/pkg/api/errors"
"sigs.k8s.io/controller-runtime/pkg/client"
@@ -38,7 +38,7 @@ type RootPodExecutor interface {
// rootPodExecutor is the RootPodExecutor implementation
type rootPodExecutor struct {
- logger *logrus.Logger
+ log logr.Logger
client kubernetes.Interface
executor PodExecutor
@@ -49,10 +49,10 @@ type rootPodExecutor struct {
}
// NewRootPodExecutor creates a new root pod executor to run commands on a node.
-func NewRootPodExecutor(logger *logrus.Logger, c kubernetes.Interface, nodeName *string, namespace string) RootPodExecutor {
+func NewRootPodExecutor(log logr.Logger, c kubernetes.Interface, nodeName *string, namespace string) RootPodExecutor {
executor := NewPodExecutor(c)
return &rootPodExecutor{
- logger: logger,
+ log: log,
client: c,
executor: executor,
nodeName: nodeName,
@@ -99,7 +99,7 @@ func (e *rootPodExecutor) deploy(ctx context.Context) error {
if err != nil {
return err
}
- if err := WaitUntilPodIsRunning(ctx, e.logger, rootPod.Name, rootPod.Namespace, e.client); err != nil {
+ if err := WaitUntilPodIsRunning(ctx, e.log, rootPod.Name, rootPod.Namespace, e.client); err != nil {
return err
}
diff --git a/vendor/github.com/gardener/gardener/test/framework/shoot_utils.go b/vendor/github.com/gardener/gardener/test/framework/shoot_utils.go
index b6a3baac8..4a453129f 100644
--- a/vendor/github.com/gardener/gardener/test/framework/shoot_utils.go
+++ b/vendor/github.com/gardener/gardener/test/framework/shoot_utils.go
@@ -64,7 +64,7 @@ func (f *ShootFramework) GetLokiLogs(ctx context.Context, lokiLabels map[string]
reader, err = PodExecByLabel(ctx, lokiLabelsSelector, lokiLogging, command, lokiNamespace, client)
if err != nil {
- f.Logger.Warn(err)
+ f.Logger.Error(err, "Error exec'ing into pod")
return retry.MinorError(err)
}
return retry.Ok()
@@ -90,42 +90,41 @@ func (f *ShootFramework) DumpState(ctx context.Context) {
}
if f.Shoot != nil {
+ log := f.Logger.WithValues("shoot", client.ObjectKeyFromObject(f.Shoot))
if err := PrettyPrintObject(f.Shoot); err != nil {
- f.Logger.Errorf("Cannot decode shoot %s: %s", f.Shoot.GetName(), err)
+ f.Logger.Error(err, "Cannot decode shoot")
}
isRunning, err := f.IsAPIServerRunning(ctx)
if f.ShootClient != nil && isRunning && err == nil {
- ctxIdentifier := fmt.Sprintf("[SHOOT %s]", f.Shoot.Name)
- f.Logger.Info(ctxIdentifier)
- if err := f.DumpDefaultResourcesInAllNamespaces(ctx, ctxIdentifier, f.ShootClient); err != nil {
- f.Logger.Errorf("unable to dump resources from all namespaces in shoot %s: %s", f.Shoot.Name, err.Error())
+ if err := f.DumpDefaultResourcesInAllNamespaces(ctx, f.ShootClient); err != nil {
+ f.Logger.Error(err, "Unable to dump resources from all namespaces in shoot")
}
- if err := f.dumpNodes(ctx, ctxIdentifier, f.ShootClient); err != nil {
- f.Logger.Errorf("unable to dump information of nodes from shoot %s: %s", f.Shoot.Name, err.Error())
+ if err := f.dumpNodes(ctx, log, f.ShootClient); err != nil {
+ f.Logger.Error(err, "Unable to dump information of nodes from shoot")
}
} else {
errMsg := ""
if err != nil {
errMsg = ": " + err.Error()
}
- f.Logger.Errorf("unable to dump resources from shoot %s: API server is currently not running%s", f.Shoot.Name, errMsg)
+ f.Logger.Error(err, "Unable to dump resources from shoot because API server is currently not running", "reason", errMsg)
}
}
// dump controlplane in the shoot namespace
if f.Seed != nil && f.SeedClient != nil {
if err := f.dumpControlplaneInSeed(ctx, f.Seed, f.ShootSeedNamespace()); err != nil {
- f.Logger.Errorf("unable to dump controlplane of %s in seed %s: %v", f.Shoot.Name, f.Seed.Name, err)
+ f.Logger.Error(err, "Unable to dump controlplane in seed", "namespace", f.ShootSeedNamespace())
}
}
- ctxIdentifier := "[GARDENER]"
- f.Logger.Info(ctxIdentifier)
if f.Shoot != nil {
+ log := f.Logger.WithValues("shoot", client.ObjectKeyFromObject(f.Shoot))
+
project, err := f.GetShootProject(ctx, f.Shoot.GetNamespace())
if err != nil {
- f.Logger.Errorf("unable to get project namespace of shoot %s: %s", f.Shoot.GetNamespace(), err.Error())
+ log.Error(err, "Unable to get project namespace of shoot")
return
}
@@ -133,18 +132,17 @@ func (f *ShootFramework) DumpState(ctx context.Context) {
if f.Shoot.Spec.SeedName != nil {
seed := &gardencorev1beta1.Seed{}
if err := f.GardenClient.Client().Get(ctx, client.ObjectKey{Name: *f.Shoot.Spec.SeedName}, seed); err != nil {
- f.Logger.Errorf("unable to get seed %s: %s", *f.Shoot.Spec.SeedName, err.Error())
+ log.Error(err, "Unable to get seed", "seedName", *f.Shoot.Spec.SeedName)
return
}
- f.Logger.Infof("%s [SEED]", ctxIdentifier)
f.dumpSeed(seed)
}
- err = f.dumpEventsInNamespace(ctx, ctxIdentifier, f.GardenClient, *project.Spec.Namespace, func(event corev1.Event) bool {
+ err = f.dumpEventsInNamespace(ctx, log, f.GardenClient, *project.Spec.Namespace, func(event corev1.Event) bool {
return event.InvolvedObject.Name == f.Shoot.Name
})
if err != nil {
- f.Logger.Errorf("unable to dump Events from project namespace %s in gardener: %s", *project.Spec.Namespace, err.Error())
+ log.Error(err, "Unable to dump Events from project namespace in gardener", "namespace", *project.Spec.Namespace)
}
}
}
diff --git a/vendor/github.com/gardener/gardener/test/framework/shootcreationframework.go b/vendor/github.com/gardener/gardener/test/framework/shootcreationframework.go
index 0b73004aa..3c3e6670b 100644
--- a/vendor/github.com/gardener/gardener/test/framework/shootcreationframework.go
+++ b/vendor/github.com/gardener/gardener/test/framework/shootcreationframework.go
@@ -22,12 +22,11 @@ import (
"strconv"
"time"
- "sigs.k8s.io/controller-runtime/pkg/client"
-
gardencorev1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1"
"github.com/onsi/ginkgo/v2"
"github.com/onsi/gomega"
+ "sigs.k8s.io/controller-runtime/pkg/client"
)
var shootCreationCfg *ShootCreationConfig
@@ -368,8 +367,14 @@ func (f *ShootCreationFramework) CreateShootAndWaitForCreation(ctx context.Conte
if err := f.InitializeShootWithFlags(ctx); err != nil {
return err
}
+ } else {
+ if f.Shoot.Namespace == "" {
+ f.Shoot.Namespace = f.ProjectNamespace
+ }
}
+ log := f.Logger.WithValues("shoot", client.ObjectKeyFromObject(f.Shoot))
+
if f.GardenerFramework.Config.ExistingShootName != "" {
shootKey := client.ObjectKey{Namespace: f.GardenerFramework.ProjectNamespace, Name: f.GardenerFramework.Config.ExistingShootName}
if err := f.GardenClient.Client().Get(ctx, shootKey, f.Shoot); err != nil {
@@ -381,30 +386,30 @@ func (f *ShootCreationFramework) CreateShootAndWaitForCreation(ctx context.Conte
return fmt.Errorf("cannot use existing shoot %q for test because it is unhealthy: %s", shootKey, msg)
}
- f.Logger.Infof("Using existing shoot %q for test", shootKey)
+ f.Logger.Info("Using existing shoot for test", "shoot", shootKey)
if err := PrettyPrintObject(f.Shoot); err != nil {
return err
}
} else {
- f.Logger.Infof("Creating shoot %s in namespace %s", f.Shoot.GetName(), f.ProjectNamespace)
+ log.Info("Creating shoot")
if err := PrettyPrintObject(f.Shoot); err != nil {
return err
}
if err := f.GardenerFramework.CreateShoot(ctx, f.Shoot); err != nil {
- f.Logger.Errorf("Cannot create shoot %s: %s", f.Shoot.GetName(), err.Error())
+ log.Error(err, "Failed creating shoot")
dumpCtx, cancel := context.WithTimeout(context.Background(), 2*time.Minute)
defer cancel()
if shootFramework, err := f.NewShootFramework(dumpCtx, f.Shoot); err != nil {
- f.Logger.Errorf("Cannot dump shoot state %s: %s", f.Shoot.GetName(), err.Error())
+ log.Error(err, "Failed dumping shoot state")
} else {
shootFramework.DumpState(dumpCtx)
}
return err
}
- f.Logger.Infof("Successfully created shoot %s", f.Shoot.GetName())
+ log.Info("Successfully created shoot")
}
shootFramework, err := f.NewShootFramework(ctx, f.Shoot)
@@ -415,19 +420,16 @@ func (f *ShootCreationFramework) CreateShootAndWaitForCreation(ctx context.Conte
f.Shoot = shootFramework.Shoot
if err := DownloadKubeconfig(ctx, shootFramework.GardenClient, f.ProjectNamespace, shootFramework.ShootKubeconfigSecretName(), f.Config.shootKubeconfigPath); err != nil {
- f.Logger.Errorf("Cannot download shoot kubeconfig: %s", err.Error())
- return err
+ return fmt.Errorf("failed downloading shoot kubeconfig: %w", err)
}
if seedSecretRef := shootFramework.Seed.Spec.SecretRef; seedSecretRef == nil {
- f.Logger.Info("seed does not have secretRef set, skip constructing seed client")
+ f.Logger.Info("Seed does not have secretRef set, skip constructing seed client")
} else if err := DownloadKubeconfig(ctx, shootFramework.GardenClient, shootFramework.Seed.Spec.SecretRef.Namespace, shootFramework.Seed.Spec.SecretRef.Name, f.Config.seedKubeconfigPath); err != nil {
- f.Logger.Errorf("Cannot download seed kubeconfig: %s", err.Error())
- return err
+ return fmt.Errorf("failed downloading seed kubeconfig: %w", err)
}
- f.Logger.Infof("Finished creating shoot %s", f.Shoot.GetName())
-
+ log.Info("Finished creating shoot")
return nil
}
diff --git a/vendor/github.com/gardener/gardener/test/framework/shootframework.go b/vendor/github.com/gardener/gardener/test/framework/shootframework.go
index 04125667a..66f4be7cb 100644
--- a/vendor/github.com/gardener/gardener/test/framework/shootframework.go
+++ b/vendor/github.com/gardener/gardener/test/framework/shootframework.go
@@ -140,11 +140,12 @@ func (f *ShootFramework) AfterEach(ctx context.Context) {
}
err = f.WaitUntilNamespaceIsDeleted(ctx, f.ShootClient, ns.Name)
if err != nil {
- ctx2, cancel := context.WithTimeout(ctx, 1*time.Minute)
+ timeoutCtx, cancel := context.WithTimeout(ctx, 1*time.Minute)
defer cancel()
- err2 := f.dumpNamespaceResource(ctx2, fmt.Sprintf("[SHOOT %s] [NAMESPACE %s]", f.Shoot.Name, ns.Name), f.ShootClient, ns.Name)
+
+ err2 := f.dumpNamespaceResource(timeoutCtx, f.Logger, f.ShootClient, ns.Name)
ExpectNoError(err2)
- err2 = f.DumpDefaultResourcesInNamespace(ctx2, fmt.Sprintf("[SHOOT %s] [NAMESPACE %s]", f.Shoot.Name, ns.Name), f.ShootClient, ns.Name)
+ err2 = f.DumpDefaultResourcesInNamespace(timeoutCtx, f.ShootClient, ns.Name)
ExpectNoError(err2)
}
ExpectNoError(err)
@@ -301,11 +302,13 @@ func (f *ShootFramework) GetCloudProfile(ctx context.Context) (*gardencorev1beta
// WaitForShootCondition waits for the shoot to contain the specified condition
func (f *ShootFramework) WaitForShootCondition(ctx context.Context, interval, timeout time.Duration, conditionType gardencorev1beta1.ConditionType, conditionStatus gardencorev1beta1.ConditionStatus) error {
+ log := f.Logger.WithValues("shoot", client.ObjectKeyFromObject(f.Shoot))
+
return retry.UntilTimeout(ctx, interval, timeout, func(ctx context.Context) (done bool, err error) {
shoot := &gardencorev1beta1.Shoot{}
err = f.GardenClient.Client().Get(ctx, client.ObjectKey{Namespace: f.Shoot.Namespace, Name: f.Shoot.Name}, shoot)
if err != nil {
- f.Logger.Infof("Error while waiting for shoot to have expected condition: %s", err.Error())
+ log.Error(err, "Error while waiting for shoot to have expected condition")
return retry.MinorError(err)
}
@@ -314,12 +317,14 @@ func (f *ShootFramework) WaitForShootCondition(ctx context.Context, interval, ti
return retry.Ok()
}
+ log = log.WithValues("expectedConditionType", conditionType, "expectedConditionStatus", conditionStatus)
+
if cond == nil {
- f.Logger.Infof("Waiting for shoot %s to have expected condition (%s: %s). Currently the condition is not present", f.Shoot.Name, conditionType, conditionStatus)
- return retry.MinorError(fmt.Errorf("shoot %q does not yet have expected condition", shoot.Name))
+ log.Info("Waiting for shoot to have expected condition status, currently the condition is not present")
+ return retry.MinorError(fmt.Errorf("shoot %q does not yet have expected condition status", shoot.Name))
}
- f.Logger.Infof("Waiting for shoot %s to have expected condition (%s: %s). Currently: (%s: %s)", f.Shoot.Name, conditionType, conditionStatus, conditionType, cond.Status)
+ log.Info("Waiting for shoot to have expected condition status", "currentConditionStatus", cond.Status)
return retry.MinorError(fmt.Errorf("shoot %q does not yet have expected condition", shoot.Name))
})
}
diff --git a/vendor/github.com/gardener/gardener/test/framework/shootmigrationtest.go b/vendor/github.com/gardener/gardener/test/framework/shootmigrationtest.go
index ecc5f6f65..ee826484d 100644
--- a/vendor/github.com/gardener/gardener/test/framework/shootmigrationtest.go
+++ b/vendor/github.com/gardener/gardener/test/framework/shootmigrationtest.go
@@ -23,7 +23,6 @@ import (
"strconv"
"strings"
- dnsv1alpha1 "github.com/gardener/external-dns-management/pkg/apis/dns/v1alpha1"
gardencorev1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1"
"github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
@@ -32,6 +31,7 @@ import (
"github.com/gardener/gardener/pkg/utils"
secretsmanager "github.com/gardener/gardener/pkg/utils/secrets/manager"
+ "github.com/onsi/ginkgo/v2"
corev1 "k8s.io/api/core/v1"
rbacv1 "k8s.io/api/rbac/v1"
"k8s.io/apimachinery/pkg/api/meta"
@@ -40,8 +40,6 @@ import (
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/utils/pointer"
"sigs.k8s.io/controller-runtime/pkg/client"
-
- "github.com/onsi/ginkgo/v2"
)
// ShootMigrationTest represents a shoot migration test.
@@ -116,7 +114,7 @@ func (t *ShootMigrationTest) initShootAndClient(ctx context.Context) (err error)
if !shoot.Status.IsHibernated && !t.Config.SkipShootClientCreation {
kubecfgSecret := corev1.Secret{}
if err := t.GardenerFramework.GardenClient.Client().Get(ctx, client.ObjectKey{Name: shoot.Name + ".kubeconfig", Namespace: shoot.Namespace}, &kubecfgSecret); err != nil {
- t.GardenerFramework.Logger.Errorf("Unable to get kubeconfig from secret: %s", err.Error())
+ t.GardenerFramework.Logger.Error(err, "Unable to get kubeconfig from secret")
return err
}
t.GardenerFramework.Logger.Info("Shoot kubeconfig secret was fetched successfully")
@@ -213,14 +211,14 @@ func (t *ShootMigrationTest) GetNodeNames(ctx context.Context, shootClient kuber
}
nodeList := corev1.NodeList{}
- t.GardenerFramework.Logger.Infof("Getting node names...")
+ t.GardenerFramework.Logger.Info("Listing nodes")
if err := shootClient.Client().List(ctx, &nodeList); err != nil {
return nil, err
}
nodeNames = make([]string, len(nodeList.Items))
for i, node := range nodeList.Items {
- t.GardenerFramework.Logger.Infof("%d. %s", i, node.Name)
+ t.GardenerFramework.Logger.Info("Found node", "index", i, "nodeName", node.Name)
nodeNames[i] = node.Name
}
sort.Strings(nodeNames)
@@ -229,21 +227,23 @@ func (t *ShootMigrationTest) GetNodeNames(ctx context.Context, shootClient kuber
// GetMachineDetails uses the seedClient to fetch all Machine names and the names of their corresponding Nodes
func (t *ShootMigrationTest) GetMachineDetails(ctx context.Context, seedClient kubernetes.Interface) (machineNames, machineNodes []string, err error) {
+ log := t.GardenerFramework.Logger.WithValues("namespace", t.SeedShootNamespace)
+
machineList := unstructured.UnstructuredList{}
machineList.SetAPIVersion("machine.sapcloud.io/v1alpha1")
machineList.SetKind("Machine")
- t.GardenerFramework.Logger.Infof("Getting machine details in namespace: %s", t.SeedShootNamespace)
+
+ log.Info("Listing machines")
if err := seedClient.Client().List(ctx, &machineList, client.InNamespace(t.SeedShootNamespace)); err != nil {
- t.GardenerFramework.Logger.Errorf("Error while getting Machine details, %s", err.Error())
return nil, nil, err
}
- t.GardenerFramework.Logger.Infof("Found: %d Machine items", len(machineList.Items))
+ log.Info("Found machines", "count", len(machineList.Items))
machineNames = make([]string, len(machineList.Items))
machineNodes = make([]string, len(machineList.Items))
for i, machine := range machineList.Items {
- t.GardenerFramework.Logger.Infof("%d. Machine Name: %s, Node Name: %s", i, machine.GetName(), machine.GetLabels()["node"])
+ log.Info("Found machine", "index", i, "machineName", machine.GetName(), "nodeName", machine.GetLabels()["node"])
machineNames[i] = machine.GetName()
machineNodes[i] = machine.GetLabels()["node"]
}
@@ -357,7 +357,9 @@ func (t *ShootMigrationTest) CheckObjectsTimestamp(ctx context.Context, mrExclud
for _, mr := range mrList.Items {
if mr.Spec.Class == nil || *mr.Spec.Class != "seed" {
if !utils.ValueExists(mr.GetName(), mrExcludeList) {
- t.GardenerFramework.Logger.Infof("=== Managed Resource: %s/%s ===", mr.Namespace, mr.Name)
+ log := t.GardenerFramework.Logger.WithValues("managedResource", client.ObjectKeyFromObject(&mr))
+ log.Info("Found ManagedResource")
+
for _, r := range mr.Status.Resources {
if len(r.Name) > 9 && utils.ValueExists(r.Name[:len(r.Name)-9], resourcesWithGeneratedName) {
continue
@@ -377,9 +379,10 @@ func (t *ShootMigrationTest) CheckObjectsTimestamp(ctx context.Context, mrExclud
}
creationTimestamp := obj.GetCreationTimestamp()
- t.GardenerFramework.Logger.Infof("Object: %s %s/%s Created At: %s", obj.GetKind(), obj.GetNamespace(), obj.GetName(), creationTimestamp)
+ log = log.WithValues("objectKind", obj.GetKind(), "objectNamespace", obj.GetNamespace(), "objectName", obj.GetName(), "creationTimestamp", creationTimestamp)
+ log.Info("Found object")
if t.MigrationTime.Before(&creationTimestamp) {
- t.GardenerFramework.Logger.Errorf("object: %s %s/%s Created At: %s is created after the Shoot migration %s", obj.GetKind(), obj.GetNamespace(), obj.GetName(), creationTimestamp, t.MigrationTime)
+ log.Info("Object is created after shoot migration", "migrationTime", t.MigrationTime)
return fmt.Errorf("object: %s %s/%s Created At: %s is created after the Shoot migration %s", obj.GetKind(), obj.GetNamespace(), obj.GetName(), creationTimestamp, t.MigrationTime)
}
}
@@ -402,7 +405,6 @@ func (t *ShootMigrationTest) checkForOrphanedNonNamespacedResources(ctx context.
for _, obj := range []client.ObjectList{
&extensionsv1alpha1.ClusterList{},
- &dnsv1alpha1.DNSOwnerList{},
&v1alpha1.BackupEntryList{},
&rbacv1.ClusterRoleBindingList{},
&rbacv1.ClusterRoleList{},
diff --git a/vendor/github.com/gardener/gardener/test/framework/worker_utils.go b/vendor/github.com/gardener/gardener/test/framework/worker_utils.go
index 963fc21a7..1402f67bf 100644
--- a/vendor/github.com/gardener/gardener/test/framework/worker_utils.go
+++ b/vendor/github.com/gardener/gardener/test/framework/worker_utils.go
@@ -19,8 +19,10 @@ import (
"strings"
gardencorev1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1"
+ v1beta1constants "github.com/gardener/gardener/pkg/apis/core/v1beta1/constants"
"github.com/gardener/gardener/pkg/apis/core/v1beta1/helper"
"github.com/gardener/gardener/pkg/utils"
+ "k8s.io/utils/strings/slices"
)
// setShootWorkerSettings sets the Shoot's worker settings from the given config
@@ -67,17 +69,36 @@ func SetupShootWorker(shoot *gardencorev1beta1.Shoot, cloudProfile *gardencorev1
// clear current workers
shoot.Spec.Provider.Workers = []gardencorev1beta1.Worker{}
- return AddWorker(shoot, cloudProfile, cloudProfile.Spec.MachineImages[0], workerZone)
+ return AddWorker(shoot, cloudProfile, workerZone)
}
// AddWorker adds a valid default worker to the shoot for the given machineImage and CloudProfile.
-func AddWorker(shoot *gardencorev1beta1.Shoot, cloudProfile *gardencorev1beta1.CloudProfile, machineImage gardencorev1beta1.MachineImage, workerZone string) error {
+func AddWorker(shoot *gardencorev1beta1.Shoot, cloudProfile *gardencorev1beta1.CloudProfile, workerZone string) error {
if len(cloudProfile.Spec.MachineTypes) == 0 {
return fmt.Errorf("no MachineTypes configured in the Cloudprofile '%s'", cloudProfile.Name)
}
+
machineType := cloudProfile.Spec.MachineTypes[0]
- qualifyingVersionFound, shootMachineImage, err := helper.GetLatestQualifyingShootMachineImage(machineImage)
+ //select first machine type of CPU architecture amd64
+ for _, machine := range cloudProfile.Spec.MachineTypes {
+ if *machine.Architecture == v1beta1constants.ArchitectureAMD64 {
+ machineType = machine
+ break
+ }
+ }
+
+ if *machineType.Architecture != v1beta1constants.ArchitectureAMD64 {
+ return fmt.Errorf("no MachineTypes of architecture amd64 configured in the Cloudprofile '%s'", cloudProfile.Name)
+ }
+
+ machineImage := firstMachineImageWithAMDSupport(cloudProfile.Spec.MachineImages)
+
+ if machineImage == nil {
+ return fmt.Errorf("no MachineImage that supports architecture amd64 configured in the Cloudprofile '%s'", cloudProfile.Name)
+ }
+
+ qualifyingVersionFound, shootMachineImage, err := helper.GetLatestQualifyingShootMachineImage(*machineImage)
if err != nil {
return err
}
@@ -133,3 +154,15 @@ func generateRandomWorkerName(prefix string) (string, error) {
return prefix + strings.ToLower(randomString), nil
}
+
+func firstMachineImageWithAMDSupport(machineImageFromCloudProfile []gardencorev1beta1.MachineImage) *gardencorev1beta1.MachineImage {
+ for _, machineImage := range machineImageFromCloudProfile {
+ for _, version := range machineImage.Versions {
+ if slices.Contains(version.Architectures, v1beta1constants.ArchitectureAMD64) {
+ return &machineImage
+ }
+ }
+ }
+
+ return nil
+}
diff --git a/vendor/github.com/gardener/gardener/test/testmachinery/extensions/healthcheck/healthcheck_operation.go b/vendor/github.com/gardener/gardener/test/testmachinery/extensions/healthcheck/healthcheck_operation.go
index 59c59b303..12c4ffa3d 100644
--- a/vendor/github.com/gardener/gardener/test/testmachinery/extensions/healthcheck/healthcheck_operation.go
+++ b/vendor/github.com/gardener/gardener/test/testmachinery/extensions/healthcheck/healthcheck_operation.go
@@ -118,7 +118,7 @@ func TestHealthCheckWithManagedResource(ctx context.Context, timeout time.Durati
}
defer func() {
- f.Logger.Infof("Cleanup: scaling resource manager to %d replicas again", int(*resourceManagerDeploymentReplicasBeforeScaledown))
+ f.Logger.Info("Scaling resource-manager for cleanup", "replicas", int(*resourceManagerDeploymentReplicasBeforeScaledown))
// scale up again
_, err = operation.ScaleGardenerResourceManager(ctx, f.ShootSeedNamespace(), f.SeedClient.Client(), resourceManagerDeploymentReplicasBeforeScaledown)
framework.ExpectNoError(err)
diff --git a/vendor/github.com/gardener/gardener/test/testmachinery/extensions/operation/shoot_operation.go b/vendor/github.com/gardener/gardener/test/testmachinery/extensions/operation/shoot_operation.go
index b70f77c85..1455463a1 100644
--- a/vendor/github.com/gardener/gardener/test/testmachinery/extensions/operation/shoot_operation.go
+++ b/vendor/github.com/gardener/gardener/test/testmachinery/extensions/operation/shoot_operation.go
@@ -19,27 +19,32 @@ import (
"fmt"
"time"
- "github.com/sirupsen/logrus"
- "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
- "k8s.io/apimachinery/pkg/runtime/schema"
- "k8s.io/apimachinery/pkg/types"
- "sigs.k8s.io/controller-runtime/pkg/client"
-
"github.com/gardener/gardener/pkg/api/extensions"
gardencorev1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1"
v1beta1constants "github.com/gardener/gardener/pkg/apis/core/v1beta1/constants"
"github.com/gardener/gardener/pkg/utils/retry"
"github.com/gardener/gardener/test/framework"
+
+ "github.com/go-logr/logr"
+ "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
+ "k8s.io/apimachinery/pkg/runtime/schema"
+ "k8s.io/apimachinery/pkg/types"
+ "sigs.k8s.io/controller-runtime/pkg/client"
)
// WaitForExtensionCondition waits for the extension to contain the condition type, status and reason
-func WaitForExtensionCondition(ctx context.Context, logger *logrus.Logger, seedClient client.Client, groupVersionKind schema.GroupVersionKind, namespacedName types.NamespacedName, conditionType gardencorev1beta1.ConditionType, conditionStatus gardencorev1beta1.ConditionStatus, conditionReason string) error {
+func WaitForExtensionCondition(ctx context.Context, log logr.Logger, seedClient client.Client, groupVersionKind schema.GroupVersionKind, namespacedName types.NamespacedName, conditionType gardencorev1beta1.ConditionType, conditionStatus gardencorev1beta1.ConditionStatus, conditionReason string) error {
return retry.Until(ctx, 2*time.Second, func(ctx context.Context) (done bool, err error) {
rawExtension := unstructured.Unstructured{}
rawExtension.SetGroupVersionKind(groupVersionKind)
+ log = log.WithValues(
+ "objectKey", namespacedName,
+ "gvk", groupVersionKind,
+ )
+
if err := seedClient.Get(ctx, namespacedName, &rawExtension); err != nil {
- logger.Infof("unable to retrieve extension from seed (ns: %s, name: %s, kind %s): %v", namespacedName.Namespace, namespacedName.Name, groupVersionKind.Kind, err)
+ log.Error(err, "Unable to retrieve extension from seed")
return retry.MinorError(fmt.Errorf("unable to retrieve extension from seed (ns: %s, name: %s, kind %s)", namespacedName.Namespace, namespacedName.Name, groupVersionKind.Kind))
}
@@ -49,13 +54,13 @@ func WaitForExtensionCondition(ctx context.Context, logger *logrus.Logger, seedC
}
for _, condition := range acc.GetExtensionStatus().GetConditions() {
- logger.Infof("extension (ns: %s, name: %s, kind %s) has condition: ConditionType: %s, ConditionStatus: %s, ConditionReason: %s))", namespacedName.Namespace, namespacedName.Name, groupVersionKind.Kind, condition.Type, condition.Status, condition.Reason)
+ log.Info("Extension has condition", "condition", condition)
if condition.Type == conditionType && condition.Status == conditionStatus && condition.Reason == conditionReason {
- logger.Infof("found expected condition.")
+ log.Info("Found expected conditions")
return retry.Ok()
}
}
- logger.Infof("extension (ns: %s, name: %s, kind %s) does not yet contain expected condition. EXPECTED: (conditionType: %s, conditionStatus: %s, conditionReason: %s))", namespacedName.Namespace, namespacedName.Name, groupVersionKind.Kind, conditionType, conditionStatus, conditionReason)
+ log.Info("Extension does not yet contain expected condition", "expectedType", conditionType, "expectedStatus", conditionStatus, "expectedReason", conditionReason)
return retry.MinorError(fmt.Errorf("extension (ns: %s, name: %s, kind %s) does not yet contain expected condition. EXPECTED: (conditionType: %s, conditionStatus: %s, conditionReason: %s))", namespacedName.Namespace, namespacedName.Name, groupVersionKind.Kind, conditionType, conditionStatus, conditionReason))
})
}
diff --git a/vendor/github.com/gogo/protobuf/jsonpb/jsonpb.go b/vendor/github.com/gogo/protobuf/jsonpb/jsonpb.go
deleted file mode 100644
index e8134ec8b..000000000
--- a/vendor/github.com/gogo/protobuf/jsonpb/jsonpb.go
+++ /dev/null
@@ -1,1435 +0,0 @@
-// Go support for Protocol Buffers - Google's data interchange format
-//
-// Copyright 2015 The Go Authors. All rights reserved.
-// https://github.com/golang/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-/*
-Package jsonpb provides marshaling and unmarshaling between protocol buffers and JSON.
-It follows the specification at https://developers.google.com/protocol-buffers/docs/proto3#json.
-
-This package produces a different output than the standard "encoding/json" package,
-which does not operate correctly on protocol buffers.
-*/
-package jsonpb
-
-import (
- "bytes"
- "encoding/json"
- "errors"
- "fmt"
- "io"
- "math"
- "reflect"
- "sort"
- "strconv"
- "strings"
- "time"
-
- "github.com/gogo/protobuf/proto"
- "github.com/gogo/protobuf/types"
-)
-
-const secondInNanos = int64(time.Second / time.Nanosecond)
-const maxSecondsInDuration = 315576000000
-
-// Marshaler is a configurable object for converting between
-// protocol buffer objects and a JSON representation for them.
-type Marshaler struct {
- // Whether to render enum values as integers, as opposed to string values.
- EnumsAsInts bool
-
- // Whether to render fields with zero values.
- EmitDefaults bool
-
- // A string to indent each level by. The presence of this field will
- // also cause a space to appear between the field separator and
- // value, and for newlines to be appear between fields and array
- // elements.
- Indent string
-
- // Whether to use the original (.proto) name for fields.
- OrigName bool
-
- // A custom URL resolver to use when marshaling Any messages to JSON.
- // If unset, the default resolution strategy is to extract the
- // fully-qualified type name from the type URL and pass that to
- // proto.MessageType(string).
- AnyResolver AnyResolver
-}
-
-// AnyResolver takes a type URL, present in an Any message, and resolves it into
-// an instance of the associated message.
-type AnyResolver interface {
- Resolve(typeUrl string) (proto.Message, error)
-}
-
-func defaultResolveAny(typeUrl string) (proto.Message, error) {
- // Only the part of typeUrl after the last slash is relevant.
- mname := typeUrl
- if slash := strings.LastIndex(mname, "/"); slash >= 0 {
- mname = mname[slash+1:]
- }
- mt := proto.MessageType(mname)
- if mt == nil {
- return nil, fmt.Errorf("unknown message type %q", mname)
- }
- return reflect.New(mt.Elem()).Interface().(proto.Message), nil
-}
-
-// JSONPBMarshaler is implemented by protobuf messages that customize the
-// way they are marshaled to JSON. Messages that implement this should
-// also implement JSONPBUnmarshaler so that the custom format can be
-// parsed.
-//
-// The JSON marshaling must follow the proto to JSON specification:
-// https://developers.google.com/protocol-buffers/docs/proto3#json
-type JSONPBMarshaler interface {
- MarshalJSONPB(*Marshaler) ([]byte, error)
-}
-
-// JSONPBUnmarshaler is implemented by protobuf messages that customize
-// the way they are unmarshaled from JSON. Messages that implement this
-// should also implement JSONPBMarshaler so that the custom format can be
-// produced.
-//
-// The JSON unmarshaling must follow the JSON to proto specification:
-// https://developers.google.com/protocol-buffers/docs/proto3#json
-type JSONPBUnmarshaler interface {
- UnmarshalJSONPB(*Unmarshaler, []byte) error
-}
-
-// Marshal marshals a protocol buffer into JSON.
-func (m *Marshaler) Marshal(out io.Writer, pb proto.Message) error {
- v := reflect.ValueOf(pb)
- if pb == nil || (v.Kind() == reflect.Ptr && v.IsNil()) {
- return errors.New("Marshal called with nil")
- }
- // Check for unset required fields first.
- if err := checkRequiredFields(pb); err != nil {
- return err
- }
- writer := &errWriter{writer: out}
- return m.marshalObject(writer, pb, "", "")
-}
-
-// MarshalToString converts a protocol buffer object to JSON string.
-func (m *Marshaler) MarshalToString(pb proto.Message) (string, error) {
- var buf bytes.Buffer
- if err := m.Marshal(&buf, pb); err != nil {
- return "", err
- }
- return buf.String(), nil
-}
-
-type int32Slice []int32
-
-var nonFinite = map[string]float64{
- `"NaN"`: math.NaN(),
- `"Infinity"`: math.Inf(1),
- `"-Infinity"`: math.Inf(-1),
-}
-
-// For sorting extensions ids to ensure stable output.
-func (s int32Slice) Len() int { return len(s) }
-func (s int32Slice) Less(i, j int) bool { return s[i] < s[j] }
-func (s int32Slice) Swap(i, j int) { s[i], s[j] = s[j], s[i] }
-
-type isWkt interface {
- XXX_WellKnownType() string
-}
-
-var (
- wktType = reflect.TypeOf((*isWkt)(nil)).Elem()
- messageType = reflect.TypeOf((*proto.Message)(nil)).Elem()
-)
-
-// marshalObject writes a struct to the Writer.
-func (m *Marshaler) marshalObject(out *errWriter, v proto.Message, indent, typeURL string) error {
- if jsm, ok := v.(JSONPBMarshaler); ok {
- b, err := jsm.MarshalJSONPB(m)
- if err != nil {
- return err
- }
- if typeURL != "" {
- // we are marshaling this object to an Any type
- var js map[string]*json.RawMessage
- if err = json.Unmarshal(b, &js); err != nil {
- return fmt.Errorf("type %T produced invalid JSON: %v", v, err)
- }
- turl, err := json.Marshal(typeURL)
- if err != nil {
- return fmt.Errorf("failed to marshal type URL %q to JSON: %v", typeURL, err)
- }
- js["@type"] = (*json.RawMessage)(&turl)
- if m.Indent != "" {
- b, err = json.MarshalIndent(js, indent, m.Indent)
- } else {
- b, err = json.Marshal(js)
- }
- if err != nil {
- return err
- }
- }
-
- out.write(string(b))
- return out.err
- }
-
- s := reflect.ValueOf(v).Elem()
-
- // Handle well-known types.
- if wkt, ok := v.(isWkt); ok {
- switch wkt.XXX_WellKnownType() {
- case "DoubleValue", "FloatValue", "Int64Value", "UInt64Value",
- "Int32Value", "UInt32Value", "BoolValue", "StringValue", "BytesValue":
- // "Wrappers use the same representation in JSON
- // as the wrapped primitive type, ..."
- sprop := proto.GetProperties(s.Type())
- return m.marshalValue(out, sprop.Prop[0], s.Field(0), indent)
- case "Any":
- // Any is a bit more involved.
- return m.marshalAny(out, v, indent)
- case "Duration":
- s, ns := s.Field(0).Int(), s.Field(1).Int()
- if s < -maxSecondsInDuration || s > maxSecondsInDuration {
- return fmt.Errorf("seconds out of range %v", s)
- }
- if ns <= -secondInNanos || ns >= secondInNanos {
- return fmt.Errorf("ns out of range (%v, %v)", -secondInNanos, secondInNanos)
- }
- if (s > 0 && ns < 0) || (s < 0 && ns > 0) {
- return errors.New("signs of seconds and nanos do not match")
- }
- // Generated output always contains 0, 3, 6, or 9 fractional digits,
- // depending on required precision, followed by the suffix "s".
- f := "%d.%09d"
- if ns < 0 {
- ns = -ns
- if s == 0 {
- f = "-%d.%09d"
- }
- }
- x := fmt.Sprintf(f, s, ns)
- x = strings.TrimSuffix(x, "000")
- x = strings.TrimSuffix(x, "000")
- x = strings.TrimSuffix(x, ".000")
- out.write(`"`)
- out.write(x)
- out.write(`s"`)
- return out.err
- case "Struct", "ListValue":
- // Let marshalValue handle the `Struct.fields` map or the `ListValue.values` slice.
- // TODO: pass the correct Properties if needed.
- return m.marshalValue(out, &proto.Properties{}, s.Field(0), indent)
- case "Timestamp":
- // "RFC 3339, where generated output will always be Z-normalized
- // and uses 0, 3, 6 or 9 fractional digits."
- s, ns := s.Field(0).Int(), s.Field(1).Int()
- if ns < 0 || ns >= secondInNanos {
- return fmt.Errorf("ns out of range [0, %v)", secondInNanos)
- }
- t := time.Unix(s, ns).UTC()
- // time.RFC3339Nano isn't exactly right (we need to get 3/6/9 fractional digits).
- x := t.Format("2006-01-02T15:04:05.000000000")
- x = strings.TrimSuffix(x, "000")
- x = strings.TrimSuffix(x, "000")
- x = strings.TrimSuffix(x, ".000")
- out.write(`"`)
- out.write(x)
- out.write(`Z"`)
- return out.err
- case "Value":
- // Value has a single oneof.
- kind := s.Field(0)
- if kind.IsNil() {
- // "absence of any variant indicates an error"
- return errors.New("nil Value")
- }
- // oneof -> *T -> T -> T.F
- x := kind.Elem().Elem().Field(0)
- // TODO: pass the correct Properties if needed.
- return m.marshalValue(out, &proto.Properties{}, x, indent)
- }
- }
-
- out.write("{")
- if m.Indent != "" {
- out.write("\n")
- }
-
- firstField := true
-
- if typeURL != "" {
- if err := m.marshalTypeURL(out, indent, typeURL); err != nil {
- return err
- }
- firstField = false
- }
-
- for i := 0; i < s.NumField(); i++ {
- value := s.Field(i)
- valueField := s.Type().Field(i)
- if strings.HasPrefix(valueField.Name, "XXX_") {
- continue
- }
-
- //this is not a protobuf field
- if valueField.Tag.Get("protobuf") == "" && valueField.Tag.Get("protobuf_oneof") == "" {
- continue
- }
-
- // IsNil will panic on most value kinds.
- switch value.Kind() {
- case reflect.Chan, reflect.Func, reflect.Interface:
- if value.IsNil() {
- continue
- }
- }
-
- if !m.EmitDefaults {
- switch value.Kind() {
- case reflect.Bool:
- if !value.Bool() {
- continue
- }
- case reflect.Int32, reflect.Int64:
- if value.Int() == 0 {
- continue
- }
- case reflect.Uint32, reflect.Uint64:
- if value.Uint() == 0 {
- continue
- }
- case reflect.Float32, reflect.Float64:
- if value.Float() == 0 {
- continue
- }
- case reflect.String:
- if value.Len() == 0 {
- continue
- }
- case reflect.Map, reflect.Ptr, reflect.Slice:
- if value.IsNil() {
- continue
- }
- }
- }
-
- // Oneof fields need special handling.
- if valueField.Tag.Get("protobuf_oneof") != "" {
- // value is an interface containing &T{real_value}.
- sv := value.Elem().Elem() // interface -> *T -> T
- value = sv.Field(0)
- valueField = sv.Type().Field(0)
- }
- prop := jsonProperties(valueField, m.OrigName)
- if !firstField {
- m.writeSep(out)
- }
- // If the map value is a cast type, it may not implement proto.Message, therefore
- // allow the struct tag to declare the underlying message type. Change the property
- // of the child types, use CustomType as a passer. CastType currently property is
- // not used in json encoding.
- if value.Kind() == reflect.Map {
- if tag := valueField.Tag.Get("protobuf"); tag != "" {
- for _, v := range strings.Split(tag, ",") {
- if !strings.HasPrefix(v, "castvaluetype=") {
- continue
- }
- v = strings.TrimPrefix(v, "castvaluetype=")
- prop.MapValProp.CustomType = v
- break
- }
- }
- }
- if err := m.marshalField(out, prop, value, indent); err != nil {
- return err
- }
- firstField = false
- }
-
- // Handle proto2 extensions.
- if ep, ok := v.(proto.Message); ok {
- extensions := proto.RegisteredExtensions(v)
- // Sort extensions for stable output.
- ids := make([]int32, 0, len(extensions))
- for id, desc := range extensions {
- if !proto.HasExtension(ep, desc) {
- continue
- }
- ids = append(ids, id)
- }
- sort.Sort(int32Slice(ids))
- for _, id := range ids {
- desc := extensions[id]
- if desc == nil {
- // unknown extension
- continue
- }
- ext, extErr := proto.GetExtension(ep, desc)
- if extErr != nil {
- return extErr
- }
- value := reflect.ValueOf(ext)
- var prop proto.Properties
- prop.Parse(desc.Tag)
- prop.JSONName = fmt.Sprintf("[%s]", desc.Name)
- if !firstField {
- m.writeSep(out)
- }
- if err := m.marshalField(out, &prop, value, indent); err != nil {
- return err
- }
- firstField = false
- }
-
- }
-
- if m.Indent != "" {
- out.write("\n")
- out.write(indent)
- }
- out.write("}")
- return out.err
-}
-
-func (m *Marshaler) writeSep(out *errWriter) {
- if m.Indent != "" {
- out.write(",\n")
- } else {
- out.write(",")
- }
-}
-
-func (m *Marshaler) marshalAny(out *errWriter, any proto.Message, indent string) error {
- // "If the Any contains a value that has a special JSON mapping,
- // it will be converted as follows: {"@type": xxx, "value": yyy}.
- // Otherwise, the value will be converted into a JSON object,
- // and the "@type" field will be inserted to indicate the actual data type."
- v := reflect.ValueOf(any).Elem()
- turl := v.Field(0).String()
- val := v.Field(1).Bytes()
-
- var msg proto.Message
- var err error
- if m.AnyResolver != nil {
- msg, err = m.AnyResolver.Resolve(turl)
- } else {
- msg, err = defaultResolveAny(turl)
- }
- if err != nil {
- return err
- }
-
- if err := proto.Unmarshal(val, msg); err != nil {
- return err
- }
-
- if _, ok := msg.(isWkt); ok {
- out.write("{")
- if m.Indent != "" {
- out.write("\n")
- }
- if err := m.marshalTypeURL(out, indent, turl); err != nil {
- return err
- }
- m.writeSep(out)
- if m.Indent != "" {
- out.write(indent)
- out.write(m.Indent)
- out.write(`"value": `)
- } else {
- out.write(`"value":`)
- }
- if err := m.marshalObject(out, msg, indent+m.Indent, ""); err != nil {
- return err
- }
- if m.Indent != "" {
- out.write("\n")
- out.write(indent)
- }
- out.write("}")
- return out.err
- }
-
- return m.marshalObject(out, msg, indent, turl)
-}
-
-func (m *Marshaler) marshalTypeURL(out *errWriter, indent, typeURL string) error {
- if m.Indent != "" {
- out.write(indent)
- out.write(m.Indent)
- }
- out.write(`"@type":`)
- if m.Indent != "" {
- out.write(" ")
- }
- b, err := json.Marshal(typeURL)
- if err != nil {
- return err
- }
- out.write(string(b))
- return out.err
-}
-
-// marshalField writes field description and value to the Writer.
-func (m *Marshaler) marshalField(out *errWriter, prop *proto.Properties, v reflect.Value, indent string) error {
- if m.Indent != "" {
- out.write(indent)
- out.write(m.Indent)
- }
- out.write(`"`)
- out.write(prop.JSONName)
- out.write(`":`)
- if m.Indent != "" {
- out.write(" ")
- }
- if err := m.marshalValue(out, prop, v, indent); err != nil {
- return err
- }
- return nil
-}
-
-// marshalValue writes the value to the Writer.
-func (m *Marshaler) marshalValue(out *errWriter, prop *proto.Properties, v reflect.Value, indent string) error {
-
- v = reflect.Indirect(v)
-
- // Handle nil pointer
- if v.Kind() == reflect.Invalid {
- out.write("null")
- return out.err
- }
-
- // Handle repeated elements.
- if v.Kind() == reflect.Slice && v.Type().Elem().Kind() != reflect.Uint8 {
- out.write("[")
- comma := ""
- for i := 0; i < v.Len(); i++ {
- sliceVal := v.Index(i)
- out.write(comma)
- if m.Indent != "" {
- out.write("\n")
- out.write(indent)
- out.write(m.Indent)
- out.write(m.Indent)
- }
- if err := m.marshalValue(out, prop, sliceVal, indent+m.Indent); err != nil {
- return err
- }
- comma = ","
- }
- if m.Indent != "" {
- out.write("\n")
- out.write(indent)
- out.write(m.Indent)
- }
- out.write("]")
- return out.err
- }
-
- // Handle well-known types.
- // Most are handled up in marshalObject (because 99% are messages).
- if v.Type().Implements(wktType) {
- wkt := v.Interface().(isWkt)
- switch wkt.XXX_WellKnownType() {
- case "NullValue":
- out.write("null")
- return out.err
- }
- }
-
- if t, ok := v.Interface().(time.Time); ok {
- ts, err := types.TimestampProto(t)
- if err != nil {
- return err
- }
- return m.marshalValue(out, prop, reflect.ValueOf(ts), indent)
- }
-
- if d, ok := v.Interface().(time.Duration); ok {
- dur := types.DurationProto(d)
- return m.marshalValue(out, prop, reflect.ValueOf(dur), indent)
- }
-
- // Handle enumerations.
- if !m.EnumsAsInts && prop.Enum != "" {
- // Unknown enum values will are stringified by the proto library as their
- // value. Such values should _not_ be quoted or they will be interpreted
- // as an enum string instead of their value.
- enumStr := v.Interface().(fmt.Stringer).String()
- var valStr string
- if v.Kind() == reflect.Ptr {
- valStr = strconv.Itoa(int(v.Elem().Int()))
- } else {
- valStr = strconv.Itoa(int(v.Int()))
- }
-
- if m, ok := v.Interface().(interface {
- MarshalJSON() ([]byte, error)
- }); ok {
- data, err := m.MarshalJSON()
- if err != nil {
- return err
- }
- enumStr = string(data)
- enumStr, err = strconv.Unquote(enumStr)
- if err != nil {
- return err
- }
- }
-
- isKnownEnum := enumStr != valStr
-
- if isKnownEnum {
- out.write(`"`)
- }
- out.write(enumStr)
- if isKnownEnum {
- out.write(`"`)
- }
- return out.err
- }
-
- // Handle nested messages.
- if v.Kind() == reflect.Struct {
- i := v
- if v.CanAddr() {
- i = v.Addr()
- } else {
- i = reflect.New(v.Type())
- i.Elem().Set(v)
- }
- iface := i.Interface()
- if iface == nil {
- out.write(`null`)
- return out.err
- }
-
- if m, ok := v.Interface().(interface {
- MarshalJSON() ([]byte, error)
- }); ok {
- data, err := m.MarshalJSON()
- if err != nil {
- return err
- }
- out.write(string(data))
- return nil
- }
-
- pm, ok := iface.(proto.Message)
- if !ok {
- if prop.CustomType == "" {
- return fmt.Errorf("%v does not implement proto.Message", v.Type())
- }
- t := proto.MessageType(prop.CustomType)
- if t == nil || !i.Type().ConvertibleTo(t) {
- return fmt.Errorf("%v declared custom type %s but it is not convertible to %v", v.Type(), prop.CustomType, t)
- }
- pm = i.Convert(t).Interface().(proto.Message)
- }
- return m.marshalObject(out, pm, indent+m.Indent, "")
- }
-
- // Handle maps.
- // Since Go randomizes map iteration, we sort keys for stable output.
- if v.Kind() == reflect.Map {
- out.write(`{`)
- keys := v.MapKeys()
- sort.Sort(mapKeys(keys))
- for i, k := range keys {
- if i > 0 {
- out.write(`,`)
- }
- if m.Indent != "" {
- out.write("\n")
- out.write(indent)
- out.write(m.Indent)
- out.write(m.Indent)
- }
-
- // TODO handle map key prop properly
- b, err := json.Marshal(k.Interface())
- if err != nil {
- return err
- }
- s := string(b)
-
- // If the JSON is not a string value, encode it again to make it one.
- if !strings.HasPrefix(s, `"`) {
- b, err := json.Marshal(s)
- if err != nil {
- return err
- }
- s = string(b)
- }
-
- out.write(s)
- out.write(`:`)
- if m.Indent != "" {
- out.write(` `)
- }
-
- vprop := prop
- if prop != nil && prop.MapValProp != nil {
- vprop = prop.MapValProp
- }
- if err := m.marshalValue(out, vprop, v.MapIndex(k), indent+m.Indent); err != nil {
- return err
- }
- }
- if m.Indent != "" {
- out.write("\n")
- out.write(indent)
- out.write(m.Indent)
- }
- out.write(`}`)
- return out.err
- }
-
- // Handle non-finite floats, e.g. NaN, Infinity and -Infinity.
- if v.Kind() == reflect.Float32 || v.Kind() == reflect.Float64 {
- f := v.Float()
- var sval string
- switch {
- case math.IsInf(f, 1):
- sval = `"Infinity"`
- case math.IsInf(f, -1):
- sval = `"-Infinity"`
- case math.IsNaN(f):
- sval = `"NaN"`
- }
- if sval != "" {
- out.write(sval)
- return out.err
- }
- }
-
- // Default handling defers to the encoding/json library.
- b, err := json.Marshal(v.Interface())
- if err != nil {
- return err
- }
- needToQuote := string(b[0]) != `"` && (v.Kind() == reflect.Int64 || v.Kind() == reflect.Uint64)
- if needToQuote {
- out.write(`"`)
- }
- out.write(string(b))
- if needToQuote {
- out.write(`"`)
- }
- return out.err
-}
-
-// Unmarshaler is a configurable object for converting from a JSON
-// representation to a protocol buffer object.
-type Unmarshaler struct {
- // Whether to allow messages to contain unknown fields, as opposed to
- // failing to unmarshal.
- AllowUnknownFields bool
-
- // A custom URL resolver to use when unmarshaling Any messages from JSON.
- // If unset, the default resolution strategy is to extract the
- // fully-qualified type name from the type URL and pass that to
- // proto.MessageType(string).
- AnyResolver AnyResolver
-}
-
-// UnmarshalNext unmarshals the next protocol buffer from a JSON object stream.
-// This function is lenient and will decode any options permutations of the
-// related Marshaler.
-func (u *Unmarshaler) UnmarshalNext(dec *json.Decoder, pb proto.Message) error {
- inputValue := json.RawMessage{}
- if err := dec.Decode(&inputValue); err != nil {
- return err
- }
- if err := u.unmarshalValue(reflect.ValueOf(pb).Elem(), inputValue, nil); err != nil {
- return err
- }
- return checkRequiredFields(pb)
-}
-
-// Unmarshal unmarshals a JSON object stream into a protocol
-// buffer. This function is lenient and will decode any options
-// permutations of the related Marshaler.
-func (u *Unmarshaler) Unmarshal(r io.Reader, pb proto.Message) error {
- dec := json.NewDecoder(r)
- return u.UnmarshalNext(dec, pb)
-}
-
-// UnmarshalNext unmarshals the next protocol buffer from a JSON object stream.
-// This function is lenient and will decode any options permutations of the
-// related Marshaler.
-func UnmarshalNext(dec *json.Decoder, pb proto.Message) error {
- return new(Unmarshaler).UnmarshalNext(dec, pb)
-}
-
-// Unmarshal unmarshals a JSON object stream into a protocol
-// buffer. This function is lenient and will decode any options
-// permutations of the related Marshaler.
-func Unmarshal(r io.Reader, pb proto.Message) error {
- return new(Unmarshaler).Unmarshal(r, pb)
-}
-
-// UnmarshalString will populate the fields of a protocol buffer based
-// on a JSON string. This function is lenient and will decode any options
-// permutations of the related Marshaler.
-func UnmarshalString(str string, pb proto.Message) error {
- return new(Unmarshaler).Unmarshal(strings.NewReader(str), pb)
-}
-
-// unmarshalValue converts/copies a value into the target.
-// prop may be nil.
-func (u *Unmarshaler) unmarshalValue(target reflect.Value, inputValue json.RawMessage, prop *proto.Properties) error {
- targetType := target.Type()
-
- // Allocate memory for pointer fields.
- if targetType.Kind() == reflect.Ptr {
- // If input value is "null" and target is a pointer type, then the field should be treated as not set
- // UNLESS the target is structpb.Value, in which case it should be set to structpb.NullValue.
- _, isJSONPBUnmarshaler := target.Interface().(JSONPBUnmarshaler)
- if string(inputValue) == "null" && targetType != reflect.TypeOf(&types.Value{}) && !isJSONPBUnmarshaler {
- return nil
- }
- target.Set(reflect.New(targetType.Elem()))
-
- return u.unmarshalValue(target.Elem(), inputValue, prop)
- }
-
- if jsu, ok := target.Addr().Interface().(JSONPBUnmarshaler); ok {
- return jsu.UnmarshalJSONPB(u, []byte(inputValue))
- }
-
- // Handle well-known types that are not pointers.
- if w, ok := target.Addr().Interface().(isWkt); ok {
- switch w.XXX_WellKnownType() {
- case "DoubleValue", "FloatValue", "Int64Value", "UInt64Value",
- "Int32Value", "UInt32Value", "BoolValue", "StringValue", "BytesValue":
- return u.unmarshalValue(target.Field(0), inputValue, prop)
- case "Any":
- // Use json.RawMessage pointer type instead of value to support pre-1.8 version.
- // 1.8 changed RawMessage.MarshalJSON from pointer type to value type, see
- // https://github.com/golang/go/issues/14493
- var jsonFields map[string]*json.RawMessage
- if err := json.Unmarshal(inputValue, &jsonFields); err != nil {
- return err
- }
-
- val, ok := jsonFields["@type"]
- if !ok || val == nil {
- return errors.New("Any JSON doesn't have '@type'")
- }
-
- var turl string
- if err := json.Unmarshal([]byte(*val), &turl); err != nil {
- return fmt.Errorf("can't unmarshal Any's '@type': %q", *val)
- }
- target.Field(0).SetString(turl)
-
- var m proto.Message
- var err error
- if u.AnyResolver != nil {
- m, err = u.AnyResolver.Resolve(turl)
- } else {
- m, err = defaultResolveAny(turl)
- }
- if err != nil {
- return err
- }
-
- if _, ok := m.(isWkt); ok {
- val, ok := jsonFields["value"]
- if !ok {
- return errors.New("Any JSON doesn't have 'value'")
- }
-
- if err = u.unmarshalValue(reflect.ValueOf(m).Elem(), *val, nil); err != nil {
- return fmt.Errorf("can't unmarshal Any nested proto %T: %v", m, err)
- }
- } else {
- delete(jsonFields, "@type")
- nestedProto, uerr := json.Marshal(jsonFields)
- if uerr != nil {
- return fmt.Errorf("can't generate JSON for Any's nested proto to be unmarshaled: %v", uerr)
- }
-
- if err = u.unmarshalValue(reflect.ValueOf(m).Elem(), nestedProto, nil); err != nil {
- return fmt.Errorf("can't unmarshal Any nested proto %T: %v", m, err)
- }
- }
-
- b, err := proto.Marshal(m)
- if err != nil {
- return fmt.Errorf("can't marshal proto %T into Any.Value: %v", m, err)
- }
- target.Field(1).SetBytes(b)
-
- return nil
- case "Duration":
- unq, err := unquote(string(inputValue))
- if err != nil {
- return err
- }
-
- d, err := time.ParseDuration(unq)
- if err != nil {
- return fmt.Errorf("bad Duration: %v", err)
- }
-
- ns := d.Nanoseconds()
- s := ns / 1e9
- ns %= 1e9
- target.Field(0).SetInt(s)
- target.Field(1).SetInt(ns)
- return nil
- case "Timestamp":
- unq, err := unquote(string(inputValue))
- if err != nil {
- return err
- }
-
- t, err := time.Parse(time.RFC3339Nano, unq)
- if err != nil {
- return fmt.Errorf("bad Timestamp: %v", err)
- }
-
- target.Field(0).SetInt(t.Unix())
- target.Field(1).SetInt(int64(t.Nanosecond()))
- return nil
- case "Struct":
- var m map[string]json.RawMessage
- if err := json.Unmarshal(inputValue, &m); err != nil {
- return fmt.Errorf("bad StructValue: %v", err)
- }
- target.Field(0).Set(reflect.ValueOf(map[string]*types.Value{}))
- for k, jv := range m {
- pv := &types.Value{}
- if err := u.unmarshalValue(reflect.ValueOf(pv).Elem(), jv, prop); err != nil {
- return fmt.Errorf("bad value in StructValue for key %q: %v", k, err)
- }
- target.Field(0).SetMapIndex(reflect.ValueOf(k), reflect.ValueOf(pv))
- }
- return nil
- case "ListValue":
- var s []json.RawMessage
- if err := json.Unmarshal(inputValue, &s); err != nil {
- return fmt.Errorf("bad ListValue: %v", err)
- }
-
- target.Field(0).Set(reflect.ValueOf(make([]*types.Value, len(s))))
- for i, sv := range s {
- if err := u.unmarshalValue(target.Field(0).Index(i), sv, prop); err != nil {
- return err
- }
- }
- return nil
- case "Value":
- ivStr := string(inputValue)
- if ivStr == "null" {
- target.Field(0).Set(reflect.ValueOf(&types.Value_NullValue{}))
- } else if v, err := strconv.ParseFloat(ivStr, 0); err == nil {
- target.Field(0).Set(reflect.ValueOf(&types.Value_NumberValue{NumberValue: v}))
- } else if v, err := unquote(ivStr); err == nil {
- target.Field(0).Set(reflect.ValueOf(&types.Value_StringValue{StringValue: v}))
- } else if v, err := strconv.ParseBool(ivStr); err == nil {
- target.Field(0).Set(reflect.ValueOf(&types.Value_BoolValue{BoolValue: v}))
- } else if err := json.Unmarshal(inputValue, &[]json.RawMessage{}); err == nil {
- lv := &types.ListValue{}
- target.Field(0).Set(reflect.ValueOf(&types.Value_ListValue{ListValue: lv}))
- return u.unmarshalValue(reflect.ValueOf(lv).Elem(), inputValue, prop)
- } else if err := json.Unmarshal(inputValue, &map[string]json.RawMessage{}); err == nil {
- sv := &types.Struct{}
- target.Field(0).Set(reflect.ValueOf(&types.Value_StructValue{StructValue: sv}))
- return u.unmarshalValue(reflect.ValueOf(sv).Elem(), inputValue, prop)
- } else {
- return fmt.Errorf("unrecognized type for Value %q", ivStr)
- }
- return nil
- }
- }
-
- if t, ok := target.Addr().Interface().(*time.Time); ok {
- ts := &types.Timestamp{}
- if err := u.unmarshalValue(reflect.ValueOf(ts).Elem(), inputValue, prop); err != nil {
- return err
- }
- tt, err := types.TimestampFromProto(ts)
- if err != nil {
- return err
- }
- *t = tt
- return nil
- }
-
- if d, ok := target.Addr().Interface().(*time.Duration); ok {
- dur := &types.Duration{}
- if err := u.unmarshalValue(reflect.ValueOf(dur).Elem(), inputValue, prop); err != nil {
- return err
- }
- dd, err := types.DurationFromProto(dur)
- if err != nil {
- return err
- }
- *d = dd
- return nil
- }
-
- // Handle enums, which have an underlying type of int32,
- // and may appear as strings.
- // The case of an enum appearing as a number is handled
- // at the bottom of this function.
- if inputValue[0] == '"' && prop != nil && prop.Enum != "" {
- vmap := proto.EnumValueMap(prop.Enum)
- // Don't need to do unquoting; valid enum names
- // are from a limited character set.
- s := inputValue[1 : len(inputValue)-1]
- n, ok := vmap[string(s)]
- if !ok {
- return fmt.Errorf("unknown value %q for enum %s", s, prop.Enum)
- }
- if target.Kind() == reflect.Ptr { // proto2
- target.Set(reflect.New(targetType.Elem()))
- target = target.Elem()
- }
- if targetType.Kind() != reflect.Int32 {
- return fmt.Errorf("invalid target %q for enum %s", targetType.Kind(), prop.Enum)
- }
- target.SetInt(int64(n))
- return nil
- }
-
- if prop != nil && len(prop.CustomType) > 0 && target.CanAddr() {
- if m, ok := target.Addr().Interface().(interface {
- UnmarshalJSON([]byte) error
- }); ok {
- return json.Unmarshal(inputValue, m)
- }
- }
-
- // Handle nested messages.
- if targetType.Kind() == reflect.Struct {
- var jsonFields map[string]json.RawMessage
- if err := json.Unmarshal(inputValue, &jsonFields); err != nil {
- return err
- }
-
- consumeField := func(prop *proto.Properties) (json.RawMessage, bool) {
- // Be liberal in what names we accept; both orig_name and camelName are okay.
- fieldNames := acceptedJSONFieldNames(prop)
-
- vOrig, okOrig := jsonFields[fieldNames.orig]
- vCamel, okCamel := jsonFields[fieldNames.camel]
- if !okOrig && !okCamel {
- return nil, false
- }
- // If, for some reason, both are present in the data, favour the camelName.
- var raw json.RawMessage
- if okOrig {
- raw = vOrig
- delete(jsonFields, fieldNames.orig)
- }
- if okCamel {
- raw = vCamel
- delete(jsonFields, fieldNames.camel)
- }
- return raw, true
- }
-
- sprops := proto.GetProperties(targetType)
- for i := 0; i < target.NumField(); i++ {
- ft := target.Type().Field(i)
- if strings.HasPrefix(ft.Name, "XXX_") {
- continue
- }
- valueForField, ok := consumeField(sprops.Prop[i])
- if !ok {
- continue
- }
-
- if err := u.unmarshalValue(target.Field(i), valueForField, sprops.Prop[i]); err != nil {
- return err
- }
- }
- // Check for any oneof fields.
- if len(jsonFields) > 0 {
- for _, oop := range sprops.OneofTypes {
- raw, ok := consumeField(oop.Prop)
- if !ok {
- continue
- }
- nv := reflect.New(oop.Type.Elem())
- target.Field(oop.Field).Set(nv)
- if err := u.unmarshalValue(nv.Elem().Field(0), raw, oop.Prop); err != nil {
- return err
- }
- }
- }
- // Handle proto2 extensions.
- if len(jsonFields) > 0 {
- if ep, ok := target.Addr().Interface().(proto.Message); ok {
- for _, ext := range proto.RegisteredExtensions(ep) {
- name := fmt.Sprintf("[%s]", ext.Name)
- raw, ok := jsonFields[name]
- if !ok {
- continue
- }
- delete(jsonFields, name)
- nv := reflect.New(reflect.TypeOf(ext.ExtensionType).Elem())
- if err := u.unmarshalValue(nv.Elem(), raw, nil); err != nil {
- return err
- }
- if err := proto.SetExtension(ep, ext, nv.Interface()); err != nil {
- return err
- }
- }
- }
- }
- if !u.AllowUnknownFields && len(jsonFields) > 0 {
- // Pick any field to be the scapegoat.
- var f string
- for fname := range jsonFields {
- f = fname
- break
- }
- return fmt.Errorf("unknown field %q in %v", f, targetType)
- }
- return nil
- }
-
- // Handle arrays
- if targetType.Kind() == reflect.Slice {
- if targetType.Elem().Kind() == reflect.Uint8 {
- outRef := reflect.New(targetType)
- outVal := outRef.Interface()
- //CustomType with underlying type []byte
- if _, ok := outVal.(interface {
- UnmarshalJSON([]byte) error
- }); ok {
- if err := json.Unmarshal(inputValue, outVal); err != nil {
- return err
- }
- target.Set(outRef.Elem())
- return nil
- }
- // Special case for encoded bytes. Pre-go1.5 doesn't support unmarshalling
- // strings into aliased []byte types.
- // https://github.com/golang/go/commit/4302fd0409da5e4f1d71471a6770dacdc3301197
- // https://github.com/golang/go/commit/c60707b14d6be26bf4213114d13070bff00d0b0a
- var out []byte
- if err := json.Unmarshal(inputValue, &out); err != nil {
- return err
- }
- target.SetBytes(out)
- return nil
- }
-
- var slc []json.RawMessage
- if err := json.Unmarshal(inputValue, &slc); err != nil {
- return err
- }
- if slc != nil {
- l := len(slc)
- target.Set(reflect.MakeSlice(targetType, l, l))
- for i := 0; i < l; i++ {
- if err := u.unmarshalValue(target.Index(i), slc[i], prop); err != nil {
- return err
- }
- }
- }
- return nil
- }
-
- // Handle maps (whose keys are always strings)
- if targetType.Kind() == reflect.Map {
- var mp map[string]json.RawMessage
- if err := json.Unmarshal(inputValue, &mp); err != nil {
- return err
- }
- if mp != nil {
- target.Set(reflect.MakeMap(targetType))
- for ks, raw := range mp {
- // Unmarshal map key. The core json library already decoded the key into a
- // string, so we handle that specially. Other types were quoted post-serialization.
- var k reflect.Value
- if targetType.Key().Kind() == reflect.String {
- k = reflect.ValueOf(ks)
- } else {
- k = reflect.New(targetType.Key()).Elem()
- var kprop *proto.Properties
- if prop != nil && prop.MapKeyProp != nil {
- kprop = prop.MapKeyProp
- }
- if err := u.unmarshalValue(k, json.RawMessage(ks), kprop); err != nil {
- return err
- }
- }
-
- if !k.Type().AssignableTo(targetType.Key()) {
- k = k.Convert(targetType.Key())
- }
-
- // Unmarshal map value.
- v := reflect.New(targetType.Elem()).Elem()
- var vprop *proto.Properties
- if prop != nil && prop.MapValProp != nil {
- vprop = prop.MapValProp
- }
- if err := u.unmarshalValue(v, raw, vprop); err != nil {
- return err
- }
- target.SetMapIndex(k, v)
- }
- }
- return nil
- }
-
- // Non-finite numbers can be encoded as strings.
- isFloat := targetType.Kind() == reflect.Float32 || targetType.Kind() == reflect.Float64
- if isFloat {
- if num, ok := nonFinite[string(inputValue)]; ok {
- target.SetFloat(num)
- return nil
- }
- }
-
- // integers & floats can be encoded as strings. In this case we drop
- // the quotes and proceed as normal.
- isNum := targetType.Kind() == reflect.Int64 || targetType.Kind() == reflect.Uint64 ||
- targetType.Kind() == reflect.Int32 || targetType.Kind() == reflect.Uint32 ||
- targetType.Kind() == reflect.Float32 || targetType.Kind() == reflect.Float64
- if isNum && strings.HasPrefix(string(inputValue), `"`) {
- inputValue = inputValue[1 : len(inputValue)-1]
- }
-
- // Use the encoding/json for parsing other value types.
- return json.Unmarshal(inputValue, target.Addr().Interface())
-}
-
-func unquote(s string) (string, error) {
- var ret string
- err := json.Unmarshal([]byte(s), &ret)
- return ret, err
-}
-
-// jsonProperties returns parsed proto.Properties for the field and corrects JSONName attribute.
-func jsonProperties(f reflect.StructField, origName bool) *proto.Properties {
- var prop proto.Properties
- prop.Init(f.Type, f.Name, f.Tag.Get("protobuf"), &f)
- if origName || prop.JSONName == "" {
- prop.JSONName = prop.OrigName
- }
- return &prop
-}
-
-type fieldNames struct {
- orig, camel string
-}
-
-func acceptedJSONFieldNames(prop *proto.Properties) fieldNames {
- opts := fieldNames{orig: prop.OrigName, camel: prop.OrigName}
- if prop.JSONName != "" {
- opts.camel = prop.JSONName
- }
- return opts
-}
-
-// Writer wrapper inspired by https://blog.golang.org/errors-are-values
-type errWriter struct {
- writer io.Writer
- err error
-}
-
-func (w *errWriter) write(str string) {
- if w.err != nil {
- return
- }
- _, w.err = w.writer.Write([]byte(str))
-}
-
-// Map fields may have key types of non-float scalars, strings and enums.
-// The easiest way to sort them in some deterministic order is to use fmt.
-// If this turns out to be inefficient we can always consider other options,
-// such as doing a Schwartzian transform.
-//
-// Numeric keys are sorted in numeric order per
-// https://developers.google.com/protocol-buffers/docs/proto#maps.
-type mapKeys []reflect.Value
-
-func (s mapKeys) Len() int { return len(s) }
-func (s mapKeys) Swap(i, j int) { s[i], s[j] = s[j], s[i] }
-func (s mapKeys) Less(i, j int) bool {
- if k := s[i].Kind(); k == s[j].Kind() {
- switch k {
- case reflect.String:
- return s[i].String() < s[j].String()
- case reflect.Int32, reflect.Int64:
- return s[i].Int() < s[j].Int()
- case reflect.Uint32, reflect.Uint64:
- return s[i].Uint() < s[j].Uint()
- }
- }
- return fmt.Sprint(s[i].Interface()) < fmt.Sprint(s[j].Interface())
-}
-
-// checkRequiredFields returns an error if any required field in the given proto message is not set.
-// This function is used by both Marshal and Unmarshal. While required fields only exist in a
-// proto2 message, a proto3 message can contain proto2 message(s).
-func checkRequiredFields(pb proto.Message) error {
- // Most well-known type messages do not contain required fields. The "Any" type may contain
- // a message that has required fields.
- //
- // When an Any message is being marshaled, the code will invoked proto.Unmarshal on Any.Value
- // field in order to transform that into JSON, and that should have returned an error if a
- // required field is not set in the embedded message.
- //
- // When an Any message is being unmarshaled, the code will have invoked proto.Marshal on the
- // embedded message to store the serialized message in Any.Value field, and that should have
- // returned an error if a required field is not set.
- if _, ok := pb.(isWkt); ok {
- return nil
- }
-
- v := reflect.ValueOf(pb)
- // Skip message if it is not a struct pointer.
- if v.Kind() != reflect.Ptr {
- return nil
- }
- v = v.Elem()
- if v.Kind() != reflect.Struct {
- return nil
- }
-
- for i := 0; i < v.NumField(); i++ {
- field := v.Field(i)
- sfield := v.Type().Field(i)
-
- if sfield.PkgPath != "" {
- // blank PkgPath means the field is exported; skip if not exported
- continue
- }
-
- if strings.HasPrefix(sfield.Name, "XXX_") {
- continue
- }
-
- // Oneof field is an interface implemented by wrapper structs containing the actual oneof
- // field, i.e. an interface containing &T{real_value}.
- if sfield.Tag.Get("protobuf_oneof") != "" {
- if field.Kind() != reflect.Interface {
- continue
- }
- v := field.Elem()
- if v.Kind() != reflect.Ptr || v.IsNil() {
- continue
- }
- v = v.Elem()
- if v.Kind() != reflect.Struct || v.NumField() < 1 {
- continue
- }
- field = v.Field(0)
- sfield = v.Type().Field(0)
- }
-
- protoTag := sfield.Tag.Get("protobuf")
- if protoTag == "" {
- continue
- }
- var prop proto.Properties
- prop.Init(sfield.Type, sfield.Name, protoTag, &sfield)
-
- switch field.Kind() {
- case reflect.Map:
- if field.IsNil() {
- continue
- }
- // Check each map value.
- keys := field.MapKeys()
- for _, k := range keys {
- v := field.MapIndex(k)
- if err := checkRequiredFieldsInValue(v); err != nil {
- return err
- }
- }
- case reflect.Slice:
- // Handle non-repeated type, e.g. bytes.
- if !prop.Repeated {
- if prop.Required && field.IsNil() {
- return fmt.Errorf("required field %q is not set", prop.Name)
- }
- continue
- }
-
- // Handle repeated type.
- if field.IsNil() {
- continue
- }
- // Check each slice item.
- for i := 0; i < field.Len(); i++ {
- v := field.Index(i)
- if err := checkRequiredFieldsInValue(v); err != nil {
- return err
- }
- }
- case reflect.Ptr:
- if field.IsNil() {
- if prop.Required {
- return fmt.Errorf("required field %q is not set", prop.Name)
- }
- continue
- }
- if err := checkRequiredFieldsInValue(field); err != nil {
- return err
- }
- }
- }
-
- // Handle proto2 extensions.
- for _, ext := range proto.RegisteredExtensions(pb) {
- if !proto.HasExtension(pb, ext) {
- continue
- }
- ep, err := proto.GetExtension(pb, ext)
- if err != nil {
- return err
- }
- err = checkRequiredFieldsInValue(reflect.ValueOf(ep))
- if err != nil {
- return err
- }
- }
-
- return nil
-}
-
-func checkRequiredFieldsInValue(v reflect.Value) error {
- if v.Type().Implements(messageType) {
- return checkRequiredFields(v.Interface().(proto.Message))
- }
- return nil
-}
diff --git a/vendor/github.com/gogo/protobuf/types/any.go b/vendor/github.com/gogo/protobuf/types/any.go
deleted file mode 100644
index df4787de3..000000000
--- a/vendor/github.com/gogo/protobuf/types/any.go
+++ /dev/null
@@ -1,140 +0,0 @@
-// Go support for Protocol Buffers - Google's data interchange format
-//
-// Copyright 2016 The Go Authors. All rights reserved.
-// https://github.com/golang/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-package types
-
-// This file implements functions to marshal proto.Message to/from
-// google.protobuf.Any message.
-
-import (
- "fmt"
- "reflect"
- "strings"
-
- "github.com/gogo/protobuf/proto"
-)
-
-const googleApis = "type.googleapis.com/"
-
-// AnyMessageName returns the name of the message contained in a google.protobuf.Any message.
-//
-// Note that regular type assertions should be done using the Is
-// function. AnyMessageName is provided for less common use cases like filtering a
-// sequence of Any messages based on a set of allowed message type names.
-func AnyMessageName(any *Any) (string, error) {
- if any == nil {
- return "", fmt.Errorf("message is nil")
- }
- slash := strings.LastIndex(any.TypeUrl, "/")
- if slash < 0 {
- return "", fmt.Errorf("message type url %q is invalid", any.TypeUrl)
- }
- return any.TypeUrl[slash+1:], nil
-}
-
-// MarshalAny takes the protocol buffer and encodes it into google.protobuf.Any.
-func MarshalAny(pb proto.Message) (*Any, error) {
- value, err := proto.Marshal(pb)
- if err != nil {
- return nil, err
- }
- return &Any{TypeUrl: googleApis + proto.MessageName(pb), Value: value}, nil
-}
-
-// DynamicAny is a value that can be passed to UnmarshalAny to automatically
-// allocate a proto.Message for the type specified in a google.protobuf.Any
-// message. The allocated message is stored in the embedded proto.Message.
-//
-// Example:
-//
-// var x ptypes.DynamicAny
-// if err := ptypes.UnmarshalAny(a, &x); err != nil { ... }
-// fmt.Printf("unmarshaled message: %v", x.Message)
-type DynamicAny struct {
- proto.Message
-}
-
-// Empty returns a new proto.Message of the type specified in a
-// google.protobuf.Any message. It returns an error if corresponding message
-// type isn't linked in.
-func EmptyAny(any *Any) (proto.Message, error) {
- aname, err := AnyMessageName(any)
- if err != nil {
- return nil, err
- }
-
- t := proto.MessageType(aname)
- if t == nil {
- return nil, fmt.Errorf("any: message type %q isn't linked in", aname)
- }
- return reflect.New(t.Elem()).Interface().(proto.Message), nil
-}
-
-// UnmarshalAny parses the protocol buffer representation in a google.protobuf.Any
-// message and places the decoded result in pb. It returns an error if type of
-// contents of Any message does not match type of pb message.
-//
-// pb can be a proto.Message, or a *DynamicAny.
-func UnmarshalAny(any *Any, pb proto.Message) error {
- if d, ok := pb.(*DynamicAny); ok {
- if d.Message == nil {
- var err error
- d.Message, err = EmptyAny(any)
- if err != nil {
- return err
- }
- }
- return UnmarshalAny(any, d.Message)
- }
-
- aname, err := AnyMessageName(any)
- if err != nil {
- return err
- }
-
- mname := proto.MessageName(pb)
- if aname != mname {
- return fmt.Errorf("mismatched message type: got %q want %q", aname, mname)
- }
- return proto.Unmarshal(any.Value, pb)
-}
-
-// Is returns true if any value contains a given message type.
-func Is(any *Any, pb proto.Message) bool {
- // The following is equivalent to AnyMessageName(any) == proto.MessageName(pb),
- // but it avoids scanning TypeUrl for the slash.
- if any == nil {
- return false
- }
- name := proto.MessageName(pb)
- prefix := len(any.TypeUrl) - len(name)
- return prefix >= 1 && any.TypeUrl[prefix-1] == '/' && any.TypeUrl[prefix:] == name
-}
diff --git a/vendor/github.com/gogo/protobuf/types/any.pb.go b/vendor/github.com/gogo/protobuf/types/any.pb.go
deleted file mode 100644
index e3d4d9490..000000000
--- a/vendor/github.com/gogo/protobuf/types/any.pb.go
+++ /dev/null
@@ -1,694 +0,0 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: google/protobuf/any.proto
-
-package types
-
-import (
- bytes "bytes"
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- io "io"
- math "math"
- math_bits "math/bits"
- reflect "reflect"
- strings "strings"
-)
-
-// 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.GoGoProtoPackageIsVersion3 // please upgrade the proto package
-
-// `Any` contains an arbitrary serialized protocol buffer message along with a
-// URL that describes the type of the serialized message.
-//
-// Protobuf library provides support to pack/unpack Any values in the form
-// of utility functions or additional generated methods of the Any type.
-//
-// Example 1: Pack and unpack a message in C++.
-//
-// Foo foo = ...;
-// Any any;
-// any.PackFrom(foo);
-// ...
-// if (any.UnpackTo(&foo)) {
-// ...
-// }
-//
-// Example 2: Pack and unpack a message in Java.
-//
-// Foo foo = ...;
-// Any any = Any.pack(foo);
-// ...
-// if (any.is(Foo.class)) {
-// foo = any.unpack(Foo.class);
-// }
-//
-// Example 3: Pack and unpack a message in Python.
-//
-// foo = Foo(...)
-// any = Any()
-// any.Pack(foo)
-// ...
-// if any.Is(Foo.DESCRIPTOR):
-// any.Unpack(foo)
-// ...
-//
-// Example 4: Pack and unpack a message in Go
-//
-// foo := &pb.Foo{...}
-// any, err := ptypes.MarshalAny(foo)
-// ...
-// foo := &pb.Foo{}
-// if err := ptypes.UnmarshalAny(any, foo); err != nil {
-// ...
-// }
-//
-// The pack methods provided by protobuf library will by default use
-// 'type.googleapis.com/full.type.name' as the type URL and the unpack
-// methods only use the fully qualified type name after the last '/'
-// in the type URL, for example "foo.bar.com/x/y.z" will yield type
-// name "y.z".
-//
-//
-// JSON
-// ====
-// The JSON representation of an `Any` value uses the regular
-// representation of the deserialized, embedded message, with an
-// additional field `@type` which contains the type URL. Example:
-//
-// package google.profile;
-// message Person {
-// string first_name = 1;
-// string last_name = 2;
-// }
-//
-// {
-// "@type": "type.googleapis.com/google.profile.Person",
-// "firstName": ,
-// "lastName":
-// }
-//
-// If the embedded message type is well-known and has a custom JSON
-// representation, that representation will be embedded adding a field
-// `value` which holds the custom JSON in addition to the `@type`
-// field. Example (for message [google.protobuf.Duration][]):
-//
-// {
-// "@type": "type.googleapis.com/google.protobuf.Duration",
-// "value": "1.212s"
-// }
-//
-type Any struct {
- // A URL/resource name that uniquely identifies the type of the serialized
- // protocol buffer message. This string must contain at least
- // one "/" character. The last segment of the URL's path must represent
- // the fully qualified name of the type (as in
- // `path/google.protobuf.Duration`). The name should be in a canonical form
- // (e.g., leading "." is not accepted).
- //
- // In practice, teams usually precompile into the binary all types that they
- // expect it to use in the context of Any. However, for URLs which use the
- // scheme `http`, `https`, or no scheme, one can optionally set up a type
- // server that maps type URLs to message definitions as follows:
- //
- // * If no scheme is provided, `https` is assumed.
- // * An HTTP GET on the URL must yield a [google.protobuf.Type][]
- // value in binary format, or produce an error.
- // * Applications are allowed to cache lookup results based on the
- // URL, or have them precompiled into a binary to avoid any
- // lookup. Therefore, binary compatibility needs to be preserved
- // on changes to types. (Use versioned type names to manage
- // breaking changes.)
- //
- // Note: this functionality is not currently available in the official
- // protobuf release, and it is not used for type URLs beginning with
- // type.googleapis.com.
- //
- // Schemes other than `http`, `https` (or the empty scheme) might be
- // used with implementation specific semantics.
- //
- TypeUrl string `protobuf:"bytes,1,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"`
- // Must be a valid serialized protocol buffer of the above specified type.
- Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Any) Reset() { *m = Any{} }
-func (*Any) ProtoMessage() {}
-func (*Any) Descriptor() ([]byte, []int) {
- return fileDescriptor_b53526c13ae22eb4, []int{0}
-}
-func (*Any) XXX_WellKnownType() string { return "Any" }
-func (m *Any) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *Any) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Any.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *Any) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Any.Merge(m, src)
-}
-func (m *Any) XXX_Size() int {
- return m.Size()
-}
-func (m *Any) XXX_DiscardUnknown() {
- xxx_messageInfo_Any.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Any proto.InternalMessageInfo
-
-func (m *Any) GetTypeUrl() string {
- if m != nil {
- return m.TypeUrl
- }
- return ""
-}
-
-func (m *Any) GetValue() []byte {
- if m != nil {
- return m.Value
- }
- return nil
-}
-
-func (*Any) XXX_MessageName() string {
- return "google.protobuf.Any"
-}
-func init() {
- proto.RegisterType((*Any)(nil), "google.protobuf.Any")
-}
-
-func init() { proto.RegisterFile("google/protobuf/any.proto", fileDescriptor_b53526c13ae22eb4) }
-
-var fileDescriptor_b53526c13ae22eb4 = []byte{
- // 211 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4c, 0xcf, 0xcf, 0x4f,
- 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0xcc, 0xab, 0xd4,
- 0x03, 0x73, 0x84, 0xf8, 0x21, 0x52, 0x7a, 0x30, 0x29, 0x25, 0x33, 0x2e, 0x66, 0xc7, 0xbc, 0x4a,
- 0x21, 0x49, 0x2e, 0x8e, 0x92, 0xca, 0x82, 0xd4, 0xf8, 0xd2, 0xa2, 0x1c, 0x09, 0x46, 0x05, 0x46,
- 0x0d, 0xce, 0x20, 0x76, 0x10, 0x3f, 0xb4, 0x28, 0x47, 0x48, 0x84, 0x8b, 0xb5, 0x2c, 0x31, 0xa7,
- 0x34, 0x55, 0x82, 0x49, 0x81, 0x51, 0x83, 0x27, 0x08, 0xc2, 0x71, 0xaa, 0xbf, 0xf1, 0x50, 0x8e,
- 0xe1, 0xc3, 0x43, 0x39, 0xc6, 0x1f, 0x0f, 0xe5, 0x18, 0x1b, 0x1e, 0xc9, 0x31, 0xae, 0x78, 0x24,
- 0xc7, 0x78, 0xe2, 0x91, 0x1c, 0xe3, 0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, 0x31, 0xbe, 0x78,
- 0x24, 0xc7, 0xf0, 0x01, 0x24, 0xfe, 0x58, 0x8e, 0xf1, 0xc4, 0x63, 0x39, 0x46, 0x2e, 0xe1, 0xe4,
- 0xfc, 0x5c, 0x3d, 0x34, 0xeb, 0x9d, 0x38, 0x1c, 0xf3, 0x2a, 0x03, 0x40, 0x9c, 0x00, 0xc6, 0x28,
- 0x56, 0x90, 0x8d, 0xc5, 0x8b, 0x98, 0x98, 0xdd, 0x03, 0x9c, 0x56, 0x31, 0xc9, 0xb9, 0x43, 0x94,
- 0x06, 0x40, 0x95, 0xea, 0x85, 0xa7, 0xe6, 0xe4, 0x78, 0xe7, 0xe5, 0x97, 0xe7, 0x85, 0x80, 0x94,
- 0x25, 0xb1, 0x81, 0xcd, 0x30, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0xb7, 0x81, 0x82, 0xd3, 0xed,
- 0x00, 0x00, 0x00,
-}
-
-func (this *Any) Compare(that interface{}) int {
- if that == nil {
- if this == nil {
- return 0
- }
- return 1
- }
-
- that1, ok := that.(*Any)
- if !ok {
- that2, ok := that.(Any)
- if ok {
- that1 = &that2
- } else {
- return 1
- }
- }
- if that1 == nil {
- if this == nil {
- return 0
- }
- return 1
- } else if this == nil {
- return -1
- }
- if this.TypeUrl != that1.TypeUrl {
- if this.TypeUrl < that1.TypeUrl {
- return -1
- }
- return 1
- }
- if c := bytes.Compare(this.Value, that1.Value); c != 0 {
- return c
- }
- if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 {
- return c
- }
- return 0
-}
-func (this *Any) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*Any)
- if !ok {
- that2, ok := that.(Any)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if this.TypeUrl != that1.TypeUrl {
- return false
- }
- if !bytes.Equal(this.Value, that1.Value) {
- return false
- }
- if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
- return false
- }
- return true
-}
-func (this *Any) GoString() string {
- if this == nil {
- return "nil"
- }
- s := make([]string, 0, 6)
- s = append(s, "&types.Any{")
- s = append(s, "TypeUrl: "+fmt.Sprintf("%#v", this.TypeUrl)+",\n")
- s = append(s, "Value: "+fmt.Sprintf("%#v", this.Value)+",\n")
- if this.XXX_unrecognized != nil {
- s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
- }
- s = append(s, "}")
- return strings.Join(s, "")
-}
-func valueToGoStringAny(v interface{}, typ string) string {
- rv := reflect.ValueOf(v)
- if rv.IsNil() {
- return "nil"
- }
- pv := reflect.Indirect(rv).Interface()
- return fmt.Sprintf("func(v %v) *%v { return &v } ( %#v )", typ, typ, pv)
-}
-func (m *Any) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *Any) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Any) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Value) > 0 {
- i -= len(m.Value)
- copy(dAtA[i:], m.Value)
- i = encodeVarintAny(dAtA, i, uint64(len(m.Value)))
- i--
- dAtA[i] = 0x12
- }
- if len(m.TypeUrl) > 0 {
- i -= len(m.TypeUrl)
- copy(dAtA[i:], m.TypeUrl)
- i = encodeVarintAny(dAtA, i, uint64(len(m.TypeUrl)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func encodeVarintAny(dAtA []byte, offset int, v uint64) int {
- offset -= sovAny(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
-func NewPopulatedAny(r randyAny, easy bool) *Any {
- this := &Any{}
- this.TypeUrl = string(randStringAny(r))
- v1 := r.Intn(100)
- this.Value = make([]byte, v1)
- for i := 0; i < v1; i++ {
- this.Value[i] = byte(r.Intn(256))
- }
- if !easy && r.Intn(10) != 0 {
- this.XXX_unrecognized = randUnrecognizedAny(r, 3)
- }
- return this
-}
-
-type randyAny interface {
- Float32() float32
- Float64() float64
- Int63() int64
- Int31() int32
- Uint32() uint32
- Intn(n int) int
-}
-
-func randUTF8RuneAny(r randyAny) rune {
- ru := r.Intn(62)
- if ru < 10 {
- return rune(ru + 48)
- } else if ru < 36 {
- return rune(ru + 55)
- }
- return rune(ru + 61)
-}
-func randStringAny(r randyAny) string {
- v2 := r.Intn(100)
- tmps := make([]rune, v2)
- for i := 0; i < v2; i++ {
- tmps[i] = randUTF8RuneAny(r)
- }
- return string(tmps)
-}
-func randUnrecognizedAny(r randyAny, maxFieldNumber int) (dAtA []byte) {
- l := r.Intn(5)
- for i := 0; i < l; i++ {
- wire := r.Intn(4)
- if wire == 3 {
- wire = 5
- }
- fieldNumber := maxFieldNumber + r.Intn(100)
- dAtA = randFieldAny(dAtA, r, fieldNumber, wire)
- }
- return dAtA
-}
-func randFieldAny(dAtA []byte, r randyAny, fieldNumber int, wire int) []byte {
- key := uint32(fieldNumber)<<3 | uint32(wire)
- switch wire {
- case 0:
- dAtA = encodeVarintPopulateAny(dAtA, uint64(key))
- v3 := r.Int63()
- if r.Intn(2) == 0 {
- v3 *= -1
- }
- dAtA = encodeVarintPopulateAny(dAtA, uint64(v3))
- case 1:
- dAtA = encodeVarintPopulateAny(dAtA, uint64(key))
- dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)))
- case 2:
- dAtA = encodeVarintPopulateAny(dAtA, uint64(key))
- ll := r.Intn(100)
- dAtA = encodeVarintPopulateAny(dAtA, uint64(ll))
- for j := 0; j < ll; j++ {
- dAtA = append(dAtA, byte(r.Intn(256)))
- }
- default:
- dAtA = encodeVarintPopulateAny(dAtA, uint64(key))
- dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)))
- }
- return dAtA
-}
-func encodeVarintPopulateAny(dAtA []byte, v uint64) []byte {
- for v >= 1<<7 {
- dAtA = append(dAtA, uint8(uint64(v)&0x7f|0x80))
- v >>= 7
- }
- dAtA = append(dAtA, uint8(v))
- return dAtA
-}
-func (m *Any) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.TypeUrl)
- if l > 0 {
- n += 1 + l + sovAny(uint64(l))
- }
- l = len(m.Value)
- if l > 0 {
- n += 1 + l + sovAny(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func sovAny(x uint64) (n int) {
- return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozAny(x uint64) (n int) {
- return sovAny(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (this *Any) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&Any{`,
- `TypeUrl:` + fmt.Sprintf("%v", this.TypeUrl) + `,`,
- `Value:` + fmt.Sprintf("%v", this.Value) + `,`,
- `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
- `}`,
- }, "")
- return s
-}
-func valueToStringAny(v interface{}) string {
- rv := reflect.ValueOf(v)
- if rv.IsNil() {
- return "nil"
- }
- pv := reflect.Indirect(rv).Interface()
- return fmt.Sprintf("*%v", pv)
-}
-func (m *Any) 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 ErrIntOverflowAny
- }
- 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: Any: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Any: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field TypeUrl", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowAny
- }
- 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 ErrInvalidLengthAny
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthAny
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.TypeUrl = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
- }
- var byteLen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowAny
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- byteLen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if byteLen < 0 {
- return ErrInvalidLengthAny
- }
- postIndex := iNdEx + byteLen
- if postIndex < 0 {
- return ErrInvalidLengthAny
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Value = append(m.Value[:0], dAtA[iNdEx:postIndex]...)
- if m.Value == nil {
- m.Value = []byte{}
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipAny(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthAny
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func skipAny(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowAny
- }
- 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, ErrIntOverflowAny
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowAny
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLengthAny
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroupAny
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLengthAny
- }
- if depth == 0 {
- return iNdEx, nil
- }
- }
- return 0, io.ErrUnexpectedEOF
-}
-
-var (
- ErrInvalidLengthAny = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflowAny = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroupAny = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/vendor/github.com/gogo/protobuf/types/api.pb.go b/vendor/github.com/gogo/protobuf/types/api.pb.go
deleted file mode 100644
index 83e886920..000000000
--- a/vendor/github.com/gogo/protobuf/types/api.pb.go
+++ /dev/null
@@ -1,2134 +0,0 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: google/protobuf/api.proto
-
-package types
-
-import (
- bytes "bytes"
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- io "io"
- math "math"
- math_bits "math/bits"
- reflect "reflect"
- strings "strings"
-)
-
-// 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.GoGoProtoPackageIsVersion3 // please upgrade the proto package
-
-// Api is a light-weight descriptor for an API Interface.
-//
-// Interfaces are also described as "protocol buffer services" in some contexts,
-// such as by the "service" keyword in a .proto file, but they are different
-// from API Services, which represent a concrete implementation of an interface
-// as opposed to simply a description of methods and bindings. They are also
-// sometimes simply referred to as "APIs" in other contexts, such as the name of
-// this message itself. See https://cloud.google.com/apis/design/glossary for
-// detailed terminology.
-type Api struct {
- // The fully qualified name of this interface, including package name
- // followed by the interface's simple name.
- Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- // The methods of this interface, in unspecified order.
- Methods []*Method `protobuf:"bytes,2,rep,name=methods,proto3" json:"methods,omitempty"`
- // Any metadata attached to the interface.
- Options []*Option `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"`
- // A version string for this interface. If specified, must have the form
- // `major-version.minor-version`, as in `1.10`. If the minor version is
- // omitted, it defaults to zero. If the entire version field is empty, the
- // major version is derived from the package name, as outlined below. If the
- // field is not empty, the version in the package name will be verified to be
- // consistent with what is provided here.
- //
- // The versioning schema uses [semantic
- // versioning](http://semver.org) where the major version number
- // indicates a breaking change and the minor version an additive,
- // non-breaking change. Both version numbers are signals to users
- // what to expect from different versions, and should be carefully
- // chosen based on the product plan.
- //
- // The major version is also reflected in the package name of the
- // interface, which must end in `v`, as in
- // `google.feature.v1`. For major versions 0 and 1, the suffix can
- // be omitted. Zero major versions must only be used for
- // experimental, non-GA interfaces.
- //
- //
- Version string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"`
- // Source context for the protocol buffer service represented by this
- // message.
- SourceContext *SourceContext `protobuf:"bytes,5,opt,name=source_context,json=sourceContext,proto3" json:"source_context,omitempty"`
- // Included interfaces. See [Mixin][].
- Mixins []*Mixin `protobuf:"bytes,6,rep,name=mixins,proto3" json:"mixins,omitempty"`
- // The source syntax of the service.
- Syntax Syntax `protobuf:"varint,7,opt,name=syntax,proto3,enum=google.protobuf.Syntax" json:"syntax,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Api) Reset() { *m = Api{} }
-func (*Api) ProtoMessage() {}
-func (*Api) Descriptor() ([]byte, []int) {
- return fileDescriptor_a2ec32096296c143, []int{0}
-}
-func (m *Api) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *Api) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Api.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *Api) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Api.Merge(m, src)
-}
-func (m *Api) XXX_Size() int {
- return m.Size()
-}
-func (m *Api) XXX_DiscardUnknown() {
- xxx_messageInfo_Api.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Api proto.InternalMessageInfo
-
-func (m *Api) GetName() string {
- if m != nil {
- return m.Name
- }
- return ""
-}
-
-func (m *Api) GetMethods() []*Method {
- if m != nil {
- return m.Methods
- }
- return nil
-}
-
-func (m *Api) GetOptions() []*Option {
- if m != nil {
- return m.Options
- }
- return nil
-}
-
-func (m *Api) GetVersion() string {
- if m != nil {
- return m.Version
- }
- return ""
-}
-
-func (m *Api) GetSourceContext() *SourceContext {
- if m != nil {
- return m.SourceContext
- }
- return nil
-}
-
-func (m *Api) GetMixins() []*Mixin {
- if m != nil {
- return m.Mixins
- }
- return nil
-}
-
-func (m *Api) GetSyntax() Syntax {
- if m != nil {
- return m.Syntax
- }
- return Syntax_SYNTAX_PROTO2
-}
-
-func (*Api) XXX_MessageName() string {
- return "google.protobuf.Api"
-}
-
-// Method represents a method of an API interface.
-type Method struct {
- // The simple name of this method.
- Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- // A URL of the input message type.
- RequestTypeUrl string `protobuf:"bytes,2,opt,name=request_type_url,json=requestTypeUrl,proto3" json:"request_type_url,omitempty"`
- // If true, the request is streamed.
- RequestStreaming bool `protobuf:"varint,3,opt,name=request_streaming,json=requestStreaming,proto3" json:"request_streaming,omitempty"`
- // The URL of the output message type.
- ResponseTypeUrl string `protobuf:"bytes,4,opt,name=response_type_url,json=responseTypeUrl,proto3" json:"response_type_url,omitempty"`
- // If true, the response is streamed.
- ResponseStreaming bool `protobuf:"varint,5,opt,name=response_streaming,json=responseStreaming,proto3" json:"response_streaming,omitempty"`
- // Any metadata attached to the method.
- Options []*Option `protobuf:"bytes,6,rep,name=options,proto3" json:"options,omitempty"`
- // The source syntax of this method.
- Syntax Syntax `protobuf:"varint,7,opt,name=syntax,proto3,enum=google.protobuf.Syntax" json:"syntax,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Method) Reset() { *m = Method{} }
-func (*Method) ProtoMessage() {}
-func (*Method) Descriptor() ([]byte, []int) {
- return fileDescriptor_a2ec32096296c143, []int{1}
-}
-func (m *Method) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *Method) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Method.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *Method) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Method.Merge(m, src)
-}
-func (m *Method) XXX_Size() int {
- return m.Size()
-}
-func (m *Method) XXX_DiscardUnknown() {
- xxx_messageInfo_Method.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Method proto.InternalMessageInfo
-
-func (m *Method) GetName() string {
- if m != nil {
- return m.Name
- }
- return ""
-}
-
-func (m *Method) GetRequestTypeUrl() string {
- if m != nil {
- return m.RequestTypeUrl
- }
- return ""
-}
-
-func (m *Method) GetRequestStreaming() bool {
- if m != nil {
- return m.RequestStreaming
- }
- return false
-}
-
-func (m *Method) GetResponseTypeUrl() string {
- if m != nil {
- return m.ResponseTypeUrl
- }
- return ""
-}
-
-func (m *Method) GetResponseStreaming() bool {
- if m != nil {
- return m.ResponseStreaming
- }
- return false
-}
-
-func (m *Method) GetOptions() []*Option {
- if m != nil {
- return m.Options
- }
- return nil
-}
-
-func (m *Method) GetSyntax() Syntax {
- if m != nil {
- return m.Syntax
- }
- return Syntax_SYNTAX_PROTO2
-}
-
-func (*Method) XXX_MessageName() string {
- return "google.protobuf.Method"
-}
-
-// Declares an API Interface to be included in this interface. The including
-// interface must redeclare all the methods from the included interface, but
-// documentation and options are inherited as follows:
-//
-// - If after comment and whitespace stripping, the documentation
-// string of the redeclared method is empty, it will be inherited
-// from the original method.
-//
-// - Each annotation belonging to the service config (http,
-// visibility) which is not set in the redeclared method will be
-// inherited.
-//
-// - If an http annotation is inherited, the path pattern will be
-// modified as follows. Any version prefix will be replaced by the
-// version of the including interface plus the [root][] path if
-// specified.
-//
-// Example of a simple mixin:
-//
-// package google.acl.v1;
-// service AccessControl {
-// // Get the underlying ACL object.
-// rpc GetAcl(GetAclRequest) returns (Acl) {
-// option (google.api.http).get = "/v1/{resource=**}:getAcl";
-// }
-// }
-//
-// package google.storage.v2;
-// service Storage {
-// rpc GetAcl(GetAclRequest) returns (Acl);
-//
-// // Get a data record.
-// rpc GetData(GetDataRequest) returns (Data) {
-// option (google.api.http).get = "/v2/{resource=**}";
-// }
-// }
-//
-// Example of a mixin configuration:
-//
-// apis:
-// - name: google.storage.v2.Storage
-// mixins:
-// - name: google.acl.v1.AccessControl
-//
-// The mixin construct implies that all methods in `AccessControl` are
-// also declared with same name and request/response types in
-// `Storage`. A documentation generator or annotation processor will
-// see the effective `Storage.GetAcl` method after inherting
-// documentation and annotations as follows:
-//
-// service Storage {
-// // Get the underlying ACL object.
-// rpc GetAcl(GetAclRequest) returns (Acl) {
-// option (google.api.http).get = "/v2/{resource=**}:getAcl";
-// }
-// ...
-// }
-//
-// Note how the version in the path pattern changed from `v1` to `v2`.
-//
-// If the `root` field in the mixin is specified, it should be a
-// relative path under which inherited HTTP paths are placed. Example:
-//
-// apis:
-// - name: google.storage.v2.Storage
-// mixins:
-// - name: google.acl.v1.AccessControl
-// root: acls
-//
-// This implies the following inherited HTTP annotation:
-//
-// service Storage {
-// // Get the underlying ACL object.
-// rpc GetAcl(GetAclRequest) returns (Acl) {
-// option (google.api.http).get = "/v2/acls/{resource=**}:getAcl";
-// }
-// ...
-// }
-type Mixin struct {
- // The fully qualified name of the interface which is included.
- Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- // If non-empty specifies a path under which inherited HTTP paths
- // are rooted.
- Root string `protobuf:"bytes,2,opt,name=root,proto3" json:"root,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Mixin) Reset() { *m = Mixin{} }
-func (*Mixin) ProtoMessage() {}
-func (*Mixin) Descriptor() ([]byte, []int) {
- return fileDescriptor_a2ec32096296c143, []int{2}
-}
-func (m *Mixin) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *Mixin) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Mixin.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *Mixin) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Mixin.Merge(m, src)
-}
-func (m *Mixin) XXX_Size() int {
- return m.Size()
-}
-func (m *Mixin) XXX_DiscardUnknown() {
- xxx_messageInfo_Mixin.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Mixin proto.InternalMessageInfo
-
-func (m *Mixin) GetName() string {
- if m != nil {
- return m.Name
- }
- return ""
-}
-
-func (m *Mixin) GetRoot() string {
- if m != nil {
- return m.Root
- }
- return ""
-}
-
-func (*Mixin) XXX_MessageName() string {
- return "google.protobuf.Mixin"
-}
-func init() {
- proto.RegisterType((*Api)(nil), "google.protobuf.Api")
- proto.RegisterType((*Method)(nil), "google.protobuf.Method")
- proto.RegisterType((*Mixin)(nil), "google.protobuf.Mixin")
-}
-
-func init() { proto.RegisterFile("google/protobuf/api.proto", fileDescriptor_a2ec32096296c143) }
-
-var fileDescriptor_a2ec32096296c143 = []byte{
- // 467 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x91, 0x31, 0x6f, 0x13, 0x31,
- 0x14, 0xc7, 0xeb, 0xbb, 0xe4, 0x52, 0x5c, 0x91, 0x82, 0x91, 0xc0, 0x64, 0xb0, 0x4e, 0x15, 0xc3,
- 0x09, 0xc4, 0x45, 0x94, 0x4f, 0xd0, 0x20, 0xd4, 0x01, 0x21, 0xa2, 0x0b, 0x08, 0x89, 0x25, 0x4a,
- 0x83, 0x09, 0x96, 0xee, 0x6c, 0x63, 0x3b, 0x90, 0x4c, 0xf0, 0x59, 0x98, 0x10, 0x23, 0xdf, 0x80,
- 0xad, 0x23, 0x23, 0x23, 0xb9, 0x2e, 0x8c, 0x1d, 0x19, 0x91, 0x7d, 0xe7, 0xa6, 0x5c, 0x83, 0x04,
- 0x9b, 0xdf, 0xfb, 0xff, 0xfc, 0xf7, 0x7b, 0x7f, 0xc3, 0x9b, 0x33, 0x21, 0x66, 0x39, 0xed, 0x4b,
- 0x25, 0x8c, 0x38, 0x9a, 0xbf, 0xea, 0x4f, 0x24, 0x4b, 0x5d, 0x81, 0x76, 0x2b, 0x29, 0xf5, 0x52,
- 0xef, 0x56, 0x93, 0xd5, 0x62, 0xae, 0xa6, 0x74, 0x3c, 0x15, 0xdc, 0xd0, 0x85, 0xa9, 0xc0, 0x5e,
- 0xaf, 0x49, 0x99, 0xa5, 0xac, 0x4d, 0xf6, 0xbe, 0x06, 0x30, 0x3c, 0x90, 0x0c, 0x21, 0xd8, 0xe2,
- 0x93, 0x82, 0x62, 0x10, 0x83, 0xe4, 0x52, 0xe6, 0xce, 0xe8, 0x1e, 0xec, 0x14, 0xd4, 0xbc, 0x16,
- 0x2f, 0x35, 0x0e, 0xe2, 0x30, 0xd9, 0xd9, 0xbf, 0x91, 0x36, 0x06, 0x48, 0x1f, 0x3b, 0x3d, 0xf3,
- 0x9c, 0xbd, 0x22, 0xa4, 0x61, 0x82, 0x6b, 0x1c, 0xfe, 0xe5, 0xca, 0x13, 0xa7, 0x67, 0x9e, 0x43,
- 0x18, 0x76, 0xde, 0x52, 0xa5, 0x99, 0xe0, 0xb8, 0xe5, 0x1e, 0xf7, 0x25, 0x7a, 0x08, 0xbb, 0x7f,
- 0xee, 0x83, 0xdb, 0x31, 0x48, 0x76, 0xf6, 0xc9, 0x05, 0xcf, 0x91, 0xc3, 0x1e, 0x54, 0x54, 0x76,
- 0x59, 0x9f, 0x2f, 0x51, 0x0a, 0xa3, 0x82, 0x2d, 0x18, 0xd7, 0x38, 0x72, 0x23, 0x5d, 0xbf, 0xb8,
- 0x85, 0x95, 0xb3, 0x9a, 0x42, 0x7d, 0x18, 0xe9, 0x25, 0x37, 0x93, 0x05, 0xee, 0xc4, 0x20, 0xe9,
- 0x6e, 0x58, 0x61, 0xe4, 0xe4, 0xac, 0xc6, 0xf6, 0xbe, 0x04, 0x30, 0xaa, 0x82, 0xd8, 0x18, 0x63,
- 0x02, 0xaf, 0x28, 0xfa, 0x66, 0x4e, 0xb5, 0x19, 0xdb, 0xe0, 0xc7, 0x73, 0x95, 0xe3, 0xc0, 0xe9,
- 0xdd, 0xba, 0xff, 0x74, 0x29, 0xe9, 0x33, 0x95, 0xa3, 0x3b, 0xf0, 0xaa, 0x27, 0xb5, 0x51, 0x74,
- 0x52, 0x30, 0x3e, 0xc3, 0x61, 0x0c, 0x92, 0xed, 0xcc, 0x5b, 0x8c, 0x7c, 0x1f, 0xdd, 0xb6, 0xb0,
- 0x96, 0x82, 0x6b, 0xba, 0xf6, 0xad, 0x12, 0xdc, 0xf5, 0x82, 0x37, 0xbe, 0x0b, 0xd1, 0x19, 0xbb,
- 0x76, 0x6e, 0x3b, 0xe7, 0x33, 0x97, 0xb5, 0xf5, 0xb9, 0x5f, 0x8c, 0xfe, 0xf1, 0x17, 0xff, 0x3b,
- 0xb4, 0x3e, 0x6c, 0xbb, 0xd8, 0x37, 0x46, 0x86, 0x60, 0x4b, 0x09, 0x61, 0xea, 0x98, 0xdc, 0x79,
- 0xf0, 0xfe, 0xfb, 0x8a, 0x6c, 0x9d, 0xae, 0x08, 0xf8, 0xb5, 0x22, 0xe0, 0x43, 0x49, 0xc0, 0xa7,
- 0x92, 0x80, 0xe3, 0x92, 0x80, 0x6f, 0x25, 0x01, 0x3f, 0x4a, 0x02, 0x7e, 0x96, 0x64, 0xeb, 0xd4,
- 0xf6, 0x4f, 0x08, 0x38, 0x3e, 0x21, 0x00, 0x5e, 0x9b, 0x8a, 0xa2, 0x39, 0xc6, 0x60, 0xfb, 0x40,
- 0xb2, 0xa1, 0x2d, 0x86, 0xe0, 0x45, 0xdb, 0xe6, 0xa6, 0x3f, 0x06, 0xe1, 0xe1, 0x70, 0xf0, 0x39,
- 0x20, 0x87, 0x15, 0x3a, 0xf4, 0x13, 0x3f, 0xa7, 0x79, 0xfe, 0x88, 0x8b, 0x77, 0xdc, 0xc6, 0xa8,
- 0x8f, 0x22, 0xe7, 0x71, 0xff, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0x2b, 0x64, 0x40, 0x40, 0xa1,
- 0x03, 0x00, 0x00,
-}
-
-func (this *Api) Compare(that interface{}) int {
- if that == nil {
- if this == nil {
- return 0
- }
- return 1
- }
-
- that1, ok := that.(*Api)
- if !ok {
- that2, ok := that.(Api)
- if ok {
- that1 = &that2
- } else {
- return 1
- }
- }
- if that1 == nil {
- if this == nil {
- return 0
- }
- return 1
- } else if this == nil {
- return -1
- }
- if this.Name != that1.Name {
- if this.Name < that1.Name {
- return -1
- }
- return 1
- }
- if len(this.Methods) != len(that1.Methods) {
- if len(this.Methods) < len(that1.Methods) {
- return -1
- }
- return 1
- }
- for i := range this.Methods {
- if c := this.Methods[i].Compare(that1.Methods[i]); c != 0 {
- return c
- }
- }
- if len(this.Options) != len(that1.Options) {
- if len(this.Options) < len(that1.Options) {
- return -1
- }
- return 1
- }
- for i := range this.Options {
- if c := this.Options[i].Compare(that1.Options[i]); c != 0 {
- return c
- }
- }
- if this.Version != that1.Version {
- if this.Version < that1.Version {
- return -1
- }
- return 1
- }
- if c := this.SourceContext.Compare(that1.SourceContext); c != 0 {
- return c
- }
- if len(this.Mixins) != len(that1.Mixins) {
- if len(this.Mixins) < len(that1.Mixins) {
- return -1
- }
- return 1
- }
- for i := range this.Mixins {
- if c := this.Mixins[i].Compare(that1.Mixins[i]); c != 0 {
- return c
- }
- }
- if this.Syntax != that1.Syntax {
- if this.Syntax < that1.Syntax {
- return -1
- }
- return 1
- }
- if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 {
- return c
- }
- return 0
-}
-func (this *Method) Compare(that interface{}) int {
- if that == nil {
- if this == nil {
- return 0
- }
- return 1
- }
-
- that1, ok := that.(*Method)
- if !ok {
- that2, ok := that.(Method)
- if ok {
- that1 = &that2
- } else {
- return 1
- }
- }
- if that1 == nil {
- if this == nil {
- return 0
- }
- return 1
- } else if this == nil {
- return -1
- }
- if this.Name != that1.Name {
- if this.Name < that1.Name {
- return -1
- }
- return 1
- }
- if this.RequestTypeUrl != that1.RequestTypeUrl {
- if this.RequestTypeUrl < that1.RequestTypeUrl {
- return -1
- }
- return 1
- }
- if this.RequestStreaming != that1.RequestStreaming {
- if !this.RequestStreaming {
- return -1
- }
- return 1
- }
- if this.ResponseTypeUrl != that1.ResponseTypeUrl {
- if this.ResponseTypeUrl < that1.ResponseTypeUrl {
- return -1
- }
- return 1
- }
- if this.ResponseStreaming != that1.ResponseStreaming {
- if !this.ResponseStreaming {
- return -1
- }
- return 1
- }
- if len(this.Options) != len(that1.Options) {
- if len(this.Options) < len(that1.Options) {
- return -1
- }
- return 1
- }
- for i := range this.Options {
- if c := this.Options[i].Compare(that1.Options[i]); c != 0 {
- return c
- }
- }
- if this.Syntax != that1.Syntax {
- if this.Syntax < that1.Syntax {
- return -1
- }
- return 1
- }
- if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 {
- return c
- }
- return 0
-}
-func (this *Mixin) Compare(that interface{}) int {
- if that == nil {
- if this == nil {
- return 0
- }
- return 1
- }
-
- that1, ok := that.(*Mixin)
- if !ok {
- that2, ok := that.(Mixin)
- if ok {
- that1 = &that2
- } else {
- return 1
- }
- }
- if that1 == nil {
- if this == nil {
- return 0
- }
- return 1
- } else if this == nil {
- return -1
- }
- if this.Name != that1.Name {
- if this.Name < that1.Name {
- return -1
- }
- return 1
- }
- if this.Root != that1.Root {
- if this.Root < that1.Root {
- return -1
- }
- return 1
- }
- if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 {
- return c
- }
- return 0
-}
-func (this *Api) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*Api)
- if !ok {
- that2, ok := that.(Api)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if this.Name != that1.Name {
- return false
- }
- if len(this.Methods) != len(that1.Methods) {
- return false
- }
- for i := range this.Methods {
- if !this.Methods[i].Equal(that1.Methods[i]) {
- return false
- }
- }
- if len(this.Options) != len(that1.Options) {
- return false
- }
- for i := range this.Options {
- if !this.Options[i].Equal(that1.Options[i]) {
- return false
- }
- }
- if this.Version != that1.Version {
- return false
- }
- if !this.SourceContext.Equal(that1.SourceContext) {
- return false
- }
- if len(this.Mixins) != len(that1.Mixins) {
- return false
- }
- for i := range this.Mixins {
- if !this.Mixins[i].Equal(that1.Mixins[i]) {
- return false
- }
- }
- if this.Syntax != that1.Syntax {
- return false
- }
- if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
- return false
- }
- return true
-}
-func (this *Method) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*Method)
- if !ok {
- that2, ok := that.(Method)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if this.Name != that1.Name {
- return false
- }
- if this.RequestTypeUrl != that1.RequestTypeUrl {
- return false
- }
- if this.RequestStreaming != that1.RequestStreaming {
- return false
- }
- if this.ResponseTypeUrl != that1.ResponseTypeUrl {
- return false
- }
- if this.ResponseStreaming != that1.ResponseStreaming {
- return false
- }
- if len(this.Options) != len(that1.Options) {
- return false
- }
- for i := range this.Options {
- if !this.Options[i].Equal(that1.Options[i]) {
- return false
- }
- }
- if this.Syntax != that1.Syntax {
- return false
- }
- if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
- return false
- }
- return true
-}
-func (this *Mixin) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*Mixin)
- if !ok {
- that2, ok := that.(Mixin)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if this.Name != that1.Name {
- return false
- }
- if this.Root != that1.Root {
- return false
- }
- if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
- return false
- }
- return true
-}
-func (this *Api) GoString() string {
- if this == nil {
- return "nil"
- }
- s := make([]string, 0, 11)
- s = append(s, "&types.Api{")
- s = append(s, "Name: "+fmt.Sprintf("%#v", this.Name)+",\n")
- if this.Methods != nil {
- s = append(s, "Methods: "+fmt.Sprintf("%#v", this.Methods)+",\n")
- }
- if this.Options != nil {
- s = append(s, "Options: "+fmt.Sprintf("%#v", this.Options)+",\n")
- }
- s = append(s, "Version: "+fmt.Sprintf("%#v", this.Version)+",\n")
- if this.SourceContext != nil {
- s = append(s, "SourceContext: "+fmt.Sprintf("%#v", this.SourceContext)+",\n")
- }
- if this.Mixins != nil {
- s = append(s, "Mixins: "+fmt.Sprintf("%#v", this.Mixins)+",\n")
- }
- s = append(s, "Syntax: "+fmt.Sprintf("%#v", this.Syntax)+",\n")
- if this.XXX_unrecognized != nil {
- s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
- }
- s = append(s, "}")
- return strings.Join(s, "")
-}
-func (this *Method) GoString() string {
- if this == nil {
- return "nil"
- }
- s := make([]string, 0, 11)
- s = append(s, "&types.Method{")
- s = append(s, "Name: "+fmt.Sprintf("%#v", this.Name)+",\n")
- s = append(s, "RequestTypeUrl: "+fmt.Sprintf("%#v", this.RequestTypeUrl)+",\n")
- s = append(s, "RequestStreaming: "+fmt.Sprintf("%#v", this.RequestStreaming)+",\n")
- s = append(s, "ResponseTypeUrl: "+fmt.Sprintf("%#v", this.ResponseTypeUrl)+",\n")
- s = append(s, "ResponseStreaming: "+fmt.Sprintf("%#v", this.ResponseStreaming)+",\n")
- if this.Options != nil {
- s = append(s, "Options: "+fmt.Sprintf("%#v", this.Options)+",\n")
- }
- s = append(s, "Syntax: "+fmt.Sprintf("%#v", this.Syntax)+",\n")
- if this.XXX_unrecognized != nil {
- s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
- }
- s = append(s, "}")
- return strings.Join(s, "")
-}
-func (this *Mixin) GoString() string {
- if this == nil {
- return "nil"
- }
- s := make([]string, 0, 6)
- s = append(s, "&types.Mixin{")
- s = append(s, "Name: "+fmt.Sprintf("%#v", this.Name)+",\n")
- s = append(s, "Root: "+fmt.Sprintf("%#v", this.Root)+",\n")
- if this.XXX_unrecognized != nil {
- s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
- }
- s = append(s, "}")
- return strings.Join(s, "")
-}
-func valueToGoStringApi(v interface{}, typ string) string {
- rv := reflect.ValueOf(v)
- if rv.IsNil() {
- return "nil"
- }
- pv := reflect.Indirect(rv).Interface()
- return fmt.Sprintf("func(v %v) *%v { return &v } ( %#v )", typ, typ, pv)
-}
-func (m *Api) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *Api) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Api) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Syntax != 0 {
- i = encodeVarintApi(dAtA, i, uint64(m.Syntax))
- i--
- dAtA[i] = 0x38
- }
- if len(m.Mixins) > 0 {
- for iNdEx := len(m.Mixins) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Mixins[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintApi(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x32
- }
- }
- if m.SourceContext != nil {
- {
- size, err := m.SourceContext.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintApi(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x2a
- }
- if len(m.Version) > 0 {
- i -= len(m.Version)
- copy(dAtA[i:], m.Version)
- i = encodeVarintApi(dAtA, i, uint64(len(m.Version)))
- i--
- dAtA[i] = 0x22
- }
- if len(m.Options) > 0 {
- for iNdEx := len(m.Options) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Options[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintApi(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- }
- if len(m.Methods) > 0 {
- for iNdEx := len(m.Methods) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Methods[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintApi(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- }
- if len(m.Name) > 0 {
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintApi(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func (m *Method) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *Method) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Method) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Syntax != 0 {
- i = encodeVarintApi(dAtA, i, uint64(m.Syntax))
- i--
- dAtA[i] = 0x38
- }
- if len(m.Options) > 0 {
- for iNdEx := len(m.Options) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Options[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintApi(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x32
- }
- }
- if m.ResponseStreaming {
- i--
- if m.ResponseStreaming {
- dAtA[i] = 1
- } else {
- dAtA[i] = 0
- }
- i--
- dAtA[i] = 0x28
- }
- if len(m.ResponseTypeUrl) > 0 {
- i -= len(m.ResponseTypeUrl)
- copy(dAtA[i:], m.ResponseTypeUrl)
- i = encodeVarintApi(dAtA, i, uint64(len(m.ResponseTypeUrl)))
- i--
- dAtA[i] = 0x22
- }
- if m.RequestStreaming {
- i--
- if m.RequestStreaming {
- dAtA[i] = 1
- } else {
- dAtA[i] = 0
- }
- i--
- dAtA[i] = 0x18
- }
- if len(m.RequestTypeUrl) > 0 {
- i -= len(m.RequestTypeUrl)
- copy(dAtA[i:], m.RequestTypeUrl)
- i = encodeVarintApi(dAtA, i, uint64(len(m.RequestTypeUrl)))
- i--
- dAtA[i] = 0x12
- }
- if len(m.Name) > 0 {
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintApi(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func (m *Mixin) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *Mixin) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Mixin) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Root) > 0 {
- i -= len(m.Root)
- copy(dAtA[i:], m.Root)
- i = encodeVarintApi(dAtA, i, uint64(len(m.Root)))
- i--
- dAtA[i] = 0x12
- }
- if len(m.Name) > 0 {
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintApi(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func encodeVarintApi(dAtA []byte, offset int, v uint64) int {
- offset -= sovApi(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
-func NewPopulatedApi(r randyApi, easy bool) *Api {
- this := &Api{}
- this.Name = string(randStringApi(r))
- if r.Intn(5) != 0 {
- v1 := r.Intn(5)
- this.Methods = make([]*Method, v1)
- for i := 0; i < v1; i++ {
- this.Methods[i] = NewPopulatedMethod(r, easy)
- }
- }
- if r.Intn(5) != 0 {
- v2 := r.Intn(5)
- this.Options = make([]*Option, v2)
- for i := 0; i < v2; i++ {
- this.Options[i] = NewPopulatedOption(r, easy)
- }
- }
- this.Version = string(randStringApi(r))
- if r.Intn(5) != 0 {
- this.SourceContext = NewPopulatedSourceContext(r, easy)
- }
- if r.Intn(5) != 0 {
- v3 := r.Intn(5)
- this.Mixins = make([]*Mixin, v3)
- for i := 0; i < v3; i++ {
- this.Mixins[i] = NewPopulatedMixin(r, easy)
- }
- }
- this.Syntax = Syntax([]int32{0, 1}[r.Intn(2)])
- if !easy && r.Intn(10) != 0 {
- this.XXX_unrecognized = randUnrecognizedApi(r, 8)
- }
- return this
-}
-
-func NewPopulatedMethod(r randyApi, easy bool) *Method {
- this := &Method{}
- this.Name = string(randStringApi(r))
- this.RequestTypeUrl = string(randStringApi(r))
- this.RequestStreaming = bool(bool(r.Intn(2) == 0))
- this.ResponseTypeUrl = string(randStringApi(r))
- this.ResponseStreaming = bool(bool(r.Intn(2) == 0))
- if r.Intn(5) != 0 {
- v4 := r.Intn(5)
- this.Options = make([]*Option, v4)
- for i := 0; i < v4; i++ {
- this.Options[i] = NewPopulatedOption(r, easy)
- }
- }
- this.Syntax = Syntax([]int32{0, 1}[r.Intn(2)])
- if !easy && r.Intn(10) != 0 {
- this.XXX_unrecognized = randUnrecognizedApi(r, 8)
- }
- return this
-}
-
-func NewPopulatedMixin(r randyApi, easy bool) *Mixin {
- this := &Mixin{}
- this.Name = string(randStringApi(r))
- this.Root = string(randStringApi(r))
- if !easy && r.Intn(10) != 0 {
- this.XXX_unrecognized = randUnrecognizedApi(r, 3)
- }
- return this
-}
-
-type randyApi interface {
- Float32() float32
- Float64() float64
- Int63() int64
- Int31() int32
- Uint32() uint32
- Intn(n int) int
-}
-
-func randUTF8RuneApi(r randyApi) rune {
- ru := r.Intn(62)
- if ru < 10 {
- return rune(ru + 48)
- } else if ru < 36 {
- return rune(ru + 55)
- }
- return rune(ru + 61)
-}
-func randStringApi(r randyApi) string {
- v5 := r.Intn(100)
- tmps := make([]rune, v5)
- for i := 0; i < v5; i++ {
- tmps[i] = randUTF8RuneApi(r)
- }
- return string(tmps)
-}
-func randUnrecognizedApi(r randyApi, maxFieldNumber int) (dAtA []byte) {
- l := r.Intn(5)
- for i := 0; i < l; i++ {
- wire := r.Intn(4)
- if wire == 3 {
- wire = 5
- }
- fieldNumber := maxFieldNumber + r.Intn(100)
- dAtA = randFieldApi(dAtA, r, fieldNumber, wire)
- }
- return dAtA
-}
-func randFieldApi(dAtA []byte, r randyApi, fieldNumber int, wire int) []byte {
- key := uint32(fieldNumber)<<3 | uint32(wire)
- switch wire {
- case 0:
- dAtA = encodeVarintPopulateApi(dAtA, uint64(key))
- v6 := r.Int63()
- if r.Intn(2) == 0 {
- v6 *= -1
- }
- dAtA = encodeVarintPopulateApi(dAtA, uint64(v6))
- case 1:
- dAtA = encodeVarintPopulateApi(dAtA, uint64(key))
- dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)))
- case 2:
- dAtA = encodeVarintPopulateApi(dAtA, uint64(key))
- ll := r.Intn(100)
- dAtA = encodeVarintPopulateApi(dAtA, uint64(ll))
- for j := 0; j < ll; j++ {
- dAtA = append(dAtA, byte(r.Intn(256)))
- }
- default:
- dAtA = encodeVarintPopulateApi(dAtA, uint64(key))
- dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)))
- }
- return dAtA
-}
-func encodeVarintPopulateApi(dAtA []byte, v uint64) []byte {
- for v >= 1<<7 {
- dAtA = append(dAtA, uint8(uint64(v)&0x7f|0x80))
- v >>= 7
- }
- dAtA = append(dAtA, uint8(v))
- return dAtA
-}
-func (m *Api) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Name)
- if l > 0 {
- n += 1 + l + sovApi(uint64(l))
- }
- if len(m.Methods) > 0 {
- for _, e := range m.Methods {
- l = e.Size()
- n += 1 + l + sovApi(uint64(l))
- }
- }
- if len(m.Options) > 0 {
- for _, e := range m.Options {
- l = e.Size()
- n += 1 + l + sovApi(uint64(l))
- }
- }
- l = len(m.Version)
- if l > 0 {
- n += 1 + l + sovApi(uint64(l))
- }
- if m.SourceContext != nil {
- l = m.SourceContext.Size()
- n += 1 + l + sovApi(uint64(l))
- }
- if len(m.Mixins) > 0 {
- for _, e := range m.Mixins {
- l = e.Size()
- n += 1 + l + sovApi(uint64(l))
- }
- }
- if m.Syntax != 0 {
- n += 1 + sovApi(uint64(m.Syntax))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *Method) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Name)
- if l > 0 {
- n += 1 + l + sovApi(uint64(l))
- }
- l = len(m.RequestTypeUrl)
- if l > 0 {
- n += 1 + l + sovApi(uint64(l))
- }
- if m.RequestStreaming {
- n += 2
- }
- l = len(m.ResponseTypeUrl)
- if l > 0 {
- n += 1 + l + sovApi(uint64(l))
- }
- if m.ResponseStreaming {
- n += 2
- }
- if len(m.Options) > 0 {
- for _, e := range m.Options {
- l = e.Size()
- n += 1 + l + sovApi(uint64(l))
- }
- }
- if m.Syntax != 0 {
- n += 1 + sovApi(uint64(m.Syntax))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *Mixin) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Name)
- if l > 0 {
- n += 1 + l + sovApi(uint64(l))
- }
- l = len(m.Root)
- if l > 0 {
- n += 1 + l + sovApi(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func sovApi(x uint64) (n int) {
- return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozApi(x uint64) (n int) {
- return sovApi(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (this *Api) String() string {
- if this == nil {
- return "nil"
- }
- repeatedStringForMethods := "[]*Method{"
- for _, f := range this.Methods {
- repeatedStringForMethods += strings.Replace(f.String(), "Method", "Method", 1) + ","
- }
- repeatedStringForMethods += "}"
- repeatedStringForOptions := "[]*Option{"
- for _, f := range this.Options {
- repeatedStringForOptions += strings.Replace(fmt.Sprintf("%v", f), "Option", "Option", 1) + ","
- }
- repeatedStringForOptions += "}"
- repeatedStringForMixins := "[]*Mixin{"
- for _, f := range this.Mixins {
- repeatedStringForMixins += strings.Replace(f.String(), "Mixin", "Mixin", 1) + ","
- }
- repeatedStringForMixins += "}"
- s := strings.Join([]string{`&Api{`,
- `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
- `Methods:` + repeatedStringForMethods + `,`,
- `Options:` + repeatedStringForOptions + `,`,
- `Version:` + fmt.Sprintf("%v", this.Version) + `,`,
- `SourceContext:` + strings.Replace(fmt.Sprintf("%v", this.SourceContext), "SourceContext", "SourceContext", 1) + `,`,
- `Mixins:` + repeatedStringForMixins + `,`,
- `Syntax:` + fmt.Sprintf("%v", this.Syntax) + `,`,
- `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *Method) String() string {
- if this == nil {
- return "nil"
- }
- repeatedStringForOptions := "[]*Option{"
- for _, f := range this.Options {
- repeatedStringForOptions += strings.Replace(fmt.Sprintf("%v", f), "Option", "Option", 1) + ","
- }
- repeatedStringForOptions += "}"
- s := strings.Join([]string{`&Method{`,
- `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
- `RequestTypeUrl:` + fmt.Sprintf("%v", this.RequestTypeUrl) + `,`,
- `RequestStreaming:` + fmt.Sprintf("%v", this.RequestStreaming) + `,`,
- `ResponseTypeUrl:` + fmt.Sprintf("%v", this.ResponseTypeUrl) + `,`,
- `ResponseStreaming:` + fmt.Sprintf("%v", this.ResponseStreaming) + `,`,
- `Options:` + repeatedStringForOptions + `,`,
- `Syntax:` + fmt.Sprintf("%v", this.Syntax) + `,`,
- `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *Mixin) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&Mixin{`,
- `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
- `Root:` + fmt.Sprintf("%v", this.Root) + `,`,
- `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
- `}`,
- }, "")
- return s
-}
-func valueToStringApi(v interface{}) string {
- rv := reflect.ValueOf(v)
- if rv.IsNil() {
- return "nil"
- }
- pv := reflect.Indirect(rv).Interface()
- return fmt.Sprintf("*%v", pv)
-}
-func (m *Api) 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 ErrIntOverflowApi
- }
- 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: Api: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Api: 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 ErrIntOverflowApi
- }
- 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 ErrInvalidLengthApi
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthApi
- }
- 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 Methods", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowApi
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthApi
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthApi
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Methods = append(m.Methods, &Method{})
- if err := m.Methods[len(m.Methods)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Options", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowApi
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthApi
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthApi
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Options = append(m.Options, &Option{})
- if err := m.Options[len(m.Options)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowApi
- }
- 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 ErrInvalidLengthApi
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthApi
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Version = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field SourceContext", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowApi
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthApi
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthApi
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.SourceContext == nil {
- m.SourceContext = &SourceContext{}
- }
- if err := m.SourceContext.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 6:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Mixins", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowApi
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthApi
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthApi
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Mixins = append(m.Mixins, &Mixin{})
- if err := m.Mixins[len(m.Mixins)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 7:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Syntax", wireType)
- }
- m.Syntax = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowApi
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Syntax |= Syntax(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- default:
- iNdEx = preIndex
- skippy, err := skipApi(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthApi
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *Method) 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 ErrIntOverflowApi
- }
- 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: Method: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Method: 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 ErrIntOverflowApi
- }
- 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 ErrInvalidLengthApi
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthApi
- }
- 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 RequestTypeUrl", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowApi
- }
- 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 ErrInvalidLengthApi
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthApi
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.RequestTypeUrl = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 3:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field RequestStreaming", wireType)
- }
- var v int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowApi
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.RequestStreaming = bool(v != 0)
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ResponseTypeUrl", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowApi
- }
- 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 ErrInvalidLengthApi
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthApi
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.ResponseTypeUrl = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 5:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field ResponseStreaming", wireType)
- }
- var v int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowApi
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.ResponseStreaming = bool(v != 0)
- case 6:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Options", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowApi
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthApi
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthApi
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Options = append(m.Options, &Option{})
- if err := m.Options[len(m.Options)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 7:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Syntax", wireType)
- }
- m.Syntax = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowApi
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Syntax |= Syntax(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- default:
- iNdEx = preIndex
- skippy, err := skipApi(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthApi
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *Mixin) 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 ErrIntOverflowApi
- }
- 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: Mixin: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Mixin: 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 ErrIntOverflowApi
- }
- 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 ErrInvalidLengthApi
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthApi
- }
- 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 Root", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowApi
- }
- 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 ErrInvalidLengthApi
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthApi
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Root = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipApi(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthApi
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func skipApi(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowApi
- }
- 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, ErrIntOverflowApi
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowApi
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLengthApi
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroupApi
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLengthApi
- }
- if depth == 0 {
- return iNdEx, nil
- }
- }
- return 0, io.ErrUnexpectedEOF
-}
-
-var (
- ErrInvalidLengthApi = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflowApi = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroupApi = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/vendor/github.com/gogo/protobuf/types/doc.go b/vendor/github.com/gogo/protobuf/types/doc.go
deleted file mode 100644
index ff2810af1..000000000
--- a/vendor/github.com/gogo/protobuf/types/doc.go
+++ /dev/null
@@ -1,35 +0,0 @@
-// Go support for Protocol Buffers - Google's data interchange format
-//
-// Copyright 2016 The Go Authors. All rights reserved.
-// https://github.com/golang/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-/*
-Package types contains code for interacting with well-known types.
-*/
-package types
diff --git a/vendor/github.com/gogo/protobuf/types/duration.go b/vendor/github.com/gogo/protobuf/types/duration.go
deleted file mode 100644
index 979b8e78a..000000000
--- a/vendor/github.com/gogo/protobuf/types/duration.go
+++ /dev/null
@@ -1,100 +0,0 @@
-// Go support for Protocol Buffers - Google's data interchange format
-//
-// Copyright 2016 The Go Authors. All rights reserved.
-// https://github.com/golang/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-package types
-
-// This file implements conversions between google.protobuf.Duration
-// and time.Duration.
-
-import (
- "errors"
- "fmt"
- "time"
-)
-
-const (
- // Range of a Duration in seconds, as specified in
- // google/protobuf/duration.proto. This is about 10,000 years in seconds.
- maxSeconds = int64(10000 * 365.25 * 24 * 60 * 60)
- minSeconds = -maxSeconds
-)
-
-// validateDuration determines whether the Duration is valid according to the
-// definition in google/protobuf/duration.proto. A valid Duration
-// may still be too large to fit into a time.Duration (the range of Duration
-// is about 10,000 years, and the range of time.Duration is about 290).
-func validateDuration(d *Duration) error {
- if d == nil {
- return errors.New("duration: nil Duration")
- }
- if d.Seconds < minSeconds || d.Seconds > maxSeconds {
- return fmt.Errorf("duration: %#v: seconds out of range", d)
- }
- if d.Nanos <= -1e9 || d.Nanos >= 1e9 {
- return fmt.Errorf("duration: %#v: nanos out of range", d)
- }
- // Seconds and Nanos must have the same sign, unless d.Nanos is zero.
- if (d.Seconds < 0 && d.Nanos > 0) || (d.Seconds > 0 && d.Nanos < 0) {
- return fmt.Errorf("duration: %#v: seconds and nanos have different signs", d)
- }
- return nil
-}
-
-// DurationFromProto converts a Duration to a time.Duration. DurationFromProto
-// returns an error if the Duration is invalid or is too large to be
-// represented in a time.Duration.
-func DurationFromProto(p *Duration) (time.Duration, error) {
- if err := validateDuration(p); err != nil {
- return 0, err
- }
- d := time.Duration(p.Seconds) * time.Second
- if int64(d/time.Second) != p.Seconds {
- return 0, fmt.Errorf("duration: %#v is out of range for time.Duration", p)
- }
- if p.Nanos != 0 {
- d += time.Duration(p.Nanos) * time.Nanosecond
- if (d < 0) != (p.Nanos < 0) {
- return 0, fmt.Errorf("duration: %#v is out of range for time.Duration", p)
- }
- }
- return d, nil
-}
-
-// DurationProto converts a time.Duration to a Duration.
-func DurationProto(d time.Duration) *Duration {
- nanos := d.Nanoseconds()
- secs := nanos / 1e9
- nanos -= secs * 1e9
- return &Duration{
- Seconds: secs,
- Nanos: int32(nanos),
- }
-}
diff --git a/vendor/github.com/gogo/protobuf/types/duration.pb.go b/vendor/github.com/gogo/protobuf/types/duration.pb.go
deleted file mode 100644
index 4deafcb1c..000000000
--- a/vendor/github.com/gogo/protobuf/types/duration.pb.go
+++ /dev/null
@@ -1,517 +0,0 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: google/protobuf/duration.proto
-
-package types
-
-import (
- bytes "bytes"
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- io "io"
- math "math"
- math_bits "math/bits"
- reflect "reflect"
- strings "strings"
-)
-
-// 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.GoGoProtoPackageIsVersion3 // please upgrade the proto package
-
-// A Duration represents a signed, fixed-length span of time represented
-// as a count of seconds and fractions of seconds at nanosecond
-// resolution. It is independent of any calendar and concepts like "day"
-// or "month". It is related to Timestamp in that the difference between
-// two Timestamp values is a Duration and it can be added or subtracted
-// from a Timestamp. Range is approximately +-10,000 years.
-//
-// # Examples
-//
-// Example 1: Compute Duration from two Timestamps in pseudo code.
-//
-// Timestamp start = ...;
-// Timestamp end = ...;
-// Duration duration = ...;
-//
-// duration.seconds = end.seconds - start.seconds;
-// duration.nanos = end.nanos - start.nanos;
-//
-// if (duration.seconds < 0 && duration.nanos > 0) {
-// duration.seconds += 1;
-// duration.nanos -= 1000000000;
-// } else if (durations.seconds > 0 && duration.nanos < 0) {
-// duration.seconds -= 1;
-// duration.nanos += 1000000000;
-// }
-//
-// Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
-//
-// Timestamp start = ...;
-// Duration duration = ...;
-// Timestamp end = ...;
-//
-// end.seconds = start.seconds + duration.seconds;
-// end.nanos = start.nanos + duration.nanos;
-//
-// if (end.nanos < 0) {
-// end.seconds -= 1;
-// end.nanos += 1000000000;
-// } else if (end.nanos >= 1000000000) {
-// end.seconds += 1;
-// end.nanos -= 1000000000;
-// }
-//
-// Example 3: Compute Duration from datetime.timedelta in Python.
-//
-// td = datetime.timedelta(days=3, minutes=10)
-// duration = Duration()
-// duration.FromTimedelta(td)
-//
-// # JSON Mapping
-//
-// In JSON format, the Duration type is encoded as a string rather than an
-// object, where the string ends in the suffix "s" (indicating seconds) and
-// is preceded by the number of seconds, with nanoseconds expressed as
-// fractional seconds. For example, 3 seconds with 0 nanoseconds should be
-// encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should
-// be expressed in JSON format as "3.000000001s", and 3 seconds and 1
-// microsecond should be expressed in JSON format as "3.000001s".
-//
-//
-type Duration struct {
- // Signed seconds of the span of time. Must be from -315,576,000,000
- // to +315,576,000,000 inclusive. Note: these bounds are computed from:
- // 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
- Seconds int64 `protobuf:"varint,1,opt,name=seconds,proto3" json:"seconds,omitempty"`
- // Signed fractions of a second at nanosecond resolution of the span
- // of time. Durations less than one second are represented with a 0
- // `seconds` field and a positive or negative `nanos` field. For durations
- // of one second or more, a non-zero value for the `nanos` field must be
- // of the same sign as the `seconds` field. Must be from -999,999,999
- // to +999,999,999 inclusive.
- Nanos int32 `protobuf:"varint,2,opt,name=nanos,proto3" json:"nanos,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Duration) Reset() { *m = Duration{} }
-func (*Duration) ProtoMessage() {}
-func (*Duration) Descriptor() ([]byte, []int) {
- return fileDescriptor_23597b2ebd7ac6c5, []int{0}
-}
-func (*Duration) XXX_WellKnownType() string { return "Duration" }
-func (m *Duration) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *Duration) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Duration.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *Duration) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Duration.Merge(m, src)
-}
-func (m *Duration) XXX_Size() int {
- return m.Size()
-}
-func (m *Duration) XXX_DiscardUnknown() {
- xxx_messageInfo_Duration.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Duration proto.InternalMessageInfo
-
-func (m *Duration) GetSeconds() int64 {
- if m != nil {
- return m.Seconds
- }
- return 0
-}
-
-func (m *Duration) GetNanos() int32 {
- if m != nil {
- return m.Nanos
- }
- return 0
-}
-
-func (*Duration) XXX_MessageName() string {
- return "google.protobuf.Duration"
-}
-func init() {
- proto.RegisterType((*Duration)(nil), "google.protobuf.Duration")
-}
-
-func init() { proto.RegisterFile("google/protobuf/duration.proto", fileDescriptor_23597b2ebd7ac6c5) }
-
-var fileDescriptor_23597b2ebd7ac6c5 = []byte{
- // 209 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4b, 0xcf, 0xcf, 0x4f,
- 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0x29, 0x2d, 0x4a,
- 0x2c, 0xc9, 0xcc, 0xcf, 0xd3, 0x03, 0x8b, 0x08, 0xf1, 0x43, 0xe4, 0xf5, 0x60, 0xf2, 0x4a, 0x56,
- 0x5c, 0x1c, 0x2e, 0x50, 0x25, 0x42, 0x12, 0x5c, 0xec, 0xc5, 0xa9, 0xc9, 0xf9, 0x79, 0x29, 0xc5,
- 0x12, 0x8c, 0x0a, 0x8c, 0x1a, 0xcc, 0x41, 0x30, 0xae, 0x90, 0x08, 0x17, 0x6b, 0x5e, 0x62, 0x5e,
- 0x7e, 0xb1, 0x04, 0x93, 0x02, 0xa3, 0x06, 0x6b, 0x10, 0x84, 0xe3, 0x54, 0x7f, 0xe3, 0xa1, 0x1c,
- 0xc3, 0x87, 0x87, 0x72, 0x8c, 0x2b, 0x1e, 0xc9, 0x31, 0x9e, 0x78, 0x24, 0xc7, 0x78, 0xe1, 0x91,
- 0x1c, 0xe3, 0x83, 0x47, 0x72, 0x8c, 0x2f, 0x1e, 0xc9, 0x31, 0x7c, 0x78, 0x24, 0xc7, 0xb8, 0xe2,
- 0xb1, 0x1c, 0xe3, 0x89, 0xc7, 0x72, 0x8c, 0x5c, 0xc2, 0xc9, 0xf9, 0xb9, 0x7a, 0x68, 0x56, 0x3b,
- 0xf1, 0xc2, 0x2c, 0x0e, 0x00, 0x89, 0x04, 0x30, 0x46, 0xb1, 0x96, 0x54, 0x16, 0xa4, 0x16, 0xff,
- 0x60, 0x64, 0x5c, 0xc4, 0xc4, 0xec, 0x1e, 0xe0, 0xb4, 0x8a, 0x49, 0xce, 0x1d, 0xa2, 0x25, 0x00,
- 0xaa, 0x45, 0x2f, 0x3c, 0x35, 0x27, 0xc7, 0x3b, 0x2f, 0xbf, 0x3c, 0x2f, 0x04, 0xa4, 0x32, 0x89,
- 0x0d, 0x6c, 0x96, 0x31, 0x20, 0x00, 0x00, 0xff, 0xff, 0x8a, 0x1c, 0x64, 0x4e, 0xf6, 0x00, 0x00,
- 0x00,
-}
-
-func (this *Duration) Compare(that interface{}) int {
- if that == nil {
- if this == nil {
- return 0
- }
- return 1
- }
-
- that1, ok := that.(*Duration)
- if !ok {
- that2, ok := that.(Duration)
- if ok {
- that1 = &that2
- } else {
- return 1
- }
- }
- if that1 == nil {
- if this == nil {
- return 0
- }
- return 1
- } else if this == nil {
- return -1
- }
- if this.Seconds != that1.Seconds {
- if this.Seconds < that1.Seconds {
- return -1
- }
- return 1
- }
- if this.Nanos != that1.Nanos {
- if this.Nanos < that1.Nanos {
- return -1
- }
- return 1
- }
- if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 {
- return c
- }
- return 0
-}
-func (this *Duration) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*Duration)
- if !ok {
- that2, ok := that.(Duration)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if this.Seconds != that1.Seconds {
- return false
- }
- if this.Nanos != that1.Nanos {
- return false
- }
- if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
- return false
- }
- return true
-}
-func (this *Duration) GoString() string {
- if this == nil {
- return "nil"
- }
- s := make([]string, 0, 6)
- s = append(s, "&types.Duration{")
- s = append(s, "Seconds: "+fmt.Sprintf("%#v", this.Seconds)+",\n")
- s = append(s, "Nanos: "+fmt.Sprintf("%#v", this.Nanos)+",\n")
- if this.XXX_unrecognized != nil {
- s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
- }
- s = append(s, "}")
- return strings.Join(s, "")
-}
-func valueToGoStringDuration(v interface{}, typ string) string {
- rv := reflect.ValueOf(v)
- if rv.IsNil() {
- return "nil"
- }
- pv := reflect.Indirect(rv).Interface()
- return fmt.Sprintf("func(v %v) *%v { return &v } ( %#v )", typ, typ, pv)
-}
-func (m *Duration) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *Duration) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Duration) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Nanos != 0 {
- i = encodeVarintDuration(dAtA, i, uint64(m.Nanos))
- i--
- dAtA[i] = 0x10
- }
- if m.Seconds != 0 {
- i = encodeVarintDuration(dAtA, i, uint64(m.Seconds))
- i--
- dAtA[i] = 0x8
- }
- return len(dAtA) - i, nil
-}
-
-func encodeVarintDuration(dAtA []byte, offset int, v uint64) int {
- offset -= sovDuration(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
-func (m *Duration) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Seconds != 0 {
- n += 1 + sovDuration(uint64(m.Seconds))
- }
- if m.Nanos != 0 {
- n += 1 + sovDuration(uint64(m.Nanos))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func sovDuration(x uint64) (n int) {
- return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozDuration(x uint64) (n int) {
- return sovDuration(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (m *Duration) 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 ErrIntOverflowDuration
- }
- 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: Duration: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Duration: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Seconds", wireType)
- }
- m.Seconds = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDuration
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Seconds |= int64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 2:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Nanos", wireType)
- }
- m.Nanos = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDuration
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Nanos |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- default:
- iNdEx = preIndex
- skippy, err := skipDuration(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDuration
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func skipDuration(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowDuration
- }
- 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, ErrIntOverflowDuration
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowDuration
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLengthDuration
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroupDuration
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLengthDuration
- }
- if depth == 0 {
- return iNdEx, nil
- }
- }
- return 0, io.ErrUnexpectedEOF
-}
-
-var (
- ErrInvalidLengthDuration = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflowDuration = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroupDuration = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/vendor/github.com/gogo/protobuf/types/duration_gogo.go b/vendor/github.com/gogo/protobuf/types/duration_gogo.go
deleted file mode 100644
index 90e7670e2..000000000
--- a/vendor/github.com/gogo/protobuf/types/duration_gogo.go
+++ /dev/null
@@ -1,100 +0,0 @@
-// Protocol Buffers for Go with Gadgets
-//
-// Copyright (c) 2016, The GoGo Authors. All rights reserved.
-// http://github.com/gogo/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-package types
-
-import (
- "fmt"
- "time"
-)
-
-func NewPopulatedDuration(r interface {
- Int63() int64
-}, easy bool) *Duration {
- this := &Duration{}
- maxSecs := time.Hour.Nanoseconds() / 1e9
- max := 2 * maxSecs
- s := int64(r.Int63()) % max
- s -= maxSecs
- neg := int64(1)
- if s < 0 {
- neg = -1
- }
- this.Seconds = s
- this.Nanos = int32(neg * (r.Int63() % 1e9))
- return this
-}
-
-func (d *Duration) String() string {
- td, err := DurationFromProto(d)
- if err != nil {
- return fmt.Sprintf("(%v)", err)
- }
- return td.String()
-}
-
-func NewPopulatedStdDuration(r interface {
- Int63() int64
-}, easy bool) *time.Duration {
- dur := NewPopulatedDuration(r, easy)
- d, err := DurationFromProto(dur)
- if err != nil {
- return nil
- }
- return &d
-}
-
-func SizeOfStdDuration(d time.Duration) int {
- dur := DurationProto(d)
- return dur.Size()
-}
-
-func StdDurationMarshal(d time.Duration) ([]byte, error) {
- size := SizeOfStdDuration(d)
- buf := make([]byte, size)
- _, err := StdDurationMarshalTo(d, buf)
- return buf, err
-}
-
-func StdDurationMarshalTo(d time.Duration, data []byte) (int, error) {
- dur := DurationProto(d)
- return dur.MarshalTo(data)
-}
-
-func StdDurationUnmarshal(d *time.Duration, data []byte) error {
- dur := &Duration{}
- if err := dur.Unmarshal(data); err != nil {
- return err
- }
- dd, err := DurationFromProto(dur)
- if err != nil {
- return err
- }
- *d = dd
- return nil
-}
diff --git a/vendor/github.com/gogo/protobuf/types/empty.pb.go b/vendor/github.com/gogo/protobuf/types/empty.pb.go
deleted file mode 100644
index 9e94748b3..000000000
--- a/vendor/github.com/gogo/protobuf/types/empty.pb.go
+++ /dev/null
@@ -1,462 +0,0 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: google/protobuf/empty.proto
-
-package types
-
-import (
- bytes "bytes"
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- io "io"
- math "math"
- math_bits "math/bits"
- reflect "reflect"
- strings "strings"
-)
-
-// 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.GoGoProtoPackageIsVersion3 // please upgrade the proto package
-
-// A generic empty message that you can re-use to avoid defining duplicated
-// empty messages in your APIs. A typical example is to use it as the request
-// or the response type of an API method. For instance:
-//
-// service Foo {
-// rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
-// }
-//
-// The JSON representation for `Empty` is empty JSON object `{}`.
-type Empty struct {
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Empty) Reset() { *m = Empty{} }
-func (*Empty) ProtoMessage() {}
-func (*Empty) Descriptor() ([]byte, []int) {
- return fileDescriptor_900544acb223d5b8, []int{0}
-}
-func (*Empty) XXX_WellKnownType() string { return "Empty" }
-func (m *Empty) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *Empty) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Empty.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *Empty) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Empty.Merge(m, src)
-}
-func (m *Empty) XXX_Size() int {
- return m.Size()
-}
-func (m *Empty) XXX_DiscardUnknown() {
- xxx_messageInfo_Empty.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Empty proto.InternalMessageInfo
-
-func (*Empty) XXX_MessageName() string {
- return "google.protobuf.Empty"
-}
-func init() {
- proto.RegisterType((*Empty)(nil), "google.protobuf.Empty")
-}
-
-func init() { proto.RegisterFile("google/protobuf/empty.proto", fileDescriptor_900544acb223d5b8) }
-
-var fileDescriptor_900544acb223d5b8 = []byte{
- // 176 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4e, 0xcf, 0xcf, 0x4f,
- 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0xcd, 0x2d, 0x28,
- 0xa9, 0xd4, 0x03, 0x73, 0x85, 0xf8, 0x21, 0x92, 0x7a, 0x30, 0x49, 0x25, 0x76, 0x2e, 0x56, 0x57,
- 0x90, 0xbc, 0x53, 0x0b, 0xe3, 0x8d, 0x87, 0x72, 0x0c, 0x1f, 0x1e, 0xca, 0x31, 0xfe, 0x78, 0x28,
- 0xc7, 0xd8, 0xf0, 0x48, 0x8e, 0x71, 0xc5, 0x23, 0x39, 0xc6, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c,
- 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, 0xf1, 0xc5, 0x23, 0x39, 0x86, 0x0f, 0x20, 0xf1, 0xc7, 0x72,
- 0x8c, 0x27, 0x1e, 0xcb, 0x31, 0x72, 0x09, 0x27, 0xe7, 0xe7, 0xea, 0xa1, 0x19, 0xe8, 0xc4, 0x05,
- 0x36, 0x2e, 0x00, 0xc4, 0x0d, 0x60, 0x8c, 0x62, 0x2d, 0xa9, 0x2c, 0x48, 0x2d, 0xfe, 0xc1, 0xc8,
- 0xb8, 0x88, 0x89, 0xd9, 0x3d, 0xc0, 0x69, 0x15, 0x93, 0x9c, 0x3b, 0x44, 0x7d, 0x00, 0x54, 0xbd,
- 0x5e, 0x78, 0x6a, 0x4e, 0x8e, 0x77, 0x5e, 0x7e, 0x79, 0x5e, 0x08, 0x48, 0x65, 0x12, 0x1b, 0xd8,
- 0x20, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0x21, 0xbe, 0xb6, 0x31, 0xc6, 0x00, 0x00, 0x00,
-}
-
-func (this *Empty) Compare(that interface{}) int {
- if that == nil {
- if this == nil {
- return 0
- }
- return 1
- }
-
- that1, ok := that.(*Empty)
- if !ok {
- that2, ok := that.(Empty)
- if ok {
- that1 = &that2
- } else {
- return 1
- }
- }
- if that1 == nil {
- if this == nil {
- return 0
- }
- return 1
- } else if this == nil {
- return -1
- }
- if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 {
- return c
- }
- return 0
-}
-func (this *Empty) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*Empty)
- if !ok {
- that2, ok := that.(Empty)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
- return false
- }
- return true
-}
-func (this *Empty) GoString() string {
- if this == nil {
- return "nil"
- }
- s := make([]string, 0, 4)
- s = append(s, "&types.Empty{")
- if this.XXX_unrecognized != nil {
- s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
- }
- s = append(s, "}")
- return strings.Join(s, "")
-}
-func valueToGoStringEmpty(v interface{}, typ string) string {
- rv := reflect.ValueOf(v)
- if rv.IsNil() {
- return "nil"
- }
- pv := reflect.Indirect(rv).Interface()
- return fmt.Sprintf("func(v %v) *%v { return &v } ( %#v )", typ, typ, pv)
-}
-func (m *Empty) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *Empty) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Empty) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- return len(dAtA) - i, nil
-}
-
-func encodeVarintEmpty(dAtA []byte, offset int, v uint64) int {
- offset -= sovEmpty(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
-func NewPopulatedEmpty(r randyEmpty, easy bool) *Empty {
- this := &Empty{}
- if !easy && r.Intn(10) != 0 {
- this.XXX_unrecognized = randUnrecognizedEmpty(r, 1)
- }
- return this
-}
-
-type randyEmpty interface {
- Float32() float32
- Float64() float64
- Int63() int64
- Int31() int32
- Uint32() uint32
- Intn(n int) int
-}
-
-func randUTF8RuneEmpty(r randyEmpty) rune {
- ru := r.Intn(62)
- if ru < 10 {
- return rune(ru + 48)
- } else if ru < 36 {
- return rune(ru + 55)
- }
- return rune(ru + 61)
-}
-func randStringEmpty(r randyEmpty) string {
- v1 := r.Intn(100)
- tmps := make([]rune, v1)
- for i := 0; i < v1; i++ {
- tmps[i] = randUTF8RuneEmpty(r)
- }
- return string(tmps)
-}
-func randUnrecognizedEmpty(r randyEmpty, maxFieldNumber int) (dAtA []byte) {
- l := r.Intn(5)
- for i := 0; i < l; i++ {
- wire := r.Intn(4)
- if wire == 3 {
- wire = 5
- }
- fieldNumber := maxFieldNumber + r.Intn(100)
- dAtA = randFieldEmpty(dAtA, r, fieldNumber, wire)
- }
- return dAtA
-}
-func randFieldEmpty(dAtA []byte, r randyEmpty, fieldNumber int, wire int) []byte {
- key := uint32(fieldNumber)<<3 | uint32(wire)
- switch wire {
- case 0:
- dAtA = encodeVarintPopulateEmpty(dAtA, uint64(key))
- v2 := r.Int63()
- if r.Intn(2) == 0 {
- v2 *= -1
- }
- dAtA = encodeVarintPopulateEmpty(dAtA, uint64(v2))
- case 1:
- dAtA = encodeVarintPopulateEmpty(dAtA, uint64(key))
- dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)))
- case 2:
- dAtA = encodeVarintPopulateEmpty(dAtA, uint64(key))
- ll := r.Intn(100)
- dAtA = encodeVarintPopulateEmpty(dAtA, uint64(ll))
- for j := 0; j < ll; j++ {
- dAtA = append(dAtA, byte(r.Intn(256)))
- }
- default:
- dAtA = encodeVarintPopulateEmpty(dAtA, uint64(key))
- dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)))
- }
- return dAtA
-}
-func encodeVarintPopulateEmpty(dAtA []byte, v uint64) []byte {
- for v >= 1<<7 {
- dAtA = append(dAtA, uint8(uint64(v)&0x7f|0x80))
- v >>= 7
- }
- dAtA = append(dAtA, uint8(v))
- return dAtA
-}
-func (m *Empty) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func sovEmpty(x uint64) (n int) {
- return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozEmpty(x uint64) (n int) {
- return sovEmpty(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (this *Empty) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&Empty{`,
- `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
- `}`,
- }, "")
- return s
-}
-func valueToStringEmpty(v interface{}) string {
- rv := reflect.ValueOf(v)
- if rv.IsNil() {
- return "nil"
- }
- pv := reflect.Indirect(rv).Interface()
- return fmt.Sprintf("*%v", pv)
-}
-func (m *Empty) 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 ErrIntOverflowEmpty
- }
- 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: Empty: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Empty: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- default:
- iNdEx = preIndex
- skippy, err := skipEmpty(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthEmpty
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func skipEmpty(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowEmpty
- }
- 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, ErrIntOverflowEmpty
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowEmpty
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLengthEmpty
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroupEmpty
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLengthEmpty
- }
- if depth == 0 {
- return iNdEx, nil
- }
- }
- return 0, io.ErrUnexpectedEOF
-}
-
-var (
- ErrInvalidLengthEmpty = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflowEmpty = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroupEmpty = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/vendor/github.com/gogo/protobuf/types/field_mask.pb.go b/vendor/github.com/gogo/protobuf/types/field_mask.pb.go
deleted file mode 100644
index 6ae346d92..000000000
--- a/vendor/github.com/gogo/protobuf/types/field_mask.pb.go
+++ /dev/null
@@ -1,738 +0,0 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: google/protobuf/field_mask.proto
-
-package types
-
-import (
- bytes "bytes"
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- io "io"
- math "math"
- math_bits "math/bits"
- reflect "reflect"
- strings "strings"
-)
-
-// 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.GoGoProtoPackageIsVersion3 // please upgrade the proto package
-
-// `FieldMask` represents a set of symbolic field paths, for example:
-//
-// paths: "f.a"
-// paths: "f.b.d"
-//
-// Here `f` represents a field in some root message, `a` and `b`
-// fields in the message found in `f`, and `d` a field found in the
-// message in `f.b`.
-//
-// Field masks are used to specify a subset of fields that should be
-// returned by a get operation or modified by an update operation.
-// Field masks also have a custom JSON encoding (see below).
-//
-// # Field Masks in Projections
-//
-// When used in the context of a projection, a response message or
-// sub-message is filtered by the API to only contain those fields as
-// specified in the mask. For example, if the mask in the previous
-// example is applied to a response message as follows:
-//
-// f {
-// a : 22
-// b {
-// d : 1
-// x : 2
-// }
-// y : 13
-// }
-// z: 8
-//
-// The result will not contain specific values for fields x,y and z
-// (their value will be set to the default, and omitted in proto text
-// output):
-//
-//
-// f {
-// a : 22
-// b {
-// d : 1
-// }
-// }
-//
-// A repeated field is not allowed except at the last position of a
-// paths string.
-//
-// If a FieldMask object is not present in a get operation, the
-// operation applies to all fields (as if a FieldMask of all fields
-// had been specified).
-//
-// Note that a field mask does not necessarily apply to the
-// top-level response message. In case of a REST get operation, the
-// field mask applies directly to the response, but in case of a REST
-// list operation, the mask instead applies to each individual message
-// in the returned resource list. In case of a REST custom method,
-// other definitions may be used. Where the mask applies will be
-// clearly documented together with its declaration in the API. In
-// any case, the effect on the returned resource/resources is required
-// behavior for APIs.
-//
-// # Field Masks in Update Operations
-//
-// A field mask in update operations specifies which fields of the
-// targeted resource are going to be updated. The API is required
-// to only change the values of the fields as specified in the mask
-// and leave the others untouched. If a resource is passed in to
-// describe the updated values, the API ignores the values of all
-// fields not covered by the mask.
-//
-// If a repeated field is specified for an update operation, new values will
-// be appended to the existing repeated field in the target resource. Note that
-// a repeated field is only allowed in the last position of a `paths` string.
-//
-// If a sub-message is specified in the last position of the field mask for an
-// update operation, then new value will be merged into the existing sub-message
-// in the target resource.
-//
-// For example, given the target message:
-//
-// f {
-// b {
-// d: 1
-// x: 2
-// }
-// c: [1]
-// }
-//
-// And an update message:
-//
-// f {
-// b {
-// d: 10
-// }
-// c: [2]
-// }
-//
-// then if the field mask is:
-//
-// paths: ["f.b", "f.c"]
-//
-// then the result will be:
-//
-// f {
-// b {
-// d: 10
-// x: 2
-// }
-// c: [1, 2]
-// }
-//
-// An implementation may provide options to override this default behavior for
-// repeated and message fields.
-//
-// In order to reset a field's value to the default, the field must
-// be in the mask and set to the default value in the provided resource.
-// Hence, in order to reset all fields of a resource, provide a default
-// instance of the resource and set all fields in the mask, or do
-// not provide a mask as described below.
-//
-// If a field mask is not present on update, the operation applies to
-// all fields (as if a field mask of all fields has been specified).
-// Note that in the presence of schema evolution, this may mean that
-// fields the client does not know and has therefore not filled into
-// the request will be reset to their default. If this is unwanted
-// behavior, a specific service may require a client to always specify
-// a field mask, producing an error if not.
-//
-// As with get operations, the location of the resource which
-// describes the updated values in the request message depends on the
-// operation kind. In any case, the effect of the field mask is
-// required to be honored by the API.
-//
-// ## Considerations for HTTP REST
-//
-// The HTTP kind of an update operation which uses a field mask must
-// be set to PATCH instead of PUT in order to satisfy HTTP semantics
-// (PUT must only be used for full updates).
-//
-// # JSON Encoding of Field Masks
-//
-// In JSON, a field mask is encoded as a single string where paths are
-// separated by a comma. Fields name in each path are converted
-// to/from lower-camel naming conventions.
-//
-// As an example, consider the following message declarations:
-//
-// message Profile {
-// User user = 1;
-// Photo photo = 2;
-// }
-// message User {
-// string display_name = 1;
-// string address = 2;
-// }
-//
-// In proto a field mask for `Profile` may look as such:
-//
-// mask {
-// paths: "user.display_name"
-// paths: "photo"
-// }
-//
-// In JSON, the same mask is represented as below:
-//
-// {
-// mask: "user.displayName,photo"
-// }
-//
-// # Field Masks and Oneof Fields
-//
-// Field masks treat fields in oneofs just as regular fields. Consider the
-// following message:
-//
-// message SampleMessage {
-// oneof test_oneof {
-// string name = 4;
-// SubMessage sub_message = 9;
-// }
-// }
-//
-// The field mask can be:
-//
-// mask {
-// paths: "name"
-// }
-//
-// Or:
-//
-// mask {
-// paths: "sub_message"
-// }
-//
-// Note that oneof type names ("test_oneof" in this case) cannot be used in
-// paths.
-//
-// ## Field Mask Verification
-//
-// The implementation of any API method which has a FieldMask type field in the
-// request should verify the included field paths, and return an
-// `INVALID_ARGUMENT` error if any path is duplicated or unmappable.
-type FieldMask struct {
- // The set of field mask paths.
- Paths []string `protobuf:"bytes,1,rep,name=paths,proto3" json:"paths,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *FieldMask) Reset() { *m = FieldMask{} }
-func (*FieldMask) ProtoMessage() {}
-func (*FieldMask) Descriptor() ([]byte, []int) {
- return fileDescriptor_5158202634f0da48, []int{0}
-}
-func (m *FieldMask) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *FieldMask) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_FieldMask.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *FieldMask) XXX_Merge(src proto.Message) {
- xxx_messageInfo_FieldMask.Merge(m, src)
-}
-func (m *FieldMask) XXX_Size() int {
- return m.Size()
-}
-func (m *FieldMask) XXX_DiscardUnknown() {
- xxx_messageInfo_FieldMask.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_FieldMask proto.InternalMessageInfo
-
-func (m *FieldMask) GetPaths() []string {
- if m != nil {
- return m.Paths
- }
- return nil
-}
-
-func (*FieldMask) XXX_MessageName() string {
- return "google.protobuf.FieldMask"
-}
-func init() {
- proto.RegisterType((*FieldMask)(nil), "google.protobuf.FieldMask")
-}
-
-func init() { proto.RegisterFile("google/protobuf/field_mask.proto", fileDescriptor_5158202634f0da48) }
-
-var fileDescriptor_5158202634f0da48 = []byte{
- // 203 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x48, 0xcf, 0xcf, 0x4f,
- 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0xcb, 0x4c, 0xcd,
- 0x49, 0x89, 0xcf, 0x4d, 0x2c, 0xce, 0xd6, 0x03, 0x8b, 0x09, 0xf1, 0x43, 0x54, 0xe8, 0xc1, 0x54,
- 0x28, 0x29, 0x72, 0x71, 0xba, 0x81, 0x14, 0xf9, 0x26, 0x16, 0x67, 0x0b, 0x89, 0x70, 0xb1, 0x16,
- 0x24, 0x96, 0x64, 0x14, 0x4b, 0x30, 0x2a, 0x30, 0x6b, 0x70, 0x06, 0x41, 0x38, 0x4e, 0x1d, 0x8c,
- 0x37, 0x1e, 0xca, 0x31, 0x7c, 0x78, 0x28, 0xc7, 0xf8, 0xe3, 0xa1, 0x1c, 0x63, 0xc3, 0x23, 0x39,
- 0xc6, 0x15, 0x8f, 0xe4, 0x18, 0x4f, 0x3c, 0x92, 0x63, 0xbc, 0xf0, 0x48, 0x8e, 0xf1, 0xc1, 0x23,
- 0x39, 0xc6, 0x17, 0x8f, 0xe4, 0x18, 0x3e, 0x80, 0xc4, 0x1f, 0xcb, 0x31, 0x9e, 0x78, 0x2c, 0xc7,
- 0xc8, 0x25, 0x9c, 0x9c, 0x9f, 0xab, 0x87, 0x66, 0x95, 0x13, 0x1f, 0xdc, 0xa2, 0x00, 0x90, 0x50,
- 0x00, 0x63, 0x14, 0x6b, 0x49, 0x65, 0x41, 0x6a, 0xf1, 0x0f, 0x46, 0xc6, 0x45, 0x4c, 0xcc, 0xee,
- 0x01, 0x4e, 0xab, 0x98, 0xe4, 0xdc, 0x21, 0x7a, 0x02, 0xa0, 0x7a, 0xf4, 0xc2, 0x53, 0x73, 0x72,
- 0xbc, 0xf3, 0xf2, 0xcb, 0xf3, 0x42, 0x40, 0x2a, 0x93, 0xd8, 0xc0, 0x86, 0x19, 0x03, 0x02, 0x00,
- 0x00, 0xff, 0xff, 0x43, 0xa0, 0x83, 0xd0, 0xe9, 0x00, 0x00, 0x00,
-}
-
-func (this *FieldMask) Compare(that interface{}) int {
- if that == nil {
- if this == nil {
- return 0
- }
- return 1
- }
-
- that1, ok := that.(*FieldMask)
- if !ok {
- that2, ok := that.(FieldMask)
- if ok {
- that1 = &that2
- } else {
- return 1
- }
- }
- if that1 == nil {
- if this == nil {
- return 0
- }
- return 1
- } else if this == nil {
- return -1
- }
- if len(this.Paths) != len(that1.Paths) {
- if len(this.Paths) < len(that1.Paths) {
- return -1
- }
- return 1
- }
- for i := range this.Paths {
- if this.Paths[i] != that1.Paths[i] {
- if this.Paths[i] < that1.Paths[i] {
- return -1
- }
- return 1
- }
- }
- if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 {
- return c
- }
- return 0
-}
-func (this *FieldMask) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*FieldMask)
- if !ok {
- that2, ok := that.(FieldMask)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if len(this.Paths) != len(that1.Paths) {
- return false
- }
- for i := range this.Paths {
- if this.Paths[i] != that1.Paths[i] {
- return false
- }
- }
- if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
- return false
- }
- return true
-}
-func (this *FieldMask) GoString() string {
- if this == nil {
- return "nil"
- }
- s := make([]string, 0, 5)
- s = append(s, "&types.FieldMask{")
- s = append(s, "Paths: "+fmt.Sprintf("%#v", this.Paths)+",\n")
- if this.XXX_unrecognized != nil {
- s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
- }
- s = append(s, "}")
- return strings.Join(s, "")
-}
-func valueToGoStringFieldMask(v interface{}, typ string) string {
- rv := reflect.ValueOf(v)
- if rv.IsNil() {
- return "nil"
- }
- pv := reflect.Indirect(rv).Interface()
- return fmt.Sprintf("func(v %v) *%v { return &v } ( %#v )", typ, typ, pv)
-}
-func (m *FieldMask) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *FieldMask) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *FieldMask) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Paths) > 0 {
- for iNdEx := len(m.Paths) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.Paths[iNdEx])
- copy(dAtA[i:], m.Paths[iNdEx])
- i = encodeVarintFieldMask(dAtA, i, uint64(len(m.Paths[iNdEx])))
- i--
- dAtA[i] = 0xa
- }
- }
- return len(dAtA) - i, nil
-}
-
-func encodeVarintFieldMask(dAtA []byte, offset int, v uint64) int {
- offset -= sovFieldMask(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
-func NewPopulatedFieldMask(r randyFieldMask, easy bool) *FieldMask {
- this := &FieldMask{}
- v1 := r.Intn(10)
- this.Paths = make([]string, v1)
- for i := 0; i < v1; i++ {
- this.Paths[i] = string(randStringFieldMask(r))
- }
- if !easy && r.Intn(10) != 0 {
- this.XXX_unrecognized = randUnrecognizedFieldMask(r, 2)
- }
- return this
-}
-
-type randyFieldMask interface {
- Float32() float32
- Float64() float64
- Int63() int64
- Int31() int32
- Uint32() uint32
- Intn(n int) int
-}
-
-func randUTF8RuneFieldMask(r randyFieldMask) rune {
- ru := r.Intn(62)
- if ru < 10 {
- return rune(ru + 48)
- } else if ru < 36 {
- return rune(ru + 55)
- }
- return rune(ru + 61)
-}
-func randStringFieldMask(r randyFieldMask) string {
- v2 := r.Intn(100)
- tmps := make([]rune, v2)
- for i := 0; i < v2; i++ {
- tmps[i] = randUTF8RuneFieldMask(r)
- }
- return string(tmps)
-}
-func randUnrecognizedFieldMask(r randyFieldMask, maxFieldNumber int) (dAtA []byte) {
- l := r.Intn(5)
- for i := 0; i < l; i++ {
- wire := r.Intn(4)
- if wire == 3 {
- wire = 5
- }
- fieldNumber := maxFieldNumber + r.Intn(100)
- dAtA = randFieldFieldMask(dAtA, r, fieldNumber, wire)
- }
- return dAtA
-}
-func randFieldFieldMask(dAtA []byte, r randyFieldMask, fieldNumber int, wire int) []byte {
- key := uint32(fieldNumber)<<3 | uint32(wire)
- switch wire {
- case 0:
- dAtA = encodeVarintPopulateFieldMask(dAtA, uint64(key))
- v3 := r.Int63()
- if r.Intn(2) == 0 {
- v3 *= -1
- }
- dAtA = encodeVarintPopulateFieldMask(dAtA, uint64(v3))
- case 1:
- dAtA = encodeVarintPopulateFieldMask(dAtA, uint64(key))
- dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)))
- case 2:
- dAtA = encodeVarintPopulateFieldMask(dAtA, uint64(key))
- ll := r.Intn(100)
- dAtA = encodeVarintPopulateFieldMask(dAtA, uint64(ll))
- for j := 0; j < ll; j++ {
- dAtA = append(dAtA, byte(r.Intn(256)))
- }
- default:
- dAtA = encodeVarintPopulateFieldMask(dAtA, uint64(key))
- dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)))
- }
- return dAtA
-}
-func encodeVarintPopulateFieldMask(dAtA []byte, v uint64) []byte {
- for v >= 1<<7 {
- dAtA = append(dAtA, uint8(uint64(v)&0x7f|0x80))
- v >>= 7
- }
- dAtA = append(dAtA, uint8(v))
- return dAtA
-}
-func (m *FieldMask) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if len(m.Paths) > 0 {
- for _, s := range m.Paths {
- l = len(s)
- n += 1 + l + sovFieldMask(uint64(l))
- }
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func sovFieldMask(x uint64) (n int) {
- return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozFieldMask(x uint64) (n int) {
- return sovFieldMask(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (this *FieldMask) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&FieldMask{`,
- `Paths:` + fmt.Sprintf("%v", this.Paths) + `,`,
- `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
- `}`,
- }, "")
- return s
-}
-func valueToStringFieldMask(v interface{}) string {
- rv := reflect.ValueOf(v)
- if rv.IsNil() {
- return "nil"
- }
- pv := reflect.Indirect(rv).Interface()
- return fmt.Sprintf("*%v", pv)
-}
-func (m *FieldMask) 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 ErrIntOverflowFieldMask
- }
- 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: FieldMask: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: FieldMask: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Paths", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowFieldMask
- }
- 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 ErrInvalidLengthFieldMask
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthFieldMask
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Paths = append(m.Paths, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipFieldMask(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthFieldMask
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func skipFieldMask(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowFieldMask
- }
- 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, ErrIntOverflowFieldMask
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowFieldMask
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLengthFieldMask
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroupFieldMask
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLengthFieldMask
- }
- if depth == 0 {
- return iNdEx, nil
- }
- }
- return 0, io.ErrUnexpectedEOF
-}
-
-var (
- ErrInvalidLengthFieldMask = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflowFieldMask = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroupFieldMask = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/vendor/github.com/gogo/protobuf/types/protosize.go b/vendor/github.com/gogo/protobuf/types/protosize.go
deleted file mode 100644
index 3a2d1b7e1..000000000
--- a/vendor/github.com/gogo/protobuf/types/protosize.go
+++ /dev/null
@@ -1,34 +0,0 @@
-package types
-
-func (m *Any) ProtoSize() (n int) { return m.Size() }
-func (m *Api) ProtoSize() (n int) { return m.Size() }
-func (m *Method) ProtoSize() (n int) { return m.Size() }
-func (m *Mixin) ProtoSize() (n int) { return m.Size() }
-func (m *Duration) ProtoSize() (n int) { return m.Size() }
-func (m *Empty) ProtoSize() (n int) { return m.Size() }
-func (m *FieldMask) ProtoSize() (n int) { return m.Size() }
-func (m *SourceContext) ProtoSize() (n int) { return m.Size() }
-func (m *Struct) ProtoSize() (n int) { return m.Size() }
-func (m *Value) ProtoSize() (n int) { return m.Size() }
-func (m *Value_NullValue) ProtoSize() (n int) { return m.Size() }
-func (m *Value_NumberValue) ProtoSize() (n int) { return m.Size() }
-func (m *Value_StringValue) ProtoSize() (n int) { return m.Size() }
-func (m *Value_BoolValue) ProtoSize() (n int) { return m.Size() }
-func (m *Value_StructValue) ProtoSize() (n int) { return m.Size() }
-func (m *Value_ListValue) ProtoSize() (n int) { return m.Size() }
-func (m *ListValue) ProtoSize() (n int) { return m.Size() }
-func (m *Timestamp) ProtoSize() (n int) { return m.Size() }
-func (m *Type) ProtoSize() (n int) { return m.Size() }
-func (m *Field) ProtoSize() (n int) { return m.Size() }
-func (m *Enum) ProtoSize() (n int) { return m.Size() }
-func (m *EnumValue) ProtoSize() (n int) { return m.Size() }
-func (m *Option) ProtoSize() (n int) { return m.Size() }
-func (m *DoubleValue) ProtoSize() (n int) { return m.Size() }
-func (m *FloatValue) ProtoSize() (n int) { return m.Size() }
-func (m *Int64Value) ProtoSize() (n int) { return m.Size() }
-func (m *UInt64Value) ProtoSize() (n int) { return m.Size() }
-func (m *Int32Value) ProtoSize() (n int) { return m.Size() }
-func (m *UInt32Value) ProtoSize() (n int) { return m.Size() }
-func (m *BoolValue) ProtoSize() (n int) { return m.Size() }
-func (m *StringValue) ProtoSize() (n int) { return m.Size() }
-func (m *BytesValue) ProtoSize() (n int) { return m.Size() }
diff --git a/vendor/github.com/gogo/protobuf/types/source_context.pb.go b/vendor/github.com/gogo/protobuf/types/source_context.pb.go
deleted file mode 100644
index 8e6ce71b2..000000000
--- a/vendor/github.com/gogo/protobuf/types/source_context.pb.go
+++ /dev/null
@@ -1,524 +0,0 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: google/protobuf/source_context.proto
-
-package types
-
-import (
- bytes "bytes"
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- io "io"
- math "math"
- math_bits "math/bits"
- reflect "reflect"
- strings "strings"
-)
-
-// 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.GoGoProtoPackageIsVersion3 // please upgrade the proto package
-
-// `SourceContext` represents information about the source of a
-// protobuf element, like the file in which it is defined.
-type SourceContext struct {
- // The path-qualified name of the .proto file that contained the associated
- // protobuf element. For example: `"google/protobuf/source_context.proto"`.
- FileName string `protobuf:"bytes,1,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *SourceContext) Reset() { *m = SourceContext{} }
-func (*SourceContext) ProtoMessage() {}
-func (*SourceContext) Descriptor() ([]byte, []int) {
- return fileDescriptor_b686cdb126d509db, []int{0}
-}
-func (m *SourceContext) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *SourceContext) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_SourceContext.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *SourceContext) XXX_Merge(src proto.Message) {
- xxx_messageInfo_SourceContext.Merge(m, src)
-}
-func (m *SourceContext) XXX_Size() int {
- return m.Size()
-}
-func (m *SourceContext) XXX_DiscardUnknown() {
- xxx_messageInfo_SourceContext.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_SourceContext proto.InternalMessageInfo
-
-func (m *SourceContext) GetFileName() string {
- if m != nil {
- return m.FileName
- }
- return ""
-}
-
-func (*SourceContext) XXX_MessageName() string {
- return "google.protobuf.SourceContext"
-}
-func init() {
- proto.RegisterType((*SourceContext)(nil), "google.protobuf.SourceContext")
-}
-
-func init() {
- proto.RegisterFile("google/protobuf/source_context.proto", fileDescriptor_b686cdb126d509db)
-}
-
-var fileDescriptor_b686cdb126d509db = []byte{
- // 212 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x49, 0xcf, 0xcf, 0x4f,
- 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x2f, 0xce, 0x2f, 0x2d,
- 0x4a, 0x4e, 0x8d, 0x4f, 0xce, 0xcf, 0x2b, 0x49, 0xad, 0x28, 0xd1, 0x03, 0x8b, 0x0b, 0xf1, 0x43,
- 0x54, 0xe9, 0xc1, 0x54, 0x29, 0xe9, 0x70, 0xf1, 0x06, 0x83, 0x15, 0x3a, 0x43, 0xd4, 0x09, 0x49,
- 0x73, 0x71, 0xa6, 0x65, 0xe6, 0xa4, 0xc6, 0xe7, 0x25, 0xe6, 0xa6, 0x4a, 0x30, 0x2a, 0x30, 0x6a,
- 0x70, 0x06, 0x71, 0x80, 0x04, 0xfc, 0x12, 0x73, 0x53, 0x9d, 0x3a, 0x19, 0x6f, 0x3c, 0x94, 0x63,
- 0xf8, 0xf0, 0x50, 0x8e, 0xf1, 0xc7, 0x43, 0x39, 0xc6, 0x86, 0x47, 0x72, 0x8c, 0x2b, 0x1e, 0xc9,
- 0x31, 0x9e, 0x78, 0x24, 0xc7, 0x78, 0xe1, 0x91, 0x1c, 0xe3, 0x83, 0x47, 0x72, 0x8c, 0x2f, 0x1e,
- 0xc9, 0x31, 0x7c, 0x00, 0x89, 0x3f, 0x96, 0x63, 0x3c, 0xf1, 0x58, 0x8e, 0x91, 0x4b, 0x38, 0x39,
- 0x3f, 0x57, 0x0f, 0xcd, 0x56, 0x27, 0x21, 0x14, 0x3b, 0x03, 0x40, 0xc2, 0x01, 0x8c, 0x51, 0xac,
- 0x25, 0x95, 0x05, 0xa9, 0xc5, 0x8b, 0x98, 0x98, 0xdd, 0x03, 0x9c, 0x56, 0x31, 0xc9, 0xb9, 0x43,
- 0x34, 0x05, 0x40, 0x35, 0xe9, 0x85, 0xa7, 0xe6, 0xe4, 0x78, 0xe7, 0xe5, 0x97, 0xe7, 0x85, 0x80,
- 0x94, 0x25, 0xb1, 0x81, 0x4d, 0x33, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0xb8, 0x37, 0x2a, 0xa1,
- 0xf9, 0x00, 0x00, 0x00,
-}
-
-func (this *SourceContext) Compare(that interface{}) int {
- if that == nil {
- if this == nil {
- return 0
- }
- return 1
- }
-
- that1, ok := that.(*SourceContext)
- if !ok {
- that2, ok := that.(SourceContext)
- if ok {
- that1 = &that2
- } else {
- return 1
- }
- }
- if that1 == nil {
- if this == nil {
- return 0
- }
- return 1
- } else if this == nil {
- return -1
- }
- if this.FileName != that1.FileName {
- if this.FileName < that1.FileName {
- return -1
- }
- return 1
- }
- if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 {
- return c
- }
- return 0
-}
-func (this *SourceContext) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*SourceContext)
- if !ok {
- that2, ok := that.(SourceContext)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if this.FileName != that1.FileName {
- return false
- }
- if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
- return false
- }
- return true
-}
-func (this *SourceContext) GoString() string {
- if this == nil {
- return "nil"
- }
- s := make([]string, 0, 5)
- s = append(s, "&types.SourceContext{")
- s = append(s, "FileName: "+fmt.Sprintf("%#v", this.FileName)+",\n")
- if this.XXX_unrecognized != nil {
- s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
- }
- s = append(s, "}")
- return strings.Join(s, "")
-}
-func valueToGoStringSourceContext(v interface{}, typ string) string {
- rv := reflect.ValueOf(v)
- if rv.IsNil() {
- return "nil"
- }
- pv := reflect.Indirect(rv).Interface()
- return fmt.Sprintf("func(v %v) *%v { return &v } ( %#v )", typ, typ, pv)
-}
-func (m *SourceContext) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *SourceContext) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *SourceContext) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.FileName) > 0 {
- i -= len(m.FileName)
- copy(dAtA[i:], m.FileName)
- i = encodeVarintSourceContext(dAtA, i, uint64(len(m.FileName)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func encodeVarintSourceContext(dAtA []byte, offset int, v uint64) int {
- offset -= sovSourceContext(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
-func NewPopulatedSourceContext(r randySourceContext, easy bool) *SourceContext {
- this := &SourceContext{}
- this.FileName = string(randStringSourceContext(r))
- if !easy && r.Intn(10) != 0 {
- this.XXX_unrecognized = randUnrecognizedSourceContext(r, 2)
- }
- return this
-}
-
-type randySourceContext interface {
- Float32() float32
- Float64() float64
- Int63() int64
- Int31() int32
- Uint32() uint32
- Intn(n int) int
-}
-
-func randUTF8RuneSourceContext(r randySourceContext) rune {
- ru := r.Intn(62)
- if ru < 10 {
- return rune(ru + 48)
- } else if ru < 36 {
- return rune(ru + 55)
- }
- return rune(ru + 61)
-}
-func randStringSourceContext(r randySourceContext) string {
- v1 := r.Intn(100)
- tmps := make([]rune, v1)
- for i := 0; i < v1; i++ {
- tmps[i] = randUTF8RuneSourceContext(r)
- }
- return string(tmps)
-}
-func randUnrecognizedSourceContext(r randySourceContext, maxFieldNumber int) (dAtA []byte) {
- l := r.Intn(5)
- for i := 0; i < l; i++ {
- wire := r.Intn(4)
- if wire == 3 {
- wire = 5
- }
- fieldNumber := maxFieldNumber + r.Intn(100)
- dAtA = randFieldSourceContext(dAtA, r, fieldNumber, wire)
- }
- return dAtA
-}
-func randFieldSourceContext(dAtA []byte, r randySourceContext, fieldNumber int, wire int) []byte {
- key := uint32(fieldNumber)<<3 | uint32(wire)
- switch wire {
- case 0:
- dAtA = encodeVarintPopulateSourceContext(dAtA, uint64(key))
- v2 := r.Int63()
- if r.Intn(2) == 0 {
- v2 *= -1
- }
- dAtA = encodeVarintPopulateSourceContext(dAtA, uint64(v2))
- case 1:
- dAtA = encodeVarintPopulateSourceContext(dAtA, uint64(key))
- dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)))
- case 2:
- dAtA = encodeVarintPopulateSourceContext(dAtA, uint64(key))
- ll := r.Intn(100)
- dAtA = encodeVarintPopulateSourceContext(dAtA, uint64(ll))
- for j := 0; j < ll; j++ {
- dAtA = append(dAtA, byte(r.Intn(256)))
- }
- default:
- dAtA = encodeVarintPopulateSourceContext(dAtA, uint64(key))
- dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)))
- }
- return dAtA
-}
-func encodeVarintPopulateSourceContext(dAtA []byte, v uint64) []byte {
- for v >= 1<<7 {
- dAtA = append(dAtA, uint8(uint64(v)&0x7f|0x80))
- v >>= 7
- }
- dAtA = append(dAtA, uint8(v))
- return dAtA
-}
-func (m *SourceContext) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.FileName)
- if l > 0 {
- n += 1 + l + sovSourceContext(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func sovSourceContext(x uint64) (n int) {
- return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozSourceContext(x uint64) (n int) {
- return sovSourceContext(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (this *SourceContext) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&SourceContext{`,
- `FileName:` + fmt.Sprintf("%v", this.FileName) + `,`,
- `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
- `}`,
- }, "")
- return s
-}
-func valueToStringSourceContext(v interface{}) string {
- rv := reflect.ValueOf(v)
- if rv.IsNil() {
- return "nil"
- }
- pv := reflect.Indirect(rv).Interface()
- return fmt.Sprintf("*%v", pv)
-}
-func (m *SourceContext) 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 ErrIntOverflowSourceContext
- }
- 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: SourceContext: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: SourceContext: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field FileName", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSourceContext
- }
- 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 ErrInvalidLengthSourceContext
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthSourceContext
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.FileName = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipSourceContext(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthSourceContext
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func skipSourceContext(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowSourceContext
- }
- 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, ErrIntOverflowSourceContext
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowSourceContext
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLengthSourceContext
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroupSourceContext
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLengthSourceContext
- }
- if depth == 0 {
- return iNdEx, nil
- }
- }
- return 0, io.ErrUnexpectedEOF
-}
-
-var (
- ErrInvalidLengthSourceContext = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflowSourceContext = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroupSourceContext = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/vendor/github.com/gogo/protobuf/types/struct.pb.go b/vendor/github.com/gogo/protobuf/types/struct.pb.go
deleted file mode 100644
index c0457312e..000000000
--- a/vendor/github.com/gogo/protobuf/types/struct.pb.go
+++ /dev/null
@@ -1,2271 +0,0 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: google/protobuf/struct.proto
-
-package types
-
-import (
- bytes "bytes"
- encoding_binary "encoding/binary"
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys"
- io "io"
- math "math"
- math_bits "math/bits"
- reflect "reflect"
- strconv "strconv"
- strings "strings"
-)
-
-// 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.GoGoProtoPackageIsVersion3 // please upgrade the proto package
-
-// `NullValue` is a singleton enumeration to represent the null value for the
-// `Value` type union.
-//
-// The JSON representation for `NullValue` is JSON `null`.
-type NullValue int32
-
-const (
- // Null value.
- NullValue_NULL_VALUE NullValue = 0
-)
-
-var NullValue_name = map[int32]string{
- 0: "NULL_VALUE",
-}
-
-var NullValue_value = map[string]int32{
- "NULL_VALUE": 0,
-}
-
-func (NullValue) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_df322afd6c9fb402, []int{0}
-}
-
-func (NullValue) XXX_WellKnownType() string { return "NullValue" }
-
-// `Struct` represents a structured data value, consisting of fields
-// which map to dynamically typed values. In some languages, `Struct`
-// might be supported by a native representation. For example, in
-// scripting languages like JS a struct is represented as an
-// object. The details of that representation are described together
-// with the proto support for the language.
-//
-// The JSON representation for `Struct` is JSON object.
-type Struct struct {
- // Unordered map of dynamically typed values.
- Fields map[string]*Value `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Struct) Reset() { *m = Struct{} }
-func (*Struct) ProtoMessage() {}
-func (*Struct) Descriptor() ([]byte, []int) {
- return fileDescriptor_df322afd6c9fb402, []int{0}
-}
-func (*Struct) XXX_WellKnownType() string { return "Struct" }
-func (m *Struct) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *Struct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Struct.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *Struct) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Struct.Merge(m, src)
-}
-func (m *Struct) XXX_Size() int {
- return m.Size()
-}
-func (m *Struct) XXX_DiscardUnknown() {
- xxx_messageInfo_Struct.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Struct proto.InternalMessageInfo
-
-func (m *Struct) GetFields() map[string]*Value {
- if m != nil {
- return m.Fields
- }
- return nil
-}
-
-func (*Struct) XXX_MessageName() string {
- return "google.protobuf.Struct"
-}
-
-// `Value` represents a dynamically typed value which can be either
-// null, a number, a string, a boolean, a recursive struct value, or a
-// list of values. A producer of value is expected to set one of that
-// variants, absence of any variant indicates an error.
-//
-// The JSON representation for `Value` is JSON value.
-type Value struct {
- // The kind of value.
- //
- // Types that are valid to be assigned to Kind:
- // *Value_NullValue
- // *Value_NumberValue
- // *Value_StringValue
- // *Value_BoolValue
- // *Value_StructValue
- // *Value_ListValue
- Kind isValue_Kind `protobuf_oneof:"kind"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Value) Reset() { *m = Value{} }
-func (*Value) ProtoMessage() {}
-func (*Value) Descriptor() ([]byte, []int) {
- return fileDescriptor_df322afd6c9fb402, []int{1}
-}
-func (*Value) XXX_WellKnownType() string { return "Value" }
-func (m *Value) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *Value) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Value.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *Value) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Value.Merge(m, src)
-}
-func (m *Value) XXX_Size() int {
- return m.Size()
-}
-func (m *Value) XXX_DiscardUnknown() {
- xxx_messageInfo_Value.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Value proto.InternalMessageInfo
-
-type isValue_Kind interface {
- isValue_Kind()
- Equal(interface{}) bool
- MarshalTo([]byte) (int, error)
- Size() int
- Compare(interface{}) int
-}
-
-type Value_NullValue struct {
- NullValue NullValue `protobuf:"varint,1,opt,name=null_value,json=nullValue,proto3,enum=google.protobuf.NullValue,oneof" json:"null_value,omitempty"`
-}
-type Value_NumberValue struct {
- NumberValue float64 `protobuf:"fixed64,2,opt,name=number_value,json=numberValue,proto3,oneof" json:"number_value,omitempty"`
-}
-type Value_StringValue struct {
- StringValue string `protobuf:"bytes,3,opt,name=string_value,json=stringValue,proto3,oneof" json:"string_value,omitempty"`
-}
-type Value_BoolValue struct {
- BoolValue bool `protobuf:"varint,4,opt,name=bool_value,json=boolValue,proto3,oneof" json:"bool_value,omitempty"`
-}
-type Value_StructValue struct {
- StructValue *Struct `protobuf:"bytes,5,opt,name=struct_value,json=structValue,proto3,oneof" json:"struct_value,omitempty"`
-}
-type Value_ListValue struct {
- ListValue *ListValue `protobuf:"bytes,6,opt,name=list_value,json=listValue,proto3,oneof" json:"list_value,omitempty"`
-}
-
-func (*Value_NullValue) isValue_Kind() {}
-func (*Value_NumberValue) isValue_Kind() {}
-func (*Value_StringValue) isValue_Kind() {}
-func (*Value_BoolValue) isValue_Kind() {}
-func (*Value_StructValue) isValue_Kind() {}
-func (*Value_ListValue) isValue_Kind() {}
-
-func (m *Value) GetKind() isValue_Kind {
- if m != nil {
- return m.Kind
- }
- return nil
-}
-
-func (m *Value) GetNullValue() NullValue {
- if x, ok := m.GetKind().(*Value_NullValue); ok {
- return x.NullValue
- }
- return NullValue_NULL_VALUE
-}
-
-func (m *Value) GetNumberValue() float64 {
- if x, ok := m.GetKind().(*Value_NumberValue); ok {
- return x.NumberValue
- }
- return 0
-}
-
-func (m *Value) GetStringValue() string {
- if x, ok := m.GetKind().(*Value_StringValue); ok {
- return x.StringValue
- }
- return ""
-}
-
-func (m *Value) GetBoolValue() bool {
- if x, ok := m.GetKind().(*Value_BoolValue); ok {
- return x.BoolValue
- }
- return false
-}
-
-func (m *Value) GetStructValue() *Struct {
- if x, ok := m.GetKind().(*Value_StructValue); ok {
- return x.StructValue
- }
- return nil
-}
-
-func (m *Value) GetListValue() *ListValue {
- if x, ok := m.GetKind().(*Value_ListValue); ok {
- return x.ListValue
- }
- return nil
-}
-
-// XXX_OneofWrappers is for the internal use of the proto package.
-func (*Value) XXX_OneofWrappers() []interface{} {
- return []interface{}{
- (*Value_NullValue)(nil),
- (*Value_NumberValue)(nil),
- (*Value_StringValue)(nil),
- (*Value_BoolValue)(nil),
- (*Value_StructValue)(nil),
- (*Value_ListValue)(nil),
- }
-}
-
-func (*Value) XXX_MessageName() string {
- return "google.protobuf.Value"
-}
-
-// `ListValue` is a wrapper around a repeated field of values.
-//
-// The JSON representation for `ListValue` is JSON array.
-type ListValue struct {
- // Repeated field of dynamically typed values.
- Values []*Value `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *ListValue) Reset() { *m = ListValue{} }
-func (*ListValue) ProtoMessage() {}
-func (*ListValue) Descriptor() ([]byte, []int) {
- return fileDescriptor_df322afd6c9fb402, []int{2}
-}
-func (*ListValue) XXX_WellKnownType() string { return "ListValue" }
-func (m *ListValue) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *ListValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_ListValue.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *ListValue) XXX_Merge(src proto.Message) {
- xxx_messageInfo_ListValue.Merge(m, src)
-}
-func (m *ListValue) XXX_Size() int {
- return m.Size()
-}
-func (m *ListValue) XXX_DiscardUnknown() {
- xxx_messageInfo_ListValue.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_ListValue proto.InternalMessageInfo
-
-func (m *ListValue) GetValues() []*Value {
- if m != nil {
- return m.Values
- }
- return nil
-}
-
-func (*ListValue) XXX_MessageName() string {
- return "google.protobuf.ListValue"
-}
-func init() {
- proto.RegisterEnum("google.protobuf.NullValue", NullValue_name, NullValue_value)
- proto.RegisterType((*Struct)(nil), "google.protobuf.Struct")
- proto.RegisterMapType((map[string]*Value)(nil), "google.protobuf.Struct.FieldsEntry")
- proto.RegisterType((*Value)(nil), "google.protobuf.Value")
- proto.RegisterType((*ListValue)(nil), "google.protobuf.ListValue")
-}
-
-func init() { proto.RegisterFile("google/protobuf/struct.proto", fileDescriptor_df322afd6c9fb402) }
-
-var fileDescriptor_df322afd6c9fb402 = []byte{
- // 443 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x91, 0xb1, 0x6f, 0xd3, 0x40,
- 0x14, 0xc6, 0xfd, 0x9c, 0xc6, 0x22, 0xcf, 0xa8, 0x54, 0x87, 0x04, 0x51, 0x41, 0x47, 0x94, 0x2e,
- 0x11, 0x42, 0xae, 0x14, 0x16, 0x44, 0x58, 0x88, 0x54, 0x5a, 0x89, 0xa8, 0x32, 0x86, 0x16, 0x89,
- 0x25, 0xc2, 0xae, 0x1b, 0x59, 0xbd, 0xde, 0x55, 0xf6, 0x1d, 0x28, 0x1b, 0x0b, 0xff, 0x03, 0x33,
- 0x13, 0x62, 0xe4, 0xaf, 0xe8, 0xc8, 0xc8, 0x48, 0xdc, 0x85, 0xb1, 0x63, 0x47, 0x74, 0x77, 0xb6,
- 0x41, 0x8d, 0xb2, 0xf9, 0x7d, 0xf7, 0x7b, 0xdf, 0x7b, 0xdf, 0x33, 0xde, 0x9f, 0x09, 0x31, 0x63,
- 0xe9, 0xf6, 0x59, 0x2e, 0xa4, 0x88, 0xd5, 0xf1, 0x76, 0x21, 0x73, 0x95, 0xc8, 0xc0, 0xd4, 0xe4,
- 0x96, 0x7d, 0x0d, 0xea, 0xd7, 0xfe, 0x17, 0x40, 0xef, 0xb5, 0x21, 0xc8, 0x08, 0xbd, 0xe3, 0x2c,
- 0x65, 0x47, 0x45, 0x17, 0x7a, 0xad, 0x81, 0x3f, 0xdc, 0x0a, 0xae, 0xc1, 0x81, 0x05, 0x83, 0x17,
- 0x86, 0xda, 0xe1, 0x32, 0x9f, 0x47, 0x55, 0xcb, 0xe6, 0x2b, 0xf4, 0xff, 0x93, 0xc9, 0x06, 0xb6,
- 0x4e, 0xd2, 0x79, 0x17, 0x7a, 0x30, 0xe8, 0x44, 0xfa, 0x93, 0x3c, 0xc2, 0xf6, 0x87, 0xf7, 0x4c,
- 0xa5, 0x5d, 0xb7, 0x07, 0x03, 0x7f, 0x78, 0x67, 0xc9, 0xfc, 0x50, 0xbf, 0x46, 0x16, 0x7a, 0xea,
- 0x3e, 0x81, 0xfe, 0x0f, 0x17, 0xdb, 0x46, 0x24, 0x23, 0x44, 0xae, 0x18, 0x9b, 0x5a, 0x03, 0x6d,
- 0xba, 0x3e, 0xdc, 0x5c, 0x32, 0xd8, 0x57, 0x8c, 0x19, 0x7e, 0xcf, 0x89, 0x3a, 0xbc, 0x2e, 0xc8,
- 0x16, 0xde, 0xe4, 0xea, 0x34, 0x4e, 0xf3, 0xe9, 0xbf, 0xf9, 0xb0, 0xe7, 0x44, 0xbe, 0x55, 0x1b,
- 0xa8, 0x90, 0x79, 0xc6, 0x67, 0x15, 0xd4, 0xd2, 0x8b, 0x6b, 0xc8, 0xaa, 0x16, 0x7a, 0x80, 0x18,
- 0x0b, 0x51, 0xaf, 0xb1, 0xd6, 0x83, 0xc1, 0x0d, 0x3d, 0x4a, 0x6b, 0x16, 0x78, 0x66, 0x5c, 0x54,
- 0x22, 0x2b, 0xa4, 0x6d, 0xa2, 0xde, 0x5d, 0x71, 0xc7, 0xca, 0x5e, 0x25, 0xb2, 0x49, 0xc9, 0xb2,
- 0xa2, 0xee, 0xf5, 0x4c, 0xef, 0x72, 0xca, 0x49, 0x56, 0xc8, 0x26, 0x25, 0xab, 0x8b, 0xb1, 0x87,
- 0x6b, 0x27, 0x19, 0x3f, 0xea, 0x8f, 0xb0, 0xd3, 0x10, 0x24, 0x40, 0xcf, 0x98, 0xd5, 0x7f, 0x74,
- 0xd5, 0xd1, 0x2b, 0xea, 0xe1, 0x3d, 0xec, 0x34, 0x47, 0x24, 0xeb, 0x88, 0xfb, 0x07, 0x93, 0xc9,
- 0xf4, 0xf0, 0xf9, 0xe4, 0x60, 0x67, 0xc3, 0x19, 0x7f, 0x86, 0x5f, 0x0b, 0xea, 0x5c, 0x2e, 0x28,
- 0x5c, 0x2d, 0x28, 0x7c, 0x2a, 0x29, 0x7c, 0x2b, 0x29, 0x9c, 0x97, 0x14, 0x7e, 0x96, 0x14, 0x7e,
- 0x97, 0x14, 0xfe, 0x94, 0xd4, 0xb9, 0xd4, 0xfa, 0x05, 0x85, 0xf3, 0x0b, 0x0a, 0x78, 0x3b, 0x11,
- 0xa7, 0xd7, 0x47, 0x8e, 0x7d, 0x9b, 0x3e, 0xd4, 0x75, 0x08, 0xef, 0xda, 0x72, 0x7e, 0x96, 0x16,
- 0x57, 0x00, 0x5f, 0xdd, 0xd6, 0x6e, 0x38, 0xfe, 0xee, 0xd2, 0x5d, 0xdb, 0x10, 0xd6, 0x3b, 0xbe,
- 0x4d, 0x19, 0x7b, 0xc9, 0xc5, 0x47, 0xfe, 0x46, 0x93, 0xb1, 0x67, 0x9c, 0x1e, 0xff, 0x0d, 0x00,
- 0x00, 0xff, 0xff, 0x26, 0x30, 0xdb, 0xbe, 0xe9, 0x02, 0x00, 0x00,
-}
-
-func (this *Struct) Compare(that interface{}) int {
- if that == nil {
- if this == nil {
- return 0
- }
- return 1
- }
-
- that1, ok := that.(*Struct)
- if !ok {
- that2, ok := that.(Struct)
- if ok {
- that1 = &that2
- } else {
- return 1
- }
- }
- if that1 == nil {
- if this == nil {
- return 0
- }
- return 1
- } else if this == nil {
- return -1
- }
- if len(this.Fields) != len(that1.Fields) {
- if len(this.Fields) < len(that1.Fields) {
- return -1
- }
- return 1
- }
- for i := range this.Fields {
- if c := this.Fields[i].Compare(that1.Fields[i]); c != 0 {
- return c
- }
- }
- if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 {
- return c
- }
- return 0
-}
-func (this *Value) Compare(that interface{}) int {
- if that == nil {
- if this == nil {
- return 0
- }
- return 1
- }
-
- that1, ok := that.(*Value)
- if !ok {
- that2, ok := that.(Value)
- if ok {
- that1 = &that2
- } else {
- return 1
- }
- }
- if that1 == nil {
- if this == nil {
- return 0
- }
- return 1
- } else if this == nil {
- return -1
- }
- if that1.Kind == nil {
- if this.Kind != nil {
- return 1
- }
- } else if this.Kind == nil {
- return -1
- } else {
- thisType := -1
- switch this.Kind.(type) {
- case *Value_NullValue:
- thisType = 0
- case *Value_NumberValue:
- thisType = 1
- case *Value_StringValue:
- thisType = 2
- case *Value_BoolValue:
- thisType = 3
- case *Value_StructValue:
- thisType = 4
- case *Value_ListValue:
- thisType = 5
- default:
- panic(fmt.Sprintf("compare: unexpected type %T in oneof", this.Kind))
- }
- that1Type := -1
- switch that1.Kind.(type) {
- case *Value_NullValue:
- that1Type = 0
- case *Value_NumberValue:
- that1Type = 1
- case *Value_StringValue:
- that1Type = 2
- case *Value_BoolValue:
- that1Type = 3
- case *Value_StructValue:
- that1Type = 4
- case *Value_ListValue:
- that1Type = 5
- default:
- panic(fmt.Sprintf("compare: unexpected type %T in oneof", that1.Kind))
- }
- if thisType == that1Type {
- if c := this.Kind.Compare(that1.Kind); c != 0 {
- return c
- }
- } else if thisType < that1Type {
- return -1
- } else if thisType > that1Type {
- return 1
- }
- }
- if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 {
- return c
- }
- return 0
-}
-func (this *Value_NullValue) Compare(that interface{}) int {
- if that == nil {
- if this == nil {
- return 0
- }
- return 1
- }
-
- that1, ok := that.(*Value_NullValue)
- if !ok {
- that2, ok := that.(Value_NullValue)
- if ok {
- that1 = &that2
- } else {
- return 1
- }
- }
- if that1 == nil {
- if this == nil {
- return 0
- }
- return 1
- } else if this == nil {
- return -1
- }
- if this.NullValue != that1.NullValue {
- if this.NullValue < that1.NullValue {
- return -1
- }
- return 1
- }
- return 0
-}
-func (this *Value_NumberValue) Compare(that interface{}) int {
- if that == nil {
- if this == nil {
- return 0
- }
- return 1
- }
-
- that1, ok := that.(*Value_NumberValue)
- if !ok {
- that2, ok := that.(Value_NumberValue)
- if ok {
- that1 = &that2
- } else {
- return 1
- }
- }
- if that1 == nil {
- if this == nil {
- return 0
- }
- return 1
- } else if this == nil {
- return -1
- }
- if this.NumberValue != that1.NumberValue {
- if this.NumberValue < that1.NumberValue {
- return -1
- }
- return 1
- }
- return 0
-}
-func (this *Value_StringValue) Compare(that interface{}) int {
- if that == nil {
- if this == nil {
- return 0
- }
- return 1
- }
-
- that1, ok := that.(*Value_StringValue)
- if !ok {
- that2, ok := that.(Value_StringValue)
- if ok {
- that1 = &that2
- } else {
- return 1
- }
- }
- if that1 == nil {
- if this == nil {
- return 0
- }
- return 1
- } else if this == nil {
- return -1
- }
- if this.StringValue != that1.StringValue {
- if this.StringValue < that1.StringValue {
- return -1
- }
- return 1
- }
- return 0
-}
-func (this *Value_BoolValue) Compare(that interface{}) int {
- if that == nil {
- if this == nil {
- return 0
- }
- return 1
- }
-
- that1, ok := that.(*Value_BoolValue)
- if !ok {
- that2, ok := that.(Value_BoolValue)
- if ok {
- that1 = &that2
- } else {
- return 1
- }
- }
- if that1 == nil {
- if this == nil {
- return 0
- }
- return 1
- } else if this == nil {
- return -1
- }
- if this.BoolValue != that1.BoolValue {
- if !this.BoolValue {
- return -1
- }
- return 1
- }
- return 0
-}
-func (this *Value_StructValue) Compare(that interface{}) int {
- if that == nil {
- if this == nil {
- return 0
- }
- return 1
- }
-
- that1, ok := that.(*Value_StructValue)
- if !ok {
- that2, ok := that.(Value_StructValue)
- if ok {
- that1 = &that2
- } else {
- return 1
- }
- }
- if that1 == nil {
- if this == nil {
- return 0
- }
- return 1
- } else if this == nil {
- return -1
- }
- if c := this.StructValue.Compare(that1.StructValue); c != 0 {
- return c
- }
- return 0
-}
-func (this *Value_ListValue) Compare(that interface{}) int {
- if that == nil {
- if this == nil {
- return 0
- }
- return 1
- }
-
- that1, ok := that.(*Value_ListValue)
- if !ok {
- that2, ok := that.(Value_ListValue)
- if ok {
- that1 = &that2
- } else {
- return 1
- }
- }
- if that1 == nil {
- if this == nil {
- return 0
- }
- return 1
- } else if this == nil {
- return -1
- }
- if c := this.ListValue.Compare(that1.ListValue); c != 0 {
- return c
- }
- return 0
-}
-func (this *ListValue) Compare(that interface{}) int {
- if that == nil {
- if this == nil {
- return 0
- }
- return 1
- }
-
- that1, ok := that.(*ListValue)
- if !ok {
- that2, ok := that.(ListValue)
- if ok {
- that1 = &that2
- } else {
- return 1
- }
- }
- if that1 == nil {
- if this == nil {
- return 0
- }
- return 1
- } else if this == nil {
- return -1
- }
- if len(this.Values) != len(that1.Values) {
- if len(this.Values) < len(that1.Values) {
- return -1
- }
- return 1
- }
- for i := range this.Values {
- if c := this.Values[i].Compare(that1.Values[i]); c != 0 {
- return c
- }
- }
- if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 {
- return c
- }
- return 0
-}
-func (x NullValue) String() string {
- s, ok := NullValue_name[int32(x)]
- if ok {
- return s
- }
- return strconv.Itoa(int(x))
-}
-func (this *Struct) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*Struct)
- if !ok {
- that2, ok := that.(Struct)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if len(this.Fields) != len(that1.Fields) {
- return false
- }
- for i := range this.Fields {
- if !this.Fields[i].Equal(that1.Fields[i]) {
- return false
- }
- }
- if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
- return false
- }
- return true
-}
-func (this *Value) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*Value)
- if !ok {
- that2, ok := that.(Value)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if that1.Kind == nil {
- if this.Kind != nil {
- return false
- }
- } else if this.Kind == nil {
- return false
- } else if !this.Kind.Equal(that1.Kind) {
- return false
- }
- if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
- return false
- }
- return true
-}
-func (this *Value_NullValue) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*Value_NullValue)
- if !ok {
- that2, ok := that.(Value_NullValue)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if this.NullValue != that1.NullValue {
- return false
- }
- return true
-}
-func (this *Value_NumberValue) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*Value_NumberValue)
- if !ok {
- that2, ok := that.(Value_NumberValue)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if this.NumberValue != that1.NumberValue {
- return false
- }
- return true
-}
-func (this *Value_StringValue) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*Value_StringValue)
- if !ok {
- that2, ok := that.(Value_StringValue)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if this.StringValue != that1.StringValue {
- return false
- }
- return true
-}
-func (this *Value_BoolValue) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*Value_BoolValue)
- if !ok {
- that2, ok := that.(Value_BoolValue)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if this.BoolValue != that1.BoolValue {
- return false
- }
- return true
-}
-func (this *Value_StructValue) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*Value_StructValue)
- if !ok {
- that2, ok := that.(Value_StructValue)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if !this.StructValue.Equal(that1.StructValue) {
- return false
- }
- return true
-}
-func (this *Value_ListValue) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*Value_ListValue)
- if !ok {
- that2, ok := that.(Value_ListValue)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if !this.ListValue.Equal(that1.ListValue) {
- return false
- }
- return true
-}
-func (this *ListValue) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*ListValue)
- if !ok {
- that2, ok := that.(ListValue)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if len(this.Values) != len(that1.Values) {
- return false
- }
- for i := range this.Values {
- if !this.Values[i].Equal(that1.Values[i]) {
- return false
- }
- }
- if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
- return false
- }
- return true
-}
-func (this *Struct) GoString() string {
- if this == nil {
- return "nil"
- }
- s := make([]string, 0, 5)
- s = append(s, "&types.Struct{")
- keysForFields := make([]string, 0, len(this.Fields))
- for k := range this.Fields {
- keysForFields = append(keysForFields, k)
- }
- github_com_gogo_protobuf_sortkeys.Strings(keysForFields)
- mapStringForFields := "map[string]*Value{"
- for _, k := range keysForFields {
- mapStringForFields += fmt.Sprintf("%#v: %#v,", k, this.Fields[k])
- }
- mapStringForFields += "}"
- if this.Fields != nil {
- s = append(s, "Fields: "+mapStringForFields+",\n")
- }
- if this.XXX_unrecognized != nil {
- s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
- }
- s = append(s, "}")
- return strings.Join(s, "")
-}
-func (this *Value) GoString() string {
- if this == nil {
- return "nil"
- }
- s := make([]string, 0, 10)
- s = append(s, "&types.Value{")
- if this.Kind != nil {
- s = append(s, "Kind: "+fmt.Sprintf("%#v", this.Kind)+",\n")
- }
- if this.XXX_unrecognized != nil {
- s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
- }
- s = append(s, "}")
- return strings.Join(s, "")
-}
-func (this *Value_NullValue) GoString() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&types.Value_NullValue{` +
- `NullValue:` + fmt.Sprintf("%#v", this.NullValue) + `}`}, ", ")
- return s
-}
-func (this *Value_NumberValue) GoString() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&types.Value_NumberValue{` +
- `NumberValue:` + fmt.Sprintf("%#v", this.NumberValue) + `}`}, ", ")
- return s
-}
-func (this *Value_StringValue) GoString() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&types.Value_StringValue{` +
- `StringValue:` + fmt.Sprintf("%#v", this.StringValue) + `}`}, ", ")
- return s
-}
-func (this *Value_BoolValue) GoString() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&types.Value_BoolValue{` +
- `BoolValue:` + fmt.Sprintf("%#v", this.BoolValue) + `}`}, ", ")
- return s
-}
-func (this *Value_StructValue) GoString() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&types.Value_StructValue{` +
- `StructValue:` + fmt.Sprintf("%#v", this.StructValue) + `}`}, ", ")
- return s
-}
-func (this *Value_ListValue) GoString() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&types.Value_ListValue{` +
- `ListValue:` + fmt.Sprintf("%#v", this.ListValue) + `}`}, ", ")
- return s
-}
-func (this *ListValue) GoString() string {
- if this == nil {
- return "nil"
- }
- s := make([]string, 0, 5)
- s = append(s, "&types.ListValue{")
- if this.Values != nil {
- s = append(s, "Values: "+fmt.Sprintf("%#v", this.Values)+",\n")
- }
- if this.XXX_unrecognized != nil {
- s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
- }
- s = append(s, "}")
- return strings.Join(s, "")
-}
-func valueToGoStringStruct(v interface{}, typ string) string {
- rv := reflect.ValueOf(v)
- if rv.IsNil() {
- return "nil"
- }
- pv := reflect.Indirect(rv).Interface()
- return fmt.Sprintf("func(v %v) *%v { return &v } ( %#v )", typ, typ, pv)
-}
-func (m *Struct) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *Struct) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Struct) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Fields) > 0 {
- for k := range m.Fields {
- v := m.Fields[k]
- baseI := i
- if v != nil {
- {
- size, err := v.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintStruct(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- i -= len(k)
- copy(dAtA[i:], k)
- i = encodeVarintStruct(dAtA, i, uint64(len(k)))
- i--
- dAtA[i] = 0xa
- i = encodeVarintStruct(dAtA, i, uint64(baseI-i))
- i--
- dAtA[i] = 0xa
- }
- }
- return len(dAtA) - i, nil
-}
-
-func (m *Value) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *Value) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Value) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Kind != nil {
- {
- size := m.Kind.Size()
- i -= size
- if _, err := m.Kind.MarshalTo(dAtA[i:]); err != nil {
- return 0, err
- }
- }
- }
- return len(dAtA) - i, nil
-}
-
-func (m *Value_NullValue) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Value_NullValue) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- i = encodeVarintStruct(dAtA, i, uint64(m.NullValue))
- i--
- dAtA[i] = 0x8
- return len(dAtA) - i, nil
-}
-func (m *Value_NumberValue) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Value_NumberValue) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- i -= 8
- encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.NumberValue))))
- i--
- dAtA[i] = 0x11
- return len(dAtA) - i, nil
-}
-func (m *Value_StringValue) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Value_StringValue) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- i -= len(m.StringValue)
- copy(dAtA[i:], m.StringValue)
- i = encodeVarintStruct(dAtA, i, uint64(len(m.StringValue)))
- i--
- dAtA[i] = 0x1a
- return len(dAtA) - i, nil
-}
-func (m *Value_BoolValue) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Value_BoolValue) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- i--
- if m.BoolValue {
- dAtA[i] = 1
- } else {
- dAtA[i] = 0
- }
- i--
- dAtA[i] = 0x20
- return len(dAtA) - i, nil
-}
-func (m *Value_StructValue) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Value_StructValue) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- if m.StructValue != nil {
- {
- size, err := m.StructValue.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintStruct(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x2a
- }
- return len(dAtA) - i, nil
-}
-func (m *Value_ListValue) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Value_ListValue) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- if m.ListValue != nil {
- {
- size, err := m.ListValue.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintStruct(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x32
- }
- return len(dAtA) - i, nil
-}
-func (m *ListValue) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *ListValue) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *ListValue) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Values) > 0 {
- for iNdEx := len(m.Values) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Values[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintStruct(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- }
- return len(dAtA) - i, nil
-}
-
-func encodeVarintStruct(dAtA []byte, offset int, v uint64) int {
- offset -= sovStruct(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
-func NewPopulatedStruct(r randyStruct, easy bool) *Struct {
- this := &Struct{}
- if r.Intn(5) == 0 {
- v1 := r.Intn(10)
- this.Fields = make(map[string]*Value)
- for i := 0; i < v1; i++ {
- this.Fields[randStringStruct(r)] = NewPopulatedValue(r, easy)
- }
- }
- if !easy && r.Intn(10) != 0 {
- this.XXX_unrecognized = randUnrecognizedStruct(r, 2)
- }
- return this
-}
-
-func NewPopulatedValue(r randyStruct, easy bool) *Value {
- this := &Value{}
- oneofNumber_Kind := []int32{1, 2, 3, 4, 5, 6}[r.Intn(6)]
- switch oneofNumber_Kind {
- case 1:
- this.Kind = NewPopulatedValue_NullValue(r, easy)
- case 2:
- this.Kind = NewPopulatedValue_NumberValue(r, easy)
- case 3:
- this.Kind = NewPopulatedValue_StringValue(r, easy)
- case 4:
- this.Kind = NewPopulatedValue_BoolValue(r, easy)
- case 5:
- this.Kind = NewPopulatedValue_StructValue(r, easy)
- case 6:
- this.Kind = NewPopulatedValue_ListValue(r, easy)
- }
- if !easy && r.Intn(10) != 0 {
- this.XXX_unrecognized = randUnrecognizedStruct(r, 7)
- }
- return this
-}
-
-func NewPopulatedValue_NullValue(r randyStruct, easy bool) *Value_NullValue {
- this := &Value_NullValue{}
- this.NullValue = NullValue([]int32{0}[r.Intn(1)])
- return this
-}
-func NewPopulatedValue_NumberValue(r randyStruct, easy bool) *Value_NumberValue {
- this := &Value_NumberValue{}
- this.NumberValue = float64(r.Float64())
- if r.Intn(2) == 0 {
- this.NumberValue *= -1
- }
- return this
-}
-func NewPopulatedValue_StringValue(r randyStruct, easy bool) *Value_StringValue {
- this := &Value_StringValue{}
- this.StringValue = string(randStringStruct(r))
- return this
-}
-func NewPopulatedValue_BoolValue(r randyStruct, easy bool) *Value_BoolValue {
- this := &Value_BoolValue{}
- this.BoolValue = bool(bool(r.Intn(2) == 0))
- return this
-}
-func NewPopulatedValue_StructValue(r randyStruct, easy bool) *Value_StructValue {
- this := &Value_StructValue{}
- this.StructValue = NewPopulatedStruct(r, easy)
- return this
-}
-func NewPopulatedValue_ListValue(r randyStruct, easy bool) *Value_ListValue {
- this := &Value_ListValue{}
- this.ListValue = NewPopulatedListValue(r, easy)
- return this
-}
-func NewPopulatedListValue(r randyStruct, easy bool) *ListValue {
- this := &ListValue{}
- if r.Intn(5) == 0 {
- v2 := r.Intn(5)
- this.Values = make([]*Value, v2)
- for i := 0; i < v2; i++ {
- this.Values[i] = NewPopulatedValue(r, easy)
- }
- }
- if !easy && r.Intn(10) != 0 {
- this.XXX_unrecognized = randUnrecognizedStruct(r, 2)
- }
- return this
-}
-
-type randyStruct interface {
- Float32() float32
- Float64() float64
- Int63() int64
- Int31() int32
- Uint32() uint32
- Intn(n int) int
-}
-
-func randUTF8RuneStruct(r randyStruct) rune {
- ru := r.Intn(62)
- if ru < 10 {
- return rune(ru + 48)
- } else if ru < 36 {
- return rune(ru + 55)
- }
- return rune(ru + 61)
-}
-func randStringStruct(r randyStruct) string {
- v3 := r.Intn(100)
- tmps := make([]rune, v3)
- for i := 0; i < v3; i++ {
- tmps[i] = randUTF8RuneStruct(r)
- }
- return string(tmps)
-}
-func randUnrecognizedStruct(r randyStruct, maxFieldNumber int) (dAtA []byte) {
- l := r.Intn(5)
- for i := 0; i < l; i++ {
- wire := r.Intn(4)
- if wire == 3 {
- wire = 5
- }
- fieldNumber := maxFieldNumber + r.Intn(100)
- dAtA = randFieldStruct(dAtA, r, fieldNumber, wire)
- }
- return dAtA
-}
-func randFieldStruct(dAtA []byte, r randyStruct, fieldNumber int, wire int) []byte {
- key := uint32(fieldNumber)<<3 | uint32(wire)
- switch wire {
- case 0:
- dAtA = encodeVarintPopulateStruct(dAtA, uint64(key))
- v4 := r.Int63()
- if r.Intn(2) == 0 {
- v4 *= -1
- }
- dAtA = encodeVarintPopulateStruct(dAtA, uint64(v4))
- case 1:
- dAtA = encodeVarintPopulateStruct(dAtA, uint64(key))
- dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)))
- case 2:
- dAtA = encodeVarintPopulateStruct(dAtA, uint64(key))
- ll := r.Intn(100)
- dAtA = encodeVarintPopulateStruct(dAtA, uint64(ll))
- for j := 0; j < ll; j++ {
- dAtA = append(dAtA, byte(r.Intn(256)))
- }
- default:
- dAtA = encodeVarintPopulateStruct(dAtA, uint64(key))
- dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)))
- }
- return dAtA
-}
-func encodeVarintPopulateStruct(dAtA []byte, v uint64) []byte {
- for v >= 1<<7 {
- dAtA = append(dAtA, uint8(uint64(v)&0x7f|0x80))
- v >>= 7
- }
- dAtA = append(dAtA, uint8(v))
- return dAtA
-}
-func (m *Struct) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if len(m.Fields) > 0 {
- for k, v := range m.Fields {
- _ = k
- _ = v
- l = 0
- if v != nil {
- l = v.Size()
- l += 1 + sovStruct(uint64(l))
- }
- mapEntrySize := 1 + len(k) + sovStruct(uint64(len(k))) + l
- n += mapEntrySize + 1 + sovStruct(uint64(mapEntrySize))
- }
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *Value) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Kind != nil {
- n += m.Kind.Size()
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *Value_NullValue) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- n += 1 + sovStruct(uint64(m.NullValue))
- return n
-}
-func (m *Value_NumberValue) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- n += 9
- return n
-}
-func (m *Value_StringValue) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.StringValue)
- n += 1 + l + sovStruct(uint64(l))
- return n
-}
-func (m *Value_BoolValue) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- n += 2
- return n
-}
-func (m *Value_StructValue) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.StructValue != nil {
- l = m.StructValue.Size()
- n += 1 + l + sovStruct(uint64(l))
- }
- return n
-}
-func (m *Value_ListValue) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.ListValue != nil {
- l = m.ListValue.Size()
- n += 1 + l + sovStruct(uint64(l))
- }
- return n
-}
-func (m *ListValue) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if len(m.Values) > 0 {
- for _, e := range m.Values {
- l = e.Size()
- n += 1 + l + sovStruct(uint64(l))
- }
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func sovStruct(x uint64) (n int) {
- return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozStruct(x uint64) (n int) {
- return sovStruct(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (this *Struct) String() string {
- if this == nil {
- return "nil"
- }
- keysForFields := make([]string, 0, len(this.Fields))
- for k := range this.Fields {
- keysForFields = append(keysForFields, k)
- }
- github_com_gogo_protobuf_sortkeys.Strings(keysForFields)
- mapStringForFields := "map[string]*Value{"
- for _, k := range keysForFields {
- mapStringForFields += fmt.Sprintf("%v: %v,", k, this.Fields[k])
- }
- mapStringForFields += "}"
- s := strings.Join([]string{`&Struct{`,
- `Fields:` + mapStringForFields + `,`,
- `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *Value) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&Value{`,
- `Kind:` + fmt.Sprintf("%v", this.Kind) + `,`,
- `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *Value_NullValue) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&Value_NullValue{`,
- `NullValue:` + fmt.Sprintf("%v", this.NullValue) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *Value_NumberValue) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&Value_NumberValue{`,
- `NumberValue:` + fmt.Sprintf("%v", this.NumberValue) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *Value_StringValue) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&Value_StringValue{`,
- `StringValue:` + fmt.Sprintf("%v", this.StringValue) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *Value_BoolValue) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&Value_BoolValue{`,
- `BoolValue:` + fmt.Sprintf("%v", this.BoolValue) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *Value_StructValue) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&Value_StructValue{`,
- `StructValue:` + strings.Replace(fmt.Sprintf("%v", this.StructValue), "Struct", "Struct", 1) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *Value_ListValue) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&Value_ListValue{`,
- `ListValue:` + strings.Replace(fmt.Sprintf("%v", this.ListValue), "ListValue", "ListValue", 1) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *ListValue) String() string {
- if this == nil {
- return "nil"
- }
- repeatedStringForValues := "[]*Value{"
- for _, f := range this.Values {
- repeatedStringForValues += strings.Replace(f.String(), "Value", "Value", 1) + ","
- }
- repeatedStringForValues += "}"
- s := strings.Join([]string{`&ListValue{`,
- `Values:` + repeatedStringForValues + `,`,
- `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
- `}`,
- }, "")
- return s
-}
-func valueToStringStruct(v interface{}) string {
- rv := reflect.ValueOf(v)
- if rv.IsNil() {
- return "nil"
- }
- pv := reflect.Indirect(rv).Interface()
- return fmt.Sprintf("*%v", pv)
-}
-func (m *Struct) 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 ErrIntOverflowStruct
- }
- 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: Struct: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Struct: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Fields", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowStruct
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthStruct
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthStruct
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Fields == nil {
- m.Fields = make(map[string]*Value)
- }
- var mapkey string
- var mapvalue *Value
- for iNdEx < postIndex {
- entryPreIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowStruct
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- if fieldNum == 1 {
- var stringLenmapkey uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowStruct
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapkey |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapkey := int(stringLenmapkey)
- if intStringLenmapkey < 0 {
- return ErrInvalidLengthStruct
- }
- postStringIndexmapkey := iNdEx + intStringLenmapkey
- if postStringIndexmapkey < 0 {
- return ErrInvalidLengthStruct
- }
- if postStringIndexmapkey > l {
- return io.ErrUnexpectedEOF
- }
- mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
- iNdEx = postStringIndexmapkey
- } else if fieldNum == 2 {
- var mapmsglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowStruct
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- mapmsglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if mapmsglen < 0 {
- return ErrInvalidLengthStruct
- }
- postmsgIndex := iNdEx + mapmsglen
- if postmsgIndex < 0 {
- return ErrInvalidLengthStruct
- }
- if postmsgIndex > l {
- return io.ErrUnexpectedEOF
- }
- mapvalue = &Value{}
- if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil {
- return err
- }
- iNdEx = postmsgIndex
- } else {
- iNdEx = entryPreIndex
- skippy, err := skipStruct(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthStruct
- }
- if (iNdEx + skippy) > postIndex {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- m.Fields[mapkey] = mapvalue
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipStruct(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthStruct
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *Value) 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 ErrIntOverflowStruct
- }
- 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: Value: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Value: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field NullValue", wireType)
- }
- var v NullValue
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowStruct
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= NullValue(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.Kind = &Value_NullValue{v}
- case 2:
- if wireType != 1 {
- return fmt.Errorf("proto: wrong wireType = %d for field NumberValue", wireType)
- }
- var v uint64
- if (iNdEx + 8) > l {
- return io.ErrUnexpectedEOF
- }
- v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
- iNdEx += 8
- m.Kind = &Value_NumberValue{float64(math.Float64frombits(v))}
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field StringValue", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowStruct
- }
- 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 ErrInvalidLengthStruct
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthStruct
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Kind = &Value_StringValue{string(dAtA[iNdEx:postIndex])}
- iNdEx = postIndex
- case 4:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field BoolValue", wireType)
- }
- var v int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowStruct
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- b := bool(v != 0)
- m.Kind = &Value_BoolValue{b}
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field StructValue", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowStruct
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthStruct
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthStruct
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- v := &Struct{}
- if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- m.Kind = &Value_StructValue{v}
- iNdEx = postIndex
- case 6:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ListValue", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowStruct
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthStruct
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthStruct
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- v := &ListValue{}
- if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- m.Kind = &Value_ListValue{v}
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipStruct(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthStruct
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *ListValue) 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 ErrIntOverflowStruct
- }
- 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: ListValue: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ListValue: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Values", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowStruct
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthStruct
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthStruct
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Values = append(m.Values, &Value{})
- if err := m.Values[len(m.Values)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipStruct(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthStruct
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func skipStruct(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowStruct
- }
- 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, ErrIntOverflowStruct
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowStruct
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLengthStruct
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroupStruct
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLengthStruct
- }
- if depth == 0 {
- return iNdEx, nil
- }
- }
- return 0, io.ErrUnexpectedEOF
-}
-
-var (
- ErrInvalidLengthStruct = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflowStruct = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroupStruct = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/vendor/github.com/gogo/protobuf/types/timestamp.go b/vendor/github.com/gogo/protobuf/types/timestamp.go
deleted file mode 100644
index 232ada57c..000000000
--- a/vendor/github.com/gogo/protobuf/types/timestamp.go
+++ /dev/null
@@ -1,130 +0,0 @@
-// Go support for Protocol Buffers - Google's data interchange format
-//
-// Copyright 2016 The Go Authors. All rights reserved.
-// https://github.com/golang/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-package types
-
-// This file implements operations on google.protobuf.Timestamp.
-
-import (
- "errors"
- "fmt"
- "time"
-)
-
-const (
- // Seconds field of the earliest valid Timestamp.
- // This is time.Date(1, 1, 1, 0, 0, 0, 0, time.UTC).Unix().
- minValidSeconds = -62135596800
- // Seconds field just after the latest valid Timestamp.
- // This is time.Date(10000, 1, 1, 0, 0, 0, 0, time.UTC).Unix().
- maxValidSeconds = 253402300800
-)
-
-// validateTimestamp determines whether a Timestamp is valid.
-// A valid timestamp represents a time in the range
-// [0001-01-01, 10000-01-01) and has a Nanos field
-// in the range [0, 1e9).
-//
-// If the Timestamp is valid, validateTimestamp returns nil.
-// Otherwise, it returns an error that describes
-// the problem.
-//
-// Every valid Timestamp can be represented by a time.Time, but the converse is not true.
-func validateTimestamp(ts *Timestamp) error {
- if ts == nil {
- return errors.New("timestamp: nil Timestamp")
- }
- if ts.Seconds < minValidSeconds {
- return fmt.Errorf("timestamp: %#v before 0001-01-01", ts)
- }
- if ts.Seconds >= maxValidSeconds {
- return fmt.Errorf("timestamp: %#v after 10000-01-01", ts)
- }
- if ts.Nanos < 0 || ts.Nanos >= 1e9 {
- return fmt.Errorf("timestamp: %#v: nanos not in range [0, 1e9)", ts)
- }
- return nil
-}
-
-// TimestampFromProto converts a google.protobuf.Timestamp proto to a time.Time.
-// It returns an error if the argument is invalid.
-//
-// Unlike most Go functions, if Timestamp returns an error, the first return value
-// is not the zero time.Time. Instead, it is the value obtained from the
-// time.Unix function when passed the contents of the Timestamp, in the UTC
-// locale. This may or may not be a meaningful time; many invalid Timestamps
-// do map to valid time.Times.
-//
-// A nil Timestamp returns an error. The first return value in that case is
-// undefined.
-func TimestampFromProto(ts *Timestamp) (time.Time, error) {
- // Don't return the zero value on error, because corresponds to a valid
- // timestamp. Instead return whatever time.Unix gives us.
- var t time.Time
- if ts == nil {
- t = time.Unix(0, 0).UTC() // treat nil like the empty Timestamp
- } else {
- t = time.Unix(ts.Seconds, int64(ts.Nanos)).UTC()
- }
- return t, validateTimestamp(ts)
-}
-
-// TimestampNow returns a google.protobuf.Timestamp for the current time.
-func TimestampNow() *Timestamp {
- ts, err := TimestampProto(time.Now())
- if err != nil {
- panic("ptypes: time.Now() out of Timestamp range")
- }
- return ts
-}
-
-// TimestampProto converts the time.Time to a google.protobuf.Timestamp proto.
-// It returns an error if the resulting Timestamp is invalid.
-func TimestampProto(t time.Time) (*Timestamp, error) {
- ts := &Timestamp{
- Seconds: t.Unix(),
- Nanos: int32(t.Nanosecond()),
- }
- if err := validateTimestamp(ts); err != nil {
- return nil, err
- }
- return ts, nil
-}
-
-// TimestampString returns the RFC 3339 string for valid Timestamps. For invalid
-// Timestamps, it returns an error message in parentheses.
-func TimestampString(ts *Timestamp) string {
- t, err := TimestampFromProto(ts)
- if err != nil {
- return fmt.Sprintf("(%v)", err)
- }
- return t.Format(time.RFC3339Nano)
-}
diff --git a/vendor/github.com/gogo/protobuf/types/timestamp.pb.go b/vendor/github.com/gogo/protobuf/types/timestamp.pb.go
deleted file mode 100644
index 45db7b3bb..000000000
--- a/vendor/github.com/gogo/protobuf/types/timestamp.pb.go
+++ /dev/null
@@ -1,539 +0,0 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: google/protobuf/timestamp.proto
-
-package types
-
-import (
- bytes "bytes"
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- io "io"
- math "math"
- math_bits "math/bits"
- reflect "reflect"
- strings "strings"
-)
-
-// 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.GoGoProtoPackageIsVersion3 // please upgrade the proto package
-
-// A Timestamp represents a point in time independent of any time zone or local
-// calendar, encoded as a count of seconds and fractions of seconds at
-// nanosecond resolution. The count is relative to an epoch at UTC midnight on
-// January 1, 1970, in the proleptic Gregorian calendar which extends the
-// Gregorian calendar backwards to year one.
-//
-// All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
-// second table is needed for interpretation, using a [24-hour linear
-// smear](https://developers.google.com/time/smear).
-//
-// The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
-// restricting to that range, we ensure that we can convert to and from [RFC
-// 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
-//
-// # Examples
-//
-// Example 1: Compute Timestamp from POSIX `time()`.
-//
-// Timestamp timestamp;
-// timestamp.set_seconds(time(NULL));
-// timestamp.set_nanos(0);
-//
-// Example 2: Compute Timestamp from POSIX `gettimeofday()`.
-//
-// struct timeval tv;
-// gettimeofday(&tv, NULL);
-//
-// Timestamp timestamp;
-// timestamp.set_seconds(tv.tv_sec);
-// timestamp.set_nanos(tv.tv_usec * 1000);
-//
-// Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
-//
-// FILETIME ft;
-// GetSystemTimeAsFileTime(&ft);
-// UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
-//
-// // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
-// // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
-// Timestamp timestamp;
-// timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
-// timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
-//
-// Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
-//
-// long millis = System.currentTimeMillis();
-//
-// Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
-// .setNanos((int) ((millis % 1000) * 1000000)).build();
-//
-//
-// Example 5: Compute Timestamp from current time in Python.
-//
-// timestamp = Timestamp()
-// timestamp.GetCurrentTime()
-//
-// # JSON Mapping
-//
-// In JSON format, the Timestamp type is encoded as a string in the
-// [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
-// format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
-// where {year} is always expressed using four digits while {month}, {day},
-// {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
-// seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
-// are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
-// is required. A proto3 JSON serializer should always use UTC (as indicated by
-// "Z") when printing the Timestamp type and a proto3 JSON parser should be
-// able to accept both UTC and other timezones (as indicated by an offset).
-//
-// For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
-// 01:30 UTC on January 15, 2017.
-//
-// In JavaScript, one can convert a Date object to this format using the
-// standard
-// [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
-// method. In Python, a standard `datetime.datetime` object can be converted
-// to this format using
-// [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
-// the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
-// the Joda Time's [`ISODateTimeFormat.dateTime()`](
-// http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D
-// ) to obtain a formatter capable of generating timestamps in this format.
-//
-//
-type Timestamp struct {
- // Represents seconds of UTC time since Unix epoch
- // 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
- // 9999-12-31T23:59:59Z inclusive.
- Seconds int64 `protobuf:"varint,1,opt,name=seconds,proto3" json:"seconds,omitempty"`
- // Non-negative fractions of a second at nanosecond resolution. Negative
- // second values with fractions must still have non-negative nanos values
- // that count forward in time. Must be from 0 to 999,999,999
- // inclusive.
- Nanos int32 `protobuf:"varint,2,opt,name=nanos,proto3" json:"nanos,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Timestamp) Reset() { *m = Timestamp{} }
-func (*Timestamp) ProtoMessage() {}
-func (*Timestamp) Descriptor() ([]byte, []int) {
- return fileDescriptor_292007bbfe81227e, []int{0}
-}
-func (*Timestamp) XXX_WellKnownType() string { return "Timestamp" }
-func (m *Timestamp) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *Timestamp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Timestamp.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *Timestamp) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Timestamp.Merge(m, src)
-}
-func (m *Timestamp) XXX_Size() int {
- return m.Size()
-}
-func (m *Timestamp) XXX_DiscardUnknown() {
- xxx_messageInfo_Timestamp.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Timestamp proto.InternalMessageInfo
-
-func (m *Timestamp) GetSeconds() int64 {
- if m != nil {
- return m.Seconds
- }
- return 0
-}
-
-func (m *Timestamp) GetNanos() int32 {
- if m != nil {
- return m.Nanos
- }
- return 0
-}
-
-func (*Timestamp) XXX_MessageName() string {
- return "google.protobuf.Timestamp"
-}
-func init() {
- proto.RegisterType((*Timestamp)(nil), "google.protobuf.Timestamp")
-}
-
-func init() { proto.RegisterFile("google/protobuf/timestamp.proto", fileDescriptor_292007bbfe81227e) }
-
-var fileDescriptor_292007bbfe81227e = []byte{
- // 212 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4f, 0xcf, 0xcf, 0x4f,
- 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x2f, 0xc9, 0xcc, 0x4d,
- 0x2d, 0x2e, 0x49, 0xcc, 0x2d, 0xd0, 0x03, 0x0b, 0x09, 0xf1, 0x43, 0x14, 0xe8, 0xc1, 0x14, 0x28,
- 0x59, 0x73, 0x71, 0x86, 0xc0, 0xd4, 0x08, 0x49, 0x70, 0xb1, 0x17, 0xa7, 0x26, 0xe7, 0xe7, 0xa5,
- 0x14, 0x4b, 0x30, 0x2a, 0x30, 0x6a, 0x30, 0x07, 0xc1, 0xb8, 0x42, 0x22, 0x5c, 0xac, 0x79, 0x89,
- 0x79, 0xf9, 0xc5, 0x12, 0x4c, 0x0a, 0x8c, 0x1a, 0xac, 0x41, 0x10, 0x8e, 0x53, 0x03, 0xe3, 0x8d,
- 0x87, 0x72, 0x0c, 0x1f, 0x1e, 0xca, 0x31, 0xae, 0x78, 0x24, 0xc7, 0x78, 0xe2, 0x91, 0x1c, 0xe3,
- 0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, 0x31, 0xbe, 0x78, 0x24, 0xc7, 0xf0, 0xe1, 0x91, 0x1c,
- 0xe3, 0x8a, 0xc7, 0x72, 0x8c, 0x27, 0x1e, 0xcb, 0x31, 0x72, 0x09, 0x27, 0xe7, 0xe7, 0xea, 0xa1,
- 0x59, 0xee, 0xc4, 0x07, 0xb7, 0x3a, 0x00, 0x24, 0x14, 0xc0, 0x18, 0xc5, 0x5a, 0x52, 0x59, 0x90,
- 0x5a, 0xfc, 0x83, 0x91, 0x71, 0x11, 0x13, 0xb3, 0x7b, 0x80, 0xd3, 0x2a, 0x26, 0x39, 0x77, 0x88,
- 0x9e, 0x00, 0xa8, 0x1e, 0xbd, 0xf0, 0xd4, 0x9c, 0x1c, 0xef, 0xbc, 0xfc, 0xf2, 0xbc, 0x10, 0x90,
- 0xca, 0x24, 0x36, 0xb0, 0x61, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0b, 0x23, 0x83, 0xdd,
- 0xfa, 0x00, 0x00, 0x00,
-}
-
-func (this *Timestamp) Compare(that interface{}) int {
- if that == nil {
- if this == nil {
- return 0
- }
- return 1
- }
-
- that1, ok := that.(*Timestamp)
- if !ok {
- that2, ok := that.(Timestamp)
- if ok {
- that1 = &that2
- } else {
- return 1
- }
- }
- if that1 == nil {
- if this == nil {
- return 0
- }
- return 1
- } else if this == nil {
- return -1
- }
- if this.Seconds != that1.Seconds {
- if this.Seconds < that1.Seconds {
- return -1
- }
- return 1
- }
- if this.Nanos != that1.Nanos {
- if this.Nanos < that1.Nanos {
- return -1
- }
- return 1
- }
- if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 {
- return c
- }
- return 0
-}
-func (this *Timestamp) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*Timestamp)
- if !ok {
- that2, ok := that.(Timestamp)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if this.Seconds != that1.Seconds {
- return false
- }
- if this.Nanos != that1.Nanos {
- return false
- }
- if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
- return false
- }
- return true
-}
-func (this *Timestamp) GoString() string {
- if this == nil {
- return "nil"
- }
- s := make([]string, 0, 6)
- s = append(s, "&types.Timestamp{")
- s = append(s, "Seconds: "+fmt.Sprintf("%#v", this.Seconds)+",\n")
- s = append(s, "Nanos: "+fmt.Sprintf("%#v", this.Nanos)+",\n")
- if this.XXX_unrecognized != nil {
- s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
- }
- s = append(s, "}")
- return strings.Join(s, "")
-}
-func valueToGoStringTimestamp(v interface{}, typ string) string {
- rv := reflect.ValueOf(v)
- if rv.IsNil() {
- return "nil"
- }
- pv := reflect.Indirect(rv).Interface()
- return fmt.Sprintf("func(v %v) *%v { return &v } ( %#v )", typ, typ, pv)
-}
-func (m *Timestamp) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *Timestamp) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Timestamp) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Nanos != 0 {
- i = encodeVarintTimestamp(dAtA, i, uint64(m.Nanos))
- i--
- dAtA[i] = 0x10
- }
- if m.Seconds != 0 {
- i = encodeVarintTimestamp(dAtA, i, uint64(m.Seconds))
- i--
- dAtA[i] = 0x8
- }
- return len(dAtA) - i, nil
-}
-
-func encodeVarintTimestamp(dAtA []byte, offset int, v uint64) int {
- offset -= sovTimestamp(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
-func (m *Timestamp) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Seconds != 0 {
- n += 1 + sovTimestamp(uint64(m.Seconds))
- }
- if m.Nanos != 0 {
- n += 1 + sovTimestamp(uint64(m.Nanos))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func sovTimestamp(x uint64) (n int) {
- return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozTimestamp(x uint64) (n int) {
- return sovTimestamp(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (m *Timestamp) 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 ErrIntOverflowTimestamp
- }
- 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: Timestamp: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Timestamp: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Seconds", wireType)
- }
- m.Seconds = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowTimestamp
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Seconds |= int64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 2:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Nanos", wireType)
- }
- m.Nanos = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowTimestamp
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Nanos |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- default:
- iNdEx = preIndex
- skippy, err := skipTimestamp(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthTimestamp
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func skipTimestamp(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowTimestamp
- }
- 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, ErrIntOverflowTimestamp
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowTimestamp
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLengthTimestamp
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroupTimestamp
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLengthTimestamp
- }
- if depth == 0 {
- return iNdEx, nil
- }
- }
- return 0, io.ErrUnexpectedEOF
-}
-
-var (
- ErrInvalidLengthTimestamp = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflowTimestamp = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroupTimestamp = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/vendor/github.com/gogo/protobuf/types/timestamp_gogo.go b/vendor/github.com/gogo/protobuf/types/timestamp_gogo.go
deleted file mode 100644
index e03fa1315..000000000
--- a/vendor/github.com/gogo/protobuf/types/timestamp_gogo.go
+++ /dev/null
@@ -1,94 +0,0 @@
-// Protocol Buffers for Go with Gadgets
-//
-// Copyright (c) 2016, The GoGo Authors. All rights reserved.
-// http://github.com/gogo/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-package types
-
-import (
- "time"
-)
-
-func NewPopulatedTimestamp(r interface {
- Int63() int64
-}, easy bool) *Timestamp {
- this := &Timestamp{}
- ns := int64(r.Int63())
- this.Seconds = ns / 1e9
- this.Nanos = int32(ns % 1e9)
- return this
-}
-
-func (ts *Timestamp) String() string {
- return TimestampString(ts)
-}
-
-func NewPopulatedStdTime(r interface {
- Int63() int64
-}, easy bool) *time.Time {
- timestamp := NewPopulatedTimestamp(r, easy)
- t, err := TimestampFromProto(timestamp)
- if err != nil {
- return nil
- }
- return &t
-}
-
-func SizeOfStdTime(t time.Time) int {
- ts, err := TimestampProto(t)
- if err != nil {
- return 0
- }
- return ts.Size()
-}
-
-func StdTimeMarshal(t time.Time) ([]byte, error) {
- size := SizeOfStdTime(t)
- buf := make([]byte, size)
- _, err := StdTimeMarshalTo(t, buf)
- return buf, err
-}
-
-func StdTimeMarshalTo(t time.Time, data []byte) (int, error) {
- ts, err := TimestampProto(t)
- if err != nil {
- return 0, err
- }
- return ts.MarshalTo(data)
-}
-
-func StdTimeUnmarshal(t *time.Time, data []byte) error {
- ts := &Timestamp{}
- if err := ts.Unmarshal(data); err != nil {
- return err
- }
- tt, err := TimestampFromProto(ts)
- if err != nil {
- return err
- }
- *t = tt
- return nil
-}
diff --git a/vendor/github.com/gogo/protobuf/types/type.pb.go b/vendor/github.com/gogo/protobuf/types/type.pb.go
deleted file mode 100644
index 791427bb2..000000000
--- a/vendor/github.com/gogo/protobuf/types/type.pb.go
+++ /dev/null
@@ -1,3355 +0,0 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: google/protobuf/type.proto
-
-package types
-
-import (
- bytes "bytes"
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- io "io"
- math "math"
- math_bits "math/bits"
- reflect "reflect"
- strconv "strconv"
- strings "strings"
-)
-
-// 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.GoGoProtoPackageIsVersion3 // please upgrade the proto package
-
-// The syntax in which a protocol buffer element is defined.
-type Syntax int32
-
-const (
- // Syntax `proto2`.
- Syntax_SYNTAX_PROTO2 Syntax = 0
- // Syntax `proto3`.
- Syntax_SYNTAX_PROTO3 Syntax = 1
-)
-
-var Syntax_name = map[int32]string{
- 0: "SYNTAX_PROTO2",
- 1: "SYNTAX_PROTO3",
-}
-
-var Syntax_value = map[string]int32{
- "SYNTAX_PROTO2": 0,
- "SYNTAX_PROTO3": 1,
-}
-
-func (Syntax) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_dd271cc1e348c538, []int{0}
-}
-
-// Basic field types.
-type Field_Kind int32
-
-const (
- // Field type unknown.
- Field_TYPE_UNKNOWN Field_Kind = 0
- // Field type double.
- Field_TYPE_DOUBLE Field_Kind = 1
- // Field type float.
- Field_TYPE_FLOAT Field_Kind = 2
- // Field type int64.
- Field_TYPE_INT64 Field_Kind = 3
- // Field type uint64.
- Field_TYPE_UINT64 Field_Kind = 4
- // Field type int32.
- Field_TYPE_INT32 Field_Kind = 5
- // Field type fixed64.
- Field_TYPE_FIXED64 Field_Kind = 6
- // Field type fixed32.
- Field_TYPE_FIXED32 Field_Kind = 7
- // Field type bool.
- Field_TYPE_BOOL Field_Kind = 8
- // Field type string.
- Field_TYPE_STRING Field_Kind = 9
- // Field type group. Proto2 syntax only, and deprecated.
- Field_TYPE_GROUP Field_Kind = 10
- // Field type message.
- Field_TYPE_MESSAGE Field_Kind = 11
- // Field type bytes.
- Field_TYPE_BYTES Field_Kind = 12
- // Field type uint32.
- Field_TYPE_UINT32 Field_Kind = 13
- // Field type enum.
- Field_TYPE_ENUM Field_Kind = 14
- // Field type sfixed32.
- Field_TYPE_SFIXED32 Field_Kind = 15
- // Field type sfixed64.
- Field_TYPE_SFIXED64 Field_Kind = 16
- // Field type sint32.
- Field_TYPE_SINT32 Field_Kind = 17
- // Field type sint64.
- Field_TYPE_SINT64 Field_Kind = 18
-)
-
-var Field_Kind_name = map[int32]string{
- 0: "TYPE_UNKNOWN",
- 1: "TYPE_DOUBLE",
- 2: "TYPE_FLOAT",
- 3: "TYPE_INT64",
- 4: "TYPE_UINT64",
- 5: "TYPE_INT32",
- 6: "TYPE_FIXED64",
- 7: "TYPE_FIXED32",
- 8: "TYPE_BOOL",
- 9: "TYPE_STRING",
- 10: "TYPE_GROUP",
- 11: "TYPE_MESSAGE",
- 12: "TYPE_BYTES",
- 13: "TYPE_UINT32",
- 14: "TYPE_ENUM",
- 15: "TYPE_SFIXED32",
- 16: "TYPE_SFIXED64",
- 17: "TYPE_SINT32",
- 18: "TYPE_SINT64",
-}
-
-var Field_Kind_value = map[string]int32{
- "TYPE_UNKNOWN": 0,
- "TYPE_DOUBLE": 1,
- "TYPE_FLOAT": 2,
- "TYPE_INT64": 3,
- "TYPE_UINT64": 4,
- "TYPE_INT32": 5,
- "TYPE_FIXED64": 6,
- "TYPE_FIXED32": 7,
- "TYPE_BOOL": 8,
- "TYPE_STRING": 9,
- "TYPE_GROUP": 10,
- "TYPE_MESSAGE": 11,
- "TYPE_BYTES": 12,
- "TYPE_UINT32": 13,
- "TYPE_ENUM": 14,
- "TYPE_SFIXED32": 15,
- "TYPE_SFIXED64": 16,
- "TYPE_SINT32": 17,
- "TYPE_SINT64": 18,
-}
-
-func (Field_Kind) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_dd271cc1e348c538, []int{1, 0}
-}
-
-// Whether a field is optional, required, or repeated.
-type Field_Cardinality int32
-
-const (
- // For fields with unknown cardinality.
- Field_CARDINALITY_UNKNOWN Field_Cardinality = 0
- // For optional fields.
- Field_CARDINALITY_OPTIONAL Field_Cardinality = 1
- // For required fields. Proto2 syntax only.
- Field_CARDINALITY_REQUIRED Field_Cardinality = 2
- // For repeated fields.
- Field_CARDINALITY_REPEATED Field_Cardinality = 3
-)
-
-var Field_Cardinality_name = map[int32]string{
- 0: "CARDINALITY_UNKNOWN",
- 1: "CARDINALITY_OPTIONAL",
- 2: "CARDINALITY_REQUIRED",
- 3: "CARDINALITY_REPEATED",
-}
-
-var Field_Cardinality_value = map[string]int32{
- "CARDINALITY_UNKNOWN": 0,
- "CARDINALITY_OPTIONAL": 1,
- "CARDINALITY_REQUIRED": 2,
- "CARDINALITY_REPEATED": 3,
-}
-
-func (Field_Cardinality) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_dd271cc1e348c538, []int{1, 1}
-}
-
-// A protocol buffer message type.
-type Type struct {
- // The fully qualified message name.
- Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- // The list of fields.
- Fields []*Field `protobuf:"bytes,2,rep,name=fields,proto3" json:"fields,omitempty"`
- // The list of types appearing in `oneof` definitions in this type.
- Oneofs []string `protobuf:"bytes,3,rep,name=oneofs,proto3" json:"oneofs,omitempty"`
- // The protocol buffer options.
- Options []*Option `protobuf:"bytes,4,rep,name=options,proto3" json:"options,omitempty"`
- // The source context.
- SourceContext *SourceContext `protobuf:"bytes,5,opt,name=source_context,json=sourceContext,proto3" json:"source_context,omitempty"`
- // The source syntax.
- Syntax Syntax `protobuf:"varint,6,opt,name=syntax,proto3,enum=google.protobuf.Syntax" json:"syntax,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Type) Reset() { *m = Type{} }
-func (*Type) ProtoMessage() {}
-func (*Type) Descriptor() ([]byte, []int) {
- return fileDescriptor_dd271cc1e348c538, []int{0}
-}
-func (m *Type) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *Type) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Type.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *Type) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Type.Merge(m, src)
-}
-func (m *Type) XXX_Size() int {
- return m.Size()
-}
-func (m *Type) XXX_DiscardUnknown() {
- xxx_messageInfo_Type.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Type proto.InternalMessageInfo
-
-func (m *Type) GetName() string {
- if m != nil {
- return m.Name
- }
- return ""
-}
-
-func (m *Type) GetFields() []*Field {
- if m != nil {
- return m.Fields
- }
- return nil
-}
-
-func (m *Type) GetOneofs() []string {
- if m != nil {
- return m.Oneofs
- }
- return nil
-}
-
-func (m *Type) GetOptions() []*Option {
- if m != nil {
- return m.Options
- }
- return nil
-}
-
-func (m *Type) GetSourceContext() *SourceContext {
- if m != nil {
- return m.SourceContext
- }
- return nil
-}
-
-func (m *Type) GetSyntax() Syntax {
- if m != nil {
- return m.Syntax
- }
- return Syntax_SYNTAX_PROTO2
-}
-
-func (*Type) XXX_MessageName() string {
- return "google.protobuf.Type"
-}
-
-// A single field of a message type.
-type Field struct {
- // The field type.
- Kind Field_Kind `protobuf:"varint,1,opt,name=kind,proto3,enum=google.protobuf.Field_Kind" json:"kind,omitempty"`
- // The field cardinality.
- Cardinality Field_Cardinality `protobuf:"varint,2,opt,name=cardinality,proto3,enum=google.protobuf.Field_Cardinality" json:"cardinality,omitempty"`
- // The field number.
- Number int32 `protobuf:"varint,3,opt,name=number,proto3" json:"number,omitempty"`
- // The field name.
- Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
- // The field type URL, without the scheme, for message or enumeration
- // types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`.
- TypeUrl string `protobuf:"bytes,6,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"`
- // The index of the field type in `Type.oneofs`, for message or enumeration
- // types. The first type has index 1; zero means the type is not in the list.
- OneofIndex int32 `protobuf:"varint,7,opt,name=oneof_index,json=oneofIndex,proto3" json:"oneof_index,omitempty"`
- // Whether to use alternative packed wire representation.
- Packed bool `protobuf:"varint,8,opt,name=packed,proto3" json:"packed,omitempty"`
- // The protocol buffer options.
- Options []*Option `protobuf:"bytes,9,rep,name=options,proto3" json:"options,omitempty"`
- // The field JSON name.
- JsonName string `protobuf:"bytes,10,opt,name=json_name,json=jsonName,proto3" json:"json_name,omitempty"`
- // The string value of the default value of this field. Proto2 syntax only.
- DefaultValue string `protobuf:"bytes,11,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Field) Reset() { *m = Field{} }
-func (*Field) ProtoMessage() {}
-func (*Field) Descriptor() ([]byte, []int) {
- return fileDescriptor_dd271cc1e348c538, []int{1}
-}
-func (m *Field) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *Field) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Field.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *Field) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Field.Merge(m, src)
-}
-func (m *Field) XXX_Size() int {
- return m.Size()
-}
-func (m *Field) XXX_DiscardUnknown() {
- xxx_messageInfo_Field.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Field proto.InternalMessageInfo
-
-func (m *Field) GetKind() Field_Kind {
- if m != nil {
- return m.Kind
- }
- return Field_TYPE_UNKNOWN
-}
-
-func (m *Field) GetCardinality() Field_Cardinality {
- if m != nil {
- return m.Cardinality
- }
- return Field_CARDINALITY_UNKNOWN
-}
-
-func (m *Field) GetNumber() int32 {
- if m != nil {
- return m.Number
- }
- return 0
-}
-
-func (m *Field) GetName() string {
- if m != nil {
- return m.Name
- }
- return ""
-}
-
-func (m *Field) GetTypeUrl() string {
- if m != nil {
- return m.TypeUrl
- }
- return ""
-}
-
-func (m *Field) GetOneofIndex() int32 {
- if m != nil {
- return m.OneofIndex
- }
- return 0
-}
-
-func (m *Field) GetPacked() bool {
- if m != nil {
- return m.Packed
- }
- return false
-}
-
-func (m *Field) GetOptions() []*Option {
- if m != nil {
- return m.Options
- }
- return nil
-}
-
-func (m *Field) GetJsonName() string {
- if m != nil {
- return m.JsonName
- }
- return ""
-}
-
-func (m *Field) GetDefaultValue() string {
- if m != nil {
- return m.DefaultValue
- }
- return ""
-}
-
-func (*Field) XXX_MessageName() string {
- return "google.protobuf.Field"
-}
-
-// Enum type definition.
-type Enum struct {
- // Enum type name.
- Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- // Enum value definitions.
- Enumvalue []*EnumValue `protobuf:"bytes,2,rep,name=enumvalue,proto3" json:"enumvalue,omitempty"`
- // Protocol buffer options.
- Options []*Option `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"`
- // The source context.
- SourceContext *SourceContext `protobuf:"bytes,4,opt,name=source_context,json=sourceContext,proto3" json:"source_context,omitempty"`
- // The source syntax.
- Syntax Syntax `protobuf:"varint,5,opt,name=syntax,proto3,enum=google.protobuf.Syntax" json:"syntax,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Enum) Reset() { *m = Enum{} }
-func (*Enum) ProtoMessage() {}
-func (*Enum) Descriptor() ([]byte, []int) {
- return fileDescriptor_dd271cc1e348c538, []int{2}
-}
-func (m *Enum) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *Enum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Enum.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *Enum) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Enum.Merge(m, src)
-}
-func (m *Enum) XXX_Size() int {
- return m.Size()
-}
-func (m *Enum) XXX_DiscardUnknown() {
- xxx_messageInfo_Enum.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Enum proto.InternalMessageInfo
-
-func (m *Enum) GetName() string {
- if m != nil {
- return m.Name
- }
- return ""
-}
-
-func (m *Enum) GetEnumvalue() []*EnumValue {
- if m != nil {
- return m.Enumvalue
- }
- return nil
-}
-
-func (m *Enum) GetOptions() []*Option {
- if m != nil {
- return m.Options
- }
- return nil
-}
-
-func (m *Enum) GetSourceContext() *SourceContext {
- if m != nil {
- return m.SourceContext
- }
- return nil
-}
-
-func (m *Enum) GetSyntax() Syntax {
- if m != nil {
- return m.Syntax
- }
- return Syntax_SYNTAX_PROTO2
-}
-
-func (*Enum) XXX_MessageName() string {
- return "google.protobuf.Enum"
-}
-
-// Enum value definition.
-type EnumValue struct {
- // Enum value name.
- Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- // Enum value number.
- Number int32 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"`
- // Protocol buffer options.
- Options []*Option `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *EnumValue) Reset() { *m = EnumValue{} }
-func (*EnumValue) ProtoMessage() {}
-func (*EnumValue) Descriptor() ([]byte, []int) {
- return fileDescriptor_dd271cc1e348c538, []int{3}
-}
-func (m *EnumValue) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *EnumValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_EnumValue.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *EnumValue) XXX_Merge(src proto.Message) {
- xxx_messageInfo_EnumValue.Merge(m, src)
-}
-func (m *EnumValue) XXX_Size() int {
- return m.Size()
-}
-func (m *EnumValue) XXX_DiscardUnknown() {
- xxx_messageInfo_EnumValue.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_EnumValue proto.InternalMessageInfo
-
-func (m *EnumValue) GetName() string {
- if m != nil {
- return m.Name
- }
- return ""
-}
-
-func (m *EnumValue) GetNumber() int32 {
- if m != nil {
- return m.Number
- }
- return 0
-}
-
-func (m *EnumValue) GetOptions() []*Option {
- if m != nil {
- return m.Options
- }
- return nil
-}
-
-func (*EnumValue) XXX_MessageName() string {
- return "google.protobuf.EnumValue"
-}
-
-// A protocol buffer option, which can be attached to a message, field,
-// enumeration, etc.
-type Option struct {
- // The option's name. For protobuf built-in options (options defined in
- // descriptor.proto), this is the short name. For example, `"map_entry"`.
- // For custom options, it should be the fully-qualified name. For example,
- // `"google.api.http"`.
- Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- // The option's value packed in an Any message. If the value is a primitive,
- // the corresponding wrapper type defined in google/protobuf/wrappers.proto
- // should be used. If the value is an enum, it should be stored as an int32
- // value using the google.protobuf.Int32Value type.
- Value *Any `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Option) Reset() { *m = Option{} }
-func (*Option) ProtoMessage() {}
-func (*Option) Descriptor() ([]byte, []int) {
- return fileDescriptor_dd271cc1e348c538, []int{4}
-}
-func (m *Option) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *Option) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Option.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *Option) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Option.Merge(m, src)
-}
-func (m *Option) XXX_Size() int {
- return m.Size()
-}
-func (m *Option) XXX_DiscardUnknown() {
- xxx_messageInfo_Option.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Option proto.InternalMessageInfo
-
-func (m *Option) GetName() string {
- if m != nil {
- return m.Name
- }
- return ""
-}
-
-func (m *Option) GetValue() *Any {
- if m != nil {
- return m.Value
- }
- return nil
-}
-
-func (*Option) XXX_MessageName() string {
- return "google.protobuf.Option"
-}
-func init() {
- proto.RegisterEnum("google.protobuf.Syntax", Syntax_name, Syntax_value)
- proto.RegisterEnum("google.protobuf.Field_Kind", Field_Kind_name, Field_Kind_value)
- proto.RegisterEnum("google.protobuf.Field_Cardinality", Field_Cardinality_name, Field_Cardinality_value)
- proto.RegisterType((*Type)(nil), "google.protobuf.Type")
- proto.RegisterType((*Field)(nil), "google.protobuf.Field")
- proto.RegisterType((*Enum)(nil), "google.protobuf.Enum")
- proto.RegisterType((*EnumValue)(nil), "google.protobuf.EnumValue")
- proto.RegisterType((*Option)(nil), "google.protobuf.Option")
-}
-
-func init() { proto.RegisterFile("google/protobuf/type.proto", fileDescriptor_dd271cc1e348c538) }
-
-var fileDescriptor_dd271cc1e348c538 = []byte{
- // 840 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x55, 0xcf, 0x73, 0xda, 0x46,
- 0x14, 0xf6, 0x0a, 0x21, 0xa3, 0x87, 0xc1, 0x9b, 0x4d, 0x26, 0x51, 0x9c, 0x19, 0x95, 0xa1, 0x3d,
- 0x30, 0x39, 0xe0, 0x29, 0x78, 0x3c, 0xbd, 0x82, 0x91, 0x29, 0x63, 0x22, 0xa9, 0x8b, 0x68, 0xe2,
- 0x5e, 0x18, 0x0c, 0x72, 0x86, 0x44, 0xac, 0x18, 0x24, 0x5a, 0x73, 0xeb, 0x4c, 0xcf, 0xfd, 0x27,
- 0x7a, 0xea, 0xf4, 0xdc, 0x3f, 0xc2, 0xc7, 0x1e, 0x7b, 0xac, 0xc9, 0xa5, 0xc7, 0x1c, 0x73, 0x6b,
- 0x67, 0x57, 0x20, 0x8b, 0x1f, 0x9d, 0x49, 0xdb, 0x1b, 0xef, 0xfb, 0xbe, 0xf7, 0x73, 0x9f, 0x1e,
- 0x70, 0xf4, 0xda, 0xf7, 0x5f, 0x7b, 0xee, 0xf1, 0x64, 0xea, 0x87, 0xfe, 0xd5, 0xec, 0xfa, 0x38,
- 0x9c, 0x4f, 0xdc, 0xb2, 0xb0, 0xc8, 0x61, 0xc4, 0x95, 0x57, 0xdc, 0xd1, 0xd3, 0x4d, 0x71, 0x9f,
- 0xcd, 0x23, 0xf6, 0xe8, 0xb3, 0x4d, 0x2a, 0xf0, 0x67, 0xd3, 0x81, 0xdb, 0x1b, 0xf8, 0x2c, 0x74,
- 0x6f, 0xc2, 0x48, 0x55, 0xfc, 0x51, 0x02, 0xd9, 0x99, 0x4f, 0x5c, 0x42, 0x40, 0x66, 0xfd, 0xb1,
- 0xab, 0xa1, 0x02, 0x2a, 0xa9, 0x54, 0xfc, 0x26, 0x65, 0x50, 0xae, 0x47, 0xae, 0x37, 0x0c, 0x34,
- 0xa9, 0x90, 0x2a, 0x65, 0x2b, 0x8f, 0xcb, 0x1b, 0xf9, 0xcb, 0xe7, 0x9c, 0xa6, 0x4b, 0x15, 0x79,
- 0x0c, 0x8a, 0xcf, 0x5c, 0xff, 0x3a, 0xd0, 0x52, 0x85, 0x54, 0x49, 0xa5, 0x4b, 0x8b, 0x7c, 0x0e,
- 0xfb, 0xfe, 0x24, 0x1c, 0xf9, 0x2c, 0xd0, 0x64, 0x11, 0xe8, 0xc9, 0x56, 0x20, 0x4b, 0xf0, 0x74,
- 0xa5, 0x23, 0x06, 0xe4, 0xd7, 0xeb, 0xd5, 0xd2, 0x05, 0x54, 0xca, 0x56, 0xf4, 0x2d, 0xcf, 0x8e,
- 0x90, 0x9d, 0x45, 0x2a, 0x9a, 0x0b, 0x92, 0x26, 0x39, 0x06, 0x25, 0x98, 0xb3, 0xb0, 0x7f, 0xa3,
- 0x29, 0x05, 0x54, 0xca, 0xef, 0x48, 0xdc, 0x11, 0x34, 0x5d, 0xca, 0x8a, 0xbf, 0x2a, 0x90, 0x16,
- 0x4d, 0x91, 0x63, 0x90, 0xdf, 0x8e, 0xd8, 0x50, 0x0c, 0x24, 0x5f, 0x79, 0xb6, 0xbb, 0xf5, 0xf2,
- 0xc5, 0x88, 0x0d, 0xa9, 0x10, 0x92, 0x06, 0x64, 0x07, 0xfd, 0xe9, 0x70, 0xc4, 0xfa, 0xde, 0x28,
- 0x9c, 0x6b, 0x92, 0xf0, 0x2b, 0xfe, 0x83, 0xdf, 0xd9, 0xbd, 0x92, 0x26, 0xdd, 0xf8, 0x0c, 0xd9,
- 0x6c, 0x7c, 0xe5, 0x4e, 0xb5, 0x54, 0x01, 0x95, 0xd2, 0x74, 0x69, 0xc5, 0xef, 0x23, 0x27, 0xde,
- 0xe7, 0x29, 0x64, 0xf8, 0x72, 0xf4, 0x66, 0x53, 0x4f, 0xf4, 0xa7, 0xd2, 0x7d, 0x6e, 0x77, 0xa7,
- 0x1e, 0xf9, 0x04, 0xb2, 0x62, 0xf8, 0xbd, 0x11, 0x1b, 0xba, 0x37, 0xda, 0xbe, 0x88, 0x05, 0x02,
- 0x6a, 0x71, 0x84, 0xe7, 0x99, 0xf4, 0x07, 0x6f, 0xdd, 0xa1, 0x96, 0x29, 0xa0, 0x52, 0x86, 0x2e,
- 0xad, 0xe4, 0x5b, 0xa9, 0x1f, 0xf9, 0x56, 0xcf, 0x40, 0x7d, 0x13, 0xf8, 0xac, 0x27, 0xea, 0x03,
- 0x51, 0x47, 0x86, 0x03, 0x26, 0xaf, 0xf1, 0x53, 0xc8, 0x0d, 0xdd, 0xeb, 0xfe, 0xcc, 0x0b, 0x7b,
- 0xdf, 0xf6, 0xbd, 0x99, 0xab, 0x65, 0x85, 0xe0, 0x60, 0x09, 0x7e, 0xcd, 0xb1, 0xe2, 0xad, 0x04,
- 0x32, 0x9f, 0x24, 0xc1, 0x70, 0xe0, 0x5c, 0xda, 0x46, 0xaf, 0x6b, 0x5e, 0x98, 0xd6, 0x4b, 0x13,
- 0xef, 0x91, 0x43, 0xc8, 0x0a, 0xa4, 0x61, 0x75, 0xeb, 0x6d, 0x03, 0x23, 0x92, 0x07, 0x10, 0xc0,
- 0x79, 0xdb, 0xaa, 0x39, 0x58, 0x8a, 0xed, 0x96, 0xe9, 0x9c, 0x9e, 0xe0, 0x54, 0xec, 0xd0, 0x8d,
- 0x00, 0x39, 0x29, 0xa8, 0x56, 0x70, 0x3a, 0xce, 0x71, 0xde, 0x7a, 0x65, 0x34, 0x4e, 0x4f, 0xb0,
- 0xb2, 0x8e, 0x54, 0x2b, 0x78, 0x9f, 0xe4, 0x40, 0x15, 0x48, 0xdd, 0xb2, 0xda, 0x38, 0x13, 0xc7,
- 0xec, 0x38, 0xb4, 0x65, 0x36, 0xb1, 0x1a, 0xc7, 0x6c, 0x52, 0xab, 0x6b, 0x63, 0x88, 0x23, 0xbc,
- 0x30, 0x3a, 0x9d, 0x5a, 0xd3, 0xc0, 0xd9, 0x58, 0x51, 0xbf, 0x74, 0x8c, 0x0e, 0x3e, 0x58, 0x2b,
- 0xab, 0x5a, 0xc1, 0xb9, 0x38, 0x85, 0x61, 0x76, 0x5f, 0xe0, 0x3c, 0x79, 0x00, 0xb9, 0x28, 0xc5,
- 0xaa, 0x88, 0xc3, 0x0d, 0xe8, 0xf4, 0x04, 0xe3, 0xfb, 0x42, 0xa2, 0x28, 0x0f, 0xd6, 0x80, 0xd3,
- 0x13, 0x4c, 0x8a, 0x21, 0x64, 0x13, 0xbb, 0x45, 0x9e, 0xc0, 0xc3, 0xb3, 0x1a, 0x6d, 0xb4, 0xcc,
- 0x5a, 0xbb, 0xe5, 0x5c, 0x26, 0xe6, 0xaa, 0xc1, 0xa3, 0x24, 0x61, 0xd9, 0x4e, 0xcb, 0x32, 0x6b,
- 0x6d, 0x8c, 0x36, 0x19, 0x6a, 0x7c, 0xd5, 0x6d, 0x51, 0xa3, 0x81, 0xa5, 0x6d, 0xc6, 0x36, 0x6a,
- 0x8e, 0xd1, 0xc0, 0xa9, 0xe2, 0x5f, 0x08, 0x64, 0x83, 0xcd, 0xc6, 0x3b, 0xcf, 0xc8, 0x17, 0xa0,
- 0xba, 0x6c, 0x36, 0x8e, 0x9e, 0x3f, 0xba, 0x24, 0x47, 0x5b, 0x4b, 0xc5, 0xbd, 0xc5, 0x32, 0xd0,
- 0x7b, 0x71, 0x72, 0x19, 0x53, 0xff, 0xf9, 0x70, 0xc8, 0xff, 0xef, 0x70, 0xa4, 0x3f, 0xee, 0x70,
- 0xbc, 0x01, 0x35, 0x6e, 0x61, 0xe7, 0x14, 0xee, 0x3f, 0x6c, 0x69, 0xed, 0xc3, 0xfe, 0xf7, 0x3d,
- 0x16, 0xbf, 0x04, 0x25, 0x82, 0x76, 0x26, 0x7a, 0x0e, 0xe9, 0xd5, 0xa8, 0x79, 0xe3, 0x8f, 0xb6,
- 0xc2, 0xd5, 0xd8, 0x9c, 0x46, 0x92, 0xe7, 0x65, 0x50, 0xa2, 0x3e, 0xf8, 0xb2, 0x75, 0x2e, 0x4d,
- 0xa7, 0xf6, 0xaa, 0x67, 0x53, 0xcb, 0xb1, 0x2a, 0x78, 0x6f, 0x13, 0xaa, 0x62, 0x54, 0xff, 0x01,
- 0xfd, 0x7e, 0xa7, 0xef, 0xbd, 0xbf, 0xd3, 0xd1, 0x87, 0x3b, 0x1d, 0x7d, 0xbf, 0xd0, 0xd1, 0xcf,
- 0x0b, 0x1d, 0xdd, 0x2e, 0x74, 0xf4, 0xdb, 0x42, 0x47, 0x7f, 0x2c, 0x74, 0xf4, 0xe7, 0x42, 0xdf,
- 0x7b, 0xcf, 0xf1, 0x77, 0x3a, 0xba, 0x7d, 0xa7, 0x23, 0x78, 0x38, 0xf0, 0xc7, 0x9b, 0x25, 0xd4,
- 0x55, 0xfe, 0x9f, 0x63, 0x73, 0xcb, 0x46, 0xdf, 0xa4, 0xf9, 0xd1, 0x0a, 0x3e, 0x20, 0xf4, 0x93,
- 0x94, 0x6a, 0xda, 0xf5, 0x5f, 0x24, 0xbd, 0x19, 0xc9, 0xed, 0x55, 0xc5, 0x2f, 0x5d, 0xcf, 0xbb,
- 0x60, 0xfe, 0x77, 0x8c, 0xbb, 0x05, 0x57, 0x8a, 0x88, 0x53, 0xfd, 0x3b, 0x00, 0x00, 0xff, 0xff,
- 0xbc, 0x2a, 0x5e, 0x82, 0x2b, 0x07, 0x00, 0x00,
-}
-
-func (this *Type) Compare(that interface{}) int {
- if that == nil {
- if this == nil {
- return 0
- }
- return 1
- }
-
- that1, ok := that.(*Type)
- if !ok {
- that2, ok := that.(Type)
- if ok {
- that1 = &that2
- } else {
- return 1
- }
- }
- if that1 == nil {
- if this == nil {
- return 0
- }
- return 1
- } else if this == nil {
- return -1
- }
- if this.Name != that1.Name {
- if this.Name < that1.Name {
- return -1
- }
- return 1
- }
- if len(this.Fields) != len(that1.Fields) {
- if len(this.Fields) < len(that1.Fields) {
- return -1
- }
- return 1
- }
- for i := range this.Fields {
- if c := this.Fields[i].Compare(that1.Fields[i]); c != 0 {
- return c
- }
- }
- if len(this.Oneofs) != len(that1.Oneofs) {
- if len(this.Oneofs) < len(that1.Oneofs) {
- return -1
- }
- return 1
- }
- for i := range this.Oneofs {
- if this.Oneofs[i] != that1.Oneofs[i] {
- if this.Oneofs[i] < that1.Oneofs[i] {
- return -1
- }
- return 1
- }
- }
- if len(this.Options) != len(that1.Options) {
- if len(this.Options) < len(that1.Options) {
- return -1
- }
- return 1
- }
- for i := range this.Options {
- if c := this.Options[i].Compare(that1.Options[i]); c != 0 {
- return c
- }
- }
- if c := this.SourceContext.Compare(that1.SourceContext); c != 0 {
- return c
- }
- if this.Syntax != that1.Syntax {
- if this.Syntax < that1.Syntax {
- return -1
- }
- return 1
- }
- if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 {
- return c
- }
- return 0
-}
-func (this *Field) Compare(that interface{}) int {
- if that == nil {
- if this == nil {
- return 0
- }
- return 1
- }
-
- that1, ok := that.(*Field)
- if !ok {
- that2, ok := that.(Field)
- if ok {
- that1 = &that2
- } else {
- return 1
- }
- }
- if that1 == nil {
- if this == nil {
- return 0
- }
- return 1
- } else if this == nil {
- return -1
- }
- if this.Kind != that1.Kind {
- if this.Kind < that1.Kind {
- return -1
- }
- return 1
- }
- if this.Cardinality != that1.Cardinality {
- if this.Cardinality < that1.Cardinality {
- return -1
- }
- return 1
- }
- if this.Number != that1.Number {
- if this.Number < that1.Number {
- return -1
- }
- return 1
- }
- if this.Name != that1.Name {
- if this.Name < that1.Name {
- return -1
- }
- return 1
- }
- if this.TypeUrl != that1.TypeUrl {
- if this.TypeUrl < that1.TypeUrl {
- return -1
- }
- return 1
- }
- if this.OneofIndex != that1.OneofIndex {
- if this.OneofIndex < that1.OneofIndex {
- return -1
- }
- return 1
- }
- if this.Packed != that1.Packed {
- if !this.Packed {
- return -1
- }
- return 1
- }
- if len(this.Options) != len(that1.Options) {
- if len(this.Options) < len(that1.Options) {
- return -1
- }
- return 1
- }
- for i := range this.Options {
- if c := this.Options[i].Compare(that1.Options[i]); c != 0 {
- return c
- }
- }
- if this.JsonName != that1.JsonName {
- if this.JsonName < that1.JsonName {
- return -1
- }
- return 1
- }
- if this.DefaultValue != that1.DefaultValue {
- if this.DefaultValue < that1.DefaultValue {
- return -1
- }
- return 1
- }
- if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 {
- return c
- }
- return 0
-}
-func (this *Enum) Compare(that interface{}) int {
- if that == nil {
- if this == nil {
- return 0
- }
- return 1
- }
-
- that1, ok := that.(*Enum)
- if !ok {
- that2, ok := that.(Enum)
- if ok {
- that1 = &that2
- } else {
- return 1
- }
- }
- if that1 == nil {
- if this == nil {
- return 0
- }
- return 1
- } else if this == nil {
- return -1
- }
- if this.Name != that1.Name {
- if this.Name < that1.Name {
- return -1
- }
- return 1
- }
- if len(this.Enumvalue) != len(that1.Enumvalue) {
- if len(this.Enumvalue) < len(that1.Enumvalue) {
- return -1
- }
- return 1
- }
- for i := range this.Enumvalue {
- if c := this.Enumvalue[i].Compare(that1.Enumvalue[i]); c != 0 {
- return c
- }
- }
- if len(this.Options) != len(that1.Options) {
- if len(this.Options) < len(that1.Options) {
- return -1
- }
- return 1
- }
- for i := range this.Options {
- if c := this.Options[i].Compare(that1.Options[i]); c != 0 {
- return c
- }
- }
- if c := this.SourceContext.Compare(that1.SourceContext); c != 0 {
- return c
- }
- if this.Syntax != that1.Syntax {
- if this.Syntax < that1.Syntax {
- return -1
- }
- return 1
- }
- if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 {
- return c
- }
- return 0
-}
-func (this *EnumValue) Compare(that interface{}) int {
- if that == nil {
- if this == nil {
- return 0
- }
- return 1
- }
-
- that1, ok := that.(*EnumValue)
- if !ok {
- that2, ok := that.(EnumValue)
- if ok {
- that1 = &that2
- } else {
- return 1
- }
- }
- if that1 == nil {
- if this == nil {
- return 0
- }
- return 1
- } else if this == nil {
- return -1
- }
- if this.Name != that1.Name {
- if this.Name < that1.Name {
- return -1
- }
- return 1
- }
- if this.Number != that1.Number {
- if this.Number < that1.Number {
- return -1
- }
- return 1
- }
- if len(this.Options) != len(that1.Options) {
- if len(this.Options) < len(that1.Options) {
- return -1
- }
- return 1
- }
- for i := range this.Options {
- if c := this.Options[i].Compare(that1.Options[i]); c != 0 {
- return c
- }
- }
- if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 {
- return c
- }
- return 0
-}
-func (this *Option) Compare(that interface{}) int {
- if that == nil {
- if this == nil {
- return 0
- }
- return 1
- }
-
- that1, ok := that.(*Option)
- if !ok {
- that2, ok := that.(Option)
- if ok {
- that1 = &that2
- } else {
- return 1
- }
- }
- if that1 == nil {
- if this == nil {
- return 0
- }
- return 1
- } else if this == nil {
- return -1
- }
- if this.Name != that1.Name {
- if this.Name < that1.Name {
- return -1
- }
- return 1
- }
- if c := this.Value.Compare(that1.Value); c != 0 {
- return c
- }
- if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 {
- return c
- }
- return 0
-}
-func (x Syntax) String() string {
- s, ok := Syntax_name[int32(x)]
- if ok {
- return s
- }
- return strconv.Itoa(int(x))
-}
-func (x Field_Kind) String() string {
- s, ok := Field_Kind_name[int32(x)]
- if ok {
- return s
- }
- return strconv.Itoa(int(x))
-}
-func (x Field_Cardinality) String() string {
- s, ok := Field_Cardinality_name[int32(x)]
- if ok {
- return s
- }
- return strconv.Itoa(int(x))
-}
-func (this *Type) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*Type)
- if !ok {
- that2, ok := that.(Type)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if this.Name != that1.Name {
- return false
- }
- if len(this.Fields) != len(that1.Fields) {
- return false
- }
- for i := range this.Fields {
- if !this.Fields[i].Equal(that1.Fields[i]) {
- return false
- }
- }
- if len(this.Oneofs) != len(that1.Oneofs) {
- return false
- }
- for i := range this.Oneofs {
- if this.Oneofs[i] != that1.Oneofs[i] {
- return false
- }
- }
- if len(this.Options) != len(that1.Options) {
- return false
- }
- for i := range this.Options {
- if !this.Options[i].Equal(that1.Options[i]) {
- return false
- }
- }
- if !this.SourceContext.Equal(that1.SourceContext) {
- return false
- }
- if this.Syntax != that1.Syntax {
- return false
- }
- if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
- return false
- }
- return true
-}
-func (this *Field) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*Field)
- if !ok {
- that2, ok := that.(Field)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if this.Kind != that1.Kind {
- return false
- }
- if this.Cardinality != that1.Cardinality {
- return false
- }
- if this.Number != that1.Number {
- return false
- }
- if this.Name != that1.Name {
- return false
- }
- if this.TypeUrl != that1.TypeUrl {
- return false
- }
- if this.OneofIndex != that1.OneofIndex {
- return false
- }
- if this.Packed != that1.Packed {
- return false
- }
- if len(this.Options) != len(that1.Options) {
- return false
- }
- for i := range this.Options {
- if !this.Options[i].Equal(that1.Options[i]) {
- return false
- }
- }
- if this.JsonName != that1.JsonName {
- return false
- }
- if this.DefaultValue != that1.DefaultValue {
- return false
- }
- if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
- return false
- }
- return true
-}
-func (this *Enum) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*Enum)
- if !ok {
- that2, ok := that.(Enum)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if this.Name != that1.Name {
- return false
- }
- if len(this.Enumvalue) != len(that1.Enumvalue) {
- return false
- }
- for i := range this.Enumvalue {
- if !this.Enumvalue[i].Equal(that1.Enumvalue[i]) {
- return false
- }
- }
- if len(this.Options) != len(that1.Options) {
- return false
- }
- for i := range this.Options {
- if !this.Options[i].Equal(that1.Options[i]) {
- return false
- }
- }
- if !this.SourceContext.Equal(that1.SourceContext) {
- return false
- }
- if this.Syntax != that1.Syntax {
- return false
- }
- if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
- return false
- }
- return true
-}
-func (this *EnumValue) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*EnumValue)
- if !ok {
- that2, ok := that.(EnumValue)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if this.Name != that1.Name {
- return false
- }
- if this.Number != that1.Number {
- return false
- }
- if len(this.Options) != len(that1.Options) {
- return false
- }
- for i := range this.Options {
- if !this.Options[i].Equal(that1.Options[i]) {
- return false
- }
- }
- if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
- return false
- }
- return true
-}
-func (this *Option) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*Option)
- if !ok {
- that2, ok := that.(Option)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if this.Name != that1.Name {
- return false
- }
- if !this.Value.Equal(that1.Value) {
- return false
- }
- if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
- return false
- }
- return true
-}
-func (this *Type) GoString() string {
- if this == nil {
- return "nil"
- }
- s := make([]string, 0, 10)
- s = append(s, "&types.Type{")
- s = append(s, "Name: "+fmt.Sprintf("%#v", this.Name)+",\n")
- if this.Fields != nil {
- s = append(s, "Fields: "+fmt.Sprintf("%#v", this.Fields)+",\n")
- }
- s = append(s, "Oneofs: "+fmt.Sprintf("%#v", this.Oneofs)+",\n")
- if this.Options != nil {
- s = append(s, "Options: "+fmt.Sprintf("%#v", this.Options)+",\n")
- }
- if this.SourceContext != nil {
- s = append(s, "SourceContext: "+fmt.Sprintf("%#v", this.SourceContext)+",\n")
- }
- s = append(s, "Syntax: "+fmt.Sprintf("%#v", this.Syntax)+",\n")
- if this.XXX_unrecognized != nil {
- s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
- }
- s = append(s, "}")
- return strings.Join(s, "")
-}
-func (this *Field) GoString() string {
- if this == nil {
- return "nil"
- }
- s := make([]string, 0, 14)
- s = append(s, "&types.Field{")
- s = append(s, "Kind: "+fmt.Sprintf("%#v", this.Kind)+",\n")
- s = append(s, "Cardinality: "+fmt.Sprintf("%#v", this.Cardinality)+",\n")
- s = append(s, "Number: "+fmt.Sprintf("%#v", this.Number)+",\n")
- s = append(s, "Name: "+fmt.Sprintf("%#v", this.Name)+",\n")
- s = append(s, "TypeUrl: "+fmt.Sprintf("%#v", this.TypeUrl)+",\n")
- s = append(s, "OneofIndex: "+fmt.Sprintf("%#v", this.OneofIndex)+",\n")
- s = append(s, "Packed: "+fmt.Sprintf("%#v", this.Packed)+",\n")
- if this.Options != nil {
- s = append(s, "Options: "+fmt.Sprintf("%#v", this.Options)+",\n")
- }
- s = append(s, "JsonName: "+fmt.Sprintf("%#v", this.JsonName)+",\n")
- s = append(s, "DefaultValue: "+fmt.Sprintf("%#v", this.DefaultValue)+",\n")
- if this.XXX_unrecognized != nil {
- s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
- }
- s = append(s, "}")
- return strings.Join(s, "")
-}
-func (this *Enum) GoString() string {
- if this == nil {
- return "nil"
- }
- s := make([]string, 0, 9)
- s = append(s, "&types.Enum{")
- s = append(s, "Name: "+fmt.Sprintf("%#v", this.Name)+",\n")
- if this.Enumvalue != nil {
- s = append(s, "Enumvalue: "+fmt.Sprintf("%#v", this.Enumvalue)+",\n")
- }
- if this.Options != nil {
- s = append(s, "Options: "+fmt.Sprintf("%#v", this.Options)+",\n")
- }
- if this.SourceContext != nil {
- s = append(s, "SourceContext: "+fmt.Sprintf("%#v", this.SourceContext)+",\n")
- }
- s = append(s, "Syntax: "+fmt.Sprintf("%#v", this.Syntax)+",\n")
- if this.XXX_unrecognized != nil {
- s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
- }
- s = append(s, "}")
- return strings.Join(s, "")
-}
-func (this *EnumValue) GoString() string {
- if this == nil {
- return "nil"
- }
- s := make([]string, 0, 7)
- s = append(s, "&types.EnumValue{")
- s = append(s, "Name: "+fmt.Sprintf("%#v", this.Name)+",\n")
- s = append(s, "Number: "+fmt.Sprintf("%#v", this.Number)+",\n")
- if this.Options != nil {
- s = append(s, "Options: "+fmt.Sprintf("%#v", this.Options)+",\n")
- }
- if this.XXX_unrecognized != nil {
- s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
- }
- s = append(s, "}")
- return strings.Join(s, "")
-}
-func (this *Option) GoString() string {
- if this == nil {
- return "nil"
- }
- s := make([]string, 0, 6)
- s = append(s, "&types.Option{")
- s = append(s, "Name: "+fmt.Sprintf("%#v", this.Name)+",\n")
- if this.Value != nil {
- s = append(s, "Value: "+fmt.Sprintf("%#v", this.Value)+",\n")
- }
- if this.XXX_unrecognized != nil {
- s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
- }
- s = append(s, "}")
- return strings.Join(s, "")
-}
-func valueToGoStringType(v interface{}, typ string) string {
- rv := reflect.ValueOf(v)
- if rv.IsNil() {
- return "nil"
- }
- pv := reflect.Indirect(rv).Interface()
- return fmt.Sprintf("func(v %v) *%v { return &v } ( %#v )", typ, typ, pv)
-}
-func (m *Type) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *Type) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Type) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Syntax != 0 {
- i = encodeVarintType(dAtA, i, uint64(m.Syntax))
- i--
- dAtA[i] = 0x30
- }
- if m.SourceContext != nil {
- {
- size, err := m.SourceContext.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintType(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x2a
- }
- if len(m.Options) > 0 {
- for iNdEx := len(m.Options) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Options[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintType(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x22
- }
- }
- if len(m.Oneofs) > 0 {
- for iNdEx := len(m.Oneofs) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.Oneofs[iNdEx])
- copy(dAtA[i:], m.Oneofs[iNdEx])
- i = encodeVarintType(dAtA, i, uint64(len(m.Oneofs[iNdEx])))
- i--
- dAtA[i] = 0x1a
- }
- }
- if len(m.Fields) > 0 {
- for iNdEx := len(m.Fields) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Fields[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintType(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- }
- if len(m.Name) > 0 {
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintType(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func (m *Field) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *Field) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Field) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.DefaultValue) > 0 {
- i -= len(m.DefaultValue)
- copy(dAtA[i:], m.DefaultValue)
- i = encodeVarintType(dAtA, i, uint64(len(m.DefaultValue)))
- i--
- dAtA[i] = 0x5a
- }
- if len(m.JsonName) > 0 {
- i -= len(m.JsonName)
- copy(dAtA[i:], m.JsonName)
- i = encodeVarintType(dAtA, i, uint64(len(m.JsonName)))
- i--
- dAtA[i] = 0x52
- }
- if len(m.Options) > 0 {
- for iNdEx := len(m.Options) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Options[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintType(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x4a
- }
- }
- if m.Packed {
- i--
- if m.Packed {
- dAtA[i] = 1
- } else {
- dAtA[i] = 0
- }
- i--
- dAtA[i] = 0x40
- }
- if m.OneofIndex != 0 {
- i = encodeVarintType(dAtA, i, uint64(m.OneofIndex))
- i--
- dAtA[i] = 0x38
- }
- if len(m.TypeUrl) > 0 {
- i -= len(m.TypeUrl)
- copy(dAtA[i:], m.TypeUrl)
- i = encodeVarintType(dAtA, i, uint64(len(m.TypeUrl)))
- i--
- dAtA[i] = 0x32
- }
- if len(m.Name) > 0 {
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintType(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0x22
- }
- if m.Number != 0 {
- i = encodeVarintType(dAtA, i, uint64(m.Number))
- i--
- dAtA[i] = 0x18
- }
- if m.Cardinality != 0 {
- i = encodeVarintType(dAtA, i, uint64(m.Cardinality))
- i--
- dAtA[i] = 0x10
- }
- if m.Kind != 0 {
- i = encodeVarintType(dAtA, i, uint64(m.Kind))
- i--
- dAtA[i] = 0x8
- }
- return len(dAtA) - i, nil
-}
-
-func (m *Enum) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *Enum) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Enum) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Syntax != 0 {
- i = encodeVarintType(dAtA, i, uint64(m.Syntax))
- i--
- dAtA[i] = 0x28
- }
- if m.SourceContext != nil {
- {
- size, err := m.SourceContext.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintType(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x22
- }
- if len(m.Options) > 0 {
- for iNdEx := len(m.Options) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Options[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintType(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- }
- if len(m.Enumvalue) > 0 {
- for iNdEx := len(m.Enumvalue) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Enumvalue[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintType(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- }
- if len(m.Name) > 0 {
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintType(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func (m *EnumValue) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *EnumValue) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *EnumValue) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Options) > 0 {
- for iNdEx := len(m.Options) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Options[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintType(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- }
- if m.Number != 0 {
- i = encodeVarintType(dAtA, i, uint64(m.Number))
- i--
- dAtA[i] = 0x10
- }
- if len(m.Name) > 0 {
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintType(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func (m *Option) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *Option) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Option) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Value != nil {
- {
- size, err := m.Value.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintType(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- if len(m.Name) > 0 {
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintType(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func encodeVarintType(dAtA []byte, offset int, v uint64) int {
- offset -= sovType(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
-func NewPopulatedType(r randyType, easy bool) *Type {
- this := &Type{}
- this.Name = string(randStringType(r))
- if r.Intn(5) != 0 {
- v1 := r.Intn(5)
- this.Fields = make([]*Field, v1)
- for i := 0; i < v1; i++ {
- this.Fields[i] = NewPopulatedField(r, easy)
- }
- }
- v2 := r.Intn(10)
- this.Oneofs = make([]string, v2)
- for i := 0; i < v2; i++ {
- this.Oneofs[i] = string(randStringType(r))
- }
- if r.Intn(5) != 0 {
- v3 := r.Intn(5)
- this.Options = make([]*Option, v3)
- for i := 0; i < v3; i++ {
- this.Options[i] = NewPopulatedOption(r, easy)
- }
- }
- if r.Intn(5) != 0 {
- this.SourceContext = NewPopulatedSourceContext(r, easy)
- }
- this.Syntax = Syntax([]int32{0, 1}[r.Intn(2)])
- if !easy && r.Intn(10) != 0 {
- this.XXX_unrecognized = randUnrecognizedType(r, 7)
- }
- return this
-}
-
-func NewPopulatedField(r randyType, easy bool) *Field {
- this := &Field{}
- this.Kind = Field_Kind([]int32{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18}[r.Intn(19)])
- this.Cardinality = Field_Cardinality([]int32{0, 1, 2, 3}[r.Intn(4)])
- this.Number = int32(r.Int31())
- if r.Intn(2) == 0 {
- this.Number *= -1
- }
- this.Name = string(randStringType(r))
- this.TypeUrl = string(randStringType(r))
- this.OneofIndex = int32(r.Int31())
- if r.Intn(2) == 0 {
- this.OneofIndex *= -1
- }
- this.Packed = bool(bool(r.Intn(2) == 0))
- if r.Intn(5) != 0 {
- v4 := r.Intn(5)
- this.Options = make([]*Option, v4)
- for i := 0; i < v4; i++ {
- this.Options[i] = NewPopulatedOption(r, easy)
- }
- }
- this.JsonName = string(randStringType(r))
- this.DefaultValue = string(randStringType(r))
- if !easy && r.Intn(10) != 0 {
- this.XXX_unrecognized = randUnrecognizedType(r, 12)
- }
- return this
-}
-
-func NewPopulatedEnum(r randyType, easy bool) *Enum {
- this := &Enum{}
- this.Name = string(randStringType(r))
- if r.Intn(5) != 0 {
- v5 := r.Intn(5)
- this.Enumvalue = make([]*EnumValue, v5)
- for i := 0; i < v5; i++ {
- this.Enumvalue[i] = NewPopulatedEnumValue(r, easy)
- }
- }
- if r.Intn(5) != 0 {
- v6 := r.Intn(5)
- this.Options = make([]*Option, v6)
- for i := 0; i < v6; i++ {
- this.Options[i] = NewPopulatedOption(r, easy)
- }
- }
- if r.Intn(5) != 0 {
- this.SourceContext = NewPopulatedSourceContext(r, easy)
- }
- this.Syntax = Syntax([]int32{0, 1}[r.Intn(2)])
- if !easy && r.Intn(10) != 0 {
- this.XXX_unrecognized = randUnrecognizedType(r, 6)
- }
- return this
-}
-
-func NewPopulatedEnumValue(r randyType, easy bool) *EnumValue {
- this := &EnumValue{}
- this.Name = string(randStringType(r))
- this.Number = int32(r.Int31())
- if r.Intn(2) == 0 {
- this.Number *= -1
- }
- if r.Intn(5) != 0 {
- v7 := r.Intn(5)
- this.Options = make([]*Option, v7)
- for i := 0; i < v7; i++ {
- this.Options[i] = NewPopulatedOption(r, easy)
- }
- }
- if !easy && r.Intn(10) != 0 {
- this.XXX_unrecognized = randUnrecognizedType(r, 4)
- }
- return this
-}
-
-func NewPopulatedOption(r randyType, easy bool) *Option {
- this := &Option{}
- this.Name = string(randStringType(r))
- if r.Intn(5) != 0 {
- this.Value = NewPopulatedAny(r, easy)
- }
- if !easy && r.Intn(10) != 0 {
- this.XXX_unrecognized = randUnrecognizedType(r, 3)
- }
- return this
-}
-
-type randyType interface {
- Float32() float32
- Float64() float64
- Int63() int64
- Int31() int32
- Uint32() uint32
- Intn(n int) int
-}
-
-func randUTF8RuneType(r randyType) rune {
- ru := r.Intn(62)
- if ru < 10 {
- return rune(ru + 48)
- } else if ru < 36 {
- return rune(ru + 55)
- }
- return rune(ru + 61)
-}
-func randStringType(r randyType) string {
- v8 := r.Intn(100)
- tmps := make([]rune, v8)
- for i := 0; i < v8; i++ {
- tmps[i] = randUTF8RuneType(r)
- }
- return string(tmps)
-}
-func randUnrecognizedType(r randyType, maxFieldNumber int) (dAtA []byte) {
- l := r.Intn(5)
- for i := 0; i < l; i++ {
- wire := r.Intn(4)
- if wire == 3 {
- wire = 5
- }
- fieldNumber := maxFieldNumber + r.Intn(100)
- dAtA = randFieldType(dAtA, r, fieldNumber, wire)
- }
- return dAtA
-}
-func randFieldType(dAtA []byte, r randyType, fieldNumber int, wire int) []byte {
- key := uint32(fieldNumber)<<3 | uint32(wire)
- switch wire {
- case 0:
- dAtA = encodeVarintPopulateType(dAtA, uint64(key))
- v9 := r.Int63()
- if r.Intn(2) == 0 {
- v9 *= -1
- }
- dAtA = encodeVarintPopulateType(dAtA, uint64(v9))
- case 1:
- dAtA = encodeVarintPopulateType(dAtA, uint64(key))
- dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)))
- case 2:
- dAtA = encodeVarintPopulateType(dAtA, uint64(key))
- ll := r.Intn(100)
- dAtA = encodeVarintPopulateType(dAtA, uint64(ll))
- for j := 0; j < ll; j++ {
- dAtA = append(dAtA, byte(r.Intn(256)))
- }
- default:
- dAtA = encodeVarintPopulateType(dAtA, uint64(key))
- dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)))
- }
- return dAtA
-}
-func encodeVarintPopulateType(dAtA []byte, v uint64) []byte {
- for v >= 1<<7 {
- dAtA = append(dAtA, uint8(uint64(v)&0x7f|0x80))
- v >>= 7
- }
- dAtA = append(dAtA, uint8(v))
- return dAtA
-}
-func (m *Type) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Name)
- if l > 0 {
- n += 1 + l + sovType(uint64(l))
- }
- if len(m.Fields) > 0 {
- for _, e := range m.Fields {
- l = e.Size()
- n += 1 + l + sovType(uint64(l))
- }
- }
- if len(m.Oneofs) > 0 {
- for _, s := range m.Oneofs {
- l = len(s)
- n += 1 + l + sovType(uint64(l))
- }
- }
- if len(m.Options) > 0 {
- for _, e := range m.Options {
- l = e.Size()
- n += 1 + l + sovType(uint64(l))
- }
- }
- if m.SourceContext != nil {
- l = m.SourceContext.Size()
- n += 1 + l + sovType(uint64(l))
- }
- if m.Syntax != 0 {
- n += 1 + sovType(uint64(m.Syntax))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *Field) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Kind != 0 {
- n += 1 + sovType(uint64(m.Kind))
- }
- if m.Cardinality != 0 {
- n += 1 + sovType(uint64(m.Cardinality))
- }
- if m.Number != 0 {
- n += 1 + sovType(uint64(m.Number))
- }
- l = len(m.Name)
- if l > 0 {
- n += 1 + l + sovType(uint64(l))
- }
- l = len(m.TypeUrl)
- if l > 0 {
- n += 1 + l + sovType(uint64(l))
- }
- if m.OneofIndex != 0 {
- n += 1 + sovType(uint64(m.OneofIndex))
- }
- if m.Packed {
- n += 2
- }
- if len(m.Options) > 0 {
- for _, e := range m.Options {
- l = e.Size()
- n += 1 + l + sovType(uint64(l))
- }
- }
- l = len(m.JsonName)
- if l > 0 {
- n += 1 + l + sovType(uint64(l))
- }
- l = len(m.DefaultValue)
- if l > 0 {
- n += 1 + l + sovType(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *Enum) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Name)
- if l > 0 {
- n += 1 + l + sovType(uint64(l))
- }
- if len(m.Enumvalue) > 0 {
- for _, e := range m.Enumvalue {
- l = e.Size()
- n += 1 + l + sovType(uint64(l))
- }
- }
- if len(m.Options) > 0 {
- for _, e := range m.Options {
- l = e.Size()
- n += 1 + l + sovType(uint64(l))
- }
- }
- if m.SourceContext != nil {
- l = m.SourceContext.Size()
- n += 1 + l + sovType(uint64(l))
- }
- if m.Syntax != 0 {
- n += 1 + sovType(uint64(m.Syntax))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *EnumValue) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Name)
- if l > 0 {
- n += 1 + l + sovType(uint64(l))
- }
- if m.Number != 0 {
- n += 1 + sovType(uint64(m.Number))
- }
- if len(m.Options) > 0 {
- for _, e := range m.Options {
- l = e.Size()
- n += 1 + l + sovType(uint64(l))
- }
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *Option) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Name)
- if l > 0 {
- n += 1 + l + sovType(uint64(l))
- }
- if m.Value != nil {
- l = m.Value.Size()
- n += 1 + l + sovType(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func sovType(x uint64) (n int) {
- return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozType(x uint64) (n int) {
- return sovType(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (this *Type) String() string {
- if this == nil {
- return "nil"
- }
- repeatedStringForFields := "[]*Field{"
- for _, f := range this.Fields {
- repeatedStringForFields += strings.Replace(f.String(), "Field", "Field", 1) + ","
- }
- repeatedStringForFields += "}"
- repeatedStringForOptions := "[]*Option{"
- for _, f := range this.Options {
- repeatedStringForOptions += strings.Replace(f.String(), "Option", "Option", 1) + ","
- }
- repeatedStringForOptions += "}"
- s := strings.Join([]string{`&Type{`,
- `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
- `Fields:` + repeatedStringForFields + `,`,
- `Oneofs:` + fmt.Sprintf("%v", this.Oneofs) + `,`,
- `Options:` + repeatedStringForOptions + `,`,
- `SourceContext:` + strings.Replace(fmt.Sprintf("%v", this.SourceContext), "SourceContext", "SourceContext", 1) + `,`,
- `Syntax:` + fmt.Sprintf("%v", this.Syntax) + `,`,
- `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *Field) String() string {
- if this == nil {
- return "nil"
- }
- repeatedStringForOptions := "[]*Option{"
- for _, f := range this.Options {
- repeatedStringForOptions += strings.Replace(f.String(), "Option", "Option", 1) + ","
- }
- repeatedStringForOptions += "}"
- s := strings.Join([]string{`&Field{`,
- `Kind:` + fmt.Sprintf("%v", this.Kind) + `,`,
- `Cardinality:` + fmt.Sprintf("%v", this.Cardinality) + `,`,
- `Number:` + fmt.Sprintf("%v", this.Number) + `,`,
- `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
- `TypeUrl:` + fmt.Sprintf("%v", this.TypeUrl) + `,`,
- `OneofIndex:` + fmt.Sprintf("%v", this.OneofIndex) + `,`,
- `Packed:` + fmt.Sprintf("%v", this.Packed) + `,`,
- `Options:` + repeatedStringForOptions + `,`,
- `JsonName:` + fmt.Sprintf("%v", this.JsonName) + `,`,
- `DefaultValue:` + fmt.Sprintf("%v", this.DefaultValue) + `,`,
- `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *Enum) String() string {
- if this == nil {
- return "nil"
- }
- repeatedStringForEnumvalue := "[]*EnumValue{"
- for _, f := range this.Enumvalue {
- repeatedStringForEnumvalue += strings.Replace(f.String(), "EnumValue", "EnumValue", 1) + ","
- }
- repeatedStringForEnumvalue += "}"
- repeatedStringForOptions := "[]*Option{"
- for _, f := range this.Options {
- repeatedStringForOptions += strings.Replace(f.String(), "Option", "Option", 1) + ","
- }
- repeatedStringForOptions += "}"
- s := strings.Join([]string{`&Enum{`,
- `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
- `Enumvalue:` + repeatedStringForEnumvalue + `,`,
- `Options:` + repeatedStringForOptions + `,`,
- `SourceContext:` + strings.Replace(fmt.Sprintf("%v", this.SourceContext), "SourceContext", "SourceContext", 1) + `,`,
- `Syntax:` + fmt.Sprintf("%v", this.Syntax) + `,`,
- `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *EnumValue) String() string {
- if this == nil {
- return "nil"
- }
- repeatedStringForOptions := "[]*Option{"
- for _, f := range this.Options {
- repeatedStringForOptions += strings.Replace(f.String(), "Option", "Option", 1) + ","
- }
- repeatedStringForOptions += "}"
- s := strings.Join([]string{`&EnumValue{`,
- `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
- `Number:` + fmt.Sprintf("%v", this.Number) + `,`,
- `Options:` + repeatedStringForOptions + `,`,
- `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *Option) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&Option{`,
- `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
- `Value:` + strings.Replace(fmt.Sprintf("%v", this.Value), "Any", "Any", 1) + `,`,
- `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
- `}`,
- }, "")
- return s
-}
-func valueToStringType(v interface{}) string {
- rv := reflect.ValueOf(v)
- if rv.IsNil() {
- return "nil"
- }
- pv := reflect.Indirect(rv).Interface()
- return fmt.Sprintf("*%v", pv)
-}
-func (m *Type) 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 ErrIntOverflowType
- }
- 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: Type: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Type: 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 ErrIntOverflowType
- }
- 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 ErrInvalidLengthType
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthType
- }
- 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 Fields", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowType
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthType
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthType
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Fields = append(m.Fields, &Field{})
- if err := m.Fields[len(m.Fields)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Oneofs", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowType
- }
- 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 ErrInvalidLengthType
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthType
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Oneofs = append(m.Oneofs, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Options", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowType
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthType
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthType
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Options = append(m.Options, &Option{})
- if err := m.Options[len(m.Options)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field SourceContext", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowType
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthType
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthType
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.SourceContext == nil {
- m.SourceContext = &SourceContext{}
- }
- if err := m.SourceContext.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 6:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Syntax", wireType)
- }
- m.Syntax = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowType
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Syntax |= Syntax(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- default:
- iNdEx = preIndex
- skippy, err := skipType(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthType
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *Field) 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 ErrIntOverflowType
- }
- 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: Field: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Field: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Kind", wireType)
- }
- m.Kind = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowType
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Kind |= Field_Kind(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 2:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Cardinality", wireType)
- }
- m.Cardinality = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowType
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Cardinality |= Field_Cardinality(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 3:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Number", wireType)
- }
- m.Number = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowType
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Number |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 4:
- 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 ErrIntOverflowType
- }
- 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 ErrInvalidLengthType
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthType
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Name = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 6:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field TypeUrl", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowType
- }
- 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 ErrInvalidLengthType
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthType
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.TypeUrl = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 7:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field OneofIndex", wireType)
- }
- m.OneofIndex = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowType
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.OneofIndex |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 8:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Packed", wireType)
- }
- var v int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowType
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.Packed = bool(v != 0)
- case 9:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Options", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowType
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthType
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthType
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Options = append(m.Options, &Option{})
- if err := m.Options[len(m.Options)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 10:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field JsonName", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowType
- }
- 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 ErrInvalidLengthType
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthType
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.JsonName = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 11:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field DefaultValue", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowType
- }
- 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 ErrInvalidLengthType
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthType
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.DefaultValue = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipType(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthType
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *Enum) 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 ErrIntOverflowType
- }
- 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: Enum: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Enum: 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 ErrIntOverflowType
- }
- 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 ErrInvalidLengthType
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthType
- }
- 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 Enumvalue", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowType
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthType
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthType
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Enumvalue = append(m.Enumvalue, &EnumValue{})
- if err := m.Enumvalue[len(m.Enumvalue)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Options", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowType
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthType
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthType
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Options = append(m.Options, &Option{})
- if err := m.Options[len(m.Options)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field SourceContext", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowType
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthType
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthType
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.SourceContext == nil {
- m.SourceContext = &SourceContext{}
- }
- if err := m.SourceContext.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 5:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Syntax", wireType)
- }
- m.Syntax = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowType
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Syntax |= Syntax(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- default:
- iNdEx = preIndex
- skippy, err := skipType(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthType
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *EnumValue) 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 ErrIntOverflowType
- }
- 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: EnumValue: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: EnumValue: 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 ErrIntOverflowType
- }
- 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 ErrInvalidLengthType
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthType
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Name = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Number", wireType)
- }
- m.Number = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowType
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Number |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Options", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowType
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthType
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthType
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Options = append(m.Options, &Option{})
- if err := m.Options[len(m.Options)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipType(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthType
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *Option) 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 ErrIntOverflowType
- }
- 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: Option: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Option: 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 ErrIntOverflowType
- }
- 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 ErrInvalidLengthType
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthType
- }
- 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 Value", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowType
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthType
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthType
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Value == nil {
- m.Value = &Any{}
- }
- if err := m.Value.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipType(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthType
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func skipType(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowType
- }
- 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, ErrIntOverflowType
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowType
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLengthType
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroupType
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLengthType
- }
- if depth == 0 {
- return iNdEx, nil
- }
- }
- return 0, io.ErrUnexpectedEOF
-}
-
-var (
- ErrInvalidLengthType = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflowType = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroupType = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/vendor/github.com/gogo/protobuf/types/wrappers.pb.go b/vendor/github.com/gogo/protobuf/types/wrappers.pb.go
deleted file mode 100644
index 8d415420a..000000000
--- a/vendor/github.com/gogo/protobuf/types/wrappers.pb.go
+++ /dev/null
@@ -1,2703 +0,0 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: google/protobuf/wrappers.proto
-
-package types
-
-import (
- bytes "bytes"
- encoding_binary "encoding/binary"
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- io "io"
- math "math"
- math_bits "math/bits"
- reflect "reflect"
- strings "strings"
-)
-
-// 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.GoGoProtoPackageIsVersion3 // please upgrade the proto package
-
-// Wrapper message for `double`.
-//
-// The JSON representation for `DoubleValue` is JSON number.
-type DoubleValue struct {
- // The double value.
- Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *DoubleValue) Reset() { *m = DoubleValue{} }
-func (*DoubleValue) ProtoMessage() {}
-func (*DoubleValue) Descriptor() ([]byte, []int) {
- return fileDescriptor_5377b62bda767935, []int{0}
-}
-func (*DoubleValue) XXX_WellKnownType() string { return "DoubleValue" }
-func (m *DoubleValue) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *DoubleValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_DoubleValue.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *DoubleValue) XXX_Merge(src proto.Message) {
- xxx_messageInfo_DoubleValue.Merge(m, src)
-}
-func (m *DoubleValue) XXX_Size() int {
- return m.Size()
-}
-func (m *DoubleValue) XXX_DiscardUnknown() {
- xxx_messageInfo_DoubleValue.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_DoubleValue proto.InternalMessageInfo
-
-func (m *DoubleValue) GetValue() float64 {
- if m != nil {
- return m.Value
- }
- return 0
-}
-
-func (*DoubleValue) XXX_MessageName() string {
- return "google.protobuf.DoubleValue"
-}
-
-// Wrapper message for `float`.
-//
-// The JSON representation for `FloatValue` is JSON number.
-type FloatValue struct {
- // The float value.
- Value float32 `protobuf:"fixed32,1,opt,name=value,proto3" json:"value,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *FloatValue) Reset() { *m = FloatValue{} }
-func (*FloatValue) ProtoMessage() {}
-func (*FloatValue) Descriptor() ([]byte, []int) {
- return fileDescriptor_5377b62bda767935, []int{1}
-}
-func (*FloatValue) XXX_WellKnownType() string { return "FloatValue" }
-func (m *FloatValue) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *FloatValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_FloatValue.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *FloatValue) XXX_Merge(src proto.Message) {
- xxx_messageInfo_FloatValue.Merge(m, src)
-}
-func (m *FloatValue) XXX_Size() int {
- return m.Size()
-}
-func (m *FloatValue) XXX_DiscardUnknown() {
- xxx_messageInfo_FloatValue.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_FloatValue proto.InternalMessageInfo
-
-func (m *FloatValue) GetValue() float32 {
- if m != nil {
- return m.Value
- }
- return 0
-}
-
-func (*FloatValue) XXX_MessageName() string {
- return "google.protobuf.FloatValue"
-}
-
-// Wrapper message for `int64`.
-//
-// The JSON representation for `Int64Value` is JSON string.
-type Int64Value struct {
- // The int64 value.
- Value int64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Int64Value) Reset() { *m = Int64Value{} }
-func (*Int64Value) ProtoMessage() {}
-func (*Int64Value) Descriptor() ([]byte, []int) {
- return fileDescriptor_5377b62bda767935, []int{2}
-}
-func (*Int64Value) XXX_WellKnownType() string { return "Int64Value" }
-func (m *Int64Value) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *Int64Value) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Int64Value.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *Int64Value) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Int64Value.Merge(m, src)
-}
-func (m *Int64Value) XXX_Size() int {
- return m.Size()
-}
-func (m *Int64Value) XXX_DiscardUnknown() {
- xxx_messageInfo_Int64Value.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Int64Value proto.InternalMessageInfo
-
-func (m *Int64Value) GetValue() int64 {
- if m != nil {
- return m.Value
- }
- return 0
-}
-
-func (*Int64Value) XXX_MessageName() string {
- return "google.protobuf.Int64Value"
-}
-
-// Wrapper message for `uint64`.
-//
-// The JSON representation for `UInt64Value` is JSON string.
-type UInt64Value struct {
- // The uint64 value.
- Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *UInt64Value) Reset() { *m = UInt64Value{} }
-func (*UInt64Value) ProtoMessage() {}
-func (*UInt64Value) Descriptor() ([]byte, []int) {
- return fileDescriptor_5377b62bda767935, []int{3}
-}
-func (*UInt64Value) XXX_WellKnownType() string { return "UInt64Value" }
-func (m *UInt64Value) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *UInt64Value) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_UInt64Value.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *UInt64Value) XXX_Merge(src proto.Message) {
- xxx_messageInfo_UInt64Value.Merge(m, src)
-}
-func (m *UInt64Value) XXX_Size() int {
- return m.Size()
-}
-func (m *UInt64Value) XXX_DiscardUnknown() {
- xxx_messageInfo_UInt64Value.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_UInt64Value proto.InternalMessageInfo
-
-func (m *UInt64Value) GetValue() uint64 {
- if m != nil {
- return m.Value
- }
- return 0
-}
-
-func (*UInt64Value) XXX_MessageName() string {
- return "google.protobuf.UInt64Value"
-}
-
-// Wrapper message for `int32`.
-//
-// The JSON representation for `Int32Value` is JSON number.
-type Int32Value struct {
- // The int32 value.
- Value int32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Int32Value) Reset() { *m = Int32Value{} }
-func (*Int32Value) ProtoMessage() {}
-func (*Int32Value) Descriptor() ([]byte, []int) {
- return fileDescriptor_5377b62bda767935, []int{4}
-}
-func (*Int32Value) XXX_WellKnownType() string { return "Int32Value" }
-func (m *Int32Value) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *Int32Value) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Int32Value.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *Int32Value) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Int32Value.Merge(m, src)
-}
-func (m *Int32Value) XXX_Size() int {
- return m.Size()
-}
-func (m *Int32Value) XXX_DiscardUnknown() {
- xxx_messageInfo_Int32Value.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Int32Value proto.InternalMessageInfo
-
-func (m *Int32Value) GetValue() int32 {
- if m != nil {
- return m.Value
- }
- return 0
-}
-
-func (*Int32Value) XXX_MessageName() string {
- return "google.protobuf.Int32Value"
-}
-
-// Wrapper message for `uint32`.
-//
-// The JSON representation for `UInt32Value` is JSON number.
-type UInt32Value struct {
- // The uint32 value.
- Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *UInt32Value) Reset() { *m = UInt32Value{} }
-func (*UInt32Value) ProtoMessage() {}
-func (*UInt32Value) Descriptor() ([]byte, []int) {
- return fileDescriptor_5377b62bda767935, []int{5}
-}
-func (*UInt32Value) XXX_WellKnownType() string { return "UInt32Value" }
-func (m *UInt32Value) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *UInt32Value) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_UInt32Value.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *UInt32Value) XXX_Merge(src proto.Message) {
- xxx_messageInfo_UInt32Value.Merge(m, src)
-}
-func (m *UInt32Value) XXX_Size() int {
- return m.Size()
-}
-func (m *UInt32Value) XXX_DiscardUnknown() {
- xxx_messageInfo_UInt32Value.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_UInt32Value proto.InternalMessageInfo
-
-func (m *UInt32Value) GetValue() uint32 {
- if m != nil {
- return m.Value
- }
- return 0
-}
-
-func (*UInt32Value) XXX_MessageName() string {
- return "google.protobuf.UInt32Value"
-}
-
-// Wrapper message for `bool`.
-//
-// The JSON representation for `BoolValue` is JSON `true` and `false`.
-type BoolValue struct {
- // The bool value.
- Value bool `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *BoolValue) Reset() { *m = BoolValue{} }
-func (*BoolValue) ProtoMessage() {}
-func (*BoolValue) Descriptor() ([]byte, []int) {
- return fileDescriptor_5377b62bda767935, []int{6}
-}
-func (*BoolValue) XXX_WellKnownType() string { return "BoolValue" }
-func (m *BoolValue) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *BoolValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_BoolValue.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *BoolValue) XXX_Merge(src proto.Message) {
- xxx_messageInfo_BoolValue.Merge(m, src)
-}
-func (m *BoolValue) XXX_Size() int {
- return m.Size()
-}
-func (m *BoolValue) XXX_DiscardUnknown() {
- xxx_messageInfo_BoolValue.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_BoolValue proto.InternalMessageInfo
-
-func (m *BoolValue) GetValue() bool {
- if m != nil {
- return m.Value
- }
- return false
-}
-
-func (*BoolValue) XXX_MessageName() string {
- return "google.protobuf.BoolValue"
-}
-
-// Wrapper message for `string`.
-//
-// The JSON representation for `StringValue` is JSON string.
-type StringValue struct {
- // The string value.
- Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *StringValue) Reset() { *m = StringValue{} }
-func (*StringValue) ProtoMessage() {}
-func (*StringValue) Descriptor() ([]byte, []int) {
- return fileDescriptor_5377b62bda767935, []int{7}
-}
-func (*StringValue) XXX_WellKnownType() string { return "StringValue" }
-func (m *StringValue) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *StringValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_StringValue.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *StringValue) XXX_Merge(src proto.Message) {
- xxx_messageInfo_StringValue.Merge(m, src)
-}
-func (m *StringValue) XXX_Size() int {
- return m.Size()
-}
-func (m *StringValue) XXX_DiscardUnknown() {
- xxx_messageInfo_StringValue.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_StringValue proto.InternalMessageInfo
-
-func (m *StringValue) GetValue() string {
- if m != nil {
- return m.Value
- }
- return ""
-}
-
-func (*StringValue) XXX_MessageName() string {
- return "google.protobuf.StringValue"
-}
-
-// Wrapper message for `bytes`.
-//
-// The JSON representation for `BytesValue` is JSON string.
-type BytesValue struct {
- // The bytes value.
- Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *BytesValue) Reset() { *m = BytesValue{} }
-func (*BytesValue) ProtoMessage() {}
-func (*BytesValue) Descriptor() ([]byte, []int) {
- return fileDescriptor_5377b62bda767935, []int{8}
-}
-func (*BytesValue) XXX_WellKnownType() string { return "BytesValue" }
-func (m *BytesValue) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *BytesValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_BytesValue.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *BytesValue) XXX_Merge(src proto.Message) {
- xxx_messageInfo_BytesValue.Merge(m, src)
-}
-func (m *BytesValue) XXX_Size() int {
- return m.Size()
-}
-func (m *BytesValue) XXX_DiscardUnknown() {
- xxx_messageInfo_BytesValue.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_BytesValue proto.InternalMessageInfo
-
-func (m *BytesValue) GetValue() []byte {
- if m != nil {
- return m.Value
- }
- return nil
-}
-
-func (*BytesValue) XXX_MessageName() string {
- return "google.protobuf.BytesValue"
-}
-func init() {
- proto.RegisterType((*DoubleValue)(nil), "google.protobuf.DoubleValue")
- proto.RegisterType((*FloatValue)(nil), "google.protobuf.FloatValue")
- proto.RegisterType((*Int64Value)(nil), "google.protobuf.Int64Value")
- proto.RegisterType((*UInt64Value)(nil), "google.protobuf.UInt64Value")
- proto.RegisterType((*Int32Value)(nil), "google.protobuf.Int32Value")
- proto.RegisterType((*UInt32Value)(nil), "google.protobuf.UInt32Value")
- proto.RegisterType((*BoolValue)(nil), "google.protobuf.BoolValue")
- proto.RegisterType((*StringValue)(nil), "google.protobuf.StringValue")
- proto.RegisterType((*BytesValue)(nil), "google.protobuf.BytesValue")
-}
-
-func init() { proto.RegisterFile("google/protobuf/wrappers.proto", fileDescriptor_5377b62bda767935) }
-
-var fileDescriptor_5377b62bda767935 = []byte{
- // 285 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4b, 0xcf, 0xcf, 0x4f,
- 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x2f, 0x2f, 0x4a, 0x2c,
- 0x28, 0x48, 0x2d, 0x2a, 0xd6, 0x03, 0x8b, 0x08, 0xf1, 0x43, 0xe4, 0xf5, 0x60, 0xf2, 0x4a, 0xca,
- 0x5c, 0xdc, 0x2e, 0xf9, 0xa5, 0x49, 0x39, 0xa9, 0x61, 0x89, 0x39, 0xa5, 0xa9, 0x42, 0x22, 0x5c,
- 0xac, 0x65, 0x20, 0x86, 0x04, 0xa3, 0x02, 0xa3, 0x06, 0x63, 0x10, 0x84, 0xa3, 0xa4, 0xc4, 0xc5,
- 0xe5, 0x96, 0x93, 0x9f, 0x58, 0x82, 0x45, 0x0d, 0x13, 0x92, 0x1a, 0xcf, 0xbc, 0x12, 0x33, 0x13,
- 0x2c, 0x6a, 0x98, 0x61, 0x6a, 0x94, 0xb9, 0xb8, 0x43, 0x71, 0x29, 0x62, 0x41, 0x35, 0xc8, 0xd8,
- 0x08, 0x8b, 0x1a, 0x56, 0x34, 0x83, 0xb0, 0x2a, 0xe2, 0x85, 0x29, 0x52, 0xe4, 0xe2, 0x74, 0xca,
- 0xcf, 0xcf, 0xc1, 0xa2, 0x84, 0x03, 0xc9, 0x9c, 0xe0, 0x92, 0xa2, 0xcc, 0xbc, 0x74, 0x2c, 0x8a,
- 0x38, 0x91, 0x1c, 0xe4, 0x54, 0x59, 0x92, 0x5a, 0x8c, 0x45, 0x0d, 0x0f, 0x54, 0x8d, 0x53, 0x3b,
- 0xe3, 0x8d, 0x87, 0x72, 0x0c, 0x1f, 0x1e, 0xca, 0x31, 0xfe, 0x78, 0x28, 0xc7, 0xd8, 0xf0, 0x48,
- 0x8e, 0x71, 0xc5, 0x23, 0x39, 0xc6, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0,
- 0x48, 0x8e, 0xf1, 0xc5, 0x23, 0x39, 0x86, 0x0f, 0x20, 0xf1, 0xc7, 0x72, 0x8c, 0x27, 0x1e, 0xcb,
- 0x31, 0x72, 0x09, 0x27, 0xe7, 0xe7, 0xea, 0xa1, 0x45, 0x87, 0x13, 0x6f, 0x38, 0x34, 0xbe, 0x02,
- 0x40, 0x22, 0x01, 0x8c, 0x51, 0xac, 0x25, 0x95, 0x05, 0xa9, 0xc5, 0x3f, 0x18, 0x19, 0x17, 0x31,
- 0x31, 0xbb, 0x07, 0x38, 0xad, 0x62, 0x92, 0x73, 0x87, 0x68, 0x09, 0x80, 0x6a, 0xd1, 0x0b, 0x4f,
- 0xcd, 0xc9, 0xf1, 0xce, 0xcb, 0x2f, 0xcf, 0x0b, 0x01, 0xa9, 0x4c, 0x62, 0x03, 0x9b, 0x65, 0x0c,
- 0x08, 0x00, 0x00, 0xff, 0xff, 0x31, 0x55, 0x64, 0x90, 0x0a, 0x02, 0x00, 0x00,
-}
-
-func (this *DoubleValue) Compare(that interface{}) int {
- if that == nil {
- if this == nil {
- return 0
- }
- return 1
- }
-
- that1, ok := that.(*DoubleValue)
- if !ok {
- that2, ok := that.(DoubleValue)
- if ok {
- that1 = &that2
- } else {
- return 1
- }
- }
- if that1 == nil {
- if this == nil {
- return 0
- }
- return 1
- } else if this == nil {
- return -1
- }
- if this.Value != that1.Value {
- if this.Value < that1.Value {
- return -1
- }
- return 1
- }
- if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 {
- return c
- }
- return 0
-}
-func (this *FloatValue) Compare(that interface{}) int {
- if that == nil {
- if this == nil {
- return 0
- }
- return 1
- }
-
- that1, ok := that.(*FloatValue)
- if !ok {
- that2, ok := that.(FloatValue)
- if ok {
- that1 = &that2
- } else {
- return 1
- }
- }
- if that1 == nil {
- if this == nil {
- return 0
- }
- return 1
- } else if this == nil {
- return -1
- }
- if this.Value != that1.Value {
- if this.Value < that1.Value {
- return -1
- }
- return 1
- }
- if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 {
- return c
- }
- return 0
-}
-func (this *Int64Value) Compare(that interface{}) int {
- if that == nil {
- if this == nil {
- return 0
- }
- return 1
- }
-
- that1, ok := that.(*Int64Value)
- if !ok {
- that2, ok := that.(Int64Value)
- if ok {
- that1 = &that2
- } else {
- return 1
- }
- }
- if that1 == nil {
- if this == nil {
- return 0
- }
- return 1
- } else if this == nil {
- return -1
- }
- if this.Value != that1.Value {
- if this.Value < that1.Value {
- return -1
- }
- return 1
- }
- if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 {
- return c
- }
- return 0
-}
-func (this *UInt64Value) Compare(that interface{}) int {
- if that == nil {
- if this == nil {
- return 0
- }
- return 1
- }
-
- that1, ok := that.(*UInt64Value)
- if !ok {
- that2, ok := that.(UInt64Value)
- if ok {
- that1 = &that2
- } else {
- return 1
- }
- }
- if that1 == nil {
- if this == nil {
- return 0
- }
- return 1
- } else if this == nil {
- return -1
- }
- if this.Value != that1.Value {
- if this.Value < that1.Value {
- return -1
- }
- return 1
- }
- if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 {
- return c
- }
- return 0
-}
-func (this *Int32Value) Compare(that interface{}) int {
- if that == nil {
- if this == nil {
- return 0
- }
- return 1
- }
-
- that1, ok := that.(*Int32Value)
- if !ok {
- that2, ok := that.(Int32Value)
- if ok {
- that1 = &that2
- } else {
- return 1
- }
- }
- if that1 == nil {
- if this == nil {
- return 0
- }
- return 1
- } else if this == nil {
- return -1
- }
- if this.Value != that1.Value {
- if this.Value < that1.Value {
- return -1
- }
- return 1
- }
- if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 {
- return c
- }
- return 0
-}
-func (this *UInt32Value) Compare(that interface{}) int {
- if that == nil {
- if this == nil {
- return 0
- }
- return 1
- }
-
- that1, ok := that.(*UInt32Value)
- if !ok {
- that2, ok := that.(UInt32Value)
- if ok {
- that1 = &that2
- } else {
- return 1
- }
- }
- if that1 == nil {
- if this == nil {
- return 0
- }
- return 1
- } else if this == nil {
- return -1
- }
- if this.Value != that1.Value {
- if this.Value < that1.Value {
- return -1
- }
- return 1
- }
- if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 {
- return c
- }
- return 0
-}
-func (this *BoolValue) Compare(that interface{}) int {
- if that == nil {
- if this == nil {
- return 0
- }
- return 1
- }
-
- that1, ok := that.(*BoolValue)
- if !ok {
- that2, ok := that.(BoolValue)
- if ok {
- that1 = &that2
- } else {
- return 1
- }
- }
- if that1 == nil {
- if this == nil {
- return 0
- }
- return 1
- } else if this == nil {
- return -1
- }
- if this.Value != that1.Value {
- if !this.Value {
- return -1
- }
- return 1
- }
- if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 {
- return c
- }
- return 0
-}
-func (this *StringValue) Compare(that interface{}) int {
- if that == nil {
- if this == nil {
- return 0
- }
- return 1
- }
-
- that1, ok := that.(*StringValue)
- if !ok {
- that2, ok := that.(StringValue)
- if ok {
- that1 = &that2
- } else {
- return 1
- }
- }
- if that1 == nil {
- if this == nil {
- return 0
- }
- return 1
- } else if this == nil {
- return -1
- }
- if this.Value != that1.Value {
- if this.Value < that1.Value {
- return -1
- }
- return 1
- }
- if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 {
- return c
- }
- return 0
-}
-func (this *BytesValue) Compare(that interface{}) int {
- if that == nil {
- if this == nil {
- return 0
- }
- return 1
- }
-
- that1, ok := that.(*BytesValue)
- if !ok {
- that2, ok := that.(BytesValue)
- if ok {
- that1 = &that2
- } else {
- return 1
- }
- }
- if that1 == nil {
- if this == nil {
- return 0
- }
- return 1
- } else if this == nil {
- return -1
- }
- if c := bytes.Compare(this.Value, that1.Value); c != 0 {
- return c
- }
- if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 {
- return c
- }
- return 0
-}
-func (this *DoubleValue) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*DoubleValue)
- if !ok {
- that2, ok := that.(DoubleValue)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if this.Value != that1.Value {
- return false
- }
- if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
- return false
- }
- return true
-}
-func (this *FloatValue) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*FloatValue)
- if !ok {
- that2, ok := that.(FloatValue)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if this.Value != that1.Value {
- return false
- }
- if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
- return false
- }
- return true
-}
-func (this *Int64Value) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*Int64Value)
- if !ok {
- that2, ok := that.(Int64Value)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if this.Value != that1.Value {
- return false
- }
- if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
- return false
- }
- return true
-}
-func (this *UInt64Value) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*UInt64Value)
- if !ok {
- that2, ok := that.(UInt64Value)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if this.Value != that1.Value {
- return false
- }
- if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
- return false
- }
- return true
-}
-func (this *Int32Value) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*Int32Value)
- if !ok {
- that2, ok := that.(Int32Value)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if this.Value != that1.Value {
- return false
- }
- if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
- return false
- }
- return true
-}
-func (this *UInt32Value) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*UInt32Value)
- if !ok {
- that2, ok := that.(UInt32Value)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if this.Value != that1.Value {
- return false
- }
- if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
- return false
- }
- return true
-}
-func (this *BoolValue) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*BoolValue)
- if !ok {
- that2, ok := that.(BoolValue)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if this.Value != that1.Value {
- return false
- }
- if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
- return false
- }
- return true
-}
-func (this *StringValue) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*StringValue)
- if !ok {
- that2, ok := that.(StringValue)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if this.Value != that1.Value {
- return false
- }
- if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
- return false
- }
- return true
-}
-func (this *BytesValue) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*BytesValue)
- if !ok {
- that2, ok := that.(BytesValue)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if !bytes.Equal(this.Value, that1.Value) {
- return false
- }
- if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
- return false
- }
- return true
-}
-func (this *DoubleValue) GoString() string {
- if this == nil {
- return "nil"
- }
- s := make([]string, 0, 5)
- s = append(s, "&types.DoubleValue{")
- s = append(s, "Value: "+fmt.Sprintf("%#v", this.Value)+",\n")
- if this.XXX_unrecognized != nil {
- s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
- }
- s = append(s, "}")
- return strings.Join(s, "")
-}
-func (this *FloatValue) GoString() string {
- if this == nil {
- return "nil"
- }
- s := make([]string, 0, 5)
- s = append(s, "&types.FloatValue{")
- s = append(s, "Value: "+fmt.Sprintf("%#v", this.Value)+",\n")
- if this.XXX_unrecognized != nil {
- s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
- }
- s = append(s, "}")
- return strings.Join(s, "")
-}
-func (this *Int64Value) GoString() string {
- if this == nil {
- return "nil"
- }
- s := make([]string, 0, 5)
- s = append(s, "&types.Int64Value{")
- s = append(s, "Value: "+fmt.Sprintf("%#v", this.Value)+",\n")
- if this.XXX_unrecognized != nil {
- s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
- }
- s = append(s, "}")
- return strings.Join(s, "")
-}
-func (this *UInt64Value) GoString() string {
- if this == nil {
- return "nil"
- }
- s := make([]string, 0, 5)
- s = append(s, "&types.UInt64Value{")
- s = append(s, "Value: "+fmt.Sprintf("%#v", this.Value)+",\n")
- if this.XXX_unrecognized != nil {
- s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
- }
- s = append(s, "}")
- return strings.Join(s, "")
-}
-func (this *Int32Value) GoString() string {
- if this == nil {
- return "nil"
- }
- s := make([]string, 0, 5)
- s = append(s, "&types.Int32Value{")
- s = append(s, "Value: "+fmt.Sprintf("%#v", this.Value)+",\n")
- if this.XXX_unrecognized != nil {
- s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
- }
- s = append(s, "}")
- return strings.Join(s, "")
-}
-func (this *UInt32Value) GoString() string {
- if this == nil {
- return "nil"
- }
- s := make([]string, 0, 5)
- s = append(s, "&types.UInt32Value{")
- s = append(s, "Value: "+fmt.Sprintf("%#v", this.Value)+",\n")
- if this.XXX_unrecognized != nil {
- s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
- }
- s = append(s, "}")
- return strings.Join(s, "")
-}
-func (this *BoolValue) GoString() string {
- if this == nil {
- return "nil"
- }
- s := make([]string, 0, 5)
- s = append(s, "&types.BoolValue{")
- s = append(s, "Value: "+fmt.Sprintf("%#v", this.Value)+",\n")
- if this.XXX_unrecognized != nil {
- s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
- }
- s = append(s, "}")
- return strings.Join(s, "")
-}
-func (this *StringValue) GoString() string {
- if this == nil {
- return "nil"
- }
- s := make([]string, 0, 5)
- s = append(s, "&types.StringValue{")
- s = append(s, "Value: "+fmt.Sprintf("%#v", this.Value)+",\n")
- if this.XXX_unrecognized != nil {
- s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
- }
- s = append(s, "}")
- return strings.Join(s, "")
-}
-func (this *BytesValue) GoString() string {
- if this == nil {
- return "nil"
- }
- s := make([]string, 0, 5)
- s = append(s, "&types.BytesValue{")
- s = append(s, "Value: "+fmt.Sprintf("%#v", this.Value)+",\n")
- if this.XXX_unrecognized != nil {
- s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
- }
- s = append(s, "}")
- return strings.Join(s, "")
-}
-func valueToGoStringWrappers(v interface{}, typ string) string {
- rv := reflect.ValueOf(v)
- if rv.IsNil() {
- return "nil"
- }
- pv := reflect.Indirect(rv).Interface()
- return fmt.Sprintf("func(v %v) *%v { return &v } ( %#v )", typ, typ, pv)
-}
-func (m *DoubleValue) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *DoubleValue) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *DoubleValue) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Value != 0 {
- i -= 8
- encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Value))))
- i--
- dAtA[i] = 0x9
- }
- return len(dAtA) - i, nil
-}
-
-func (m *FloatValue) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *FloatValue) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *FloatValue) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Value != 0 {
- i -= 4
- encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Value))))
- i--
- dAtA[i] = 0xd
- }
- return len(dAtA) - i, nil
-}
-
-func (m *Int64Value) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *Int64Value) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Int64Value) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Value != 0 {
- i = encodeVarintWrappers(dAtA, i, uint64(m.Value))
- i--
- dAtA[i] = 0x8
- }
- return len(dAtA) - i, nil
-}
-
-func (m *UInt64Value) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *UInt64Value) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *UInt64Value) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Value != 0 {
- i = encodeVarintWrappers(dAtA, i, uint64(m.Value))
- i--
- dAtA[i] = 0x8
- }
- return len(dAtA) - i, nil
-}
-
-func (m *Int32Value) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *Int32Value) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Int32Value) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Value != 0 {
- i = encodeVarintWrappers(dAtA, i, uint64(m.Value))
- i--
- dAtA[i] = 0x8
- }
- return len(dAtA) - i, nil
-}
-
-func (m *UInt32Value) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *UInt32Value) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *UInt32Value) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Value != 0 {
- i = encodeVarintWrappers(dAtA, i, uint64(m.Value))
- i--
- dAtA[i] = 0x8
- }
- return len(dAtA) - i, nil
-}
-
-func (m *BoolValue) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *BoolValue) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *BoolValue) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Value {
- i--
- if m.Value {
- dAtA[i] = 1
- } else {
- dAtA[i] = 0
- }
- i--
- dAtA[i] = 0x8
- }
- return len(dAtA) - i, nil
-}
-
-func (m *StringValue) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *StringValue) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *StringValue) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Value) > 0 {
- i -= len(m.Value)
- copy(dAtA[i:], m.Value)
- i = encodeVarintWrappers(dAtA, i, uint64(len(m.Value)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func (m *BytesValue) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *BytesValue) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *BytesValue) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Value) > 0 {
- i -= len(m.Value)
- copy(dAtA[i:], m.Value)
- i = encodeVarintWrappers(dAtA, i, uint64(len(m.Value)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func encodeVarintWrappers(dAtA []byte, offset int, v uint64) int {
- offset -= sovWrappers(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
-func NewPopulatedDoubleValue(r randyWrappers, easy bool) *DoubleValue {
- this := &DoubleValue{}
- this.Value = float64(r.Float64())
- if r.Intn(2) == 0 {
- this.Value *= -1
- }
- if !easy && r.Intn(10) != 0 {
- this.XXX_unrecognized = randUnrecognizedWrappers(r, 2)
- }
- return this
-}
-
-func NewPopulatedFloatValue(r randyWrappers, easy bool) *FloatValue {
- this := &FloatValue{}
- this.Value = float32(r.Float32())
- if r.Intn(2) == 0 {
- this.Value *= -1
- }
- if !easy && r.Intn(10) != 0 {
- this.XXX_unrecognized = randUnrecognizedWrappers(r, 2)
- }
- return this
-}
-
-func NewPopulatedInt64Value(r randyWrappers, easy bool) *Int64Value {
- this := &Int64Value{}
- this.Value = int64(r.Int63())
- if r.Intn(2) == 0 {
- this.Value *= -1
- }
- if !easy && r.Intn(10) != 0 {
- this.XXX_unrecognized = randUnrecognizedWrappers(r, 2)
- }
- return this
-}
-
-func NewPopulatedUInt64Value(r randyWrappers, easy bool) *UInt64Value {
- this := &UInt64Value{}
- this.Value = uint64(uint64(r.Uint32()))
- if !easy && r.Intn(10) != 0 {
- this.XXX_unrecognized = randUnrecognizedWrappers(r, 2)
- }
- return this
-}
-
-func NewPopulatedInt32Value(r randyWrappers, easy bool) *Int32Value {
- this := &Int32Value{}
- this.Value = int32(r.Int31())
- if r.Intn(2) == 0 {
- this.Value *= -1
- }
- if !easy && r.Intn(10) != 0 {
- this.XXX_unrecognized = randUnrecognizedWrappers(r, 2)
- }
- return this
-}
-
-func NewPopulatedUInt32Value(r randyWrappers, easy bool) *UInt32Value {
- this := &UInt32Value{}
- this.Value = uint32(r.Uint32())
- if !easy && r.Intn(10) != 0 {
- this.XXX_unrecognized = randUnrecognizedWrappers(r, 2)
- }
- return this
-}
-
-func NewPopulatedBoolValue(r randyWrappers, easy bool) *BoolValue {
- this := &BoolValue{}
- this.Value = bool(bool(r.Intn(2) == 0))
- if !easy && r.Intn(10) != 0 {
- this.XXX_unrecognized = randUnrecognizedWrappers(r, 2)
- }
- return this
-}
-
-func NewPopulatedStringValue(r randyWrappers, easy bool) *StringValue {
- this := &StringValue{}
- this.Value = string(randStringWrappers(r))
- if !easy && r.Intn(10) != 0 {
- this.XXX_unrecognized = randUnrecognizedWrappers(r, 2)
- }
- return this
-}
-
-func NewPopulatedBytesValue(r randyWrappers, easy bool) *BytesValue {
- this := &BytesValue{}
- v1 := r.Intn(100)
- this.Value = make([]byte, v1)
- for i := 0; i < v1; i++ {
- this.Value[i] = byte(r.Intn(256))
- }
- if !easy && r.Intn(10) != 0 {
- this.XXX_unrecognized = randUnrecognizedWrappers(r, 2)
- }
- return this
-}
-
-type randyWrappers interface {
- Float32() float32
- Float64() float64
- Int63() int64
- Int31() int32
- Uint32() uint32
- Intn(n int) int
-}
-
-func randUTF8RuneWrappers(r randyWrappers) rune {
- ru := r.Intn(62)
- if ru < 10 {
- return rune(ru + 48)
- } else if ru < 36 {
- return rune(ru + 55)
- }
- return rune(ru + 61)
-}
-func randStringWrappers(r randyWrappers) string {
- v2 := r.Intn(100)
- tmps := make([]rune, v2)
- for i := 0; i < v2; i++ {
- tmps[i] = randUTF8RuneWrappers(r)
- }
- return string(tmps)
-}
-func randUnrecognizedWrappers(r randyWrappers, maxFieldNumber int) (dAtA []byte) {
- l := r.Intn(5)
- for i := 0; i < l; i++ {
- wire := r.Intn(4)
- if wire == 3 {
- wire = 5
- }
- fieldNumber := maxFieldNumber + r.Intn(100)
- dAtA = randFieldWrappers(dAtA, r, fieldNumber, wire)
- }
- return dAtA
-}
-func randFieldWrappers(dAtA []byte, r randyWrappers, fieldNumber int, wire int) []byte {
- key := uint32(fieldNumber)<<3 | uint32(wire)
- switch wire {
- case 0:
- dAtA = encodeVarintPopulateWrappers(dAtA, uint64(key))
- v3 := r.Int63()
- if r.Intn(2) == 0 {
- v3 *= -1
- }
- dAtA = encodeVarintPopulateWrappers(dAtA, uint64(v3))
- case 1:
- dAtA = encodeVarintPopulateWrappers(dAtA, uint64(key))
- dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)))
- case 2:
- dAtA = encodeVarintPopulateWrappers(dAtA, uint64(key))
- ll := r.Intn(100)
- dAtA = encodeVarintPopulateWrappers(dAtA, uint64(ll))
- for j := 0; j < ll; j++ {
- dAtA = append(dAtA, byte(r.Intn(256)))
- }
- default:
- dAtA = encodeVarintPopulateWrappers(dAtA, uint64(key))
- dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)))
- }
- return dAtA
-}
-func encodeVarintPopulateWrappers(dAtA []byte, v uint64) []byte {
- for v >= 1<<7 {
- dAtA = append(dAtA, uint8(uint64(v)&0x7f|0x80))
- v >>= 7
- }
- dAtA = append(dAtA, uint8(v))
- return dAtA
-}
-func (m *DoubleValue) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Value != 0 {
- n += 9
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *FloatValue) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Value != 0 {
- n += 5
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *Int64Value) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Value != 0 {
- n += 1 + sovWrappers(uint64(m.Value))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *UInt64Value) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Value != 0 {
- n += 1 + sovWrappers(uint64(m.Value))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *Int32Value) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Value != 0 {
- n += 1 + sovWrappers(uint64(m.Value))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *UInt32Value) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Value != 0 {
- n += 1 + sovWrappers(uint64(m.Value))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *BoolValue) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Value {
- n += 2
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *StringValue) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Value)
- if l > 0 {
- n += 1 + l + sovWrappers(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *BytesValue) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Value)
- if l > 0 {
- n += 1 + l + sovWrappers(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func sovWrappers(x uint64) (n int) {
- return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozWrappers(x uint64) (n int) {
- return sovWrappers(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (this *DoubleValue) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&DoubleValue{`,
- `Value:` + fmt.Sprintf("%v", this.Value) + `,`,
- `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *FloatValue) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&FloatValue{`,
- `Value:` + fmt.Sprintf("%v", this.Value) + `,`,
- `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *Int64Value) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&Int64Value{`,
- `Value:` + fmt.Sprintf("%v", this.Value) + `,`,
- `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *UInt64Value) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&UInt64Value{`,
- `Value:` + fmt.Sprintf("%v", this.Value) + `,`,
- `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *Int32Value) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&Int32Value{`,
- `Value:` + fmt.Sprintf("%v", this.Value) + `,`,
- `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *UInt32Value) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&UInt32Value{`,
- `Value:` + fmt.Sprintf("%v", this.Value) + `,`,
- `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *BoolValue) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&BoolValue{`,
- `Value:` + fmt.Sprintf("%v", this.Value) + `,`,
- `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *StringValue) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&StringValue{`,
- `Value:` + fmt.Sprintf("%v", this.Value) + `,`,
- `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *BytesValue) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&BytesValue{`,
- `Value:` + fmt.Sprintf("%v", this.Value) + `,`,
- `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
- `}`,
- }, "")
- return s
-}
-func valueToStringWrappers(v interface{}) string {
- rv := reflect.ValueOf(v)
- if rv.IsNil() {
- return "nil"
- }
- pv := reflect.Indirect(rv).Interface()
- return fmt.Sprintf("*%v", pv)
-}
-func (m *DoubleValue) 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 ErrIntOverflowWrappers
- }
- 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: DoubleValue: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: DoubleValue: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 1 {
- return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
- }
- var v uint64
- if (iNdEx + 8) > l {
- return io.ErrUnexpectedEOF
- }
- v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
- iNdEx += 8
- m.Value = float64(math.Float64frombits(v))
- default:
- iNdEx = preIndex
- skippy, err := skipWrappers(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthWrappers
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *FloatValue) 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 ErrIntOverflowWrappers
- }
- 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: FloatValue: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: FloatValue: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 5 {
- return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
- }
- var v uint32
- if (iNdEx + 4) > l {
- return io.ErrUnexpectedEOF
- }
- v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:]))
- iNdEx += 4
- m.Value = float32(math.Float32frombits(v))
- default:
- iNdEx = preIndex
- skippy, err := skipWrappers(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthWrappers
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *Int64Value) 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 ErrIntOverflowWrappers
- }
- 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: Int64Value: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Int64Value: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
- }
- m.Value = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWrappers
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Value |= int64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- default:
- iNdEx = preIndex
- skippy, err := skipWrappers(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthWrappers
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *UInt64Value) 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 ErrIntOverflowWrappers
- }
- 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: UInt64Value: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: UInt64Value: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
- }
- m.Value = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWrappers
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Value |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- default:
- iNdEx = preIndex
- skippy, err := skipWrappers(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthWrappers
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *Int32Value) 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 ErrIntOverflowWrappers
- }
- 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: Int32Value: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Int32Value: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
- }
- m.Value = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWrappers
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Value |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- default:
- iNdEx = preIndex
- skippy, err := skipWrappers(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthWrappers
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *UInt32Value) 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 ErrIntOverflowWrappers
- }
- 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: UInt32Value: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: UInt32Value: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
- }
- m.Value = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWrappers
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Value |= uint32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- default:
- iNdEx = preIndex
- skippy, err := skipWrappers(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthWrappers
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *BoolValue) 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 ErrIntOverflowWrappers
- }
- 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: BoolValue: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: BoolValue: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
- }
- var v int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWrappers
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.Value = bool(v != 0)
- default:
- iNdEx = preIndex
- skippy, err := skipWrappers(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthWrappers
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *StringValue) 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 ErrIntOverflowWrappers
- }
- 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: StringValue: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: StringValue: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWrappers
- }
- 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 ErrInvalidLengthWrappers
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthWrappers
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Value = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipWrappers(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthWrappers
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *BytesValue) 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 ErrIntOverflowWrappers
- }
- 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: BytesValue: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: BytesValue: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
- }
- var byteLen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWrappers
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- byteLen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if byteLen < 0 {
- return ErrInvalidLengthWrappers
- }
- postIndex := iNdEx + byteLen
- if postIndex < 0 {
- return ErrInvalidLengthWrappers
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Value = append(m.Value[:0], dAtA[iNdEx:postIndex]...)
- if m.Value == nil {
- m.Value = []byte{}
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipWrappers(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthWrappers
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func skipWrappers(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowWrappers
- }
- 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, ErrIntOverflowWrappers
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowWrappers
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLengthWrappers
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroupWrappers
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLengthWrappers
- }
- if depth == 0 {
- return iNdEx, nil
- }
- }
- return 0, io.ErrUnexpectedEOF
-}
-
-var (
- ErrInvalidLengthWrappers = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflowWrappers = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroupWrappers = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/vendor/github.com/gogo/protobuf/types/wrappers_gogo.go b/vendor/github.com/gogo/protobuf/types/wrappers_gogo.go
deleted file mode 100644
index d905df360..000000000
--- a/vendor/github.com/gogo/protobuf/types/wrappers_gogo.go
+++ /dev/null
@@ -1,300 +0,0 @@
-// Protocol Buffers for Go with Gadgets
-//
-// Copyright (c) 2018, The GoGo Authors. All rights reserved.
-// http://github.com/gogo/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-package types
-
-func NewPopulatedStdDouble(r randyWrappers, easy bool) *float64 {
- v := NewPopulatedDoubleValue(r, easy)
- return &v.Value
-}
-
-func SizeOfStdDouble(v float64) int {
- pv := &DoubleValue{Value: v}
- return pv.Size()
-}
-
-func StdDoubleMarshal(v float64) ([]byte, error) {
- size := SizeOfStdDouble(v)
- buf := make([]byte, size)
- _, err := StdDoubleMarshalTo(v, buf)
- return buf, err
-}
-
-func StdDoubleMarshalTo(v float64, data []byte) (int, error) {
- pv := &DoubleValue{Value: v}
- return pv.MarshalTo(data)
-}
-
-func StdDoubleUnmarshal(v *float64, data []byte) error {
- pv := &DoubleValue{}
- if err := pv.Unmarshal(data); err != nil {
- return err
- }
- *v = pv.Value
- return nil
-}
-func NewPopulatedStdFloat(r randyWrappers, easy bool) *float32 {
- v := NewPopulatedFloatValue(r, easy)
- return &v.Value
-}
-
-func SizeOfStdFloat(v float32) int {
- pv := &FloatValue{Value: v}
- return pv.Size()
-}
-
-func StdFloatMarshal(v float32) ([]byte, error) {
- size := SizeOfStdFloat(v)
- buf := make([]byte, size)
- _, err := StdFloatMarshalTo(v, buf)
- return buf, err
-}
-
-func StdFloatMarshalTo(v float32, data []byte) (int, error) {
- pv := &FloatValue{Value: v}
- return pv.MarshalTo(data)
-}
-
-func StdFloatUnmarshal(v *float32, data []byte) error {
- pv := &FloatValue{}
- if err := pv.Unmarshal(data); err != nil {
- return err
- }
- *v = pv.Value
- return nil
-}
-func NewPopulatedStdInt64(r randyWrappers, easy bool) *int64 {
- v := NewPopulatedInt64Value(r, easy)
- return &v.Value
-}
-
-func SizeOfStdInt64(v int64) int {
- pv := &Int64Value{Value: v}
- return pv.Size()
-}
-
-func StdInt64Marshal(v int64) ([]byte, error) {
- size := SizeOfStdInt64(v)
- buf := make([]byte, size)
- _, err := StdInt64MarshalTo(v, buf)
- return buf, err
-}
-
-func StdInt64MarshalTo(v int64, data []byte) (int, error) {
- pv := &Int64Value{Value: v}
- return pv.MarshalTo(data)
-}
-
-func StdInt64Unmarshal(v *int64, data []byte) error {
- pv := &Int64Value{}
- if err := pv.Unmarshal(data); err != nil {
- return err
- }
- *v = pv.Value
- return nil
-}
-func NewPopulatedStdUInt64(r randyWrappers, easy bool) *uint64 {
- v := NewPopulatedUInt64Value(r, easy)
- return &v.Value
-}
-
-func SizeOfStdUInt64(v uint64) int {
- pv := &UInt64Value{Value: v}
- return pv.Size()
-}
-
-func StdUInt64Marshal(v uint64) ([]byte, error) {
- size := SizeOfStdUInt64(v)
- buf := make([]byte, size)
- _, err := StdUInt64MarshalTo(v, buf)
- return buf, err
-}
-
-func StdUInt64MarshalTo(v uint64, data []byte) (int, error) {
- pv := &UInt64Value{Value: v}
- return pv.MarshalTo(data)
-}
-
-func StdUInt64Unmarshal(v *uint64, data []byte) error {
- pv := &UInt64Value{}
- if err := pv.Unmarshal(data); err != nil {
- return err
- }
- *v = pv.Value
- return nil
-}
-func NewPopulatedStdInt32(r randyWrappers, easy bool) *int32 {
- v := NewPopulatedInt32Value(r, easy)
- return &v.Value
-}
-
-func SizeOfStdInt32(v int32) int {
- pv := &Int32Value{Value: v}
- return pv.Size()
-}
-
-func StdInt32Marshal(v int32) ([]byte, error) {
- size := SizeOfStdInt32(v)
- buf := make([]byte, size)
- _, err := StdInt32MarshalTo(v, buf)
- return buf, err
-}
-
-func StdInt32MarshalTo(v int32, data []byte) (int, error) {
- pv := &Int32Value{Value: v}
- return pv.MarshalTo(data)
-}
-
-func StdInt32Unmarshal(v *int32, data []byte) error {
- pv := &Int32Value{}
- if err := pv.Unmarshal(data); err != nil {
- return err
- }
- *v = pv.Value
- return nil
-}
-func NewPopulatedStdUInt32(r randyWrappers, easy bool) *uint32 {
- v := NewPopulatedUInt32Value(r, easy)
- return &v.Value
-}
-
-func SizeOfStdUInt32(v uint32) int {
- pv := &UInt32Value{Value: v}
- return pv.Size()
-}
-
-func StdUInt32Marshal(v uint32) ([]byte, error) {
- size := SizeOfStdUInt32(v)
- buf := make([]byte, size)
- _, err := StdUInt32MarshalTo(v, buf)
- return buf, err
-}
-
-func StdUInt32MarshalTo(v uint32, data []byte) (int, error) {
- pv := &UInt32Value{Value: v}
- return pv.MarshalTo(data)
-}
-
-func StdUInt32Unmarshal(v *uint32, data []byte) error {
- pv := &UInt32Value{}
- if err := pv.Unmarshal(data); err != nil {
- return err
- }
- *v = pv.Value
- return nil
-}
-func NewPopulatedStdBool(r randyWrappers, easy bool) *bool {
- v := NewPopulatedBoolValue(r, easy)
- return &v.Value
-}
-
-func SizeOfStdBool(v bool) int {
- pv := &BoolValue{Value: v}
- return pv.Size()
-}
-
-func StdBoolMarshal(v bool) ([]byte, error) {
- size := SizeOfStdBool(v)
- buf := make([]byte, size)
- _, err := StdBoolMarshalTo(v, buf)
- return buf, err
-}
-
-func StdBoolMarshalTo(v bool, data []byte) (int, error) {
- pv := &BoolValue{Value: v}
- return pv.MarshalTo(data)
-}
-
-func StdBoolUnmarshal(v *bool, data []byte) error {
- pv := &BoolValue{}
- if err := pv.Unmarshal(data); err != nil {
- return err
- }
- *v = pv.Value
- return nil
-}
-func NewPopulatedStdString(r randyWrappers, easy bool) *string {
- v := NewPopulatedStringValue(r, easy)
- return &v.Value
-}
-
-func SizeOfStdString(v string) int {
- pv := &StringValue{Value: v}
- return pv.Size()
-}
-
-func StdStringMarshal(v string) ([]byte, error) {
- size := SizeOfStdString(v)
- buf := make([]byte, size)
- _, err := StdStringMarshalTo(v, buf)
- return buf, err
-}
-
-func StdStringMarshalTo(v string, data []byte) (int, error) {
- pv := &StringValue{Value: v}
- return pv.MarshalTo(data)
-}
-
-func StdStringUnmarshal(v *string, data []byte) error {
- pv := &StringValue{}
- if err := pv.Unmarshal(data); err != nil {
- return err
- }
- *v = pv.Value
- return nil
-}
-func NewPopulatedStdBytes(r randyWrappers, easy bool) *[]byte {
- v := NewPopulatedBytesValue(r, easy)
- return &v.Value
-}
-
-func SizeOfStdBytes(v []byte) int {
- pv := &BytesValue{Value: v}
- return pv.Size()
-}
-
-func StdBytesMarshal(v []byte) ([]byte, error) {
- size := SizeOfStdBytes(v)
- buf := make([]byte, size)
- _, err := StdBytesMarshalTo(v, buf)
- return buf, err
-}
-
-func StdBytesMarshalTo(v []byte, data []byte) (int, error) {
- pv := &BytesValue{Value: v}
- return pv.MarshalTo(data)
-}
-
-func StdBytesUnmarshal(v *[]byte, data []byte) error {
- pv := &BytesValue{}
- if err := pv.Unmarshal(data); err != nil {
- return err
- }
- *v = pv.Value
- return nil
-}
diff --git a/vendor/github.com/golang/protobuf/jsonpb/decode.go b/vendor/github.com/golang/protobuf/jsonpb/decode.go
new file mode 100644
index 000000000..60e82caa9
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/jsonpb/decode.go
@@ -0,0 +1,524 @@
+// Copyright 2015 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package jsonpb
+
+import (
+ "encoding/json"
+ "errors"
+ "fmt"
+ "io"
+ "math"
+ "reflect"
+ "strconv"
+ "strings"
+ "time"
+
+ "github.com/golang/protobuf/proto"
+ "google.golang.org/protobuf/encoding/protojson"
+ protoV2 "google.golang.org/protobuf/proto"
+ "google.golang.org/protobuf/reflect/protoreflect"
+ "google.golang.org/protobuf/reflect/protoregistry"
+)
+
+const wrapJSONUnmarshalV2 = false
+
+// UnmarshalNext unmarshals the next JSON object from d into m.
+func UnmarshalNext(d *json.Decoder, m proto.Message) error {
+ return new(Unmarshaler).UnmarshalNext(d, m)
+}
+
+// Unmarshal unmarshals a JSON object from r into m.
+func Unmarshal(r io.Reader, m proto.Message) error {
+ return new(Unmarshaler).Unmarshal(r, m)
+}
+
+// UnmarshalString unmarshals a JSON object from s into m.
+func UnmarshalString(s string, m proto.Message) error {
+ return new(Unmarshaler).Unmarshal(strings.NewReader(s), m)
+}
+
+// Unmarshaler is a configurable object for converting from a JSON
+// representation to a protocol buffer object.
+type Unmarshaler struct {
+ // AllowUnknownFields specifies whether to allow messages to contain
+ // unknown JSON fields, as opposed to failing to unmarshal.
+ AllowUnknownFields bool
+
+ // AnyResolver is used to resolve the google.protobuf.Any well-known type.
+ // If unset, the global registry is used by default.
+ AnyResolver AnyResolver
+}
+
+// JSONPBUnmarshaler is implemented by protobuf messages that customize the way
+// they are unmarshaled from JSON. Messages that implement this should also
+// implement JSONPBMarshaler so that the custom format can be produced.
+//
+// The JSON unmarshaling must follow the JSON to proto specification:
+// https://developers.google.com/protocol-buffers/docs/proto3#json
+//
+// Deprecated: Custom types should implement protobuf reflection instead.
+type JSONPBUnmarshaler interface {
+ UnmarshalJSONPB(*Unmarshaler, []byte) error
+}
+
+// Unmarshal unmarshals a JSON object from r into m.
+func (u *Unmarshaler) Unmarshal(r io.Reader, m proto.Message) error {
+ return u.UnmarshalNext(json.NewDecoder(r), m)
+}
+
+// UnmarshalNext unmarshals the next JSON object from d into m.
+func (u *Unmarshaler) UnmarshalNext(d *json.Decoder, m proto.Message) error {
+ if m == nil {
+ return errors.New("invalid nil message")
+ }
+
+ // Parse the next JSON object from the stream.
+ raw := json.RawMessage{}
+ if err := d.Decode(&raw); err != nil {
+ return err
+ }
+
+ // Check for custom unmarshalers first since they may not properly
+ // implement protobuf reflection that the logic below relies on.
+ if jsu, ok := m.(JSONPBUnmarshaler); ok {
+ return jsu.UnmarshalJSONPB(u, raw)
+ }
+
+ mr := proto.MessageReflect(m)
+
+ // NOTE: For historical reasons, a top-level null is treated as a noop.
+ // This is incorrect, but kept for compatibility.
+ if string(raw) == "null" && mr.Descriptor().FullName() != "google.protobuf.Value" {
+ return nil
+ }
+
+ if wrapJSONUnmarshalV2 {
+ // NOTE: If input message is non-empty, we need to preserve merge semantics
+ // of the old jsonpb implementation. These semantics are not supported by
+ // the protobuf JSON specification.
+ isEmpty := true
+ mr.Range(func(protoreflect.FieldDescriptor, protoreflect.Value) bool {
+ isEmpty = false // at least one iteration implies non-empty
+ return false
+ })
+ if !isEmpty {
+ // Perform unmarshaling into a newly allocated, empty message.
+ mr = mr.New()
+
+ // Use a defer to copy all unmarshaled fields into the original message.
+ dst := proto.MessageReflect(m)
+ defer mr.Range(func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool {
+ dst.Set(fd, v)
+ return true
+ })
+ }
+
+ // Unmarshal using the v2 JSON unmarshaler.
+ opts := protojson.UnmarshalOptions{
+ DiscardUnknown: u.AllowUnknownFields,
+ }
+ if u.AnyResolver != nil {
+ opts.Resolver = anyResolver{u.AnyResolver}
+ }
+ return opts.Unmarshal(raw, mr.Interface())
+ } else {
+ if err := u.unmarshalMessage(mr, raw); err != nil {
+ return err
+ }
+ return protoV2.CheckInitialized(mr.Interface())
+ }
+}
+
+func (u *Unmarshaler) unmarshalMessage(m protoreflect.Message, in []byte) error {
+ md := m.Descriptor()
+ fds := md.Fields()
+
+ if jsu, ok := proto.MessageV1(m.Interface()).(JSONPBUnmarshaler); ok {
+ return jsu.UnmarshalJSONPB(u, in)
+ }
+
+ if string(in) == "null" && md.FullName() != "google.protobuf.Value" {
+ return nil
+ }
+
+ switch wellKnownType(md.FullName()) {
+ case "Any":
+ var jsonObject map[string]json.RawMessage
+ if err := json.Unmarshal(in, &jsonObject); err != nil {
+ return err
+ }
+
+ rawTypeURL, ok := jsonObject["@type"]
+ if !ok {
+ return errors.New("Any JSON doesn't have '@type'")
+ }
+ typeURL, err := unquoteString(string(rawTypeURL))
+ if err != nil {
+ return fmt.Errorf("can't unmarshal Any's '@type': %q", rawTypeURL)
+ }
+ m.Set(fds.ByNumber(1), protoreflect.ValueOfString(typeURL))
+
+ var m2 protoreflect.Message
+ if u.AnyResolver != nil {
+ mi, err := u.AnyResolver.Resolve(typeURL)
+ if err != nil {
+ return err
+ }
+ m2 = proto.MessageReflect(mi)
+ } else {
+ mt, err := protoregistry.GlobalTypes.FindMessageByURL(typeURL)
+ if err != nil {
+ if err == protoregistry.NotFound {
+ return fmt.Errorf("could not resolve Any message type: %v", typeURL)
+ }
+ return err
+ }
+ m2 = mt.New()
+ }
+
+ if wellKnownType(m2.Descriptor().FullName()) != "" {
+ rawValue, ok := jsonObject["value"]
+ if !ok {
+ return errors.New("Any JSON doesn't have 'value'")
+ }
+ if err := u.unmarshalMessage(m2, rawValue); err != nil {
+ return fmt.Errorf("can't unmarshal Any nested proto %v: %v", typeURL, err)
+ }
+ } else {
+ delete(jsonObject, "@type")
+ rawJSON, err := json.Marshal(jsonObject)
+ if err != nil {
+ return fmt.Errorf("can't generate JSON for Any's nested proto to be unmarshaled: %v", err)
+ }
+ if err = u.unmarshalMessage(m2, rawJSON); err != nil {
+ return fmt.Errorf("can't unmarshal Any nested proto %v: %v", typeURL, err)
+ }
+ }
+
+ rawWire, err := protoV2.Marshal(m2.Interface())
+ if err != nil {
+ return fmt.Errorf("can't marshal proto %v into Any.Value: %v", typeURL, err)
+ }
+ m.Set(fds.ByNumber(2), protoreflect.ValueOfBytes(rawWire))
+ return nil
+ case "BoolValue", "BytesValue", "StringValue",
+ "Int32Value", "UInt32Value", "FloatValue",
+ "Int64Value", "UInt64Value", "DoubleValue":
+ fd := fds.ByNumber(1)
+ v, err := u.unmarshalValue(m.NewField(fd), in, fd)
+ if err != nil {
+ return err
+ }
+ m.Set(fd, v)
+ return nil
+ case "Duration":
+ v, err := unquoteString(string(in))
+ if err != nil {
+ return err
+ }
+ d, err := time.ParseDuration(v)
+ if err != nil {
+ return fmt.Errorf("bad Duration: %v", err)
+ }
+
+ sec := d.Nanoseconds() / 1e9
+ nsec := d.Nanoseconds() % 1e9
+ m.Set(fds.ByNumber(1), protoreflect.ValueOfInt64(int64(sec)))
+ m.Set(fds.ByNumber(2), protoreflect.ValueOfInt32(int32(nsec)))
+ return nil
+ case "Timestamp":
+ v, err := unquoteString(string(in))
+ if err != nil {
+ return err
+ }
+ t, err := time.Parse(time.RFC3339Nano, v)
+ if err != nil {
+ return fmt.Errorf("bad Timestamp: %v", err)
+ }
+
+ sec := t.Unix()
+ nsec := t.Nanosecond()
+ m.Set(fds.ByNumber(1), protoreflect.ValueOfInt64(int64(sec)))
+ m.Set(fds.ByNumber(2), protoreflect.ValueOfInt32(int32(nsec)))
+ return nil
+ case "Value":
+ switch {
+ case string(in) == "null":
+ m.Set(fds.ByNumber(1), protoreflect.ValueOfEnum(0))
+ case string(in) == "true":
+ m.Set(fds.ByNumber(4), protoreflect.ValueOfBool(true))
+ case string(in) == "false":
+ m.Set(fds.ByNumber(4), protoreflect.ValueOfBool(false))
+ case hasPrefixAndSuffix('"', in, '"'):
+ s, err := unquoteString(string(in))
+ if err != nil {
+ return fmt.Errorf("unrecognized type for Value %q", in)
+ }
+ m.Set(fds.ByNumber(3), protoreflect.ValueOfString(s))
+ case hasPrefixAndSuffix('[', in, ']'):
+ v := m.Mutable(fds.ByNumber(6))
+ return u.unmarshalMessage(v.Message(), in)
+ case hasPrefixAndSuffix('{', in, '}'):
+ v := m.Mutable(fds.ByNumber(5))
+ return u.unmarshalMessage(v.Message(), in)
+ default:
+ f, err := strconv.ParseFloat(string(in), 0)
+ if err != nil {
+ return fmt.Errorf("unrecognized type for Value %q", in)
+ }
+ m.Set(fds.ByNumber(2), protoreflect.ValueOfFloat64(f))
+ }
+ return nil
+ case "ListValue":
+ var jsonArray []json.RawMessage
+ if err := json.Unmarshal(in, &jsonArray); err != nil {
+ return fmt.Errorf("bad ListValue: %v", err)
+ }
+
+ lv := m.Mutable(fds.ByNumber(1)).List()
+ for _, raw := range jsonArray {
+ ve := lv.NewElement()
+ if err := u.unmarshalMessage(ve.Message(), raw); err != nil {
+ return err
+ }
+ lv.Append(ve)
+ }
+ return nil
+ case "Struct":
+ var jsonObject map[string]json.RawMessage
+ if err := json.Unmarshal(in, &jsonObject); err != nil {
+ return fmt.Errorf("bad StructValue: %v", err)
+ }
+
+ mv := m.Mutable(fds.ByNumber(1)).Map()
+ for key, raw := range jsonObject {
+ kv := protoreflect.ValueOf(key).MapKey()
+ vv := mv.NewValue()
+ if err := u.unmarshalMessage(vv.Message(), raw); err != nil {
+ return fmt.Errorf("bad value in StructValue for key %q: %v", key, err)
+ }
+ mv.Set(kv, vv)
+ }
+ return nil
+ }
+
+ var jsonObject map[string]json.RawMessage
+ if err := json.Unmarshal(in, &jsonObject); err != nil {
+ return err
+ }
+
+ // Handle known fields.
+ for i := 0; i < fds.Len(); i++ {
+ fd := fds.Get(i)
+ if fd.IsWeak() && fd.Message().IsPlaceholder() {
+ continue // weak reference is not linked in
+ }
+
+ // Search for any raw JSON value associated with this field.
+ var raw json.RawMessage
+ name := string(fd.Name())
+ if fd.Kind() == protoreflect.GroupKind {
+ name = string(fd.Message().Name())
+ }
+ if v, ok := jsonObject[name]; ok {
+ delete(jsonObject, name)
+ raw = v
+ }
+ name = string(fd.JSONName())
+ if v, ok := jsonObject[name]; ok {
+ delete(jsonObject, name)
+ raw = v
+ }
+
+ field := m.NewField(fd)
+ // Unmarshal the field value.
+ if raw == nil || (string(raw) == "null" && !isSingularWellKnownValue(fd) && !isSingularJSONPBUnmarshaler(field, fd)) {
+ continue
+ }
+ v, err := u.unmarshalValue(field, raw, fd)
+ if err != nil {
+ return err
+ }
+ m.Set(fd, v)
+ }
+
+ // Handle extension fields.
+ for name, raw := range jsonObject {
+ if !strings.HasPrefix(name, "[") || !strings.HasSuffix(name, "]") {
+ continue
+ }
+
+ // Resolve the extension field by name.
+ xname := protoreflect.FullName(name[len("[") : len(name)-len("]")])
+ xt, _ := protoregistry.GlobalTypes.FindExtensionByName(xname)
+ if xt == nil && isMessageSet(md) {
+ xt, _ = protoregistry.GlobalTypes.FindExtensionByName(xname.Append("message_set_extension"))
+ }
+ if xt == nil {
+ continue
+ }
+ delete(jsonObject, name)
+ fd := xt.TypeDescriptor()
+ if fd.ContainingMessage().FullName() != m.Descriptor().FullName() {
+ return fmt.Errorf("extension field %q does not extend message %q", xname, m.Descriptor().FullName())
+ }
+
+ field := m.NewField(fd)
+ // Unmarshal the field value.
+ if raw == nil || (string(raw) == "null" && !isSingularWellKnownValue(fd) && !isSingularJSONPBUnmarshaler(field, fd)) {
+ continue
+ }
+ v, err := u.unmarshalValue(field, raw, fd)
+ if err != nil {
+ return err
+ }
+ m.Set(fd, v)
+ }
+
+ if !u.AllowUnknownFields && len(jsonObject) > 0 {
+ for name := range jsonObject {
+ return fmt.Errorf("unknown field %q in %v", name, md.FullName())
+ }
+ }
+ return nil
+}
+
+func isSingularWellKnownValue(fd protoreflect.FieldDescriptor) bool {
+ if md := fd.Message(); md != nil {
+ return md.FullName() == "google.protobuf.Value" && fd.Cardinality() != protoreflect.Repeated
+ }
+ return false
+}
+
+func isSingularJSONPBUnmarshaler(v protoreflect.Value, fd protoreflect.FieldDescriptor) bool {
+ if fd.Message() != nil && fd.Cardinality() != protoreflect.Repeated {
+ _, ok := proto.MessageV1(v.Interface()).(JSONPBUnmarshaler)
+ return ok
+ }
+ return false
+}
+
+func (u *Unmarshaler) unmarshalValue(v protoreflect.Value, in []byte, fd protoreflect.FieldDescriptor) (protoreflect.Value, error) {
+ switch {
+ case fd.IsList():
+ var jsonArray []json.RawMessage
+ if err := json.Unmarshal(in, &jsonArray); err != nil {
+ return v, err
+ }
+ lv := v.List()
+ for _, raw := range jsonArray {
+ ve, err := u.unmarshalSingularValue(lv.NewElement(), raw, fd)
+ if err != nil {
+ return v, err
+ }
+ lv.Append(ve)
+ }
+ return v, nil
+ case fd.IsMap():
+ var jsonObject map[string]json.RawMessage
+ if err := json.Unmarshal(in, &jsonObject); err != nil {
+ return v, err
+ }
+ kfd := fd.MapKey()
+ vfd := fd.MapValue()
+ mv := v.Map()
+ for key, raw := range jsonObject {
+ var kv protoreflect.MapKey
+ if kfd.Kind() == protoreflect.StringKind {
+ kv = protoreflect.ValueOf(key).MapKey()
+ } else {
+ v, err := u.unmarshalSingularValue(kfd.Default(), []byte(key), kfd)
+ if err != nil {
+ return v, err
+ }
+ kv = v.MapKey()
+ }
+
+ vv, err := u.unmarshalSingularValue(mv.NewValue(), raw, vfd)
+ if err != nil {
+ return v, err
+ }
+ mv.Set(kv, vv)
+ }
+ return v, nil
+ default:
+ return u.unmarshalSingularValue(v, in, fd)
+ }
+}
+
+var nonFinite = map[string]float64{
+ `"NaN"`: math.NaN(),
+ `"Infinity"`: math.Inf(+1),
+ `"-Infinity"`: math.Inf(-1),
+}
+
+func (u *Unmarshaler) unmarshalSingularValue(v protoreflect.Value, in []byte, fd protoreflect.FieldDescriptor) (protoreflect.Value, error) {
+ switch fd.Kind() {
+ case protoreflect.BoolKind:
+ return unmarshalValue(in, new(bool))
+ case protoreflect.Int32Kind, protoreflect.Sint32Kind, protoreflect.Sfixed32Kind:
+ return unmarshalValue(trimQuote(in), new(int32))
+ case protoreflect.Int64Kind, protoreflect.Sint64Kind, protoreflect.Sfixed64Kind:
+ return unmarshalValue(trimQuote(in), new(int64))
+ case protoreflect.Uint32Kind, protoreflect.Fixed32Kind:
+ return unmarshalValue(trimQuote(in), new(uint32))
+ case protoreflect.Uint64Kind, protoreflect.Fixed64Kind:
+ return unmarshalValue(trimQuote(in), new(uint64))
+ case protoreflect.FloatKind:
+ if f, ok := nonFinite[string(in)]; ok {
+ return protoreflect.ValueOfFloat32(float32(f)), nil
+ }
+ return unmarshalValue(trimQuote(in), new(float32))
+ case protoreflect.DoubleKind:
+ if f, ok := nonFinite[string(in)]; ok {
+ return protoreflect.ValueOfFloat64(float64(f)), nil
+ }
+ return unmarshalValue(trimQuote(in), new(float64))
+ case protoreflect.StringKind:
+ return unmarshalValue(in, new(string))
+ case protoreflect.BytesKind:
+ return unmarshalValue(in, new([]byte))
+ case protoreflect.EnumKind:
+ if hasPrefixAndSuffix('"', in, '"') {
+ vd := fd.Enum().Values().ByName(protoreflect.Name(trimQuote(in)))
+ if vd == nil {
+ return v, fmt.Errorf("unknown value %q for enum %s", in, fd.Enum().FullName())
+ }
+ return protoreflect.ValueOfEnum(vd.Number()), nil
+ }
+ return unmarshalValue(in, new(protoreflect.EnumNumber))
+ case protoreflect.MessageKind, protoreflect.GroupKind:
+ err := u.unmarshalMessage(v.Message(), in)
+ return v, err
+ default:
+ panic(fmt.Sprintf("invalid kind %v", fd.Kind()))
+ }
+}
+
+func unmarshalValue(in []byte, v interface{}) (protoreflect.Value, error) {
+ err := json.Unmarshal(in, v)
+ return protoreflect.ValueOf(reflect.ValueOf(v).Elem().Interface()), err
+}
+
+func unquoteString(in string) (out string, err error) {
+ err = json.Unmarshal([]byte(in), &out)
+ return out, err
+}
+
+func hasPrefixAndSuffix(prefix byte, in []byte, suffix byte) bool {
+ if len(in) >= 2 && in[0] == prefix && in[len(in)-1] == suffix {
+ return true
+ }
+ return false
+}
+
+// trimQuote is like unquoteString but simply strips surrounding quotes.
+// This is incorrect, but is behavior done by the legacy implementation.
+func trimQuote(in []byte) []byte {
+ if len(in) >= 2 && in[0] == '"' && in[len(in)-1] == '"' {
+ in = in[1 : len(in)-1]
+ }
+ return in
+}
diff --git a/vendor/github.com/golang/protobuf/jsonpb/encode.go b/vendor/github.com/golang/protobuf/jsonpb/encode.go
new file mode 100644
index 000000000..685c80a62
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/jsonpb/encode.go
@@ -0,0 +1,559 @@
+// Copyright 2015 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package jsonpb
+
+import (
+ "encoding/json"
+ "errors"
+ "fmt"
+ "io"
+ "math"
+ "reflect"
+ "sort"
+ "strconv"
+ "strings"
+ "time"
+
+ "github.com/golang/protobuf/proto"
+ "google.golang.org/protobuf/encoding/protojson"
+ protoV2 "google.golang.org/protobuf/proto"
+ "google.golang.org/protobuf/reflect/protoreflect"
+ "google.golang.org/protobuf/reflect/protoregistry"
+)
+
+const wrapJSONMarshalV2 = false
+
+// Marshaler is a configurable object for marshaling protocol buffer messages
+// to the specified JSON representation.
+type Marshaler struct {
+ // OrigName specifies whether to use the original protobuf name for fields.
+ OrigName bool
+
+ // EnumsAsInts specifies whether to render enum values as integers,
+ // as opposed to string values.
+ EnumsAsInts bool
+
+ // EmitDefaults specifies whether to render fields with zero values.
+ EmitDefaults bool
+
+ // Indent controls whether the output is compact or not.
+ // If empty, the output is compact JSON. Otherwise, every JSON object
+ // entry and JSON array value will be on its own line.
+ // Each line will be preceded by repeated copies of Indent, where the
+ // number of copies is the current indentation depth.
+ Indent string
+
+ // AnyResolver is used to resolve the google.protobuf.Any well-known type.
+ // If unset, the global registry is used by default.
+ AnyResolver AnyResolver
+}
+
+// JSONPBMarshaler is implemented by protobuf messages that customize the
+// way they are marshaled to JSON. Messages that implement this should also
+// implement JSONPBUnmarshaler so that the custom format can be parsed.
+//
+// The JSON marshaling must follow the proto to JSON specification:
+// https://developers.google.com/protocol-buffers/docs/proto3#json
+//
+// Deprecated: Custom types should implement protobuf reflection instead.
+type JSONPBMarshaler interface {
+ MarshalJSONPB(*Marshaler) ([]byte, error)
+}
+
+// Marshal serializes a protobuf message as JSON into w.
+func (jm *Marshaler) Marshal(w io.Writer, m proto.Message) error {
+ b, err := jm.marshal(m)
+ if len(b) > 0 {
+ if _, err := w.Write(b); err != nil {
+ return err
+ }
+ }
+ return err
+}
+
+// MarshalToString serializes a protobuf message as JSON in string form.
+func (jm *Marshaler) MarshalToString(m proto.Message) (string, error) {
+ b, err := jm.marshal(m)
+ if err != nil {
+ return "", err
+ }
+ return string(b), nil
+}
+
+func (jm *Marshaler) marshal(m proto.Message) ([]byte, error) {
+ v := reflect.ValueOf(m)
+ if m == nil || (v.Kind() == reflect.Ptr && v.IsNil()) {
+ return nil, errors.New("Marshal called with nil")
+ }
+
+ // Check for custom marshalers first since they may not properly
+ // implement protobuf reflection that the logic below relies on.
+ if jsm, ok := m.(JSONPBMarshaler); ok {
+ return jsm.MarshalJSONPB(jm)
+ }
+
+ if wrapJSONMarshalV2 {
+ opts := protojson.MarshalOptions{
+ UseProtoNames: jm.OrigName,
+ UseEnumNumbers: jm.EnumsAsInts,
+ EmitUnpopulated: jm.EmitDefaults,
+ Indent: jm.Indent,
+ }
+ if jm.AnyResolver != nil {
+ opts.Resolver = anyResolver{jm.AnyResolver}
+ }
+ return opts.Marshal(proto.MessageReflect(m).Interface())
+ } else {
+ // Check for unpopulated required fields first.
+ m2 := proto.MessageReflect(m)
+ if err := protoV2.CheckInitialized(m2.Interface()); err != nil {
+ return nil, err
+ }
+
+ w := jsonWriter{Marshaler: jm}
+ err := w.marshalMessage(m2, "", "")
+ return w.buf, err
+ }
+}
+
+type jsonWriter struct {
+ *Marshaler
+ buf []byte
+}
+
+func (w *jsonWriter) write(s string) {
+ w.buf = append(w.buf, s...)
+}
+
+func (w *jsonWriter) marshalMessage(m protoreflect.Message, indent, typeURL string) error {
+ if jsm, ok := proto.MessageV1(m.Interface()).(JSONPBMarshaler); ok {
+ b, err := jsm.MarshalJSONPB(w.Marshaler)
+ if err != nil {
+ return err
+ }
+ if typeURL != "" {
+ // we are marshaling this object to an Any type
+ var js map[string]*json.RawMessage
+ if err = json.Unmarshal(b, &js); err != nil {
+ return fmt.Errorf("type %T produced invalid JSON: %v", m.Interface(), err)
+ }
+ turl, err := json.Marshal(typeURL)
+ if err != nil {
+ return fmt.Errorf("failed to marshal type URL %q to JSON: %v", typeURL, err)
+ }
+ js["@type"] = (*json.RawMessage)(&turl)
+ if b, err = json.Marshal(js); err != nil {
+ return err
+ }
+ }
+ w.write(string(b))
+ return nil
+ }
+
+ md := m.Descriptor()
+ fds := md.Fields()
+
+ // Handle well-known types.
+ const secondInNanos = int64(time.Second / time.Nanosecond)
+ switch wellKnownType(md.FullName()) {
+ case "Any":
+ return w.marshalAny(m, indent)
+ case "BoolValue", "BytesValue", "StringValue",
+ "Int32Value", "UInt32Value", "FloatValue",
+ "Int64Value", "UInt64Value", "DoubleValue":
+ fd := fds.ByNumber(1)
+ return w.marshalValue(fd, m.Get(fd), indent)
+ case "Duration":
+ const maxSecondsInDuration = 315576000000
+ // "Generated output always contains 0, 3, 6, or 9 fractional digits,
+ // depending on required precision."
+ s := m.Get(fds.ByNumber(1)).Int()
+ ns := m.Get(fds.ByNumber(2)).Int()
+ if s < -maxSecondsInDuration || s > maxSecondsInDuration {
+ return fmt.Errorf("seconds out of range %v", s)
+ }
+ if ns <= -secondInNanos || ns >= secondInNanos {
+ return fmt.Errorf("ns out of range (%v, %v)", -secondInNanos, secondInNanos)
+ }
+ if (s > 0 && ns < 0) || (s < 0 && ns > 0) {
+ return errors.New("signs of seconds and nanos do not match")
+ }
+ var sign string
+ if s < 0 || ns < 0 {
+ sign, s, ns = "-", -1*s, -1*ns
+ }
+ x := fmt.Sprintf("%s%d.%09d", sign, s, ns)
+ x = strings.TrimSuffix(x, "000")
+ x = strings.TrimSuffix(x, "000")
+ x = strings.TrimSuffix(x, ".000")
+ w.write(fmt.Sprintf(`"%vs"`, x))
+ return nil
+ case "Timestamp":
+ // "RFC 3339, where generated output will always be Z-normalized
+ // and uses 0, 3, 6 or 9 fractional digits."
+ s := m.Get(fds.ByNumber(1)).Int()
+ ns := m.Get(fds.ByNumber(2)).Int()
+ if ns < 0 || ns >= secondInNanos {
+ return fmt.Errorf("ns out of range [0, %v)", secondInNanos)
+ }
+ t := time.Unix(s, ns).UTC()
+ // time.RFC3339Nano isn't exactly right (we need to get 3/6/9 fractional digits).
+ x := t.Format("2006-01-02T15:04:05.000000000")
+ x = strings.TrimSuffix(x, "000")
+ x = strings.TrimSuffix(x, "000")
+ x = strings.TrimSuffix(x, ".000")
+ w.write(fmt.Sprintf(`"%vZ"`, x))
+ return nil
+ case "Value":
+ // JSON value; which is a null, number, string, bool, object, or array.
+ od := md.Oneofs().Get(0)
+ fd := m.WhichOneof(od)
+ if fd == nil {
+ return errors.New("nil Value")
+ }
+ return w.marshalValue(fd, m.Get(fd), indent)
+ case "Struct", "ListValue":
+ // JSON object or array.
+ fd := fds.ByNumber(1)
+ return w.marshalValue(fd, m.Get(fd), indent)
+ }
+
+ w.write("{")
+ if w.Indent != "" {
+ w.write("\n")
+ }
+
+ firstField := true
+ if typeURL != "" {
+ if err := w.marshalTypeURL(indent, typeURL); err != nil {
+ return err
+ }
+ firstField = false
+ }
+
+ for i := 0; i < fds.Len(); {
+ fd := fds.Get(i)
+ if od := fd.ContainingOneof(); od != nil {
+ fd = m.WhichOneof(od)
+ i += od.Fields().Len()
+ if fd == nil {
+ continue
+ }
+ } else {
+ i++
+ }
+
+ v := m.Get(fd)
+
+ if !m.Has(fd) {
+ if !w.EmitDefaults || fd.ContainingOneof() != nil {
+ continue
+ }
+ if fd.Cardinality() != protoreflect.Repeated && (fd.Message() != nil || fd.Syntax() == protoreflect.Proto2) {
+ v = protoreflect.Value{} // use "null" for singular messages or proto2 scalars
+ }
+ }
+
+ if !firstField {
+ w.writeComma()
+ }
+ if err := w.marshalField(fd, v, indent); err != nil {
+ return err
+ }
+ firstField = false
+ }
+
+ // Handle proto2 extensions.
+ if md.ExtensionRanges().Len() > 0 {
+ // Collect a sorted list of all extension descriptor and values.
+ type ext struct {
+ desc protoreflect.FieldDescriptor
+ val protoreflect.Value
+ }
+ var exts []ext
+ m.Range(func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool {
+ if fd.IsExtension() {
+ exts = append(exts, ext{fd, v})
+ }
+ return true
+ })
+ sort.Slice(exts, func(i, j int) bool {
+ return exts[i].desc.Number() < exts[j].desc.Number()
+ })
+
+ for _, ext := range exts {
+ if !firstField {
+ w.writeComma()
+ }
+ if err := w.marshalField(ext.desc, ext.val, indent); err != nil {
+ return err
+ }
+ firstField = false
+ }
+ }
+
+ if w.Indent != "" {
+ w.write("\n")
+ w.write(indent)
+ }
+ w.write("}")
+ return nil
+}
+
+func (w *jsonWriter) writeComma() {
+ if w.Indent != "" {
+ w.write(",\n")
+ } else {
+ w.write(",")
+ }
+}
+
+func (w *jsonWriter) marshalAny(m protoreflect.Message, indent string) error {
+ // "If the Any contains a value that has a special JSON mapping,
+ // it will be converted as follows: {"@type": xxx, "value": yyy}.
+ // Otherwise, the value will be converted into a JSON object,
+ // and the "@type" field will be inserted to indicate the actual data type."
+ md := m.Descriptor()
+ typeURL := m.Get(md.Fields().ByNumber(1)).String()
+ rawVal := m.Get(md.Fields().ByNumber(2)).Bytes()
+
+ var m2 protoreflect.Message
+ if w.AnyResolver != nil {
+ mi, err := w.AnyResolver.Resolve(typeURL)
+ if err != nil {
+ return err
+ }
+ m2 = proto.MessageReflect(mi)
+ } else {
+ mt, err := protoregistry.GlobalTypes.FindMessageByURL(typeURL)
+ if err != nil {
+ return err
+ }
+ m2 = mt.New()
+ }
+
+ if err := protoV2.Unmarshal(rawVal, m2.Interface()); err != nil {
+ return err
+ }
+
+ if wellKnownType(m2.Descriptor().FullName()) == "" {
+ return w.marshalMessage(m2, indent, typeURL)
+ }
+
+ w.write("{")
+ if w.Indent != "" {
+ w.write("\n")
+ }
+ if err := w.marshalTypeURL(indent, typeURL); err != nil {
+ return err
+ }
+ w.writeComma()
+ if w.Indent != "" {
+ w.write(indent)
+ w.write(w.Indent)
+ w.write(`"value": `)
+ } else {
+ w.write(`"value":`)
+ }
+ if err := w.marshalMessage(m2, indent+w.Indent, ""); err != nil {
+ return err
+ }
+ if w.Indent != "" {
+ w.write("\n")
+ w.write(indent)
+ }
+ w.write("}")
+ return nil
+}
+
+func (w *jsonWriter) marshalTypeURL(indent, typeURL string) error {
+ if w.Indent != "" {
+ w.write(indent)
+ w.write(w.Indent)
+ }
+ w.write(`"@type":`)
+ if w.Indent != "" {
+ w.write(" ")
+ }
+ b, err := json.Marshal(typeURL)
+ if err != nil {
+ return err
+ }
+ w.write(string(b))
+ return nil
+}
+
+// marshalField writes field description and value to the Writer.
+func (w *jsonWriter) marshalField(fd protoreflect.FieldDescriptor, v protoreflect.Value, indent string) error {
+ if w.Indent != "" {
+ w.write(indent)
+ w.write(w.Indent)
+ }
+ w.write(`"`)
+ switch {
+ case fd.IsExtension():
+ // For message set, use the fname of the message as the extension name.
+ name := string(fd.FullName())
+ if isMessageSet(fd.ContainingMessage()) {
+ name = strings.TrimSuffix(name, ".message_set_extension")
+ }
+
+ w.write("[" + name + "]")
+ case w.OrigName:
+ name := string(fd.Name())
+ if fd.Kind() == protoreflect.GroupKind {
+ name = string(fd.Message().Name())
+ }
+ w.write(name)
+ default:
+ w.write(string(fd.JSONName()))
+ }
+ w.write(`":`)
+ if w.Indent != "" {
+ w.write(" ")
+ }
+ return w.marshalValue(fd, v, indent)
+}
+
+func (w *jsonWriter) marshalValue(fd protoreflect.FieldDescriptor, v protoreflect.Value, indent string) error {
+ switch {
+ case fd.IsList():
+ w.write("[")
+ comma := ""
+ lv := v.List()
+ for i := 0; i < lv.Len(); i++ {
+ w.write(comma)
+ if w.Indent != "" {
+ w.write("\n")
+ w.write(indent)
+ w.write(w.Indent)
+ w.write(w.Indent)
+ }
+ if err := w.marshalSingularValue(fd, lv.Get(i), indent+w.Indent); err != nil {
+ return err
+ }
+ comma = ","
+ }
+ if w.Indent != "" {
+ w.write("\n")
+ w.write(indent)
+ w.write(w.Indent)
+ }
+ w.write("]")
+ return nil
+ case fd.IsMap():
+ kfd := fd.MapKey()
+ vfd := fd.MapValue()
+ mv := v.Map()
+
+ // Collect a sorted list of all map keys and values.
+ type entry struct{ key, val protoreflect.Value }
+ var entries []entry
+ mv.Range(func(k protoreflect.MapKey, v protoreflect.Value) bool {
+ entries = append(entries, entry{k.Value(), v})
+ return true
+ })
+ sort.Slice(entries, func(i, j int) bool {
+ switch kfd.Kind() {
+ case protoreflect.BoolKind:
+ return !entries[i].key.Bool() && entries[j].key.Bool()
+ case protoreflect.Int32Kind, protoreflect.Sint32Kind, protoreflect.Sfixed32Kind, protoreflect.Int64Kind, protoreflect.Sint64Kind, protoreflect.Sfixed64Kind:
+ return entries[i].key.Int() < entries[j].key.Int()
+ case protoreflect.Uint32Kind, protoreflect.Fixed32Kind, protoreflect.Uint64Kind, protoreflect.Fixed64Kind:
+ return entries[i].key.Uint() < entries[j].key.Uint()
+ case protoreflect.StringKind:
+ return entries[i].key.String() < entries[j].key.String()
+ default:
+ panic("invalid kind")
+ }
+ })
+
+ w.write(`{`)
+ comma := ""
+ for _, entry := range entries {
+ w.write(comma)
+ if w.Indent != "" {
+ w.write("\n")
+ w.write(indent)
+ w.write(w.Indent)
+ w.write(w.Indent)
+ }
+
+ s := fmt.Sprint(entry.key.Interface())
+ b, err := json.Marshal(s)
+ if err != nil {
+ return err
+ }
+ w.write(string(b))
+
+ w.write(`:`)
+ if w.Indent != "" {
+ w.write(` `)
+ }
+
+ if err := w.marshalSingularValue(vfd, entry.val, indent+w.Indent); err != nil {
+ return err
+ }
+ comma = ","
+ }
+ if w.Indent != "" {
+ w.write("\n")
+ w.write(indent)
+ w.write(w.Indent)
+ }
+ w.write(`}`)
+ return nil
+ default:
+ return w.marshalSingularValue(fd, v, indent)
+ }
+}
+
+func (w *jsonWriter) marshalSingularValue(fd protoreflect.FieldDescriptor, v protoreflect.Value, indent string) error {
+ switch {
+ case !v.IsValid():
+ w.write("null")
+ return nil
+ case fd.Message() != nil:
+ return w.marshalMessage(v.Message(), indent+w.Indent, "")
+ case fd.Enum() != nil:
+ if fd.Enum().FullName() == "google.protobuf.NullValue" {
+ w.write("null")
+ return nil
+ }
+
+ vd := fd.Enum().Values().ByNumber(v.Enum())
+ if vd == nil || w.EnumsAsInts {
+ w.write(strconv.Itoa(int(v.Enum())))
+ } else {
+ w.write(`"` + string(vd.Name()) + `"`)
+ }
+ return nil
+ default:
+ switch v.Interface().(type) {
+ case float32, float64:
+ switch {
+ case math.IsInf(v.Float(), +1):
+ w.write(`"Infinity"`)
+ return nil
+ case math.IsInf(v.Float(), -1):
+ w.write(`"-Infinity"`)
+ return nil
+ case math.IsNaN(v.Float()):
+ w.write(`"NaN"`)
+ return nil
+ }
+ case int64, uint64:
+ w.write(fmt.Sprintf(`"%d"`, v.Interface()))
+ return nil
+ }
+
+ b, err := json.Marshal(v.Interface())
+ if err != nil {
+ return err
+ }
+ w.write(string(b))
+ return nil
+ }
+}
diff --git a/vendor/github.com/golang/protobuf/jsonpb/json.go b/vendor/github.com/golang/protobuf/jsonpb/json.go
new file mode 100644
index 000000000..480e2448d
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/jsonpb/json.go
@@ -0,0 +1,69 @@
+// Copyright 2015 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Package jsonpb provides functionality to marshal and unmarshal between a
+// protocol buffer message and JSON. It follows the specification at
+// https://developers.google.com/protocol-buffers/docs/proto3#json.
+//
+// Do not rely on the default behavior of the standard encoding/json package
+// when called on generated message types as it does not operate correctly.
+//
+// Deprecated: Use the "google.golang.org/protobuf/encoding/protojson"
+// package instead.
+package jsonpb
+
+import (
+ "github.com/golang/protobuf/proto"
+ "google.golang.org/protobuf/reflect/protoreflect"
+ "google.golang.org/protobuf/reflect/protoregistry"
+ "google.golang.org/protobuf/runtime/protoimpl"
+)
+
+// AnyResolver takes a type URL, present in an Any message,
+// and resolves it into an instance of the associated message.
+type AnyResolver interface {
+ Resolve(typeURL string) (proto.Message, error)
+}
+
+type anyResolver struct{ AnyResolver }
+
+func (r anyResolver) FindMessageByName(message protoreflect.FullName) (protoreflect.MessageType, error) {
+ return r.FindMessageByURL(string(message))
+}
+
+func (r anyResolver) FindMessageByURL(url string) (protoreflect.MessageType, error) {
+ m, err := r.Resolve(url)
+ if err != nil {
+ return nil, err
+ }
+ return protoimpl.X.MessageTypeOf(m), nil
+}
+
+func (r anyResolver) FindExtensionByName(field protoreflect.FullName) (protoreflect.ExtensionType, error) {
+ return protoregistry.GlobalTypes.FindExtensionByName(field)
+}
+
+func (r anyResolver) FindExtensionByNumber(message protoreflect.FullName, field protoreflect.FieldNumber) (protoreflect.ExtensionType, error) {
+ return protoregistry.GlobalTypes.FindExtensionByNumber(message, field)
+}
+
+func wellKnownType(s protoreflect.FullName) string {
+ if s.Parent() == "google.protobuf" {
+ switch s.Name() {
+ case "Empty", "Any",
+ "BoolValue", "BytesValue", "StringValue",
+ "Int32Value", "UInt32Value", "FloatValue",
+ "Int64Value", "UInt64Value", "DoubleValue",
+ "Duration", "Timestamp",
+ "NullValue", "Struct", "Value", "ListValue":
+ return string(s.Name())
+ }
+ }
+ return ""
+}
+
+func isMessageSet(md protoreflect.MessageDescriptor) bool {
+ ms, ok := md.(interface{ IsMessageSet() bool })
+ return ok && ms.IsMessageSet()
+}
diff --git a/vendor/github.com/golang/protobuf/ptypes/struct/struct.pb.go b/vendor/github.com/golang/protobuf/ptypes/struct/struct.pb.go
new file mode 100644
index 000000000..8d82abe21
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/ptypes/struct/struct.pb.go
@@ -0,0 +1,78 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: github.com/golang/protobuf/ptypes/struct/struct.proto
+
+package structpb
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ structpb "google.golang.org/protobuf/types/known/structpb"
+ reflect "reflect"
+)
+
+// Symbols defined in public import of google/protobuf/struct.proto.
+
+type NullValue = structpb.NullValue
+
+const NullValue_NULL_VALUE = structpb.NullValue_NULL_VALUE
+
+var NullValue_name = structpb.NullValue_name
+var NullValue_value = structpb.NullValue_value
+
+type Struct = structpb.Struct
+type Value = structpb.Value
+type Value_NullValue = structpb.Value_NullValue
+type Value_NumberValue = structpb.Value_NumberValue
+type Value_StringValue = structpb.Value_StringValue
+type Value_BoolValue = structpb.Value_BoolValue
+type Value_StructValue = structpb.Value_StructValue
+type Value_ListValue = structpb.Value_ListValue
+type ListValue = structpb.ListValue
+
+var File_github_com_golang_protobuf_ptypes_struct_struct_proto protoreflect.FileDescriptor
+
+var file_github_com_golang_protobuf_ptypes_struct_struct_proto_rawDesc = []byte{
+ 0x0a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6c,
+ 0x61, 0x6e, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x70, 0x74, 0x79,
+ 0x70, 0x65, 0x73, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63,
+ 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0x33, 0x5a, 0x31, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e,
+ 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2f, 0x70, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63,
+ 0x74, 0x3b, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x70, 0x62, 0x50, 0x00, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var file_github_com_golang_protobuf_ptypes_struct_struct_proto_goTypes = []interface{}{}
+var file_github_com_golang_protobuf_ptypes_struct_struct_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_github_com_golang_protobuf_ptypes_struct_struct_proto_init() }
+func file_github_com_golang_protobuf_ptypes_struct_struct_proto_init() {
+ if File_github_com_golang_protobuf_ptypes_struct_struct_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_github_com_golang_protobuf_ptypes_struct_struct_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_github_com_golang_protobuf_ptypes_struct_struct_proto_goTypes,
+ DependencyIndexes: file_github_com_golang_protobuf_ptypes_struct_struct_proto_depIdxs,
+ }.Build()
+ File_github_com_golang_protobuf_ptypes_struct_struct_proto = out.File
+ file_github_com_golang_protobuf_ptypes_struct_struct_proto_rawDesc = nil
+ file_github_com_golang_protobuf_ptypes_struct_struct_proto_goTypes = nil
+ file_github_com_golang_protobuf_ptypes_struct_struct_proto_depIdxs = nil
+}
diff --git a/vendor/github.com/golang/protobuf/ptypes/wrappers/wrappers.pb.go b/vendor/github.com/golang/protobuf/ptypes/wrappers/wrappers.pb.go
new file mode 100644
index 000000000..cc40f27ad
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/ptypes/wrappers/wrappers.pb.go
@@ -0,0 +1,71 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: github.com/golang/protobuf/ptypes/wrappers/wrappers.proto
+
+package wrappers
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
+ reflect "reflect"
+)
+
+// Symbols defined in public import of google/protobuf/wrappers.proto.
+
+type DoubleValue = wrapperspb.DoubleValue
+type FloatValue = wrapperspb.FloatValue
+type Int64Value = wrapperspb.Int64Value
+type UInt64Value = wrapperspb.UInt64Value
+type Int32Value = wrapperspb.Int32Value
+type UInt32Value = wrapperspb.UInt32Value
+type BoolValue = wrapperspb.BoolValue
+type StringValue = wrapperspb.StringValue
+type BytesValue = wrapperspb.BytesValue
+
+var File_github_com_golang_protobuf_ptypes_wrappers_wrappers_proto protoreflect.FileDescriptor
+
+var file_github_com_golang_protobuf_ptypes_wrappers_wrappers_proto_rawDesc = []byte{
+ 0x0a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6c,
+ 0x61, 0x6e, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x70, 0x74, 0x79,
+ 0x70, 0x65, 0x73, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2f, 0x77, 0x72, 0x61,
+ 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61,
+ 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0x35, 0x5a, 0x33, 0x67,
+ 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67,
+ 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x70, 0x74, 0x79, 0x70, 0x65, 0x73,
+ 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x3b, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65,
+ 0x72, 0x73, 0x50, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var file_github_com_golang_protobuf_ptypes_wrappers_wrappers_proto_goTypes = []interface{}{}
+var file_github_com_golang_protobuf_ptypes_wrappers_wrappers_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_github_com_golang_protobuf_ptypes_wrappers_wrappers_proto_init() }
+func file_github_com_golang_protobuf_ptypes_wrappers_wrappers_proto_init() {
+ if File_github_com_golang_protobuf_ptypes_wrappers_wrappers_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_github_com_golang_protobuf_ptypes_wrappers_wrappers_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_github_com_golang_protobuf_ptypes_wrappers_wrappers_proto_goTypes,
+ DependencyIndexes: file_github_com_golang_protobuf_ptypes_wrappers_wrappers_proto_depIdxs,
+ }.Build()
+ File_github_com_golang_protobuf_ptypes_wrappers_wrappers_proto = out.File
+ file_github_com_golang_protobuf_ptypes_wrappers_wrappers_proto_rawDesc = nil
+ file_github_com_golang_protobuf_ptypes_wrappers_wrappers_proto_goTypes = nil
+ file_github_com_golang_protobuf_ptypes_wrappers_wrappers_proto_depIdxs = nil
+}
diff --git a/vendor/github.com/sirupsen/logrus/.gitignore b/vendor/github.com/sirupsen/logrus/.gitignore
deleted file mode 100644
index 1fb13abeb..000000000
--- a/vendor/github.com/sirupsen/logrus/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-logrus
-vendor
-
-.idea/
diff --git a/vendor/github.com/sirupsen/logrus/.golangci.yml b/vendor/github.com/sirupsen/logrus/.golangci.yml
deleted file mode 100644
index 65dc28503..000000000
--- a/vendor/github.com/sirupsen/logrus/.golangci.yml
+++ /dev/null
@@ -1,40 +0,0 @@
-run:
- # do not run on test files yet
- tests: false
-
-# all available settings of specific linters
-linters-settings:
- errcheck:
- # report about not checking of errors in type assetions: `a := b.(MyStruct)`;
- # default is false: such cases aren't reported by default.
- check-type-assertions: false
-
- # report about assignment of errors to blank identifier: `num, _ := strconv.Atoi(numStr)`;
- # default is false: such cases aren't reported by default.
- check-blank: false
-
- lll:
- line-length: 100
- tab-width: 4
-
- prealloc:
- simple: false
- range-loops: false
- for-loops: false
-
- whitespace:
- multi-if: false # Enforces newlines (or comments) after every multi-line if statement
- multi-func: false # Enforces newlines (or comments) after every multi-line function signature
-
-linters:
- enable:
- - megacheck
- - govet
- disable:
- - maligned
- - prealloc
- disable-all: false
- presets:
- - bugs
- - unused
- fast: false
diff --git a/vendor/github.com/sirupsen/logrus/.travis.yml b/vendor/github.com/sirupsen/logrus/.travis.yml
deleted file mode 100644
index c1dbd5a3a..000000000
--- a/vendor/github.com/sirupsen/logrus/.travis.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-language: go
-go_import_path: github.com/sirupsen/logrus
-git:
- depth: 1
-env:
- - GO111MODULE=on
-go: 1.15.x
-os: linux
-install:
- - ./travis/install.sh
-script:
- - cd ci
- - go run mage.go -v -w ../ crossBuild
- - go run mage.go -v -w ../ lint
- - go run mage.go -v -w ../ test
diff --git a/vendor/github.com/sirupsen/logrus/CHANGELOG.md b/vendor/github.com/sirupsen/logrus/CHANGELOG.md
deleted file mode 100644
index 7567f6128..000000000
--- a/vendor/github.com/sirupsen/logrus/CHANGELOG.md
+++ /dev/null
@@ -1,259 +0,0 @@
-# 1.8.1
-Code quality:
- * move magefile in its own subdir/submodule to remove magefile dependency on logrus consumer
- * improve timestamp format documentation
-
-Fixes:
- * fix race condition on logger hooks
-
-
-# 1.8.0
-
-Correct versioning number replacing v1.7.1.
-
-# 1.7.1
-
-Beware this release has introduced a new public API and its semver is therefore incorrect.
-
-Code quality:
- * use go 1.15 in travis
- * use magefile as task runner
-
-Fixes:
- * small fixes about new go 1.13 error formatting system
- * Fix for long time race condiction with mutating data hooks
-
-Features:
- * build support for zos
-
-# 1.7.0
-Fixes:
- * the dependency toward a windows terminal library has been removed
-
-Features:
- * a new buffer pool management API has been added
- * a set of `Fn()` functions have been added
-
-# 1.6.0
-Fixes:
- * end of line cleanup
- * revert the entry concurrency bug fix whic leads to deadlock under some circumstances
- * update dependency on go-windows-terminal-sequences to fix a crash with go 1.14
-
-Features:
- * add an option to the `TextFormatter` to completely disable fields quoting
-
-# 1.5.0
-Code quality:
- * add golangci linter run on travis
-
-Fixes:
- * add mutex for hooks concurrent access on `Entry` data
- * caller function field for go1.14
- * fix build issue for gopherjs target
-
-Feature:
- * add an hooks/writer sub-package whose goal is to split output on different stream depending on the trace level
- * add a `DisableHTMLEscape` option in the `JSONFormatter`
- * add `ForceQuote` and `PadLevelText` options in the `TextFormatter`
-
-# 1.4.2
- * Fixes build break for plan9, nacl, solaris
-# 1.4.1
-This new release introduces:
- * Enhance TextFormatter to not print caller information when they are empty (#944)
- * Remove dependency on golang.org/x/crypto (#932, #943)
-
-Fixes:
- * Fix Entry.WithContext method to return a copy of the initial entry (#941)
-
-# 1.4.0
-This new release introduces:
- * Add `DeferExitHandler`, similar to `RegisterExitHandler` but prepending the handler to the list of handlers (semantically like `defer`) (#848).
- * Add `CallerPrettyfier` to `JSONFormatter` and `TextFormatter` (#909, #911)
- * Add `Entry.WithContext()` and `Entry.Context`, to set a context on entries to be used e.g. in hooks (#919).
-
-Fixes:
- * Fix wrong method calls `Logger.Print` and `Logger.Warningln` (#893).
- * Update `Entry.Logf` to not do string formatting unless the log level is enabled (#903)
- * Fix infinite recursion on unknown `Level.String()` (#907)
- * Fix race condition in `getCaller` (#916).
-
-
-# 1.3.0
-This new release introduces:
- * Log, Logf, Logln functions for Logger and Entry that take a Level
-
-Fixes:
- * Building prometheus node_exporter on AIX (#840)
- * Race condition in TextFormatter (#468)
- * Travis CI import path (#868)
- * Remove coloured output on Windows (#862)
- * Pointer to func as field in JSONFormatter (#870)
- * Properly marshal Levels (#873)
-
-# 1.2.0
-This new release introduces:
- * A new method `SetReportCaller` in the `Logger` to enable the file, line and calling function from which the trace has been issued
- * A new trace level named `Trace` whose level is below `Debug`
- * A configurable exit function to be called upon a Fatal trace
- * The `Level` object now implements `encoding.TextUnmarshaler` interface
-
-# 1.1.1
-This is a bug fix release.
- * fix the build break on Solaris
- * don't drop a whole trace in JSONFormatter when a field param is a function pointer which can not be serialized
-
-# 1.1.0
-This new release introduces:
- * several fixes:
- * a fix for a race condition on entry formatting
- * proper cleanup of previously used entries before putting them back in the pool
- * the extra new line at the end of message in text formatter has been removed
- * a new global public API to check if a level is activated: IsLevelEnabled
- * the following methods have been added to the Logger object
- * IsLevelEnabled
- * SetFormatter
- * SetOutput
- * ReplaceHooks
- * introduction of go module
- * an indent configuration for the json formatter
- * output colour support for windows
- * the field sort function is now configurable for text formatter
- * the CLICOLOR and CLICOLOR\_FORCE environment variable support in text formater
-
-# 1.0.6
-
-This new release introduces:
- * a new api WithTime which allows to easily force the time of the log entry
- which is mostly useful for logger wrapper
- * a fix reverting the immutability of the entry given as parameter to the hooks
- a new configuration field of the json formatter in order to put all the fields
- in a nested dictionnary
- * a new SetOutput method in the Logger
- * a new configuration of the textformatter to configure the name of the default keys
- * a new configuration of the text formatter to disable the level truncation
-
-# 1.0.5
-
-* Fix hooks race (#707)
-* Fix panic deadlock (#695)
-
-# 1.0.4
-
-* Fix race when adding hooks (#612)
-* Fix terminal check in AppEngine (#635)
-
-# 1.0.3
-
-* Replace example files with testable examples
-
-# 1.0.2
-
-* bug: quote non-string values in text formatter (#583)
-* Make (*Logger) SetLevel a public method
-
-# 1.0.1
-
-* bug: fix escaping in text formatter (#575)
-
-# 1.0.0
-
-* Officially changed name to lower-case
-* bug: colors on Windows 10 (#541)
-* bug: fix race in accessing level (#512)
-
-# 0.11.5
-
-* feature: add writer and writerlevel to entry (#372)
-
-# 0.11.4
-
-* bug: fix undefined variable on solaris (#493)
-
-# 0.11.3
-
-* formatter: configure quoting of empty values (#484)
-* formatter: configure quoting character (default is `"`) (#484)
-* bug: fix not importing io correctly in non-linux environments (#481)
-
-# 0.11.2
-
-* bug: fix windows terminal detection (#476)
-
-# 0.11.1
-
-* bug: fix tty detection with custom out (#471)
-
-# 0.11.0
-
-* performance: Use bufferpool to allocate (#370)
-* terminal: terminal detection for app-engine (#343)
-* feature: exit handler (#375)
-
-# 0.10.0
-
-* feature: Add a test hook (#180)
-* feature: `ParseLevel` is now case-insensitive (#326)
-* feature: `FieldLogger` interface that generalizes `Logger` and `Entry` (#308)
-* performance: avoid re-allocations on `WithFields` (#335)
-
-# 0.9.0
-
-* logrus/text_formatter: don't emit empty msg
-* logrus/hooks/airbrake: move out of main repository
-* logrus/hooks/sentry: move out of main repository
-* logrus/hooks/papertrail: move out of main repository
-* logrus/hooks/bugsnag: move out of main repository
-* logrus/core: run tests with `-race`
-* logrus/core: detect TTY based on `stderr`
-* logrus/core: support `WithError` on logger
-* logrus/core: Solaris support
-
-# 0.8.7
-
-* logrus/core: fix possible race (#216)
-* logrus/doc: small typo fixes and doc improvements
-
-
-# 0.8.6
-
-* hooks/raven: allow passing an initialized client
-
-# 0.8.5
-
-* logrus/core: revert #208
-
-# 0.8.4
-
-* formatter/text: fix data race (#218)
-
-# 0.8.3
-
-* logrus/core: fix entry log level (#208)
-* logrus/core: improve performance of text formatter by 40%
-* logrus/core: expose `LevelHooks` type
-* logrus/core: add support for DragonflyBSD and NetBSD
-* formatter/text: print structs more verbosely
-
-# 0.8.2
-
-* logrus: fix more Fatal family functions
-
-# 0.8.1
-
-* logrus: fix not exiting on `Fatalf` and `Fatalln`
-
-# 0.8.0
-
-* logrus: defaults to stderr instead of stdout
-* hooks/sentry: add special field for `*http.Request`
-* formatter/text: ignore Windows for colors
-
-# 0.7.3
-
-* formatter/\*: allow configuration of timestamp layout
-
-# 0.7.2
-
-* formatter/text: Add configuration option for time format (#158)
diff --git a/vendor/github.com/sirupsen/logrus/LICENSE b/vendor/github.com/sirupsen/logrus/LICENSE
deleted file mode 100644
index f090cb42f..000000000
--- a/vendor/github.com/sirupsen/logrus/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2014 Simon Eskildsen
-
-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.
diff --git a/vendor/github.com/sirupsen/logrus/README.md b/vendor/github.com/sirupsen/logrus/README.md
deleted file mode 100644
index 5152b6aa4..000000000
--- a/vendor/github.com/sirupsen/logrus/README.md
+++ /dev/null
@@ -1,513 +0,0 @@
-# Logrus [![Build Status](https://travis-ci.org/sirupsen/logrus.svg?branch=master)](https://travis-ci.org/sirupsen/logrus) [![GoDoc](https://godoc.org/github.com/sirupsen/logrus?status.svg)](https://godoc.org/github.com/sirupsen/logrus)
-
-Logrus is a structured logger for Go (golang), completely API compatible with
-the standard library logger.
-
-**Logrus is in maintenance-mode.** We will not be introducing new features. It's
-simply too hard to do in a way that won't break many people's projects, which is
-the last thing you want from your Logging library (again...).
-
-This does not mean Logrus is dead. Logrus will continue to be maintained for
-security, (backwards compatible) bug fixes, and performance (where we are
-limited by the interface).
-
-I believe Logrus' biggest contribution is to have played a part in today's
-widespread use of structured logging in Golang. There doesn't seem to be a
-reason to do a major, breaking iteration into Logrus V2, since the fantastic Go
-community has built those independently. Many fantastic alternatives have sprung
-up. Logrus would look like those, had it been re-designed with what we know
-about structured logging in Go today. Check out, for example,
-[Zerolog][zerolog], [Zap][zap], and [Apex][apex].
-
-[zerolog]: https://github.com/rs/zerolog
-[zap]: https://github.com/uber-go/zap
-[apex]: https://github.com/apex/log
-
-**Seeing weird case-sensitive problems?** It's in the past been possible to
-import Logrus as both upper- and lower-case. Due to the Go package environment,
-this caused issues in the community and we needed a standard. Some environments
-experienced problems with the upper-case variant, so the lower-case was decided.
-Everything using `logrus` will need to use the lower-case:
-`github.com/sirupsen/logrus`. Any package that isn't, should be changed.
-
-To fix Glide, see [these
-comments](https://github.com/sirupsen/logrus/issues/553#issuecomment-306591437).
-For an in-depth explanation of the casing issue, see [this
-comment](https://github.com/sirupsen/logrus/issues/570#issuecomment-313933276).
-
-Nicely color-coded in development (when a TTY is attached, otherwise just
-plain text):
-
-![Colored](http://i.imgur.com/PY7qMwd.png)
-
-With `log.SetFormatter(&log.JSONFormatter{})`, for easy parsing by logstash
-or Splunk:
-
-```json
-{"animal":"walrus","level":"info","msg":"A group of walrus emerges from the
-ocean","size":10,"time":"2014-03-10 19:57:38.562264131 -0400 EDT"}
-
-{"level":"warning","msg":"The group's number increased tremendously!",
-"number":122,"omg":true,"time":"2014-03-10 19:57:38.562471297 -0400 EDT"}
-
-{"animal":"walrus","level":"info","msg":"A giant walrus appears!",
-"size":10,"time":"2014-03-10 19:57:38.562500591 -0400 EDT"}
-
-{"animal":"walrus","level":"info","msg":"Tremendously sized cow enters the ocean.",
-"size":9,"time":"2014-03-10 19:57:38.562527896 -0400 EDT"}
-
-{"level":"fatal","msg":"The ice breaks!","number":100,"omg":true,
-"time":"2014-03-10 19:57:38.562543128 -0400 EDT"}
-```
-
-With the default `log.SetFormatter(&log.TextFormatter{})` when a TTY is not
-attached, the output is compatible with the
-[logfmt](http://godoc.org/github.com/kr/logfmt) format:
-
-```text
-time="2015-03-26T01:27:38-04:00" level=debug msg="Started observing beach" animal=walrus number=8
-time="2015-03-26T01:27:38-04:00" level=info msg="A group of walrus emerges from the ocean" animal=walrus size=10
-time="2015-03-26T01:27:38-04:00" level=warning msg="The group's number increased tremendously!" number=122 omg=true
-time="2015-03-26T01:27:38-04:00" level=debug msg="Temperature changes" temperature=-4
-time="2015-03-26T01:27:38-04:00" level=panic msg="It's over 9000!" animal=orca size=9009
-time="2015-03-26T01:27:38-04:00" level=fatal msg="The ice breaks!" err=&{0x2082280c0 map[animal:orca size:9009] 2015-03-26 01:27:38.441574009 -0400 EDT panic It's over 9000!} number=100 omg=true
-```
-To ensure this behaviour even if a TTY is attached, set your formatter as follows:
-
-```go
- log.SetFormatter(&log.TextFormatter{
- DisableColors: true,
- FullTimestamp: true,
- })
-```
-
-#### Logging Method Name
-
-If you wish to add the calling method as a field, instruct the logger via:
-```go
-log.SetReportCaller(true)
-```
-This adds the caller as 'method' like so:
-
-```json
-{"animal":"penguin","level":"fatal","method":"github.com/sirupsen/arcticcreatures.migrate","msg":"a penguin swims by",
-"time":"2014-03-10 19:57:38.562543129 -0400 EDT"}
-```
-
-```text
-time="2015-03-26T01:27:38-04:00" level=fatal method=github.com/sirupsen/arcticcreatures.migrate msg="a penguin swims by" animal=penguin
-```
-Note that this does add measurable overhead - the cost will depend on the version of Go, but is
-between 20 and 40% in recent tests with 1.6 and 1.7. You can validate this in your
-environment via benchmarks:
-```
-go test -bench=.*CallerTracing
-```
-
-
-#### Case-sensitivity
-
-The organization's name was changed to lower-case--and this will not be changed
-back. If you are getting import conflicts due to case sensitivity, please use
-the lower-case import: `github.com/sirupsen/logrus`.
-
-#### Example
-
-The simplest way to use Logrus is simply the package-level exported logger:
-
-```go
-package main
-
-import (
- log "github.com/sirupsen/logrus"
-)
-
-func main() {
- log.WithFields(log.Fields{
- "animal": "walrus",
- }).Info("A walrus appears")
-}
-```
-
-Note that it's completely api-compatible with the stdlib logger, so you can
-replace your `log` imports everywhere with `log "github.com/sirupsen/logrus"`
-and you'll now have the flexibility of Logrus. You can customize it all you
-want:
-
-```go
-package main
-
-import (
- "os"
- log "github.com/sirupsen/logrus"
-)
-
-func init() {
- // Log as JSON instead of the default ASCII formatter.
- log.SetFormatter(&log.JSONFormatter{})
-
- // Output to stdout instead of the default stderr
- // Can be any io.Writer, see below for File example
- log.SetOutput(os.Stdout)
-
- // Only log the warning severity or above.
- log.SetLevel(log.WarnLevel)
-}
-
-func main() {
- log.WithFields(log.Fields{
- "animal": "walrus",
- "size": 10,
- }).Info("A group of walrus emerges from the ocean")
-
- log.WithFields(log.Fields{
- "omg": true,
- "number": 122,
- }).Warn("The group's number increased tremendously!")
-
- log.WithFields(log.Fields{
- "omg": true,
- "number": 100,
- }).Fatal("The ice breaks!")
-
- // A common pattern is to re-use fields between logging statements by re-using
- // the logrus.Entry returned from WithFields()
- contextLogger := log.WithFields(log.Fields{
- "common": "this is a common field",
- "other": "I also should be logged always",
- })
-
- contextLogger.Info("I'll be logged with common and other field")
- contextLogger.Info("Me too")
-}
-```
-
-For more advanced usage such as logging to multiple locations from the same
-application, you can also create an instance of the `logrus` Logger:
-
-```go
-package main
-
-import (
- "os"
- "github.com/sirupsen/logrus"
-)
-
-// Create a new instance of the logger. You can have any number of instances.
-var log = logrus.New()
-
-func main() {
- // The API for setting attributes is a little different than the package level
- // exported logger. See Godoc.
- log.Out = os.Stdout
-
- // You could set this to any `io.Writer` such as a file
- // file, err := os.OpenFile("logrus.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
- // if err == nil {
- // log.Out = file
- // } else {
- // log.Info("Failed to log to file, using default stderr")
- // }
-
- log.WithFields(logrus.Fields{
- "animal": "walrus",
- "size": 10,
- }).Info("A group of walrus emerges from the ocean")
-}
-```
-
-#### Fields
-
-Logrus encourages careful, structured logging through logging fields instead of
-long, unparseable error messages. For example, instead of: `log.Fatalf("Failed
-to send event %s to topic %s with key %d")`, you should log the much more
-discoverable:
-
-```go
-log.WithFields(log.Fields{
- "event": event,
- "topic": topic,
- "key": key,
-}).Fatal("Failed to send event")
-```
-
-We've found this API forces you to think about logging in a way that produces
-much more useful logging messages. We've been in countless situations where just
-a single added field to a log statement that was already there would've saved us
-hours. The `WithFields` call is optional.
-
-In general, with Logrus using any of the `printf`-family functions should be
-seen as a hint you should add a field, however, you can still use the
-`printf`-family functions with Logrus.
-
-#### Default Fields
-
-Often it's helpful to have fields _always_ attached to log statements in an
-application or parts of one. For example, you may want to always log the
-`request_id` and `user_ip` in the context of a request. Instead of writing
-`log.WithFields(log.Fields{"request_id": request_id, "user_ip": user_ip})` on
-every line, you can create a `logrus.Entry` to pass around instead:
-
-```go
-requestLogger := log.WithFields(log.Fields{"request_id": request_id, "user_ip": user_ip})
-requestLogger.Info("something happened on that request") # will log request_id and user_ip
-requestLogger.Warn("something not great happened")
-```
-
-#### Hooks
-
-You can add hooks for logging levels. For example to send errors to an exception
-tracking service on `Error`, `Fatal` and `Panic`, info to StatsD or log to
-multiple places simultaneously, e.g. syslog.
-
-Logrus comes with [built-in hooks](hooks/). Add those, or your custom hook, in
-`init`:
-
-```go
-import (
- log "github.com/sirupsen/logrus"
- "gopkg.in/gemnasium/logrus-airbrake-hook.v2" // the package is named "airbrake"
- logrus_syslog "github.com/sirupsen/logrus/hooks/syslog"
- "log/syslog"
-)
-
-func init() {
-
- // Use the Airbrake hook to report errors that have Error severity or above to
- // an exception tracker. You can create custom hooks, see the Hooks section.
- log.AddHook(airbrake.NewHook(123, "xyz", "production"))
-
- hook, err := logrus_syslog.NewSyslogHook("udp", "localhost:514", syslog.LOG_INFO, "")
- if err != nil {
- log.Error("Unable to connect to local syslog daemon")
- } else {
- log.AddHook(hook)
- }
-}
-```
-Note: Syslog hook also support connecting to local syslog (Ex. "/dev/log" or "/var/run/syslog" or "/var/run/log"). For the detail, please check the [syslog hook README](hooks/syslog/README.md).
-
-A list of currently known service hooks can be found in this wiki [page](https://github.com/sirupsen/logrus/wiki/Hooks)
-
-
-#### Level logging
-
-Logrus has seven logging levels: Trace, Debug, Info, Warning, Error, Fatal and Panic.
-
-```go
-log.Trace("Something very low level.")
-log.Debug("Useful debugging information.")
-log.Info("Something noteworthy happened!")
-log.Warn("You should probably take a look at this.")
-log.Error("Something failed but I'm not quitting.")
-// Calls os.Exit(1) after logging
-log.Fatal("Bye.")
-// Calls panic() after logging
-log.Panic("I'm bailing.")
-```
-
-You can set the logging level on a `Logger`, then it will only log entries with
-that severity or anything above it:
-
-```go
-// Will log anything that is info or above (warn, error, fatal, panic). Default.
-log.SetLevel(log.InfoLevel)
-```
-
-It may be useful to set `log.Level = logrus.DebugLevel` in a debug or verbose
-environment if your application has that.
-
-#### Entries
-
-Besides the fields added with `WithField` or `WithFields` some fields are
-automatically added to all logging events:
-
-1. `time`. The timestamp when the entry was created.
-2. `msg`. The logging message passed to `{Info,Warn,Error,Fatal,Panic}` after
- the `AddFields` call. E.g. `Failed to send event.`
-3. `level`. The logging level. E.g. `info`.
-
-#### Environments
-
-Logrus has no notion of environment.
-
-If you wish for hooks and formatters to only be used in specific environments,
-you should handle that yourself. For example, if your application has a global
-variable `Environment`, which is a string representation of the environment you
-could do:
-
-```go
-import (
- log "github.com/sirupsen/logrus"
-)
-
-init() {
- // do something here to set environment depending on an environment variable
- // or command-line flag
- if Environment == "production" {
- log.SetFormatter(&log.JSONFormatter{})
- } else {
- // The TextFormatter is default, you don't actually have to do this.
- log.SetFormatter(&log.TextFormatter{})
- }
-}
-```
-
-This configuration is how `logrus` was intended to be used, but JSON in
-production is mostly only useful if you do log aggregation with tools like
-Splunk or Logstash.
-
-#### Formatters
-
-The built-in logging formatters are:
-
-* `logrus.TextFormatter`. Logs the event in colors if stdout is a tty, otherwise
- without colors.
- * *Note:* to force colored output when there is no TTY, set the `ForceColors`
- field to `true`. To force no colored output even if there is a TTY set the
- `DisableColors` field to `true`. For Windows, see
- [github.com/mattn/go-colorable](https://github.com/mattn/go-colorable).
- * When colors are enabled, levels are truncated to 4 characters by default. To disable
- truncation set the `DisableLevelTruncation` field to `true`.
- * When outputting to a TTY, it's often helpful to visually scan down a column where all the levels are the same width. Setting the `PadLevelText` field to `true` enables this behavior, by adding padding to the level text.
- * All options are listed in the [generated docs](https://godoc.org/github.com/sirupsen/logrus#TextFormatter).
-* `logrus.JSONFormatter`. Logs fields as JSON.
- * All options are listed in the [generated docs](https://godoc.org/github.com/sirupsen/logrus#JSONFormatter).
-
-Third party logging formatters:
-
-* [`FluentdFormatter`](https://github.com/joonix/log). Formats entries that can be parsed by Kubernetes and Google Container Engine.
-* [`GELF`](https://github.com/fabienm/go-logrus-formatters). Formats entries so they comply to Graylog's [GELF 1.1 specification](http://docs.graylog.org/en/2.4/pages/gelf.html).
-* [`logstash`](https://github.com/bshuster-repo/logrus-logstash-hook). Logs fields as [Logstash](http://logstash.net) Events.
-* [`prefixed`](https://github.com/x-cray/logrus-prefixed-formatter). Displays log entry source along with alternative layout.
-* [`zalgo`](https://github.com/aybabtme/logzalgo). Invoking the Power of Zalgo.
-* [`nested-logrus-formatter`](https://github.com/antonfisher/nested-logrus-formatter). Converts logrus fields to a nested structure.
-* [`powerful-logrus-formatter`](https://github.com/zput/zxcTool). get fileName, log's line number and the latest function's name when print log; Sava log to files.
-* [`caption-json-formatter`](https://github.com/nolleh/caption_json_formatter). logrus's message json formatter with human-readable caption added.
-
-You can define your formatter by implementing the `Formatter` interface,
-requiring a `Format` method. `Format` takes an `*Entry`. `entry.Data` is a
-`Fields` type (`map[string]interface{}`) with all your fields as well as the
-default ones (see Entries section above):
-
-```go
-type MyJSONFormatter struct {
-}
-
-log.SetFormatter(new(MyJSONFormatter))
-
-func (f *MyJSONFormatter) Format(entry *Entry) ([]byte, error) {
- // Note this doesn't include Time, Level and Message which are available on
- // the Entry. Consult `godoc` on information about those fields or read the
- // source of the official loggers.
- serialized, err := json.Marshal(entry.Data)
- if err != nil {
- return nil, fmt.Errorf("Failed to marshal fields to JSON, %w", err)
- }
- return append(serialized, '\n'), nil
-}
-```
-
-#### Logger as an `io.Writer`
-
-Logrus can be transformed into an `io.Writer`. That writer is the end of an `io.Pipe` and it is your responsibility to close it.
-
-```go
-w := logger.Writer()
-defer w.Close()
-
-srv := http.Server{
- // create a stdlib log.Logger that writes to
- // logrus.Logger.
- ErrorLog: log.New(w, "", 0),
-}
-```
-
-Each line written to that writer will be printed the usual way, using formatters
-and hooks. The level for those entries is `info`.
-
-This means that we can override the standard library logger easily:
-
-```go
-logger := logrus.New()
-logger.Formatter = &logrus.JSONFormatter{}
-
-// Use logrus for standard log output
-// Note that `log` here references stdlib's log
-// Not logrus imported under the name `log`.
-log.SetOutput(logger.Writer())
-```
-
-#### Rotation
-
-Log rotation is not provided with Logrus. Log rotation should be done by an
-external program (like `logrotate(8)`) that can compress and delete old log
-entries. It should not be a feature of the application-level logger.
-
-#### Tools
-
-| Tool | Description |
-| ---- | ----------- |
-|[Logrus Mate](https://github.com/gogap/logrus_mate)|Logrus mate is a tool for Logrus to manage loggers, you can initial logger's level, hook and formatter by config file, the logger will be generated with different configs in different environments.|
-|[Logrus Viper Helper](https://github.com/heirko/go-contrib/tree/master/logrusHelper)|An Helper around Logrus to wrap with spf13/Viper to load configuration with fangs! And to simplify Logrus configuration use some behavior of [Logrus Mate](https://github.com/gogap/logrus_mate). [sample](https://github.com/heirko/iris-contrib/blob/master/middleware/logrus-logger/example) |
-
-#### Testing
-
-Logrus has a built in facility for asserting the presence of log messages. This is implemented through the `test` hook and provides:
-
-* decorators for existing logger (`test.NewLocal` and `test.NewGlobal`) which basically just adds the `test` hook
-* a test logger (`test.NewNullLogger`) that just records log messages (and does not output any):
-
-```go
-import(
- "github.com/sirupsen/logrus"
- "github.com/sirupsen/logrus/hooks/test"
- "github.com/stretchr/testify/assert"
- "testing"
-)
-
-func TestSomething(t*testing.T){
- logger, hook := test.NewNullLogger()
- logger.Error("Helloerror")
-
- assert.Equal(t, 1, len(hook.Entries))
- assert.Equal(t, logrus.ErrorLevel, hook.LastEntry().Level)
- assert.Equal(t, "Helloerror", hook.LastEntry().Message)
-
- hook.Reset()
- assert.Nil(t, hook.LastEntry())
-}
-```
-
-#### Fatal handlers
-
-Logrus can register one or more functions that will be called when any `fatal`
-level message is logged. The registered handlers will be executed before
-logrus performs an `os.Exit(1)`. This behavior may be helpful if callers need
-to gracefully shutdown. Unlike a `panic("Something went wrong...")` call which can be intercepted with a deferred `recover` a call to `os.Exit(1)` can not be intercepted.
-
-```
-...
-handler := func() {
- // gracefully shutdown something...
-}
-logrus.RegisterExitHandler(handler)
-...
-```
-
-#### Thread safety
-
-By default, Logger is protected by a mutex for concurrent writes. The mutex is held when calling hooks and writing logs.
-If you are sure such locking is not needed, you can call logger.SetNoLock() to disable the locking.
-
-Situation when locking is not needed includes:
-
-* You have no hooks registered, or hooks calling is already thread-safe.
-
-* Writing to logger.Out is already thread-safe, for example:
-
- 1) logger.Out is protected by locks.
-
- 2) logger.Out is an os.File handler opened with `O_APPEND` flag, and every write is smaller than 4k. (This allows multi-thread/multi-process writing)
-
- (Refer to http://www.notthewizard.com/2014/06/17/are-files-appends-really-atomic/)
diff --git a/vendor/github.com/sirupsen/logrus/alt_exit.go b/vendor/github.com/sirupsen/logrus/alt_exit.go
deleted file mode 100644
index 8fd189e1c..000000000
--- a/vendor/github.com/sirupsen/logrus/alt_exit.go
+++ /dev/null
@@ -1,76 +0,0 @@
-package logrus
-
-// The following code was sourced and modified from the
-// https://github.com/tebeka/atexit package governed by the following license:
-//
-// Copyright (c) 2012 Miki Tebeka .
-//
-// 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.
-
-import (
- "fmt"
- "os"
-)
-
-var handlers = []func(){}
-
-func runHandler(handler func()) {
- defer func() {
- if err := recover(); err != nil {
- fmt.Fprintln(os.Stderr, "Error: Logrus exit handler error:", err)
- }
- }()
-
- handler()
-}
-
-func runHandlers() {
- for _, handler := range handlers {
- runHandler(handler)
- }
-}
-
-// Exit runs all the Logrus atexit handlers and then terminates the program using os.Exit(code)
-func Exit(code int) {
- runHandlers()
- os.Exit(code)
-}
-
-// RegisterExitHandler appends a Logrus Exit handler to the list of handlers,
-// call logrus.Exit to invoke all handlers. The handlers will also be invoked when
-// any Fatal log entry is made.
-//
-// This method is useful when a caller wishes to use logrus to log a fatal
-// message but also needs to gracefully shutdown. An example usecase could be
-// closing database connections, or sending a alert that the application is
-// closing.
-func RegisterExitHandler(handler func()) {
- handlers = append(handlers, handler)
-}
-
-// DeferExitHandler prepends a Logrus Exit handler to the list of handlers,
-// call logrus.Exit to invoke all handlers. The handlers will also be invoked when
-// any Fatal log entry is made.
-//
-// This method is useful when a caller wishes to use logrus to log a fatal
-// message but also needs to gracefully shutdown. An example usecase could be
-// closing database connections, or sending a alert that the application is
-// closing.
-func DeferExitHandler(handler func()) {
- handlers = append([]func(){handler}, handlers...)
-}
diff --git a/vendor/github.com/sirupsen/logrus/appveyor.yml b/vendor/github.com/sirupsen/logrus/appveyor.yml
deleted file mode 100644
index df9d65c3a..000000000
--- a/vendor/github.com/sirupsen/logrus/appveyor.yml
+++ /dev/null
@@ -1,14 +0,0 @@
-version: "{build}"
-platform: x64
-clone_folder: c:\gopath\src\github.com\sirupsen\logrus
-environment:
- GOPATH: c:\gopath
-branches:
- only:
- - master
-install:
- - set PATH=%GOPATH%\bin;c:\go\bin;%PATH%
- - go version
-build_script:
- - go get -t
- - go test
diff --git a/vendor/github.com/sirupsen/logrus/buffer_pool.go b/vendor/github.com/sirupsen/logrus/buffer_pool.go
deleted file mode 100644
index 4545dec07..000000000
--- a/vendor/github.com/sirupsen/logrus/buffer_pool.go
+++ /dev/null
@@ -1,52 +0,0 @@
-package logrus
-
-import (
- "bytes"
- "sync"
-)
-
-var (
- bufferPool BufferPool
-)
-
-type BufferPool interface {
- Put(*bytes.Buffer)
- Get() *bytes.Buffer
-}
-
-type defaultPool struct {
- pool *sync.Pool
-}
-
-func (p *defaultPool) Put(buf *bytes.Buffer) {
- p.pool.Put(buf)
-}
-
-func (p *defaultPool) Get() *bytes.Buffer {
- return p.pool.Get().(*bytes.Buffer)
-}
-
-func getBuffer() *bytes.Buffer {
- return bufferPool.Get()
-}
-
-func putBuffer(buf *bytes.Buffer) {
- buf.Reset()
- bufferPool.Put(buf)
-}
-
-// SetBufferPool allows to replace the default logrus buffer pool
-// to better meets the specific needs of an application.
-func SetBufferPool(bp BufferPool) {
- bufferPool = bp
-}
-
-func init() {
- SetBufferPool(&defaultPool{
- pool: &sync.Pool{
- New: func() interface{} {
- return new(bytes.Buffer)
- },
- },
- })
-}
diff --git a/vendor/github.com/sirupsen/logrus/doc.go b/vendor/github.com/sirupsen/logrus/doc.go
deleted file mode 100644
index da67aba06..000000000
--- a/vendor/github.com/sirupsen/logrus/doc.go
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
-Package logrus is a structured logger for Go, completely API compatible with the standard library logger.
-
-
-The simplest way to use Logrus is simply the package-level exported logger:
-
- package main
-
- import (
- log "github.com/sirupsen/logrus"
- )
-
- func main() {
- log.WithFields(log.Fields{
- "animal": "walrus",
- "number": 1,
- "size": 10,
- }).Info("A walrus appears")
- }
-
-Output:
- time="2015-09-07T08:48:33Z" level=info msg="A walrus appears" animal=walrus number=1 size=10
-
-For a full guide visit https://github.com/sirupsen/logrus
-*/
-package logrus
diff --git a/vendor/github.com/sirupsen/logrus/entry.go b/vendor/github.com/sirupsen/logrus/entry.go
deleted file mode 100644
index 07a1e5fa7..000000000
--- a/vendor/github.com/sirupsen/logrus/entry.go
+++ /dev/null
@@ -1,431 +0,0 @@
-package logrus
-
-import (
- "bytes"
- "context"
- "fmt"
- "os"
- "reflect"
- "runtime"
- "strings"
- "sync"
- "time"
-)
-
-var (
-
- // qualified package name, cached at first use
- logrusPackage string
-
- // Positions in the call stack when tracing to report the calling method
- minimumCallerDepth int
-
- // Used for caller information initialisation
- callerInitOnce sync.Once
-)
-
-const (
- maximumCallerDepth int = 25
- knownLogrusFrames int = 4
-)
-
-func init() {
- // start at the bottom of the stack before the package-name cache is primed
- minimumCallerDepth = 1
-}
-
-// Defines the key when adding errors using WithError.
-var ErrorKey = "error"
-
-// An entry is the final or intermediate Logrus logging entry. It contains all
-// the fields passed with WithField{,s}. It's finally logged when Trace, Debug,
-// Info, Warn, Error, Fatal or Panic is called on it. These objects can be
-// reused and passed around as much as you wish to avoid field duplication.
-type Entry struct {
- Logger *Logger
-
- // Contains all the fields set by the user.
- Data Fields
-
- // Time at which the log entry was created
- Time time.Time
-
- // Level the log entry was logged at: Trace, Debug, Info, Warn, Error, Fatal or Panic
- // This field will be set on entry firing and the value will be equal to the one in Logger struct field.
- Level Level
-
- // Calling method, with package name
- Caller *runtime.Frame
-
- // Message passed to Trace, Debug, Info, Warn, Error, Fatal or Panic
- Message string
-
- // When formatter is called in entry.log(), a Buffer may be set to entry
- Buffer *bytes.Buffer
-
- // Contains the context set by the user. Useful for hook processing etc.
- Context context.Context
-
- // err may contain a field formatting error
- err string
-}
-
-func NewEntry(logger *Logger) *Entry {
- return &Entry{
- Logger: logger,
- // Default is three fields, plus one optional. Give a little extra room.
- Data: make(Fields, 6),
- }
-}
-
-func (entry *Entry) Dup() *Entry {
- data := make(Fields, len(entry.Data))
- for k, v := range entry.Data {
- data[k] = v
- }
- return &Entry{Logger: entry.Logger, Data: data, Time: entry.Time, Context: entry.Context, err: entry.err}
-}
-
-// Returns the bytes representation of this entry from the formatter.
-func (entry *Entry) Bytes() ([]byte, error) {
- return entry.Logger.Formatter.Format(entry)
-}
-
-// Returns the string representation from the reader and ultimately the
-// formatter.
-func (entry *Entry) String() (string, error) {
- serialized, err := entry.Bytes()
- if err != nil {
- return "", err
- }
- str := string(serialized)
- return str, nil
-}
-
-// Add an error as single field (using the key defined in ErrorKey) to the Entry.
-func (entry *Entry) WithError(err error) *Entry {
- return entry.WithField(ErrorKey, err)
-}
-
-// Add a context to the Entry.
-func (entry *Entry) WithContext(ctx context.Context) *Entry {
- dataCopy := make(Fields, len(entry.Data))
- for k, v := range entry.Data {
- dataCopy[k] = v
- }
- return &Entry{Logger: entry.Logger, Data: dataCopy, Time: entry.Time, err: entry.err, Context: ctx}
-}
-
-// Add a single field to the Entry.
-func (entry *Entry) WithField(key string, value interface{}) *Entry {
- return entry.WithFields(Fields{key: value})
-}
-
-// Add a map of fields to the Entry.
-func (entry *Entry) WithFields(fields Fields) *Entry {
- data := make(Fields, len(entry.Data)+len(fields))
- for k, v := range entry.Data {
- data[k] = v
- }
- fieldErr := entry.err
- for k, v := range fields {
- isErrField := false
- if t := reflect.TypeOf(v); t != nil {
- switch {
- case t.Kind() == reflect.Func, t.Kind() == reflect.Ptr && t.Elem().Kind() == reflect.Func:
- isErrField = true
- }
- }
- if isErrField {
- tmp := fmt.Sprintf("can not add field %q", k)
- if fieldErr != "" {
- fieldErr = entry.err + ", " + tmp
- } else {
- fieldErr = tmp
- }
- } else {
- data[k] = v
- }
- }
- return &Entry{Logger: entry.Logger, Data: data, Time: entry.Time, err: fieldErr, Context: entry.Context}
-}
-
-// Overrides the time of the Entry.
-func (entry *Entry) WithTime(t time.Time) *Entry {
- dataCopy := make(Fields, len(entry.Data))
- for k, v := range entry.Data {
- dataCopy[k] = v
- }
- return &Entry{Logger: entry.Logger, Data: dataCopy, Time: t, err: entry.err, Context: entry.Context}
-}
-
-// getPackageName reduces a fully qualified function name to the package name
-// There really ought to be to be a better way...
-func getPackageName(f string) string {
- for {
- lastPeriod := strings.LastIndex(f, ".")
- lastSlash := strings.LastIndex(f, "/")
- if lastPeriod > lastSlash {
- f = f[:lastPeriod]
- } else {
- break
- }
- }
-
- return f
-}
-
-// getCaller retrieves the name of the first non-logrus calling function
-func getCaller() *runtime.Frame {
- // cache this package's fully-qualified name
- callerInitOnce.Do(func() {
- pcs := make([]uintptr, maximumCallerDepth)
- _ = runtime.Callers(0, pcs)
-
- // dynamic get the package name and the minimum caller depth
- for i := 0; i < maximumCallerDepth; i++ {
- funcName := runtime.FuncForPC(pcs[i]).Name()
- if strings.Contains(funcName, "getCaller") {
- logrusPackage = getPackageName(funcName)
- break
- }
- }
-
- minimumCallerDepth = knownLogrusFrames
- })
-
- // Restrict the lookback frames to avoid runaway lookups
- pcs := make([]uintptr, maximumCallerDepth)
- depth := runtime.Callers(minimumCallerDepth, pcs)
- frames := runtime.CallersFrames(pcs[:depth])
-
- for f, again := frames.Next(); again; f, again = frames.Next() {
- pkg := getPackageName(f.Function)
-
- // If the caller isn't part of this package, we're done
- if pkg != logrusPackage {
- return &f //nolint:scopelint
- }
- }
-
- // if we got here, we failed to find the caller's context
- return nil
-}
-
-func (entry Entry) HasCaller() (has bool) {
- return entry.Logger != nil &&
- entry.Logger.ReportCaller &&
- entry.Caller != nil
-}
-
-func (entry *Entry) log(level Level, msg string) {
- var buffer *bytes.Buffer
-
- newEntry := entry.Dup()
-
- if newEntry.Time.IsZero() {
- newEntry.Time = time.Now()
- }
-
- newEntry.Level = level
- newEntry.Message = msg
-
- newEntry.Logger.mu.Lock()
- reportCaller := newEntry.Logger.ReportCaller
- newEntry.Logger.mu.Unlock()
-
- if reportCaller {
- newEntry.Caller = getCaller()
- }
-
- newEntry.fireHooks()
-
- buffer = getBuffer()
- defer func() {
- newEntry.Buffer = nil
- putBuffer(buffer)
- }()
- buffer.Reset()
- newEntry.Buffer = buffer
-
- newEntry.write()
-
- newEntry.Buffer = nil
-
- // To avoid Entry#log() returning a value that only would make sense for
- // panic() to use in Entry#Panic(), we avoid the allocation by checking
- // directly here.
- if level <= PanicLevel {
- panic(newEntry)
- }
-}
-
-func (entry *Entry) fireHooks() {
- var tmpHooks LevelHooks
- entry.Logger.mu.Lock()
- tmpHooks = make(LevelHooks, len(entry.Logger.Hooks))
- for k, v := range entry.Logger.Hooks {
- tmpHooks[k] = v
- }
- entry.Logger.mu.Unlock()
-
- err := tmpHooks.Fire(entry.Level, entry)
- if err != nil {
- fmt.Fprintf(os.Stderr, "Failed to fire hook: %v\n", err)
- }
-}
-
-func (entry *Entry) write() {
- serialized, err := entry.Logger.Formatter.Format(entry)
- if err != nil {
- fmt.Fprintf(os.Stderr, "Failed to obtain reader, %v\n", err)
- return
- }
- entry.Logger.mu.Lock()
- defer entry.Logger.mu.Unlock()
- if _, err := entry.Logger.Out.Write(serialized); err != nil {
- fmt.Fprintf(os.Stderr, "Failed to write to log, %v\n", err)
- }
-}
-
-func (entry *Entry) Log(level Level, args ...interface{}) {
- if entry.Logger.IsLevelEnabled(level) {
- entry.log(level, fmt.Sprint(args...))
- }
-}
-
-func (entry *Entry) Trace(args ...interface{}) {
- entry.Log(TraceLevel, args...)
-}
-
-func (entry *Entry) Debug(args ...interface{}) {
- entry.Log(DebugLevel, args...)
-}
-
-func (entry *Entry) Print(args ...interface{}) {
- entry.Info(args...)
-}
-
-func (entry *Entry) Info(args ...interface{}) {
- entry.Log(InfoLevel, args...)
-}
-
-func (entry *Entry) Warn(args ...interface{}) {
- entry.Log(WarnLevel, args...)
-}
-
-func (entry *Entry) Warning(args ...interface{}) {
- entry.Warn(args...)
-}
-
-func (entry *Entry) Error(args ...interface{}) {
- entry.Log(ErrorLevel, args...)
-}
-
-func (entry *Entry) Fatal(args ...interface{}) {
- entry.Log(FatalLevel, args...)
- entry.Logger.Exit(1)
-}
-
-func (entry *Entry) Panic(args ...interface{}) {
- entry.Log(PanicLevel, args...)
-}
-
-// Entry Printf family functions
-
-func (entry *Entry) Logf(level Level, format string, args ...interface{}) {
- if entry.Logger.IsLevelEnabled(level) {
- entry.Log(level, fmt.Sprintf(format, args...))
- }
-}
-
-func (entry *Entry) Tracef(format string, args ...interface{}) {
- entry.Logf(TraceLevel, format, args...)
-}
-
-func (entry *Entry) Debugf(format string, args ...interface{}) {
- entry.Logf(DebugLevel, format, args...)
-}
-
-func (entry *Entry) Infof(format string, args ...interface{}) {
- entry.Logf(InfoLevel, format, args...)
-}
-
-func (entry *Entry) Printf(format string, args ...interface{}) {
- entry.Infof(format, args...)
-}
-
-func (entry *Entry) Warnf(format string, args ...interface{}) {
- entry.Logf(WarnLevel, format, args...)
-}
-
-func (entry *Entry) Warningf(format string, args ...interface{}) {
- entry.Warnf(format, args...)
-}
-
-func (entry *Entry) Errorf(format string, args ...interface{}) {
- entry.Logf(ErrorLevel, format, args...)
-}
-
-func (entry *Entry) Fatalf(format string, args ...interface{}) {
- entry.Logf(FatalLevel, format, args...)
- entry.Logger.Exit(1)
-}
-
-func (entry *Entry) Panicf(format string, args ...interface{}) {
- entry.Logf(PanicLevel, format, args...)
-}
-
-// Entry Println family functions
-
-func (entry *Entry) Logln(level Level, args ...interface{}) {
- if entry.Logger.IsLevelEnabled(level) {
- entry.Log(level, entry.sprintlnn(args...))
- }
-}
-
-func (entry *Entry) Traceln(args ...interface{}) {
- entry.Logln(TraceLevel, args...)
-}
-
-func (entry *Entry) Debugln(args ...interface{}) {
- entry.Logln(DebugLevel, args...)
-}
-
-func (entry *Entry) Infoln(args ...interface{}) {
- entry.Logln(InfoLevel, args...)
-}
-
-func (entry *Entry) Println(args ...interface{}) {
- entry.Infoln(args...)
-}
-
-func (entry *Entry) Warnln(args ...interface{}) {
- entry.Logln(WarnLevel, args...)
-}
-
-func (entry *Entry) Warningln(args ...interface{}) {
- entry.Warnln(args...)
-}
-
-func (entry *Entry) Errorln(args ...interface{}) {
- entry.Logln(ErrorLevel, args...)
-}
-
-func (entry *Entry) Fatalln(args ...interface{}) {
- entry.Logln(FatalLevel, args...)
- entry.Logger.Exit(1)
-}
-
-func (entry *Entry) Panicln(args ...interface{}) {
- entry.Logln(PanicLevel, args...)
-}
-
-// Sprintlnn => Sprint no newline. This is to get the behavior of how
-// fmt.Sprintln where spaces are always added between operands, regardless of
-// their type. Instead of vendoring the Sprintln implementation to spare a
-// string allocation, we do the simplest thing.
-func (entry *Entry) sprintlnn(args ...interface{}) string {
- msg := fmt.Sprintln(args...)
- return msg[:len(msg)-1]
-}
diff --git a/vendor/github.com/sirupsen/logrus/exported.go b/vendor/github.com/sirupsen/logrus/exported.go
deleted file mode 100644
index 017c30ce6..000000000
--- a/vendor/github.com/sirupsen/logrus/exported.go
+++ /dev/null
@@ -1,270 +0,0 @@
-package logrus
-
-import (
- "context"
- "io"
- "time"
-)
-
-var (
- // std is the name of the standard logger in stdlib `log`
- std = New()
-)
-
-func StandardLogger() *Logger {
- return std
-}
-
-// SetOutput sets the standard logger output.
-func SetOutput(out io.Writer) {
- std.SetOutput(out)
-}
-
-// SetFormatter sets the standard logger formatter.
-func SetFormatter(formatter Formatter) {
- std.SetFormatter(formatter)
-}
-
-// SetReportCaller sets whether the standard logger will include the calling
-// method as a field.
-func SetReportCaller(include bool) {
- std.SetReportCaller(include)
-}
-
-// SetLevel sets the standard logger level.
-func SetLevel(level Level) {
- std.SetLevel(level)
-}
-
-// GetLevel returns the standard logger level.
-func GetLevel() Level {
- return std.GetLevel()
-}
-
-// IsLevelEnabled checks if the log level of the standard logger is greater than the level param
-func IsLevelEnabled(level Level) bool {
- return std.IsLevelEnabled(level)
-}
-
-// AddHook adds a hook to the standard logger hooks.
-func AddHook(hook Hook) {
- std.AddHook(hook)
-}
-
-// WithError creates an entry from the standard logger and adds an error to it, using the value defined in ErrorKey as key.
-func WithError(err error) *Entry {
- return std.WithField(ErrorKey, err)
-}
-
-// WithContext creates an entry from the standard logger and adds a context to it.
-func WithContext(ctx context.Context) *Entry {
- return std.WithContext(ctx)
-}
-
-// WithField creates an entry from the standard logger and adds a field to
-// it. If you want multiple fields, use `WithFields`.
-//
-// Note that it doesn't log until you call Debug, Print, Info, Warn, Fatal
-// or Panic on the Entry it returns.
-func WithField(key string, value interface{}) *Entry {
- return std.WithField(key, value)
-}
-
-// WithFields creates an entry from the standard logger and adds multiple
-// fields to it. This is simply a helper for `WithField`, invoking it
-// once for each field.
-//
-// Note that it doesn't log until you call Debug, Print, Info, Warn, Fatal
-// or Panic on the Entry it returns.
-func WithFields(fields Fields) *Entry {
- return std.WithFields(fields)
-}
-
-// WithTime creates an entry from the standard logger and overrides the time of
-// logs generated with it.
-//
-// Note that it doesn't log until you call Debug, Print, Info, Warn, Fatal
-// or Panic on the Entry it returns.
-func WithTime(t time.Time) *Entry {
- return std.WithTime(t)
-}
-
-// Trace logs a message at level Trace on the standard logger.
-func Trace(args ...interface{}) {
- std.Trace(args...)
-}
-
-// Debug logs a message at level Debug on the standard logger.
-func Debug(args ...interface{}) {
- std.Debug(args...)
-}
-
-// Print logs a message at level Info on the standard logger.
-func Print(args ...interface{}) {
- std.Print(args...)
-}
-
-// Info logs a message at level Info on the standard logger.
-func Info(args ...interface{}) {
- std.Info(args...)
-}
-
-// Warn logs a message at level Warn on the standard logger.
-func Warn(args ...interface{}) {
- std.Warn(args...)
-}
-
-// Warning logs a message at level Warn on the standard logger.
-func Warning(args ...interface{}) {
- std.Warning(args...)
-}
-
-// Error logs a message at level Error on the standard logger.
-func Error(args ...interface{}) {
- std.Error(args...)
-}
-
-// Panic logs a message at level Panic on the standard logger.
-func Panic(args ...interface{}) {
- std.Panic(args...)
-}
-
-// Fatal logs a message at level Fatal on the standard logger then the process will exit with status set to 1.
-func Fatal(args ...interface{}) {
- std.Fatal(args...)
-}
-
-// TraceFn logs a message from a func at level Trace on the standard logger.
-func TraceFn(fn LogFunction) {
- std.TraceFn(fn)
-}
-
-// DebugFn logs a message from a func at level Debug on the standard logger.
-func DebugFn(fn LogFunction) {
- std.DebugFn(fn)
-}
-
-// PrintFn logs a message from a func at level Info on the standard logger.
-func PrintFn(fn LogFunction) {
- std.PrintFn(fn)
-}
-
-// InfoFn logs a message from a func at level Info on the standard logger.
-func InfoFn(fn LogFunction) {
- std.InfoFn(fn)
-}
-
-// WarnFn logs a message from a func at level Warn on the standard logger.
-func WarnFn(fn LogFunction) {
- std.WarnFn(fn)
-}
-
-// WarningFn logs a message from a func at level Warn on the standard logger.
-func WarningFn(fn LogFunction) {
- std.WarningFn(fn)
-}
-
-// ErrorFn logs a message from a func at level Error on the standard logger.
-func ErrorFn(fn LogFunction) {
- std.ErrorFn(fn)
-}
-
-// PanicFn logs a message from a func at level Panic on the standard logger.
-func PanicFn(fn LogFunction) {
- std.PanicFn(fn)
-}
-
-// FatalFn logs a message from a func at level Fatal on the standard logger then the process will exit with status set to 1.
-func FatalFn(fn LogFunction) {
- std.FatalFn(fn)
-}
-
-// Tracef logs a message at level Trace on the standard logger.
-func Tracef(format string, args ...interface{}) {
- std.Tracef(format, args...)
-}
-
-// Debugf logs a message at level Debug on the standard logger.
-func Debugf(format string, args ...interface{}) {
- std.Debugf(format, args...)
-}
-
-// Printf logs a message at level Info on the standard logger.
-func Printf(format string, args ...interface{}) {
- std.Printf(format, args...)
-}
-
-// Infof logs a message at level Info on the standard logger.
-func Infof(format string, args ...interface{}) {
- std.Infof(format, args...)
-}
-
-// Warnf logs a message at level Warn on the standard logger.
-func Warnf(format string, args ...interface{}) {
- std.Warnf(format, args...)
-}
-
-// Warningf logs a message at level Warn on the standard logger.
-func Warningf(format string, args ...interface{}) {
- std.Warningf(format, args...)
-}
-
-// Errorf logs a message at level Error on the standard logger.
-func Errorf(format string, args ...interface{}) {
- std.Errorf(format, args...)
-}
-
-// Panicf logs a message at level Panic on the standard logger.
-func Panicf(format string, args ...interface{}) {
- std.Panicf(format, args...)
-}
-
-// Fatalf logs a message at level Fatal on the standard logger then the process will exit with status set to 1.
-func Fatalf(format string, args ...interface{}) {
- std.Fatalf(format, args...)
-}
-
-// Traceln logs a message at level Trace on the standard logger.
-func Traceln(args ...interface{}) {
- std.Traceln(args...)
-}
-
-// Debugln logs a message at level Debug on the standard logger.
-func Debugln(args ...interface{}) {
- std.Debugln(args...)
-}
-
-// Println logs a message at level Info on the standard logger.
-func Println(args ...interface{}) {
- std.Println(args...)
-}
-
-// Infoln logs a message at level Info on the standard logger.
-func Infoln(args ...interface{}) {
- std.Infoln(args...)
-}
-
-// Warnln logs a message at level Warn on the standard logger.
-func Warnln(args ...interface{}) {
- std.Warnln(args...)
-}
-
-// Warningln logs a message at level Warn on the standard logger.
-func Warningln(args ...interface{}) {
- std.Warningln(args...)
-}
-
-// Errorln logs a message at level Error on the standard logger.
-func Errorln(args ...interface{}) {
- std.Errorln(args...)
-}
-
-// Panicln logs a message at level Panic on the standard logger.
-func Panicln(args ...interface{}) {
- std.Panicln(args...)
-}
-
-// Fatalln logs a message at level Fatal on the standard logger then the process will exit with status set to 1.
-func Fatalln(args ...interface{}) {
- std.Fatalln(args...)
-}
diff --git a/vendor/github.com/sirupsen/logrus/formatter.go b/vendor/github.com/sirupsen/logrus/formatter.go
deleted file mode 100644
index 408883773..000000000
--- a/vendor/github.com/sirupsen/logrus/formatter.go
+++ /dev/null
@@ -1,78 +0,0 @@
-package logrus
-
-import "time"
-
-// Default key names for the default fields
-const (
- defaultTimestampFormat = time.RFC3339
- FieldKeyMsg = "msg"
- FieldKeyLevel = "level"
- FieldKeyTime = "time"
- FieldKeyLogrusError = "logrus_error"
- FieldKeyFunc = "func"
- FieldKeyFile = "file"
-)
-
-// The Formatter interface is used to implement a custom Formatter. It takes an
-// `Entry`. It exposes all the fields, including the default ones:
-//
-// * `entry.Data["msg"]`. The message passed from Info, Warn, Error ..
-// * `entry.Data["time"]`. The timestamp.
-// * `entry.Data["level"]. The level the entry was logged at.
-//
-// Any additional fields added with `WithField` or `WithFields` are also in
-// `entry.Data`. Format is expected to return an array of bytes which are then
-// logged to `logger.Out`.
-type Formatter interface {
- Format(*Entry) ([]byte, error)
-}
-
-// This is to not silently overwrite `time`, `msg`, `func` and `level` fields when
-// dumping it. If this code wasn't there doing:
-//
-// logrus.WithField("level", 1).Info("hello")
-//
-// Would just silently drop the user provided level. Instead with this code
-// it'll logged as:
-//
-// {"level": "info", "fields.level": 1, "msg": "hello", "time": "..."}
-//
-// It's not exported because it's still using Data in an opinionated way. It's to
-// avoid code duplication between the two default formatters.
-func prefixFieldClashes(data Fields, fieldMap FieldMap, reportCaller bool) {
- timeKey := fieldMap.resolve(FieldKeyTime)
- if t, ok := data[timeKey]; ok {
- data["fields."+timeKey] = t
- delete(data, timeKey)
- }
-
- msgKey := fieldMap.resolve(FieldKeyMsg)
- if m, ok := data[msgKey]; ok {
- data["fields."+msgKey] = m
- delete(data, msgKey)
- }
-
- levelKey := fieldMap.resolve(FieldKeyLevel)
- if l, ok := data[levelKey]; ok {
- data["fields."+levelKey] = l
- delete(data, levelKey)
- }
-
- logrusErrKey := fieldMap.resolve(FieldKeyLogrusError)
- if l, ok := data[logrusErrKey]; ok {
- data["fields."+logrusErrKey] = l
- delete(data, logrusErrKey)
- }
-
- // If reportCaller is not set, 'func' will not conflict.
- if reportCaller {
- funcKey := fieldMap.resolve(FieldKeyFunc)
- if l, ok := data[funcKey]; ok {
- data["fields."+funcKey] = l
- }
- fileKey := fieldMap.resolve(FieldKeyFile)
- if l, ok := data[fileKey]; ok {
- data["fields."+fileKey] = l
- }
- }
-}
diff --git a/vendor/github.com/sirupsen/logrus/hooks.go b/vendor/github.com/sirupsen/logrus/hooks.go
deleted file mode 100644
index 3f151cdc3..000000000
--- a/vendor/github.com/sirupsen/logrus/hooks.go
+++ /dev/null
@@ -1,34 +0,0 @@
-package logrus
-
-// A hook to be fired when logging on the logging levels returned from
-// `Levels()` on your implementation of the interface. Note that this is not
-// fired in a goroutine or a channel with workers, you should handle such
-// functionality yourself if your call is non-blocking and you don't wish for
-// the logging calls for levels returned from `Levels()` to block.
-type Hook interface {
- Levels() []Level
- Fire(*Entry) error
-}
-
-// Internal type for storing the hooks on a logger instance.
-type LevelHooks map[Level][]Hook
-
-// Add a hook to an instance of logger. This is called with
-// `log.Hooks.Add(new(MyHook))` where `MyHook` implements the `Hook` interface.
-func (hooks LevelHooks) Add(hook Hook) {
- for _, level := range hook.Levels() {
- hooks[level] = append(hooks[level], hook)
- }
-}
-
-// Fire all the hooks for the passed level. Used by `entry.log` to fire
-// appropriate hooks for a log entry.
-func (hooks LevelHooks) Fire(level Level, entry *Entry) error {
- for _, hook := range hooks[level] {
- if err := hook.Fire(entry); err != nil {
- return err
- }
- }
-
- return nil
-}
diff --git a/vendor/github.com/sirupsen/logrus/json_formatter.go b/vendor/github.com/sirupsen/logrus/json_formatter.go
deleted file mode 100644
index c96dc5636..000000000
--- a/vendor/github.com/sirupsen/logrus/json_formatter.go
+++ /dev/null
@@ -1,128 +0,0 @@
-package logrus
-
-import (
- "bytes"
- "encoding/json"
- "fmt"
- "runtime"
-)
-
-type fieldKey string
-
-// FieldMap allows customization of the key names for default fields.
-type FieldMap map[fieldKey]string
-
-func (f FieldMap) resolve(key fieldKey) string {
- if k, ok := f[key]; ok {
- return k
- }
-
- return string(key)
-}
-
-// JSONFormatter formats logs into parsable json
-type JSONFormatter struct {
- // TimestampFormat sets the format used for marshaling timestamps.
- // The format to use is the same than for time.Format or time.Parse from the standard
- // library.
- // The standard Library already provides a set of predefined format.
- TimestampFormat string
-
- // DisableTimestamp allows disabling automatic timestamps in output
- DisableTimestamp bool
-
- // DisableHTMLEscape allows disabling html escaping in output
- DisableHTMLEscape bool
-
- // DataKey allows users to put all the log entry parameters into a nested dictionary at a given key.
- DataKey string
-
- // FieldMap allows users to customize the names of keys for default fields.
- // As an example:
- // formatter := &JSONFormatter{
- // FieldMap: FieldMap{
- // FieldKeyTime: "@timestamp",
- // FieldKeyLevel: "@level",
- // FieldKeyMsg: "@message",
- // FieldKeyFunc: "@caller",
- // },
- // }
- FieldMap FieldMap
-
- // CallerPrettyfier can be set by the user to modify the content
- // of the function and file keys in the json data when ReportCaller is
- // activated. If any of the returned value is the empty string the
- // corresponding key will be removed from json fields.
- CallerPrettyfier func(*runtime.Frame) (function string, file string)
-
- // PrettyPrint will indent all json logs
- PrettyPrint bool
-}
-
-// Format renders a single log entry
-func (f *JSONFormatter) Format(entry *Entry) ([]byte, error) {
- data := make(Fields, len(entry.Data)+4)
- for k, v := range entry.Data {
- switch v := v.(type) {
- case error:
- // Otherwise errors are ignored by `encoding/json`
- // https://github.com/sirupsen/logrus/issues/137
- data[k] = v.Error()
- default:
- data[k] = v
- }
- }
-
- if f.DataKey != "" {
- newData := make(Fields, 4)
- newData[f.DataKey] = data
- data = newData
- }
-
- prefixFieldClashes(data, f.FieldMap, entry.HasCaller())
-
- timestampFormat := f.TimestampFormat
- if timestampFormat == "" {
- timestampFormat = defaultTimestampFormat
- }
-
- if entry.err != "" {
- data[f.FieldMap.resolve(FieldKeyLogrusError)] = entry.err
- }
- if !f.DisableTimestamp {
- data[f.FieldMap.resolve(FieldKeyTime)] = entry.Time.Format(timestampFormat)
- }
- data[f.FieldMap.resolve(FieldKeyMsg)] = entry.Message
- data[f.FieldMap.resolve(FieldKeyLevel)] = entry.Level.String()
- if entry.HasCaller() {
- funcVal := entry.Caller.Function
- fileVal := fmt.Sprintf("%s:%d", entry.Caller.File, entry.Caller.Line)
- if f.CallerPrettyfier != nil {
- funcVal, fileVal = f.CallerPrettyfier(entry.Caller)
- }
- if funcVal != "" {
- data[f.FieldMap.resolve(FieldKeyFunc)] = funcVal
- }
- if fileVal != "" {
- data[f.FieldMap.resolve(FieldKeyFile)] = fileVal
- }
- }
-
- var b *bytes.Buffer
- if entry.Buffer != nil {
- b = entry.Buffer
- } else {
- b = &bytes.Buffer{}
- }
-
- encoder := json.NewEncoder(b)
- encoder.SetEscapeHTML(!f.DisableHTMLEscape)
- if f.PrettyPrint {
- encoder.SetIndent("", " ")
- }
- if err := encoder.Encode(data); err != nil {
- return nil, fmt.Errorf("failed to marshal fields to JSON, %w", err)
- }
-
- return b.Bytes(), nil
-}
diff --git a/vendor/github.com/sirupsen/logrus/logger.go b/vendor/github.com/sirupsen/logrus/logger.go
deleted file mode 100644
index 337704457..000000000
--- a/vendor/github.com/sirupsen/logrus/logger.go
+++ /dev/null
@@ -1,404 +0,0 @@
-package logrus
-
-import (
- "context"
- "io"
- "os"
- "sync"
- "sync/atomic"
- "time"
-)
-
-// LogFunction For big messages, it can be more efficient to pass a function
-// and only call it if the log level is actually enables rather than
-// generating the log message and then checking if the level is enabled
-type LogFunction func() []interface{}
-
-type Logger struct {
- // The logs are `io.Copy`'d to this in a mutex. It's common to set this to a
- // file, or leave it default which is `os.Stderr`. You can also set this to
- // something more adventurous, such as logging to Kafka.
- Out io.Writer
- // Hooks for the logger instance. These allow firing events based on logging
- // levels and log entries. For example, to send errors to an error tracking
- // service, log to StatsD or dump the core on fatal errors.
- Hooks LevelHooks
- // All log entries pass through the formatter before logged to Out. The
- // included formatters are `TextFormatter` and `JSONFormatter` for which
- // TextFormatter is the default. In development (when a TTY is attached) it
- // logs with colors, but to a file it wouldn't. You can easily implement your
- // own that implements the `Formatter` interface, see the `README` or included
- // formatters for examples.
- Formatter Formatter
-
- // Flag for whether to log caller info (off by default)
- ReportCaller bool
-
- // The logging level the logger should log at. This is typically (and defaults
- // to) `logrus.Info`, which allows Info(), Warn(), Error() and Fatal() to be
- // logged.
- Level Level
- // Used to sync writing to the log. Locking is enabled by Default
- mu MutexWrap
- // Reusable empty entry
- entryPool sync.Pool
- // Function to exit the application, defaults to `os.Exit()`
- ExitFunc exitFunc
-}
-
-type exitFunc func(int)
-
-type MutexWrap struct {
- lock sync.Mutex
- disabled bool
-}
-
-func (mw *MutexWrap) Lock() {
- if !mw.disabled {
- mw.lock.Lock()
- }
-}
-
-func (mw *MutexWrap) Unlock() {
- if !mw.disabled {
- mw.lock.Unlock()
- }
-}
-
-func (mw *MutexWrap) Disable() {
- mw.disabled = true
-}
-
-// Creates a new logger. Configuration should be set by changing `Formatter`,
-// `Out` and `Hooks` directly on the default logger instance. You can also just
-// instantiate your own:
-//
-// var log = &logrus.Logger{
-// Out: os.Stderr,
-// Formatter: new(logrus.TextFormatter),
-// Hooks: make(logrus.LevelHooks),
-// Level: logrus.DebugLevel,
-// }
-//
-// It's recommended to make this a global instance called `log`.
-func New() *Logger {
- return &Logger{
- Out: os.Stderr,
- Formatter: new(TextFormatter),
- Hooks: make(LevelHooks),
- Level: InfoLevel,
- ExitFunc: os.Exit,
- ReportCaller: false,
- }
-}
-
-func (logger *Logger) newEntry() *Entry {
- entry, ok := logger.entryPool.Get().(*Entry)
- if ok {
- return entry
- }
- return NewEntry(logger)
-}
-
-func (logger *Logger) releaseEntry(entry *Entry) {
- entry.Data = map[string]interface{}{}
- logger.entryPool.Put(entry)
-}
-
-// WithField allocates a new entry and adds a field to it.
-// Debug, Print, Info, Warn, Error, Fatal or Panic must be then applied to
-// this new returned entry.
-// If you want multiple fields, use `WithFields`.
-func (logger *Logger) WithField(key string, value interface{}) *Entry {
- entry := logger.newEntry()
- defer logger.releaseEntry(entry)
- return entry.WithField(key, value)
-}
-
-// Adds a struct of fields to the log entry. All it does is call `WithField` for
-// each `Field`.
-func (logger *Logger) WithFields(fields Fields) *Entry {
- entry := logger.newEntry()
- defer logger.releaseEntry(entry)
- return entry.WithFields(fields)
-}
-
-// Add an error as single field to the log entry. All it does is call
-// `WithError` for the given `error`.
-func (logger *Logger) WithError(err error) *Entry {
- entry := logger.newEntry()
- defer logger.releaseEntry(entry)
- return entry.WithError(err)
-}
-
-// Add a context to the log entry.
-func (logger *Logger) WithContext(ctx context.Context) *Entry {
- entry := logger.newEntry()
- defer logger.releaseEntry(entry)
- return entry.WithContext(ctx)
-}
-
-// Overrides the time of the log entry.
-func (logger *Logger) WithTime(t time.Time) *Entry {
- entry := logger.newEntry()
- defer logger.releaseEntry(entry)
- return entry.WithTime(t)
-}
-
-func (logger *Logger) Logf(level Level, format string, args ...interface{}) {
- if logger.IsLevelEnabled(level) {
- entry := logger.newEntry()
- entry.Logf(level, format, args...)
- logger.releaseEntry(entry)
- }
-}
-
-func (logger *Logger) Tracef(format string, args ...interface{}) {
- logger.Logf(TraceLevel, format, args...)
-}
-
-func (logger *Logger) Debugf(format string, args ...interface{}) {
- logger.Logf(DebugLevel, format, args...)
-}
-
-func (logger *Logger) Infof(format string, args ...interface{}) {
- logger.Logf(InfoLevel, format, args...)
-}
-
-func (logger *Logger) Printf(format string, args ...interface{}) {
- entry := logger.newEntry()
- entry.Printf(format, args...)
- logger.releaseEntry(entry)
-}
-
-func (logger *Logger) Warnf(format string, args ...interface{}) {
- logger.Logf(WarnLevel, format, args...)
-}
-
-func (logger *Logger) Warningf(format string, args ...interface{}) {
- logger.Warnf(format, args...)
-}
-
-func (logger *Logger) Errorf(format string, args ...interface{}) {
- logger.Logf(ErrorLevel, format, args...)
-}
-
-func (logger *Logger) Fatalf(format string, args ...interface{}) {
- logger.Logf(FatalLevel, format, args...)
- logger.Exit(1)
-}
-
-func (logger *Logger) Panicf(format string, args ...interface{}) {
- logger.Logf(PanicLevel, format, args...)
-}
-
-func (logger *Logger) Log(level Level, args ...interface{}) {
- if logger.IsLevelEnabled(level) {
- entry := logger.newEntry()
- entry.Log(level, args...)
- logger.releaseEntry(entry)
- }
-}
-
-func (logger *Logger) LogFn(level Level, fn LogFunction) {
- if logger.IsLevelEnabled(level) {
- entry := logger.newEntry()
- entry.Log(level, fn()...)
- logger.releaseEntry(entry)
- }
-}
-
-func (logger *Logger) Trace(args ...interface{}) {
- logger.Log(TraceLevel, args...)
-}
-
-func (logger *Logger) Debug(args ...interface{}) {
- logger.Log(DebugLevel, args...)
-}
-
-func (logger *Logger) Info(args ...interface{}) {
- logger.Log(InfoLevel, args...)
-}
-
-func (logger *Logger) Print(args ...interface{}) {
- entry := logger.newEntry()
- entry.Print(args...)
- logger.releaseEntry(entry)
-}
-
-func (logger *Logger) Warn(args ...interface{}) {
- logger.Log(WarnLevel, args...)
-}
-
-func (logger *Logger) Warning(args ...interface{}) {
- logger.Warn(args...)
-}
-
-func (logger *Logger) Error(args ...interface{}) {
- logger.Log(ErrorLevel, args...)
-}
-
-func (logger *Logger) Fatal(args ...interface{}) {
- logger.Log(FatalLevel, args...)
- logger.Exit(1)
-}
-
-func (logger *Logger) Panic(args ...interface{}) {
- logger.Log(PanicLevel, args...)
-}
-
-func (logger *Logger) TraceFn(fn LogFunction) {
- logger.LogFn(TraceLevel, fn)
-}
-
-func (logger *Logger) DebugFn(fn LogFunction) {
- logger.LogFn(DebugLevel, fn)
-}
-
-func (logger *Logger) InfoFn(fn LogFunction) {
- logger.LogFn(InfoLevel, fn)
-}
-
-func (logger *Logger) PrintFn(fn LogFunction) {
- entry := logger.newEntry()
- entry.Print(fn()...)
- logger.releaseEntry(entry)
-}
-
-func (logger *Logger) WarnFn(fn LogFunction) {
- logger.LogFn(WarnLevel, fn)
-}
-
-func (logger *Logger) WarningFn(fn LogFunction) {
- logger.WarnFn(fn)
-}
-
-func (logger *Logger) ErrorFn(fn LogFunction) {
- logger.LogFn(ErrorLevel, fn)
-}
-
-func (logger *Logger) FatalFn(fn LogFunction) {
- logger.LogFn(FatalLevel, fn)
- logger.Exit(1)
-}
-
-func (logger *Logger) PanicFn(fn LogFunction) {
- logger.LogFn(PanicLevel, fn)
-}
-
-func (logger *Logger) Logln(level Level, args ...interface{}) {
- if logger.IsLevelEnabled(level) {
- entry := logger.newEntry()
- entry.Logln(level, args...)
- logger.releaseEntry(entry)
- }
-}
-
-func (logger *Logger) Traceln(args ...interface{}) {
- logger.Logln(TraceLevel, args...)
-}
-
-func (logger *Logger) Debugln(args ...interface{}) {
- logger.Logln(DebugLevel, args...)
-}
-
-func (logger *Logger) Infoln(args ...interface{}) {
- logger.Logln(InfoLevel, args...)
-}
-
-func (logger *Logger) Println(args ...interface{}) {
- entry := logger.newEntry()
- entry.Println(args...)
- logger.releaseEntry(entry)
-}
-
-func (logger *Logger) Warnln(args ...interface{}) {
- logger.Logln(WarnLevel, args...)
-}
-
-func (logger *Logger) Warningln(args ...interface{}) {
- logger.Warnln(args...)
-}
-
-func (logger *Logger) Errorln(args ...interface{}) {
- logger.Logln(ErrorLevel, args...)
-}
-
-func (logger *Logger) Fatalln(args ...interface{}) {
- logger.Logln(FatalLevel, args...)
- logger.Exit(1)
-}
-
-func (logger *Logger) Panicln(args ...interface{}) {
- logger.Logln(PanicLevel, args...)
-}
-
-func (logger *Logger) Exit(code int) {
- runHandlers()
- if logger.ExitFunc == nil {
- logger.ExitFunc = os.Exit
- }
- logger.ExitFunc(code)
-}
-
-//When file is opened with appending mode, it's safe to
-//write concurrently to a file (within 4k message on Linux).
-//In these cases user can choose to disable the lock.
-func (logger *Logger) SetNoLock() {
- logger.mu.Disable()
-}
-
-func (logger *Logger) level() Level {
- return Level(atomic.LoadUint32((*uint32)(&logger.Level)))
-}
-
-// SetLevel sets the logger level.
-func (logger *Logger) SetLevel(level Level) {
- atomic.StoreUint32((*uint32)(&logger.Level), uint32(level))
-}
-
-// GetLevel returns the logger level.
-func (logger *Logger) GetLevel() Level {
- return logger.level()
-}
-
-// AddHook adds a hook to the logger hooks.
-func (logger *Logger) AddHook(hook Hook) {
- logger.mu.Lock()
- defer logger.mu.Unlock()
- logger.Hooks.Add(hook)
-}
-
-// IsLevelEnabled checks if the log level of the logger is greater than the level param
-func (logger *Logger) IsLevelEnabled(level Level) bool {
- return logger.level() >= level
-}
-
-// SetFormatter sets the logger formatter.
-func (logger *Logger) SetFormatter(formatter Formatter) {
- logger.mu.Lock()
- defer logger.mu.Unlock()
- logger.Formatter = formatter
-}
-
-// SetOutput sets the logger output.
-func (logger *Logger) SetOutput(output io.Writer) {
- logger.mu.Lock()
- defer logger.mu.Unlock()
- logger.Out = output
-}
-
-func (logger *Logger) SetReportCaller(reportCaller bool) {
- logger.mu.Lock()
- defer logger.mu.Unlock()
- logger.ReportCaller = reportCaller
-}
-
-// ReplaceHooks replaces the logger hooks and returns the old ones
-func (logger *Logger) ReplaceHooks(hooks LevelHooks) LevelHooks {
- logger.mu.Lock()
- oldHooks := logger.Hooks
- logger.Hooks = hooks
- logger.mu.Unlock()
- return oldHooks
-}
diff --git a/vendor/github.com/sirupsen/logrus/logrus.go b/vendor/github.com/sirupsen/logrus/logrus.go
deleted file mode 100644
index 2f16224cb..000000000
--- a/vendor/github.com/sirupsen/logrus/logrus.go
+++ /dev/null
@@ -1,186 +0,0 @@
-package logrus
-
-import (
- "fmt"
- "log"
- "strings"
-)
-
-// Fields type, used to pass to `WithFields`.
-type Fields map[string]interface{}
-
-// Level type
-type Level uint32
-
-// Convert the Level to a string. E.g. PanicLevel becomes "panic".
-func (level Level) String() string {
- if b, err := level.MarshalText(); err == nil {
- return string(b)
- } else {
- return "unknown"
- }
-}
-
-// ParseLevel takes a string level and returns the Logrus log level constant.
-func ParseLevel(lvl string) (Level, error) {
- switch strings.ToLower(lvl) {
- case "panic":
- return PanicLevel, nil
- case "fatal":
- return FatalLevel, nil
- case "error":
- return ErrorLevel, nil
- case "warn", "warning":
- return WarnLevel, nil
- case "info":
- return InfoLevel, nil
- case "debug":
- return DebugLevel, nil
- case "trace":
- return TraceLevel, nil
- }
-
- var l Level
- return l, fmt.Errorf("not a valid logrus Level: %q", lvl)
-}
-
-// UnmarshalText implements encoding.TextUnmarshaler.
-func (level *Level) UnmarshalText(text []byte) error {
- l, err := ParseLevel(string(text))
- if err != nil {
- return err
- }
-
- *level = l
-
- return nil
-}
-
-func (level Level) MarshalText() ([]byte, error) {
- switch level {
- case TraceLevel:
- return []byte("trace"), nil
- case DebugLevel:
- return []byte("debug"), nil
- case InfoLevel:
- return []byte("info"), nil
- case WarnLevel:
- return []byte("warning"), nil
- case ErrorLevel:
- return []byte("error"), nil
- case FatalLevel:
- return []byte("fatal"), nil
- case PanicLevel:
- return []byte("panic"), nil
- }
-
- return nil, fmt.Errorf("not a valid logrus level %d", level)
-}
-
-// A constant exposing all logging levels
-var AllLevels = []Level{
- PanicLevel,
- FatalLevel,
- ErrorLevel,
- WarnLevel,
- InfoLevel,
- DebugLevel,
- TraceLevel,
-}
-
-// These are the different logging levels. You can set the logging level to log
-// on your instance of logger, obtained with `logrus.New()`.
-const (
- // PanicLevel level, highest level of severity. Logs and then calls panic with the
- // message passed to Debug, Info, ...
- PanicLevel Level = iota
- // FatalLevel level. Logs and then calls `logger.Exit(1)`. It will exit even if the
- // logging level is set to Panic.
- FatalLevel
- // ErrorLevel level. Logs. Used for errors that should definitely be noted.
- // Commonly used for hooks to send errors to an error tracking service.
- ErrorLevel
- // WarnLevel level. Non-critical entries that deserve eyes.
- WarnLevel
- // InfoLevel level. General operational entries about what's going on inside the
- // application.
- InfoLevel
- // DebugLevel level. Usually only enabled when debugging. Very verbose logging.
- DebugLevel
- // TraceLevel level. Designates finer-grained informational events than the Debug.
- TraceLevel
-)
-
-// Won't compile if StdLogger can't be realized by a log.Logger
-var (
- _ StdLogger = &log.Logger{}
- _ StdLogger = &Entry{}
- _ StdLogger = &Logger{}
-)
-
-// StdLogger is what your logrus-enabled library should take, that way
-// it'll accept a stdlib logger and a logrus logger. There's no standard
-// interface, this is the closest we get, unfortunately.
-type StdLogger interface {
- Print(...interface{})
- Printf(string, ...interface{})
- Println(...interface{})
-
- Fatal(...interface{})
- Fatalf(string, ...interface{})
- Fatalln(...interface{})
-
- Panic(...interface{})
- Panicf(string, ...interface{})
- Panicln(...interface{})
-}
-
-// The FieldLogger interface generalizes the Entry and Logger types
-type FieldLogger interface {
- WithField(key string, value interface{}) *Entry
- WithFields(fields Fields) *Entry
- WithError(err error) *Entry
-
- Debugf(format string, args ...interface{})
- Infof(format string, args ...interface{})
- Printf(format string, args ...interface{})
- Warnf(format string, args ...interface{})
- Warningf(format string, args ...interface{})
- Errorf(format string, args ...interface{})
- Fatalf(format string, args ...interface{})
- Panicf(format string, args ...interface{})
-
- Debug(args ...interface{})
- Info(args ...interface{})
- Print(args ...interface{})
- Warn(args ...interface{})
- Warning(args ...interface{})
- Error(args ...interface{})
- Fatal(args ...interface{})
- Panic(args ...interface{})
-
- Debugln(args ...interface{})
- Infoln(args ...interface{})
- Println(args ...interface{})
- Warnln(args ...interface{})
- Warningln(args ...interface{})
- Errorln(args ...interface{})
- Fatalln(args ...interface{})
- Panicln(args ...interface{})
-
- // IsDebugEnabled() bool
- // IsInfoEnabled() bool
- // IsWarnEnabled() bool
- // IsErrorEnabled() bool
- // IsFatalEnabled() bool
- // IsPanicEnabled() bool
-}
-
-// Ext1FieldLogger (the first extension to FieldLogger) is superfluous, it is
-// here for consistancy. Do not use. Use Logger or Entry instead.
-type Ext1FieldLogger interface {
- FieldLogger
- Tracef(format string, args ...interface{})
- Trace(args ...interface{})
- Traceln(args ...interface{})
-}
diff --git a/vendor/github.com/sirupsen/logrus/terminal_check_appengine.go b/vendor/github.com/sirupsen/logrus/terminal_check_appengine.go
deleted file mode 100644
index 2403de981..000000000
--- a/vendor/github.com/sirupsen/logrus/terminal_check_appengine.go
+++ /dev/null
@@ -1,11 +0,0 @@
-// +build appengine
-
-package logrus
-
-import (
- "io"
-)
-
-func checkIfTerminal(w io.Writer) bool {
- return true
-}
diff --git a/vendor/github.com/sirupsen/logrus/terminal_check_bsd.go b/vendor/github.com/sirupsen/logrus/terminal_check_bsd.go
deleted file mode 100644
index 499789984..000000000
--- a/vendor/github.com/sirupsen/logrus/terminal_check_bsd.go
+++ /dev/null
@@ -1,13 +0,0 @@
-// +build darwin dragonfly freebsd netbsd openbsd
-// +build !js
-
-package logrus
-
-import "golang.org/x/sys/unix"
-
-const ioctlReadTermios = unix.TIOCGETA
-
-func isTerminal(fd int) bool {
- _, err := unix.IoctlGetTermios(fd, ioctlReadTermios)
- return err == nil
-}
diff --git a/vendor/github.com/sirupsen/logrus/terminal_check_js.go b/vendor/github.com/sirupsen/logrus/terminal_check_js.go
deleted file mode 100644
index ebdae3ec6..000000000
--- a/vendor/github.com/sirupsen/logrus/terminal_check_js.go
+++ /dev/null
@@ -1,7 +0,0 @@
-// +build js
-
-package logrus
-
-func isTerminal(fd int) bool {
- return false
-}
diff --git a/vendor/github.com/sirupsen/logrus/terminal_check_no_terminal.go b/vendor/github.com/sirupsen/logrus/terminal_check_no_terminal.go
deleted file mode 100644
index 97af92c68..000000000
--- a/vendor/github.com/sirupsen/logrus/terminal_check_no_terminal.go
+++ /dev/null
@@ -1,11 +0,0 @@
-// +build js nacl plan9
-
-package logrus
-
-import (
- "io"
-)
-
-func checkIfTerminal(w io.Writer) bool {
- return false
-}
diff --git a/vendor/github.com/sirupsen/logrus/terminal_check_notappengine.go b/vendor/github.com/sirupsen/logrus/terminal_check_notappengine.go
deleted file mode 100644
index 3293fb3ca..000000000
--- a/vendor/github.com/sirupsen/logrus/terminal_check_notappengine.go
+++ /dev/null
@@ -1,17 +0,0 @@
-// +build !appengine,!js,!windows,!nacl,!plan9
-
-package logrus
-
-import (
- "io"
- "os"
-)
-
-func checkIfTerminal(w io.Writer) bool {
- switch v := w.(type) {
- case *os.File:
- return isTerminal(int(v.Fd()))
- default:
- return false
- }
-}
diff --git a/vendor/github.com/sirupsen/logrus/terminal_check_solaris.go b/vendor/github.com/sirupsen/logrus/terminal_check_solaris.go
deleted file mode 100644
index f6710b3bd..000000000
--- a/vendor/github.com/sirupsen/logrus/terminal_check_solaris.go
+++ /dev/null
@@ -1,11 +0,0 @@
-package logrus
-
-import (
- "golang.org/x/sys/unix"
-)
-
-// IsTerminal returns true if the given file descriptor is a terminal.
-func isTerminal(fd int) bool {
- _, err := unix.IoctlGetTermio(fd, unix.TCGETA)
- return err == nil
-}
diff --git a/vendor/github.com/sirupsen/logrus/terminal_check_unix.go b/vendor/github.com/sirupsen/logrus/terminal_check_unix.go
deleted file mode 100644
index 04748b851..000000000
--- a/vendor/github.com/sirupsen/logrus/terminal_check_unix.go
+++ /dev/null
@@ -1,13 +0,0 @@
-// +build linux aix zos
-// +build !js
-
-package logrus
-
-import "golang.org/x/sys/unix"
-
-const ioctlReadTermios = unix.TCGETS
-
-func isTerminal(fd int) bool {
- _, err := unix.IoctlGetTermios(fd, ioctlReadTermios)
- return err == nil
-}
diff --git a/vendor/github.com/sirupsen/logrus/terminal_check_windows.go b/vendor/github.com/sirupsen/logrus/terminal_check_windows.go
deleted file mode 100644
index 2879eb50e..000000000
--- a/vendor/github.com/sirupsen/logrus/terminal_check_windows.go
+++ /dev/null
@@ -1,27 +0,0 @@
-// +build !appengine,!js,windows
-
-package logrus
-
-import (
- "io"
- "os"
-
- "golang.org/x/sys/windows"
-)
-
-func checkIfTerminal(w io.Writer) bool {
- switch v := w.(type) {
- case *os.File:
- handle := windows.Handle(v.Fd())
- var mode uint32
- if err := windows.GetConsoleMode(handle, &mode); err != nil {
- return false
- }
- mode |= windows.ENABLE_VIRTUAL_TERMINAL_PROCESSING
- if err := windows.SetConsoleMode(handle, mode); err != nil {
- return false
- }
- return true
- }
- return false
-}
diff --git a/vendor/github.com/sirupsen/logrus/text_formatter.go b/vendor/github.com/sirupsen/logrus/text_formatter.go
deleted file mode 100644
index be2c6efe5..000000000
--- a/vendor/github.com/sirupsen/logrus/text_formatter.go
+++ /dev/null
@@ -1,339 +0,0 @@
-package logrus
-
-import (
- "bytes"
- "fmt"
- "os"
- "runtime"
- "sort"
- "strconv"
- "strings"
- "sync"
- "time"
- "unicode/utf8"
-)
-
-const (
- red = 31
- yellow = 33
- blue = 36
- gray = 37
-)
-
-var baseTimestamp time.Time
-
-func init() {
- baseTimestamp = time.Now()
-}
-
-// TextFormatter formats logs into text
-type TextFormatter struct {
- // Set to true to bypass checking for a TTY before outputting colors.
- ForceColors bool
-
- // Force disabling colors.
- DisableColors bool
-
- // Force quoting of all values
- ForceQuote bool
-
- // DisableQuote disables quoting for all values.
- // DisableQuote will have a lower priority than ForceQuote.
- // If both of them are set to true, quote will be forced on all values.
- DisableQuote bool
-
- // Override coloring based on CLICOLOR and CLICOLOR_FORCE. - https://bixense.com/clicolors/
- EnvironmentOverrideColors bool
-
- // Disable timestamp logging. useful when output is redirected to logging
- // system that already adds timestamps.
- DisableTimestamp bool
-
- // Enable logging the full timestamp when a TTY is attached instead of just
- // the time passed since beginning of execution.
- FullTimestamp bool
-
- // TimestampFormat to use for display when a full timestamp is printed.
- // The format to use is the same than for time.Format or time.Parse from the standard
- // library.
- // The standard Library already provides a set of predefined format.
- TimestampFormat string
-
- // The fields are sorted by default for a consistent output. For applications
- // that log extremely frequently and don't use the JSON formatter this may not
- // be desired.
- DisableSorting bool
-
- // The keys sorting function, when uninitialized it uses sort.Strings.
- SortingFunc func([]string)
-
- // Disables the truncation of the level text to 4 characters.
- DisableLevelTruncation bool
-
- // PadLevelText Adds padding the level text so that all the levels output at the same length
- // PadLevelText is a superset of the DisableLevelTruncation option
- PadLevelText bool
-
- // QuoteEmptyFields will wrap empty fields in quotes if true
- QuoteEmptyFields bool
-
- // Whether the logger's out is to a terminal
- isTerminal bool
-
- // FieldMap allows users to customize the names of keys for default fields.
- // As an example:
- // formatter := &TextFormatter{
- // FieldMap: FieldMap{
- // FieldKeyTime: "@timestamp",
- // FieldKeyLevel: "@level",
- // FieldKeyMsg: "@message"}}
- FieldMap FieldMap
-
- // CallerPrettyfier can be set by the user to modify the content
- // of the function and file keys in the data when ReportCaller is
- // activated. If any of the returned value is the empty string the
- // corresponding key will be removed from fields.
- CallerPrettyfier func(*runtime.Frame) (function string, file string)
-
- terminalInitOnce sync.Once
-
- // The max length of the level text, generated dynamically on init
- levelTextMaxLength int
-}
-
-func (f *TextFormatter) init(entry *Entry) {
- if entry.Logger != nil {
- f.isTerminal = checkIfTerminal(entry.Logger.Out)
- }
- // Get the max length of the level text
- for _, level := range AllLevels {
- levelTextLength := utf8.RuneCount([]byte(level.String()))
- if levelTextLength > f.levelTextMaxLength {
- f.levelTextMaxLength = levelTextLength
- }
- }
-}
-
-func (f *TextFormatter) isColored() bool {
- isColored := f.ForceColors || (f.isTerminal && (runtime.GOOS != "windows"))
-
- if f.EnvironmentOverrideColors {
- switch force, ok := os.LookupEnv("CLICOLOR_FORCE"); {
- case ok && force != "0":
- isColored = true
- case ok && force == "0", os.Getenv("CLICOLOR") == "0":
- isColored = false
- }
- }
-
- return isColored && !f.DisableColors
-}
-
-// Format renders a single log entry
-func (f *TextFormatter) Format(entry *Entry) ([]byte, error) {
- data := make(Fields)
- for k, v := range entry.Data {
- data[k] = v
- }
- prefixFieldClashes(data, f.FieldMap, entry.HasCaller())
- keys := make([]string, 0, len(data))
- for k := range data {
- keys = append(keys, k)
- }
-
- var funcVal, fileVal string
-
- fixedKeys := make([]string, 0, 4+len(data))
- if !f.DisableTimestamp {
- fixedKeys = append(fixedKeys, f.FieldMap.resolve(FieldKeyTime))
- }
- fixedKeys = append(fixedKeys, f.FieldMap.resolve(FieldKeyLevel))
- if entry.Message != "" {
- fixedKeys = append(fixedKeys, f.FieldMap.resolve(FieldKeyMsg))
- }
- if entry.err != "" {
- fixedKeys = append(fixedKeys, f.FieldMap.resolve(FieldKeyLogrusError))
- }
- if entry.HasCaller() {
- if f.CallerPrettyfier != nil {
- funcVal, fileVal = f.CallerPrettyfier(entry.Caller)
- } else {
- funcVal = entry.Caller.Function
- fileVal = fmt.Sprintf("%s:%d", entry.Caller.File, entry.Caller.Line)
- }
-
- if funcVal != "" {
- fixedKeys = append(fixedKeys, f.FieldMap.resolve(FieldKeyFunc))
- }
- if fileVal != "" {
- fixedKeys = append(fixedKeys, f.FieldMap.resolve(FieldKeyFile))
- }
- }
-
- if !f.DisableSorting {
- if f.SortingFunc == nil {
- sort.Strings(keys)
- fixedKeys = append(fixedKeys, keys...)
- } else {
- if !f.isColored() {
- fixedKeys = append(fixedKeys, keys...)
- f.SortingFunc(fixedKeys)
- } else {
- f.SortingFunc(keys)
- }
- }
- } else {
- fixedKeys = append(fixedKeys, keys...)
- }
-
- var b *bytes.Buffer
- if entry.Buffer != nil {
- b = entry.Buffer
- } else {
- b = &bytes.Buffer{}
- }
-
- f.terminalInitOnce.Do(func() { f.init(entry) })
-
- timestampFormat := f.TimestampFormat
- if timestampFormat == "" {
- timestampFormat = defaultTimestampFormat
- }
- if f.isColored() {
- f.printColored(b, entry, keys, data, timestampFormat)
- } else {
-
- for _, key := range fixedKeys {
- var value interface{}
- switch {
- case key == f.FieldMap.resolve(FieldKeyTime):
- value = entry.Time.Format(timestampFormat)
- case key == f.FieldMap.resolve(FieldKeyLevel):
- value = entry.Level.String()
- case key == f.FieldMap.resolve(FieldKeyMsg):
- value = entry.Message
- case key == f.FieldMap.resolve(FieldKeyLogrusError):
- value = entry.err
- case key == f.FieldMap.resolve(FieldKeyFunc) && entry.HasCaller():
- value = funcVal
- case key == f.FieldMap.resolve(FieldKeyFile) && entry.HasCaller():
- value = fileVal
- default:
- value = data[key]
- }
- f.appendKeyValue(b, key, value)
- }
- }
-
- b.WriteByte('\n')
- return b.Bytes(), nil
-}
-
-func (f *TextFormatter) printColored(b *bytes.Buffer, entry *Entry, keys []string, data Fields, timestampFormat string) {
- var levelColor int
- switch entry.Level {
- case DebugLevel, TraceLevel:
- levelColor = gray
- case WarnLevel:
- levelColor = yellow
- case ErrorLevel, FatalLevel, PanicLevel:
- levelColor = red
- case InfoLevel:
- levelColor = blue
- default:
- levelColor = blue
- }
-
- levelText := strings.ToUpper(entry.Level.String())
- if !f.DisableLevelTruncation && !f.PadLevelText {
- levelText = levelText[0:4]
- }
- if f.PadLevelText {
- // Generates the format string used in the next line, for example "%-6s" or "%-7s".
- // Based on the max level text length.
- formatString := "%-" + strconv.Itoa(f.levelTextMaxLength) + "s"
- // Formats the level text by appending spaces up to the max length, for example:
- // - "INFO "
- // - "WARNING"
- levelText = fmt.Sprintf(formatString, levelText)
- }
-
- // Remove a single newline if it already exists in the message to keep
- // the behavior of logrus text_formatter the same as the stdlib log package
- entry.Message = strings.TrimSuffix(entry.Message, "\n")
-
- caller := ""
- if entry.HasCaller() {
- funcVal := fmt.Sprintf("%s()", entry.Caller.Function)
- fileVal := fmt.Sprintf("%s:%d", entry.Caller.File, entry.Caller.Line)
-
- if f.CallerPrettyfier != nil {
- funcVal, fileVal = f.CallerPrettyfier(entry.Caller)
- }
-
- if fileVal == "" {
- caller = funcVal
- } else if funcVal == "" {
- caller = fileVal
- } else {
- caller = fileVal + " " + funcVal
- }
- }
-
- switch {
- case f.DisableTimestamp:
- fmt.Fprintf(b, "\x1b[%dm%s\x1b[0m%s %-44s ", levelColor, levelText, caller, entry.Message)
- case !f.FullTimestamp:
- fmt.Fprintf(b, "\x1b[%dm%s\x1b[0m[%04d]%s %-44s ", levelColor, levelText, int(entry.Time.Sub(baseTimestamp)/time.Second), caller, entry.Message)
- default:
- fmt.Fprintf(b, "\x1b[%dm%s\x1b[0m[%s]%s %-44s ", levelColor, levelText, entry.Time.Format(timestampFormat), caller, entry.Message)
- }
- for _, k := range keys {
- v := data[k]
- fmt.Fprintf(b, " \x1b[%dm%s\x1b[0m=", levelColor, k)
- f.appendValue(b, v)
- }
-}
-
-func (f *TextFormatter) needsQuoting(text string) bool {
- if f.ForceQuote {
- return true
- }
- if f.QuoteEmptyFields && len(text) == 0 {
- return true
- }
- if f.DisableQuote {
- return false
- }
- for _, ch := range text {
- if !((ch >= 'a' && ch <= 'z') ||
- (ch >= 'A' && ch <= 'Z') ||
- (ch >= '0' && ch <= '9') ||
- ch == '-' || ch == '.' || ch == '_' || ch == '/' || ch == '@' || ch == '^' || ch == '+') {
- return true
- }
- }
- return false
-}
-
-func (f *TextFormatter) appendKeyValue(b *bytes.Buffer, key string, value interface{}) {
- if b.Len() > 0 {
- b.WriteByte(' ')
- }
- b.WriteString(key)
- b.WriteByte('=')
- f.appendValue(b, value)
-}
-
-func (f *TextFormatter) appendValue(b *bytes.Buffer, value interface{}) {
- stringVal, ok := value.(string)
- if !ok {
- stringVal = fmt.Sprint(value)
- }
-
- if !f.needsQuoting(stringVal) {
- b.WriteString(stringVal)
- } else {
- b.WriteString(fmt.Sprintf("%q", stringVal))
- }
-}
diff --git a/vendor/github.com/sirupsen/logrus/writer.go b/vendor/github.com/sirupsen/logrus/writer.go
deleted file mode 100644
index 72e8e3a1b..000000000
--- a/vendor/github.com/sirupsen/logrus/writer.go
+++ /dev/null
@@ -1,70 +0,0 @@
-package logrus
-
-import (
- "bufio"
- "io"
- "runtime"
-)
-
-// Writer at INFO level. See WriterLevel for details.
-func (logger *Logger) Writer() *io.PipeWriter {
- return logger.WriterLevel(InfoLevel)
-}
-
-// WriterLevel returns an io.Writer that can be used to write arbitrary text to
-// the logger at the given log level. Each line written to the writer will be
-// printed in the usual way using formatters and hooks. The writer is part of an
-// io.Pipe and it is the callers responsibility to close the writer when done.
-// This can be used to override the standard library logger easily.
-func (logger *Logger) WriterLevel(level Level) *io.PipeWriter {
- return NewEntry(logger).WriterLevel(level)
-}
-
-func (entry *Entry) Writer() *io.PipeWriter {
- return entry.WriterLevel(InfoLevel)
-}
-
-func (entry *Entry) WriterLevel(level Level) *io.PipeWriter {
- reader, writer := io.Pipe()
-
- var printFunc func(args ...interface{})
-
- switch level {
- case TraceLevel:
- printFunc = entry.Trace
- case DebugLevel:
- printFunc = entry.Debug
- case InfoLevel:
- printFunc = entry.Info
- case WarnLevel:
- printFunc = entry.Warn
- case ErrorLevel:
- printFunc = entry.Error
- case FatalLevel:
- printFunc = entry.Fatal
- case PanicLevel:
- printFunc = entry.Panic
- default:
- printFunc = entry.Print
- }
-
- go entry.writerScanner(reader, printFunc)
- runtime.SetFinalizer(writer, writerFinalizer)
-
- return writer
-}
-
-func (entry *Entry) writerScanner(reader *io.PipeReader, printFunc func(args ...interface{})) {
- scanner := bufio.NewScanner(reader)
- for scanner.Scan() {
- printFunc(scanner.Text())
- }
- if err := scanner.Err(); err != nil {
- entry.Errorf("Error while reading from Writer: %s", err)
- }
- reader.Close()
-}
-
-func writerFinalizer(writer *io.PipeWriter) {
- writer.Close()
-}
diff --git a/vendor/istio.io/gogo-genproto/LICENSE b/vendor/google.golang.org/genproto/LICENSE
similarity index 99%
rename from vendor/istio.io/gogo-genproto/LICENSE
rename to vendor/google.golang.org/genproto/LICENSE
index 56e48aa37..d64569567 100644
--- a/vendor/istio.io/gogo-genproto/LICENSE
+++ b/vendor/google.golang.org/genproto/LICENSE
@@ -1,5 +1,5 @@
- Apache License
+ Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
@@ -179,7 +179,7 @@
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "{}"
+ boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
@@ -187,7 +187,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.
- Copyright 2016-2020 Istio Authors
+ Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
diff --git a/vendor/google.golang.org/genproto/googleapis/api/annotations/annotations.pb.go b/vendor/google.golang.org/genproto/googleapis/api/annotations/annotations.pb.go
new file mode 100644
index 000000000..191bea48c
--- /dev/null
+++ b/vendor/google.golang.org/genproto/googleapis/api/annotations/annotations.pb.go
@@ -0,0 +1,119 @@
+// Copyright 2015 Google LLC
+//
+// 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-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.12.2
+// source: google/api/annotations.proto
+
+package annotations
+
+import (
+ reflect "reflect"
+
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ descriptorpb "google.golang.org/protobuf/types/descriptorpb"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+var file_google_api_annotations_proto_extTypes = []protoimpl.ExtensionInfo{
+ {
+ ExtendedType: (*descriptorpb.MethodOptions)(nil),
+ ExtensionType: (*HttpRule)(nil),
+ Field: 72295728,
+ Name: "google.api.http",
+ Tag: "bytes,72295728,opt,name=http",
+ Filename: "google/api/annotations.proto",
+ },
+}
+
+// Extension fields to descriptorpb.MethodOptions.
+var (
+ // See `HttpRule`.
+ //
+ // optional google.api.HttpRule http = 72295728;
+ E_Http = &file_google_api_annotations_proto_extTypes[0]
+)
+
+var File_google_api_annotations_proto protoreflect.FileDescriptor
+
+var file_google_api_annotations_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e,
+ 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x1a, 0x15, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x3a, 0x4b, 0x0a, 0x04, 0x68, 0x74, 0x74, 0x70, 0x12, 0x1e, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65,
+ 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb0, 0xca, 0xbc, 0x22,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70,
+ 0x69, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x04, 0x68, 0x74, 0x74, 0x70,
+ 0x42, 0x6e, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
+ 0x70, 0x69, 0x42, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50,
+ 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67,
+ 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, 0x70,
+ 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3b, 0x61, 0x6e,
+ 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xa2, 0x02, 0x04, 0x47, 0x41, 0x50, 0x49,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var file_google_api_annotations_proto_goTypes = []interface{}{
+ (*descriptorpb.MethodOptions)(nil), // 0: google.protobuf.MethodOptions
+ (*HttpRule)(nil), // 1: google.api.HttpRule
+}
+var file_google_api_annotations_proto_depIdxs = []int32{
+ 0, // 0: google.api.http:extendee -> google.protobuf.MethodOptions
+ 1, // 1: google.api.http:type_name -> google.api.HttpRule
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 1, // [1:2] is the sub-list for extension type_name
+ 0, // [0:1] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_google_api_annotations_proto_init() }
+func file_google_api_annotations_proto_init() {
+ if File_google_api_annotations_proto != nil {
+ return
+ }
+ file_google_api_http_proto_init()
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_google_api_annotations_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 0,
+ NumExtensions: 1,
+ NumServices: 0,
+ },
+ GoTypes: file_google_api_annotations_proto_goTypes,
+ DependencyIndexes: file_google_api_annotations_proto_depIdxs,
+ ExtensionInfos: file_google_api_annotations_proto_extTypes,
+ }.Build()
+ File_google_api_annotations_proto = out.File
+ file_google_api_annotations_proto_rawDesc = nil
+ file_google_api_annotations_proto_goTypes = nil
+ file_google_api_annotations_proto_depIdxs = nil
+}
diff --git a/vendor/google.golang.org/genproto/googleapis/api/annotations/client.pb.go b/vendor/google.golang.org/genproto/googleapis/api/annotations/client.pb.go
new file mode 100644
index 000000000..66fdb650f
--- /dev/null
+++ b/vendor/google.golang.org/genproto/googleapis/api/annotations/client.pb.go
@@ -0,0 +1,214 @@
+// Copyright 2018 Google LLC
+//
+// 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-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.12.2
+// source: google/api/client.proto
+
+package annotations
+
+import (
+ reflect "reflect"
+
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ descriptorpb "google.golang.org/protobuf/types/descriptorpb"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+var file_google_api_client_proto_extTypes = []protoimpl.ExtensionInfo{
+ {
+ ExtendedType: (*descriptorpb.MethodOptions)(nil),
+ ExtensionType: ([]string)(nil),
+ Field: 1051,
+ Name: "google.api.method_signature",
+ Tag: "bytes,1051,rep,name=method_signature",
+ Filename: "google/api/client.proto",
+ },
+ {
+ ExtendedType: (*descriptorpb.ServiceOptions)(nil),
+ ExtensionType: (*string)(nil),
+ Field: 1049,
+ Name: "google.api.default_host",
+ Tag: "bytes,1049,opt,name=default_host",
+ Filename: "google/api/client.proto",
+ },
+ {
+ ExtendedType: (*descriptorpb.ServiceOptions)(nil),
+ ExtensionType: (*string)(nil),
+ Field: 1050,
+ Name: "google.api.oauth_scopes",
+ Tag: "bytes,1050,opt,name=oauth_scopes",
+ Filename: "google/api/client.proto",
+ },
+}
+
+// Extension fields to descriptorpb.MethodOptions.
+var (
+ // A definition of a client library method signature.
+ //
+ // In client libraries, each proto RPC corresponds to one or more methods
+ // which the end user is able to call, and calls the underlying RPC.
+ // Normally, this method receives a single argument (a struct or instance
+ // corresponding to the RPC request object). Defining this field will
+ // add one or more overloads providing flattened or simpler method signatures
+ // in some languages.
+ //
+ // The fields on the method signature are provided as a comma-separated
+ // string.
+ //
+ // For example, the proto RPC and annotation:
+ //
+ // rpc CreateSubscription(CreateSubscriptionRequest)
+ // returns (Subscription) {
+ // option (google.api.method_signature) = "name,topic";
+ // }
+ //
+ // Would add the following Java overload (in addition to the method accepting
+ // the request object):
+ //
+ // public final Subscription createSubscription(String name, String topic)
+ //
+ // The following backwards-compatibility guidelines apply:
+ //
+ // * Adding this annotation to an unannotated method is backwards
+ // compatible.
+ // * Adding this annotation to a method which already has existing
+ // method signature annotations is backwards compatible if and only if
+ // the new method signature annotation is last in the sequence.
+ // * Modifying or removing an existing method signature annotation is
+ // a breaking change.
+ // * Re-ordering existing method signature annotations is a breaking
+ // change.
+ //
+ // repeated string method_signature = 1051;
+ E_MethodSignature = &file_google_api_client_proto_extTypes[0]
+)
+
+// Extension fields to descriptorpb.ServiceOptions.
+var (
+ // The hostname for this service.
+ // This should be specified with no prefix or protocol.
+ //
+ // Example:
+ //
+ // service Foo {
+ // option (google.api.default_host) = "foo.googleapi.com";
+ // ...
+ // }
+ //
+ // optional string default_host = 1049;
+ E_DefaultHost = &file_google_api_client_proto_extTypes[1]
+ // OAuth scopes needed for the client.
+ //
+ // Example:
+ //
+ // service Foo {
+ // option (google.api.oauth_scopes) = \
+ // "https://www.googleapis.com/auth/cloud-platform";
+ // ...
+ // }
+ //
+ // If there is more than one scope, use a comma-separated string:
+ //
+ // Example:
+ //
+ // service Foo {
+ // option (google.api.oauth_scopes) = \
+ // "https://www.googleapis.com/auth/cloud-platform,"
+ // "https://www.googleapis.com/auth/monitoring";
+ // ...
+ // }
+ //
+ // optional string oauth_scopes = 1050;
+ E_OauthScopes = &file_google_api_client_proto_extTypes[2]
+)
+
+var File_google_api_client_proto protoreflect.FileDescriptor
+
+var file_google_api_client_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69,
+ 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x61, 0x70, 0x69, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f,
+ 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x3a, 0x4a, 0x0a, 0x10, 0x6d, 0x65, 0x74, 0x68, 0x6f,
+ 0x64, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1e, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65,
+ 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x9b, 0x08, 0x20, 0x03,
+ 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74,
+ 0x75, 0x72, 0x65, 0x3a, 0x43, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x68,
+ 0x6f, 0x73, 0x74, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4f, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x99, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x66,
+ 0x61, 0x75, 0x6c, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x3a, 0x43, 0x0a, 0x0c, 0x6f, 0x61, 0x75, 0x74,
+ 0x68, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69,
+ 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x9a, 0x08, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x0b, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x69, 0x0a,
+ 0x0e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x42,
+ 0x0b, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72,
+ 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0xa2, 0x02, 0x04, 0x47, 0x41, 0x50, 0x49, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var file_google_api_client_proto_goTypes = []interface{}{
+ (*descriptorpb.MethodOptions)(nil), // 0: google.protobuf.MethodOptions
+ (*descriptorpb.ServiceOptions)(nil), // 1: google.protobuf.ServiceOptions
+}
+var file_google_api_client_proto_depIdxs = []int32{
+ 0, // 0: google.api.method_signature:extendee -> google.protobuf.MethodOptions
+ 1, // 1: google.api.default_host:extendee -> google.protobuf.ServiceOptions
+ 1, // 2: google.api.oauth_scopes:extendee -> google.protobuf.ServiceOptions
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 0, // [0:3] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_google_api_client_proto_init() }
+func file_google_api_client_proto_init() {
+ if File_google_api_client_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_google_api_client_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 0,
+ NumExtensions: 3,
+ NumServices: 0,
+ },
+ GoTypes: file_google_api_client_proto_goTypes,
+ DependencyIndexes: file_google_api_client_proto_depIdxs,
+ ExtensionInfos: file_google_api_client_proto_extTypes,
+ }.Build()
+ File_google_api_client_proto = out.File
+ file_google_api_client_proto_rawDesc = nil
+ file_google_api_client_proto_goTypes = nil
+ file_google_api_client_proto_depIdxs = nil
+}
diff --git a/vendor/google.golang.org/genproto/googleapis/api/annotations/field_behavior.pb.go b/vendor/google.golang.org/genproto/googleapis/api/annotations/field_behavior.pb.go
new file mode 100644
index 000000000..164e0df0b
--- /dev/null
+++ b/vendor/google.golang.org/genproto/googleapis/api/annotations/field_behavior.pb.go
@@ -0,0 +1,250 @@
+// Copyright 2018 Google LLC
+//
+// 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-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.27.1
+// protoc v3.12.2
+// source: google/api/field_behavior.proto
+
+package annotations
+
+import (
+ reflect "reflect"
+ sync "sync"
+
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ descriptorpb "google.golang.org/protobuf/types/descriptorpb"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// An indicator of the behavior of a given field (for example, that a field
+// is required in requests, or given as output but ignored as input).
+// This **does not** change the behavior in protocol buffers itself; it only
+// denotes the behavior and may affect how API tooling handles the field.
+//
+// Note: This enum **may** receive new values in the future.
+type FieldBehavior int32
+
+const (
+ // Conventional default for enums. Do not use this.
+ FieldBehavior_FIELD_BEHAVIOR_UNSPECIFIED FieldBehavior = 0
+ // Specifically denotes a field as optional.
+ // While all fields in protocol buffers are optional, this may be specified
+ // for emphasis if appropriate.
+ FieldBehavior_OPTIONAL FieldBehavior = 1
+ // Denotes a field as required.
+ // This indicates that the field **must** be provided as part of the request,
+ // and failure to do so will cause an error (usually `INVALID_ARGUMENT`).
+ FieldBehavior_REQUIRED FieldBehavior = 2
+ // Denotes a field as output only.
+ // This indicates that the field is provided in responses, but including the
+ // field in a request does nothing (the server *must* ignore it and
+ // *must not* throw an error as a result of the field's presence).
+ FieldBehavior_OUTPUT_ONLY FieldBehavior = 3
+ // Denotes a field as input only.
+ // This indicates that the field is provided in requests, and the
+ // corresponding field is not included in output.
+ FieldBehavior_INPUT_ONLY FieldBehavior = 4
+ // Denotes a field as immutable.
+ // This indicates that the field may be set once in a request to create a
+ // resource, but may not be changed thereafter.
+ FieldBehavior_IMMUTABLE FieldBehavior = 5
+ // Denotes that a (repeated) field is an unordered list.
+ // This indicates that the service may provide the elements of the list
+ // in any arbitrary order, rather than the order the user originally
+ // provided. Additionally, the list's order may or may not be stable.
+ FieldBehavior_UNORDERED_LIST FieldBehavior = 6
+ // Denotes that this field returns a non-empty default value if not set.
+ // This indicates that if the user provides the empty value in a request,
+ // a non-empty value will be returned. The user will not be aware of what
+ // non-empty value to expect.
+ FieldBehavior_NON_EMPTY_DEFAULT FieldBehavior = 7
+)
+
+// Enum value maps for FieldBehavior.
+var (
+ FieldBehavior_name = map[int32]string{
+ 0: "FIELD_BEHAVIOR_UNSPECIFIED",
+ 1: "OPTIONAL",
+ 2: "REQUIRED",
+ 3: "OUTPUT_ONLY",
+ 4: "INPUT_ONLY",
+ 5: "IMMUTABLE",
+ 6: "UNORDERED_LIST",
+ 7: "NON_EMPTY_DEFAULT",
+ }
+ FieldBehavior_value = map[string]int32{
+ "FIELD_BEHAVIOR_UNSPECIFIED": 0,
+ "OPTIONAL": 1,
+ "REQUIRED": 2,
+ "OUTPUT_ONLY": 3,
+ "INPUT_ONLY": 4,
+ "IMMUTABLE": 5,
+ "UNORDERED_LIST": 6,
+ "NON_EMPTY_DEFAULT": 7,
+ }
+)
+
+func (x FieldBehavior) Enum() *FieldBehavior {
+ p := new(FieldBehavior)
+ *p = x
+ return p
+}
+
+func (x FieldBehavior) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (FieldBehavior) Descriptor() protoreflect.EnumDescriptor {
+ return file_google_api_field_behavior_proto_enumTypes[0].Descriptor()
+}
+
+func (FieldBehavior) Type() protoreflect.EnumType {
+ return &file_google_api_field_behavior_proto_enumTypes[0]
+}
+
+func (x FieldBehavior) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use FieldBehavior.Descriptor instead.
+func (FieldBehavior) EnumDescriptor() ([]byte, []int) {
+ return file_google_api_field_behavior_proto_rawDescGZIP(), []int{0}
+}
+
+var file_google_api_field_behavior_proto_extTypes = []protoimpl.ExtensionInfo{
+ {
+ ExtendedType: (*descriptorpb.FieldOptions)(nil),
+ ExtensionType: ([]FieldBehavior)(nil),
+ Field: 1052,
+ Name: "google.api.field_behavior",
+ Tag: "varint,1052,rep,name=field_behavior,enum=google.api.FieldBehavior",
+ Filename: "google/api/field_behavior.proto",
+ },
+}
+
+// Extension fields to descriptorpb.FieldOptions.
+var (
+ // A designation of a specific field behavior (required, output only, etc.)
+ // in protobuf messages.
+ //
+ // Examples:
+ //
+ // string name = 1 [(google.api.field_behavior) = REQUIRED];
+ // State state = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+ // google.protobuf.Duration ttl = 1
+ // [(google.api.field_behavior) = INPUT_ONLY];
+ // google.protobuf.Timestamp expire_time = 1
+ // [(google.api.field_behavior) = OUTPUT_ONLY,
+ // (google.api.field_behavior) = IMMUTABLE];
+ //
+ // repeated google.api.FieldBehavior field_behavior = 1052;
+ E_FieldBehavior = &file_google_api_field_behavior_proto_extTypes[0]
+)
+
+var File_google_api_field_behavior_proto protoreflect.FileDescriptor
+
+var file_google_api_field_behavior_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65,
+ 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x0a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x1a, 0x20, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64,
+ 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a,
+ 0xa6, 0x01, 0x0a, 0x0d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f,
+ 0x72, 0x12, 0x1e, 0x0a, 0x1a, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56,
+ 0x49, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10,
+ 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12,
+ 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0f, 0x0a,
+ 0x0b, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x03, 0x12, 0x0e,
+ 0x0a, 0x0a, 0x49, 0x4e, 0x50, 0x55, 0x54, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x04, 0x12, 0x0d,
+ 0x0a, 0x09, 0x49, 0x4d, 0x4d, 0x55, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x05, 0x12, 0x12, 0x0a,
+ 0x0e, 0x55, 0x4e, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10,
+ 0x06, 0x12, 0x15, 0x0a, 0x11, 0x4e, 0x4f, 0x4e, 0x5f, 0x45, 0x4d, 0x50, 0x54, 0x59, 0x5f, 0x44,
+ 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x07, 0x3a, 0x60, 0x0a, 0x0e, 0x66, 0x69, 0x65, 0x6c,
+ 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65,
+ 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x9c, 0x08, 0x20, 0x03, 0x28, 0x0e,
+ 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x69,
+ 0x65, 0x6c, 0x64, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x0d, 0x66, 0x69, 0x65,
+ 0x6c, 0x64, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x42, 0x70, 0x0a, 0x0e, 0x63, 0x6f,
+ 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x12, 0x46, 0x69,
+ 0x65, 0x6c, 0x64, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f,
+ 0x50, 0x01, 0x5a, 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e,
+ 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e,
+ 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xa2, 0x02, 0x04, 0x47, 0x41, 0x50, 0x49, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_google_api_field_behavior_proto_rawDescOnce sync.Once
+ file_google_api_field_behavior_proto_rawDescData = file_google_api_field_behavior_proto_rawDesc
+)
+
+func file_google_api_field_behavior_proto_rawDescGZIP() []byte {
+ file_google_api_field_behavior_proto_rawDescOnce.Do(func() {
+ file_google_api_field_behavior_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_api_field_behavior_proto_rawDescData)
+ })
+ return file_google_api_field_behavior_proto_rawDescData
+}
+
+var file_google_api_field_behavior_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_google_api_field_behavior_proto_goTypes = []interface{}{
+ (FieldBehavior)(0), // 0: google.api.FieldBehavior
+ (*descriptorpb.FieldOptions)(nil), // 1: google.protobuf.FieldOptions
+}
+var file_google_api_field_behavior_proto_depIdxs = []int32{
+ 1, // 0: google.api.field_behavior:extendee -> google.protobuf.FieldOptions
+ 0, // 1: google.api.field_behavior:type_name -> google.api.FieldBehavior
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 1, // [1:2] is the sub-list for extension type_name
+ 0, // [0:1] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_google_api_field_behavior_proto_init() }
+func file_google_api_field_behavior_proto_init() {
+ if File_google_api_field_behavior_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_google_api_field_behavior_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 1,
+ NumServices: 0,
+ },
+ GoTypes: file_google_api_field_behavior_proto_goTypes,
+ DependencyIndexes: file_google_api_field_behavior_proto_depIdxs,
+ EnumInfos: file_google_api_field_behavior_proto_enumTypes,
+ ExtensionInfos: file_google_api_field_behavior_proto_extTypes,
+ }.Build()
+ File_google_api_field_behavior_proto = out.File
+ file_google_api_field_behavior_proto_rawDesc = nil
+ file_google_api_field_behavior_proto_goTypes = nil
+ file_google_api_field_behavior_proto_depIdxs = nil
+}
diff --git a/vendor/google.golang.org/genproto/googleapis/api/annotations/http.pb.go b/vendor/google.golang.org/genproto/googleapis/api/annotations/http.pb.go
new file mode 100644
index 000000000..4f34ab73c
--- /dev/null
+++ b/vendor/google.golang.org/genproto/googleapis/api/annotations/http.pb.go
@@ -0,0 +1,778 @@
+// Copyright 2015 Google LLC
+//
+// 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-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.12.2
+// source: google/api/http.proto
+
+package annotations
+
+import (
+ reflect "reflect"
+ sync "sync"
+
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// Defines the HTTP configuration for an API service. It contains a list of
+// [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC method
+// to one or more HTTP REST API methods.
+type Http struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // A list of HTTP configuration rules that apply to individual API methods.
+ //
+ // **NOTE:** All service configuration rules follow "last one wins" order.
+ Rules []*HttpRule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"`
+ // When set to true, URL path parameters will be fully URI-decoded except in
+ // cases of single segment matches in reserved expansion, where "%2F" will be
+ // left encoded.
+ //
+ // The default behavior is to not decode RFC 6570 reserved characters in multi
+ // segment matches.
+ FullyDecodeReservedExpansion bool `protobuf:"varint,2,opt,name=fully_decode_reserved_expansion,json=fullyDecodeReservedExpansion,proto3" json:"fully_decode_reserved_expansion,omitempty"`
+}
+
+func (x *Http) Reset() {
+ *x = Http{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_api_http_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Http) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Http) ProtoMessage() {}
+
+func (x *Http) ProtoReflect() protoreflect.Message {
+ mi := &file_google_api_http_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Http.ProtoReflect.Descriptor instead.
+func (*Http) Descriptor() ([]byte, []int) {
+ return file_google_api_http_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *Http) GetRules() []*HttpRule {
+ if x != nil {
+ return x.Rules
+ }
+ return nil
+}
+
+func (x *Http) GetFullyDecodeReservedExpansion() bool {
+ if x != nil {
+ return x.FullyDecodeReservedExpansion
+ }
+ return false
+}
+
+// # gRPC Transcoding
+//
+// gRPC Transcoding is a feature for mapping between a gRPC method and one or
+// more HTTP REST endpoints. It allows developers to build a single API service
+// that supports both gRPC APIs and REST APIs. Many systems, including [Google
+// APIs](https://github.com/googleapis/googleapis),
+// [Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC
+// Gateway](https://github.com/grpc-ecosystem/grpc-gateway),
+// and [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature
+// and use it for large scale production services.
+//
+// `HttpRule` defines the schema of the gRPC/REST mapping. The mapping specifies
+// how different portions of the gRPC request message are mapped to the URL
+// path, URL query parameters, and HTTP request body. It also controls how the
+// gRPC response message is mapped to the HTTP response body. `HttpRule` is
+// typically specified as an `google.api.http` annotation on the gRPC method.
+//
+// Each mapping specifies a URL path template and an HTTP method. The path
+// template may refer to one or more fields in the gRPC request message, as long
+// as each field is a non-repeated field with a primitive (non-message) type.
+// The path template controls how fields of the request message are mapped to
+// the URL path.
+//
+// Example:
+//
+// service Messaging {
+// rpc GetMessage(GetMessageRequest) returns (Message) {
+// option (google.api.http) = {
+// get: "/v1/{name=messages/*}"
+// };
+// }
+// }
+// message GetMessageRequest {
+// string name = 1; // Mapped to URL path.
+// }
+// message Message {
+// string text = 1; // The resource content.
+// }
+//
+// This enables an HTTP REST to gRPC mapping as below:
+//
+// HTTP | gRPC
+// -----|-----
+// `GET /v1/messages/123456` | `GetMessage(name: "messages/123456")`
+//
+// Any fields in the request message which are not bound by the path template
+// automatically become HTTP query parameters if there is no HTTP request body.
+// For example:
+//
+// service Messaging {
+// rpc GetMessage(GetMessageRequest) returns (Message) {
+// option (google.api.http) = {
+// get:"/v1/messages/{message_id}"
+// };
+// }
+// }
+// message GetMessageRequest {
+// message SubMessage {
+// string subfield = 1;
+// }
+// string message_id = 1; // Mapped to URL path.
+// int64 revision = 2; // Mapped to URL query parameter `revision`.
+// SubMessage sub = 3; // Mapped to URL query parameter `sub.subfield`.
+// }
+//
+// This enables a HTTP JSON to RPC mapping as below:
+//
+// HTTP | gRPC
+// -----|-----
+// `GET /v1/messages/123456?revision=2&sub.subfield=foo` |
+// `GetMessage(message_id: "123456" revision: 2 sub: SubMessage(subfield:
+// "foo"))`
+//
+// Note that fields which are mapped to URL query parameters must have a
+// primitive type or a repeated primitive type or a non-repeated message type.
+// In the case of a repeated type, the parameter can be repeated in the URL
+// as `...?param=A¶m=B`. In the case of a message type, each field of the
+// message is mapped to a separate parameter, such as
+// `...?foo.a=A&foo.b=B&foo.c=C`.
+//
+// For HTTP methods that allow a request body, the `body` field
+// specifies the mapping. Consider a REST update method on the
+// message resource collection:
+//
+// service Messaging {
+// rpc UpdateMessage(UpdateMessageRequest) returns (Message) {
+// option (google.api.http) = {
+// patch: "/v1/messages/{message_id}"
+// body: "message"
+// };
+// }
+// }
+// message UpdateMessageRequest {
+// string message_id = 1; // mapped to the URL
+// Message message = 2; // mapped to the body
+// }
+//
+// The following HTTP JSON to RPC mapping is enabled, where the
+// representation of the JSON in the request body is determined by
+// protos JSON encoding:
+//
+// HTTP | gRPC
+// -----|-----
+// `PATCH /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id:
+// "123456" message { text: "Hi!" })`
+//
+// The special name `*` can be used in the body mapping to define that
+// every field not bound by the path template should be mapped to the
+// request body. This enables the following alternative definition of
+// the update method:
+//
+// service Messaging {
+// rpc UpdateMessage(Message) returns (Message) {
+// option (google.api.http) = {
+// patch: "/v1/messages/{message_id}"
+// body: "*"
+// };
+// }
+// }
+// message Message {
+// string message_id = 1;
+// string text = 2;
+// }
+//
+//
+// The following HTTP JSON to RPC mapping is enabled:
+//
+// HTTP | gRPC
+// -----|-----
+// `PATCH /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id:
+// "123456" text: "Hi!")`
+//
+// Note that when using `*` in the body mapping, it is not possible to
+// have HTTP parameters, as all fields not bound by the path end in
+// the body. This makes this option more rarely used in practice when
+// defining REST APIs. The common usage of `*` is in custom methods
+// which don't use the URL at all for transferring data.
+//
+// It is possible to define multiple HTTP methods for one RPC by using
+// the `additional_bindings` option. Example:
+//
+// service Messaging {
+// rpc GetMessage(GetMessageRequest) returns (Message) {
+// option (google.api.http) = {
+// get: "/v1/messages/{message_id}"
+// additional_bindings {
+// get: "/v1/users/{user_id}/messages/{message_id}"
+// }
+// };
+// }
+// }
+// message GetMessageRequest {
+// string message_id = 1;
+// string user_id = 2;
+// }
+//
+// This enables the following two alternative HTTP JSON to RPC mappings:
+//
+// HTTP | gRPC
+// -----|-----
+// `GET /v1/messages/123456` | `GetMessage(message_id: "123456")`
+// `GET /v1/users/me/messages/123456` | `GetMessage(user_id: "me" message_id:
+// "123456")`
+//
+// ## Rules for HTTP mapping
+//
+// 1. Leaf request fields (recursive expansion nested messages in the request
+// message) are classified into three categories:
+// - Fields referred by the path template. They are passed via the URL path.
+// - Fields referred by the [HttpRule.body][google.api.HttpRule.body]. They are passed via the HTTP
+// request body.
+// - All other fields are passed via the URL query parameters, and the
+// parameter name is the field path in the request message. A repeated
+// field can be represented as multiple query parameters under the same
+// name.
+// 2. If [HttpRule.body][google.api.HttpRule.body] is "*", there is no URL query parameter, all fields
+// are passed via URL path and HTTP request body.
+// 3. If [HttpRule.body][google.api.HttpRule.body] is omitted, there is no HTTP request body, all
+// fields are passed via URL path and URL query parameters.
+//
+// ### Path template syntax
+//
+// Template = "/" Segments [ Verb ] ;
+// Segments = Segment { "/" Segment } ;
+// Segment = "*" | "**" | LITERAL | Variable ;
+// Variable = "{" FieldPath [ "=" Segments ] "}" ;
+// FieldPath = IDENT { "." IDENT } ;
+// Verb = ":" LITERAL ;
+//
+// The syntax `*` matches a single URL path segment. The syntax `**` matches
+// zero or more URL path segments, which must be the last part of the URL path
+// except the `Verb`.
+//
+// The syntax `Variable` matches part of the URL path as specified by its
+// template. A variable template must not contain other variables. If a variable
+// matches a single path segment, its template may be omitted, e.g. `{var}`
+// is equivalent to `{var=*}`.
+//
+// The syntax `LITERAL` matches literal text in the URL path. If the `LITERAL`
+// contains any reserved character, such characters should be percent-encoded
+// before the matching.
+//
+// If a variable contains exactly one path segment, such as `"{var}"` or
+// `"{var=*}"`, when such a variable is expanded into a URL path on the client
+// side, all characters except `[-_.~0-9a-zA-Z]` are percent-encoded. The
+// server side does the reverse decoding. Such variables show up in the
+// [Discovery
+// Document](https://developers.google.com/discovery/v1/reference/apis) as
+// `{var}`.
+//
+// If a variable contains multiple path segments, such as `"{var=foo/*}"`
+// or `"{var=**}"`, when such a variable is expanded into a URL path on the
+// client side, all characters except `[-_.~/0-9a-zA-Z]` are percent-encoded.
+// The server side does the reverse decoding, except "%2F" and "%2f" are left
+// unchanged. Such variables show up in the
+// [Discovery
+// Document](https://developers.google.com/discovery/v1/reference/apis) as
+// `{+var}`.
+//
+// ## Using gRPC API Service Configuration
+//
+// gRPC API Service Configuration (service config) is a configuration language
+// for configuring a gRPC service to become a user-facing product. The
+// service config is simply the YAML representation of the `google.api.Service`
+// proto message.
+//
+// As an alternative to annotating your proto file, you can configure gRPC
+// transcoding in your service config YAML files. You do this by specifying a
+// `HttpRule` that maps the gRPC method to a REST endpoint, achieving the same
+// effect as the proto annotation. This can be particularly useful if you
+// have a proto that is reused in multiple services. Note that any transcoding
+// specified in the service config will override any matching transcoding
+// configuration in the proto.
+//
+// Example:
+//
+// http:
+// rules:
+// # Selects a gRPC method and applies HttpRule to it.
+// - selector: example.v1.Messaging.GetMessage
+// get: /v1/messages/{message_id}/{sub.subfield}
+//
+// ## Special notes
+//
+// When gRPC Transcoding is used to map a gRPC to JSON REST endpoints, the
+// proto to JSON conversion must follow the [proto3
+// specification](https://developers.google.com/protocol-buffers/docs/proto3#json).
+//
+// While the single segment variable follows the semantics of
+// [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String
+// Expansion, the multi segment variable **does not** follow RFC 6570 Section
+// 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion
+// does not expand special characters like `?` and `#`, which would lead
+// to invalid URLs. As the result, gRPC Transcoding uses a custom encoding
+// for multi segment variables.
+//
+// The path variables **must not** refer to any repeated or mapped field,
+// because client libraries are not capable of handling such variable expansion.
+//
+// The path variables **must not** capture the leading "/" character. The reason
+// is that the most common use case "{var}" does not capture the leading "/"
+// character. For consistency, all path variables must share the same behavior.
+//
+// Repeated message fields must not be mapped to URL query parameters, because
+// no client library can support such complicated mapping.
+//
+// If an API needs to use a JSON array for request or response body, it can map
+// the request or response body to a repeated field. However, some gRPC
+// Transcoding implementations may not support this feature.
+type HttpRule struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Selects a method to which this rule applies.
+ //
+ // Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
+ Selector string `protobuf:"bytes,1,opt,name=selector,proto3" json:"selector,omitempty"`
+ // Determines the URL pattern is matched by this rules. This pattern can be
+ // used with any of the {get|put|post|delete|patch} methods. A custom method
+ // can be defined using the 'custom' field.
+ //
+ // Types that are assignable to Pattern:
+ // *HttpRule_Get
+ // *HttpRule_Put
+ // *HttpRule_Post
+ // *HttpRule_Delete
+ // *HttpRule_Patch
+ // *HttpRule_Custom
+ Pattern isHttpRule_Pattern `protobuf_oneof:"pattern"`
+ // The name of the request field whose value is mapped to the HTTP request
+ // body, or `*` for mapping all request fields not captured by the path
+ // pattern to the HTTP body, or omitted for not having any HTTP request body.
+ //
+ // NOTE: the referred field must be present at the top-level of the request
+ // message type.
+ Body string `protobuf:"bytes,7,opt,name=body,proto3" json:"body,omitempty"`
+ // Optional. The name of the response field whose value is mapped to the HTTP
+ // response body. When omitted, the entire response message will be used
+ // as the HTTP response body.
+ //
+ // NOTE: The referred field must be present at the top-level of the response
+ // message type.
+ ResponseBody string `protobuf:"bytes,12,opt,name=response_body,json=responseBody,proto3" json:"response_body,omitempty"`
+ // Additional HTTP bindings for the selector. Nested bindings must
+ // not contain an `additional_bindings` field themselves (that is,
+ // the nesting may only be one level deep).
+ AdditionalBindings []*HttpRule `protobuf:"bytes,11,rep,name=additional_bindings,json=additionalBindings,proto3" json:"additional_bindings,omitempty"`
+}
+
+func (x *HttpRule) Reset() {
+ *x = HttpRule{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_api_http_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HttpRule) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HttpRule) ProtoMessage() {}
+
+func (x *HttpRule) ProtoReflect() protoreflect.Message {
+ mi := &file_google_api_http_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HttpRule.ProtoReflect.Descriptor instead.
+func (*HttpRule) Descriptor() ([]byte, []int) {
+ return file_google_api_http_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *HttpRule) GetSelector() string {
+ if x != nil {
+ return x.Selector
+ }
+ return ""
+}
+
+func (m *HttpRule) GetPattern() isHttpRule_Pattern {
+ if m != nil {
+ return m.Pattern
+ }
+ return nil
+}
+
+func (x *HttpRule) GetGet() string {
+ if x, ok := x.GetPattern().(*HttpRule_Get); ok {
+ return x.Get
+ }
+ return ""
+}
+
+func (x *HttpRule) GetPut() string {
+ if x, ok := x.GetPattern().(*HttpRule_Put); ok {
+ return x.Put
+ }
+ return ""
+}
+
+func (x *HttpRule) GetPost() string {
+ if x, ok := x.GetPattern().(*HttpRule_Post); ok {
+ return x.Post
+ }
+ return ""
+}
+
+func (x *HttpRule) GetDelete() string {
+ if x, ok := x.GetPattern().(*HttpRule_Delete); ok {
+ return x.Delete
+ }
+ return ""
+}
+
+func (x *HttpRule) GetPatch() string {
+ if x, ok := x.GetPattern().(*HttpRule_Patch); ok {
+ return x.Patch
+ }
+ return ""
+}
+
+func (x *HttpRule) GetCustom() *CustomHttpPattern {
+ if x, ok := x.GetPattern().(*HttpRule_Custom); ok {
+ return x.Custom
+ }
+ return nil
+}
+
+func (x *HttpRule) GetBody() string {
+ if x != nil {
+ return x.Body
+ }
+ return ""
+}
+
+func (x *HttpRule) GetResponseBody() string {
+ if x != nil {
+ return x.ResponseBody
+ }
+ return ""
+}
+
+func (x *HttpRule) GetAdditionalBindings() []*HttpRule {
+ if x != nil {
+ return x.AdditionalBindings
+ }
+ return nil
+}
+
+type isHttpRule_Pattern interface {
+ isHttpRule_Pattern()
+}
+
+type HttpRule_Get struct {
+ // Maps to HTTP GET. Used for listing and getting information about
+ // resources.
+ Get string `protobuf:"bytes,2,opt,name=get,proto3,oneof"`
+}
+
+type HttpRule_Put struct {
+ // Maps to HTTP PUT. Used for replacing a resource.
+ Put string `protobuf:"bytes,3,opt,name=put,proto3,oneof"`
+}
+
+type HttpRule_Post struct {
+ // Maps to HTTP POST. Used for creating a resource or performing an action.
+ Post string `protobuf:"bytes,4,opt,name=post,proto3,oneof"`
+}
+
+type HttpRule_Delete struct {
+ // Maps to HTTP DELETE. Used for deleting a resource.
+ Delete string `protobuf:"bytes,5,opt,name=delete,proto3,oneof"`
+}
+
+type HttpRule_Patch struct {
+ // Maps to HTTP PATCH. Used for updating a resource.
+ Patch string `protobuf:"bytes,6,opt,name=patch,proto3,oneof"`
+}
+
+type HttpRule_Custom struct {
+ // The custom pattern is used for specifying an HTTP method that is not
+ // included in the `pattern` field, such as HEAD, or "*" to leave the
+ // HTTP method unspecified for this rule. The wild-card rule is useful
+ // for services that provide content to Web (HTML) clients.
+ Custom *CustomHttpPattern `protobuf:"bytes,8,opt,name=custom,proto3,oneof"`
+}
+
+func (*HttpRule_Get) isHttpRule_Pattern() {}
+
+func (*HttpRule_Put) isHttpRule_Pattern() {}
+
+func (*HttpRule_Post) isHttpRule_Pattern() {}
+
+func (*HttpRule_Delete) isHttpRule_Pattern() {}
+
+func (*HttpRule_Patch) isHttpRule_Pattern() {}
+
+func (*HttpRule_Custom) isHttpRule_Pattern() {}
+
+// A custom pattern is used for defining custom HTTP verb.
+type CustomHttpPattern struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The name of this custom HTTP verb.
+ Kind string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"`
+ // The path matched by this custom verb.
+ Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
+}
+
+func (x *CustomHttpPattern) Reset() {
+ *x = CustomHttpPattern{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_api_http_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CustomHttpPattern) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CustomHttpPattern) ProtoMessage() {}
+
+func (x *CustomHttpPattern) ProtoReflect() protoreflect.Message {
+ mi := &file_google_api_http_proto_msgTypes[2]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CustomHttpPattern.ProtoReflect.Descriptor instead.
+func (*CustomHttpPattern) Descriptor() ([]byte, []int) {
+ return file_google_api_http_proto_rawDescGZIP(), []int{2}
+}
+
+func (x *CustomHttpPattern) GetKind() string {
+ if x != nil {
+ return x.Kind
+ }
+ return ""
+}
+
+func (x *CustomHttpPattern) GetPath() string {
+ if x != nil {
+ return x.Path
+ }
+ return ""
+}
+
+var File_google_api_http_proto protoreflect.FileDescriptor
+
+var file_google_api_http_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x68, 0x74, 0x74,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x61, 0x70, 0x69, 0x22, 0x79, 0x0a, 0x04, 0x48, 0x74, 0x74, 0x70, 0x12, 0x2a, 0x0a, 0x05, 0x72,
+ 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x75, 0x6c, 0x65,
+ 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x1f, 0x66, 0x75, 0x6c, 0x6c, 0x79,
+ 0x5f, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64,
+ 0x5f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x1c, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73,
+ 0x65, 0x72, 0x76, 0x65, 0x64, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xda,
+ 0x02, 0x0a, 0x08, 0x48, 0x74, 0x74, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73,
+ 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73,
+ 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x03, 0x67, 0x65, 0x74, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x03, 0x70,
+ 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x70, 0x75, 0x74, 0x12,
+ 0x14, 0x0a, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52,
+ 0x04, 0x70, 0x6f, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12,
+ 0x16, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00,
+ 0x52, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x12, 0x37, 0x0a, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f,
+ 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x74, 0x74, 0x70, 0x50,
+ 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x48, 0x00, 0x52, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d,
+ 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
+ 0x62, 0x6f, 0x64, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x45, 0x0a, 0x13, 0x61, 0x64, 0x64,
+ 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73,
+ 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x61, 0x70, 0x69, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x12, 0x61, 0x64,
+ 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73,
+ 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x22, 0x3b, 0x0a, 0x11, 0x43,
+ 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x74, 0x74, 0x70, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e,
+ 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
+ 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x42, 0x6a, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x09, 0x48, 0x74, 0x74, 0x70,
+ 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61,
+ 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3b, 0x61,
+ 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x04,
+ 0x47, 0x41, 0x50, 0x49, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_google_api_http_proto_rawDescOnce sync.Once
+ file_google_api_http_proto_rawDescData = file_google_api_http_proto_rawDesc
+)
+
+func file_google_api_http_proto_rawDescGZIP() []byte {
+ file_google_api_http_proto_rawDescOnce.Do(func() {
+ file_google_api_http_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_api_http_proto_rawDescData)
+ })
+ return file_google_api_http_proto_rawDescData
+}
+
+var file_google_api_http_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
+var file_google_api_http_proto_goTypes = []interface{}{
+ (*Http)(nil), // 0: google.api.Http
+ (*HttpRule)(nil), // 1: google.api.HttpRule
+ (*CustomHttpPattern)(nil), // 2: google.api.CustomHttpPattern
+}
+var file_google_api_http_proto_depIdxs = []int32{
+ 1, // 0: google.api.Http.rules:type_name -> google.api.HttpRule
+ 2, // 1: google.api.HttpRule.custom:type_name -> google.api.CustomHttpPattern
+ 1, // 2: google.api.HttpRule.additional_bindings:type_name -> google.api.HttpRule
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_google_api_http_proto_init() }
+func file_google_api_http_proto_init() {
+ if File_google_api_http_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_google_api_http_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Http); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_api_http_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HttpRule); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_api_http_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CustomHttpPattern); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_google_api_http_proto_msgTypes[1].OneofWrappers = []interface{}{
+ (*HttpRule_Get)(nil),
+ (*HttpRule_Put)(nil),
+ (*HttpRule_Post)(nil),
+ (*HttpRule_Delete)(nil),
+ (*HttpRule_Patch)(nil),
+ (*HttpRule_Custom)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_google_api_http_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 3,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_google_api_http_proto_goTypes,
+ DependencyIndexes: file_google_api_http_proto_depIdxs,
+ MessageInfos: file_google_api_http_proto_msgTypes,
+ }.Build()
+ File_google_api_http_proto = out.File
+ file_google_api_http_proto_rawDesc = nil
+ file_google_api_http_proto_goTypes = nil
+ file_google_api_http_proto_depIdxs = nil
+}
diff --git a/vendor/google.golang.org/genproto/googleapis/api/annotations/resource.pb.go b/vendor/google.golang.org/genproto/googleapis/api/annotations/resource.pb.go
new file mode 100644
index 000000000..6515668d3
--- /dev/null
+++ b/vendor/google.golang.org/genproto/googleapis/api/annotations/resource.pb.go
@@ -0,0 +1,655 @@
+// Copyright 2018 Google LLC
+//
+// 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-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.12.2
+// source: google/api/resource.proto
+
+package annotations
+
+import (
+ reflect "reflect"
+ sync "sync"
+
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ descriptorpb "google.golang.org/protobuf/types/descriptorpb"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// A description of the historical or future-looking state of the
+// resource pattern.
+type ResourceDescriptor_History int32
+
+const (
+ // The "unset" value.
+ ResourceDescriptor_HISTORY_UNSPECIFIED ResourceDescriptor_History = 0
+ // The resource originally had one pattern and launched as such, and
+ // additional patterns were added later.
+ ResourceDescriptor_ORIGINALLY_SINGLE_PATTERN ResourceDescriptor_History = 1
+ // The resource has one pattern, but the API owner expects to add more
+ // later. (This is the inverse of ORIGINALLY_SINGLE_PATTERN, and prevents
+ // that from being necessary once there are multiple patterns.)
+ ResourceDescriptor_FUTURE_MULTI_PATTERN ResourceDescriptor_History = 2
+)
+
+// Enum value maps for ResourceDescriptor_History.
+var (
+ ResourceDescriptor_History_name = map[int32]string{
+ 0: "HISTORY_UNSPECIFIED",
+ 1: "ORIGINALLY_SINGLE_PATTERN",
+ 2: "FUTURE_MULTI_PATTERN",
+ }
+ ResourceDescriptor_History_value = map[string]int32{
+ "HISTORY_UNSPECIFIED": 0,
+ "ORIGINALLY_SINGLE_PATTERN": 1,
+ "FUTURE_MULTI_PATTERN": 2,
+ }
+)
+
+func (x ResourceDescriptor_History) Enum() *ResourceDescriptor_History {
+ p := new(ResourceDescriptor_History)
+ *p = x
+ return p
+}
+
+func (x ResourceDescriptor_History) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ResourceDescriptor_History) Descriptor() protoreflect.EnumDescriptor {
+ return file_google_api_resource_proto_enumTypes[0].Descriptor()
+}
+
+func (ResourceDescriptor_History) Type() protoreflect.EnumType {
+ return &file_google_api_resource_proto_enumTypes[0]
+}
+
+func (x ResourceDescriptor_History) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ResourceDescriptor_History.Descriptor instead.
+func (ResourceDescriptor_History) EnumDescriptor() ([]byte, []int) {
+ return file_google_api_resource_proto_rawDescGZIP(), []int{0, 0}
+}
+
+// A flag representing a specific style that a resource claims to conform to.
+type ResourceDescriptor_Style int32
+
+const (
+ // The unspecified value. Do not use.
+ ResourceDescriptor_STYLE_UNSPECIFIED ResourceDescriptor_Style = 0
+ // This resource is intended to be "declarative-friendly".
+ //
+ // Declarative-friendly resources must be more strictly consistent, and
+ // setting this to true communicates to tools that this resource should
+ // adhere to declarative-friendly expectations.
+ //
+ // Note: This is used by the API linter (linter.aip.dev) to enable
+ // additional checks.
+ ResourceDescriptor_DECLARATIVE_FRIENDLY ResourceDescriptor_Style = 1
+)
+
+// Enum value maps for ResourceDescriptor_Style.
+var (
+ ResourceDescriptor_Style_name = map[int32]string{
+ 0: "STYLE_UNSPECIFIED",
+ 1: "DECLARATIVE_FRIENDLY",
+ }
+ ResourceDescriptor_Style_value = map[string]int32{
+ "STYLE_UNSPECIFIED": 0,
+ "DECLARATIVE_FRIENDLY": 1,
+ }
+)
+
+func (x ResourceDescriptor_Style) Enum() *ResourceDescriptor_Style {
+ p := new(ResourceDescriptor_Style)
+ *p = x
+ return p
+}
+
+func (x ResourceDescriptor_Style) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ResourceDescriptor_Style) Descriptor() protoreflect.EnumDescriptor {
+ return file_google_api_resource_proto_enumTypes[1].Descriptor()
+}
+
+func (ResourceDescriptor_Style) Type() protoreflect.EnumType {
+ return &file_google_api_resource_proto_enumTypes[1]
+}
+
+func (x ResourceDescriptor_Style) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ResourceDescriptor_Style.Descriptor instead.
+func (ResourceDescriptor_Style) EnumDescriptor() ([]byte, []int) {
+ return file_google_api_resource_proto_rawDescGZIP(), []int{0, 1}
+}
+
+// A simple descriptor of a resource type.
+//
+// ResourceDescriptor annotates a resource message (either by means of a
+// protobuf annotation or use in the service config), and associates the
+// resource's schema, the resource type, and the pattern of the resource name.
+//
+// Example:
+//
+// message Topic {
+// // Indicates this message defines a resource schema.
+// // Declares the resource type in the format of {service}/{kind}.
+// // For Kubernetes resources, the format is {api group}/{kind}.
+// option (google.api.resource) = {
+// type: "pubsub.googleapis.com/Topic"
+// pattern: "projects/{project}/topics/{topic}"
+// };
+// }
+//
+// The ResourceDescriptor Yaml config will look like:
+//
+// resources:
+// - type: "pubsub.googleapis.com/Topic"
+// pattern: "projects/{project}/topics/{topic}"
+//
+// Sometimes, resources have multiple patterns, typically because they can
+// live under multiple parents.
+//
+// Example:
+//
+// message LogEntry {
+// option (google.api.resource) = {
+// type: "logging.googleapis.com/LogEntry"
+// pattern: "projects/{project}/logs/{log}"
+// pattern: "folders/{folder}/logs/{log}"
+// pattern: "organizations/{organization}/logs/{log}"
+// pattern: "billingAccounts/{billing_account}/logs/{log}"
+// };
+// }
+//
+// The ResourceDescriptor Yaml config will look like:
+//
+// resources:
+// - type: 'logging.googleapis.com/LogEntry'
+// pattern: "projects/{project}/logs/{log}"
+// pattern: "folders/{folder}/logs/{log}"
+// pattern: "organizations/{organization}/logs/{log}"
+// pattern: "billingAccounts/{billing_account}/logs/{log}"
+type ResourceDescriptor struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The resource type. It must be in the format of
+ // {service_name}/{resource_type_kind}. The `resource_type_kind` must be
+ // singular and must not include version numbers.
+ //
+ // Example: `storage.googleapis.com/Bucket`
+ //
+ // The value of the resource_type_kind must follow the regular expression
+ // /[A-Za-z][a-zA-Z0-9]+/. It should start with an upper case character and
+ // should use PascalCase (UpperCamelCase). The maximum number of
+ // characters allowed for the `resource_type_kind` is 100.
+ Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
+ // Optional. The relative resource name pattern associated with this resource
+ // type. The DNS prefix of the full resource name shouldn't be specified here.
+ //
+ // The path pattern must follow the syntax, which aligns with HTTP binding
+ // syntax:
+ //
+ // Template = Segment { "/" Segment } ;
+ // Segment = LITERAL | Variable ;
+ // Variable = "{" LITERAL "}" ;
+ //
+ // Examples:
+ //
+ // - "projects/{project}/topics/{topic}"
+ // - "projects/{project}/knowledgeBases/{knowledge_base}"
+ //
+ // The components in braces correspond to the IDs for each resource in the
+ // hierarchy. It is expected that, if multiple patterns are provided,
+ // the same component name (e.g. "project") refers to IDs of the same
+ // type of resource.
+ Pattern []string `protobuf:"bytes,2,rep,name=pattern,proto3" json:"pattern,omitempty"`
+ // Optional. The field on the resource that designates the resource name
+ // field. If omitted, this is assumed to be "name".
+ NameField string `protobuf:"bytes,3,opt,name=name_field,json=nameField,proto3" json:"name_field,omitempty"`
+ // Optional. The historical or future-looking state of the resource pattern.
+ //
+ // Example:
+ //
+ // // The InspectTemplate message originally only supported resource
+ // // names with organization, and project was added later.
+ // message InspectTemplate {
+ // option (google.api.resource) = {
+ // type: "dlp.googleapis.com/InspectTemplate"
+ // pattern:
+ // "organizations/{organization}/inspectTemplates/{inspect_template}"
+ // pattern: "projects/{project}/inspectTemplates/{inspect_template}"
+ // history: ORIGINALLY_SINGLE_PATTERN
+ // };
+ // }
+ History ResourceDescriptor_History `protobuf:"varint,4,opt,name=history,proto3,enum=google.api.ResourceDescriptor_History" json:"history,omitempty"`
+ // The plural name used in the resource name and permission names, such as
+ // 'projects' for the resource name of 'projects/{project}' and the permission
+ // name of 'cloudresourcemanager.googleapis.com/projects.get'. It is the same
+ // concept of the `plural` field in k8s CRD spec
+ // https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
+ //
+ // Note: The plural form is required even for singleton resources. See
+ // https://aip.dev/156
+ Plural string `protobuf:"bytes,5,opt,name=plural,proto3" json:"plural,omitempty"`
+ // The same concept of the `singular` field in k8s CRD spec
+ // https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
+ // Such as "project" for the `resourcemanager.googleapis.com/Project` type.
+ Singular string `protobuf:"bytes,6,opt,name=singular,proto3" json:"singular,omitempty"`
+ // Style flag(s) for this resource.
+ // These indicate that a resource is expected to conform to a given
+ // style. See the specific style flags for additional information.
+ Style []ResourceDescriptor_Style `protobuf:"varint,10,rep,packed,name=style,proto3,enum=google.api.ResourceDescriptor_Style" json:"style,omitempty"`
+}
+
+func (x *ResourceDescriptor) Reset() {
+ *x = ResourceDescriptor{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_api_resource_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ResourceDescriptor) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ResourceDescriptor) ProtoMessage() {}
+
+func (x *ResourceDescriptor) ProtoReflect() protoreflect.Message {
+ mi := &file_google_api_resource_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ResourceDescriptor.ProtoReflect.Descriptor instead.
+func (*ResourceDescriptor) Descriptor() ([]byte, []int) {
+ return file_google_api_resource_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ResourceDescriptor) GetType() string {
+ if x != nil {
+ return x.Type
+ }
+ return ""
+}
+
+func (x *ResourceDescriptor) GetPattern() []string {
+ if x != nil {
+ return x.Pattern
+ }
+ return nil
+}
+
+func (x *ResourceDescriptor) GetNameField() string {
+ if x != nil {
+ return x.NameField
+ }
+ return ""
+}
+
+func (x *ResourceDescriptor) GetHistory() ResourceDescriptor_History {
+ if x != nil {
+ return x.History
+ }
+ return ResourceDescriptor_HISTORY_UNSPECIFIED
+}
+
+func (x *ResourceDescriptor) GetPlural() string {
+ if x != nil {
+ return x.Plural
+ }
+ return ""
+}
+
+func (x *ResourceDescriptor) GetSingular() string {
+ if x != nil {
+ return x.Singular
+ }
+ return ""
+}
+
+func (x *ResourceDescriptor) GetStyle() []ResourceDescriptor_Style {
+ if x != nil {
+ return x.Style
+ }
+ return nil
+}
+
+// Defines a proto annotation that describes a string field that refers to
+// an API resource.
+type ResourceReference struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The resource type that the annotated field references.
+ //
+ // Example:
+ //
+ // message Subscription {
+ // string topic = 2 [(google.api.resource_reference) = {
+ // type: "pubsub.googleapis.com/Topic"
+ // }];
+ // }
+ //
+ // Occasionally, a field may reference an arbitrary resource. In this case,
+ // APIs use the special value * in their resource reference.
+ //
+ // Example:
+ //
+ // message GetIamPolicyRequest {
+ // string resource = 2 [(google.api.resource_reference) = {
+ // type: "*"
+ // }];
+ // }
+ Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
+ // The resource type of a child collection that the annotated field
+ // references. This is useful for annotating the `parent` field that
+ // doesn't have a fixed resource type.
+ //
+ // Example:
+ //
+ // message ListLogEntriesRequest {
+ // string parent = 1 [(google.api.resource_reference) = {
+ // child_type: "logging.googleapis.com/LogEntry"
+ // };
+ // }
+ ChildType string `protobuf:"bytes,2,opt,name=child_type,json=childType,proto3" json:"child_type,omitempty"`
+}
+
+func (x *ResourceReference) Reset() {
+ *x = ResourceReference{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_api_resource_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ResourceReference) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ResourceReference) ProtoMessage() {}
+
+func (x *ResourceReference) ProtoReflect() protoreflect.Message {
+ mi := &file_google_api_resource_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ResourceReference.ProtoReflect.Descriptor instead.
+func (*ResourceReference) Descriptor() ([]byte, []int) {
+ return file_google_api_resource_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *ResourceReference) GetType() string {
+ if x != nil {
+ return x.Type
+ }
+ return ""
+}
+
+func (x *ResourceReference) GetChildType() string {
+ if x != nil {
+ return x.ChildType
+ }
+ return ""
+}
+
+var file_google_api_resource_proto_extTypes = []protoimpl.ExtensionInfo{
+ {
+ ExtendedType: (*descriptorpb.FieldOptions)(nil),
+ ExtensionType: (*ResourceReference)(nil),
+ Field: 1055,
+ Name: "google.api.resource_reference",
+ Tag: "bytes,1055,opt,name=resource_reference",
+ Filename: "google/api/resource.proto",
+ },
+ {
+ ExtendedType: (*descriptorpb.FileOptions)(nil),
+ ExtensionType: ([]*ResourceDescriptor)(nil),
+ Field: 1053,
+ Name: "google.api.resource_definition",
+ Tag: "bytes,1053,rep,name=resource_definition",
+ Filename: "google/api/resource.proto",
+ },
+ {
+ ExtendedType: (*descriptorpb.MessageOptions)(nil),
+ ExtensionType: (*ResourceDescriptor)(nil),
+ Field: 1053,
+ Name: "google.api.resource",
+ Tag: "bytes,1053,opt,name=resource",
+ Filename: "google/api/resource.proto",
+ },
+}
+
+// Extension fields to descriptorpb.FieldOptions.
+var (
+ // An annotation that describes a resource reference, see
+ // [ResourceReference][].
+ //
+ // optional google.api.ResourceReference resource_reference = 1055;
+ E_ResourceReference = &file_google_api_resource_proto_extTypes[0]
+)
+
+// Extension fields to descriptorpb.FileOptions.
+var (
+ // An annotation that describes a resource definition without a corresponding
+ // message; see [ResourceDescriptor][].
+ //
+ // repeated google.api.ResourceDescriptor resource_definition = 1053;
+ E_ResourceDefinition = &file_google_api_resource_proto_extTypes[1]
+)
+
+// Extension fields to descriptorpb.MessageOptions.
+var (
+ // An annotation that describes a resource definition, see
+ // [ResourceDescriptor][].
+ //
+ // optional google.api.ResourceDescriptor resource = 1053;
+ E_Resource = &file_google_api_resource_proto_extTypes[2]
+)
+
+var File_google_api_resource_proto protoreflect.FileDescriptor
+
+var file_google_api_resource_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
+ 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaa, 0x03, 0x0a, 0x12, 0x52, 0x65,
+ 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72,
+ 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
+ 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18,
+ 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x40, 0x0a,
+ 0x07, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x73, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x48,
+ 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x07, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12,
+ 0x16, 0x0a, 0x06, 0x70, 0x6c, 0x75, 0x72, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x06, 0x70, 0x6c, 0x75, 0x72, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x69, 0x6e, 0x67, 0x75,
+ 0x6c, 0x61, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x6e, 0x67, 0x75,
+ 0x6c, 0x61, 0x72, 0x12, 0x3a, 0x0a, 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x03,
+ 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e,
+ 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
+ 0x6f, 0x72, 0x2e, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x52, 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x22,
+ 0x5b, 0x0a, 0x07, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x17, 0x0a, 0x13, 0x48, 0x49,
+ 0x53, 0x54, 0x4f, 0x52, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45,
+ 0x44, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x19, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x41, 0x4c, 0x4c,
+ 0x59, 0x5f, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x50, 0x41, 0x54, 0x54, 0x45, 0x52, 0x4e,
+ 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x46, 0x55, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x4d, 0x55, 0x4c,
+ 0x54, 0x49, 0x5f, 0x50, 0x41, 0x54, 0x54, 0x45, 0x52, 0x4e, 0x10, 0x02, 0x22, 0x38, 0x0a, 0x05,
+ 0x53, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x59, 0x4c, 0x45, 0x5f, 0x55,
+ 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14,
+ 0x44, 0x45, 0x43, 0x4c, 0x41, 0x52, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x46, 0x52, 0x49, 0x45,
+ 0x4e, 0x44, 0x4c, 0x59, 0x10, 0x01, 0x22, 0x46, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74,
+ 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x6c,
+ 0x0a, 0x12, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72,
+ 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x73, 0x18, 0x9f, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x3a, 0x6e, 0x0a, 0x13,
+ 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0x18, 0x9d, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x65,
+ 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x12, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x5c, 0x0a, 0x08,
+ 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61,
+ 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x9d, 0x08, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65,
+ 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72,
+ 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x6e, 0x0a, 0x0e, 0x63, 0x6f,
+ 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x0d, 0x52, 0x65,
+ 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67,
+ 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x73, 0x3b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x04, 0x47, 0x41, 0x50, 0x49, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_google_api_resource_proto_rawDescOnce sync.Once
+ file_google_api_resource_proto_rawDescData = file_google_api_resource_proto_rawDesc
+)
+
+func file_google_api_resource_proto_rawDescGZIP() []byte {
+ file_google_api_resource_proto_rawDescOnce.Do(func() {
+ file_google_api_resource_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_api_resource_proto_rawDescData)
+ })
+ return file_google_api_resource_proto_rawDescData
+}
+
+var file_google_api_resource_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
+var file_google_api_resource_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_google_api_resource_proto_goTypes = []interface{}{
+ (ResourceDescriptor_History)(0), // 0: google.api.ResourceDescriptor.History
+ (ResourceDescriptor_Style)(0), // 1: google.api.ResourceDescriptor.Style
+ (*ResourceDescriptor)(nil), // 2: google.api.ResourceDescriptor
+ (*ResourceReference)(nil), // 3: google.api.ResourceReference
+ (*descriptorpb.FieldOptions)(nil), // 4: google.protobuf.FieldOptions
+ (*descriptorpb.FileOptions)(nil), // 5: google.protobuf.FileOptions
+ (*descriptorpb.MessageOptions)(nil), // 6: google.protobuf.MessageOptions
+}
+var file_google_api_resource_proto_depIdxs = []int32{
+ 0, // 0: google.api.ResourceDescriptor.history:type_name -> google.api.ResourceDescriptor.History
+ 1, // 1: google.api.ResourceDescriptor.style:type_name -> google.api.ResourceDescriptor.Style
+ 4, // 2: google.api.resource_reference:extendee -> google.protobuf.FieldOptions
+ 5, // 3: google.api.resource_definition:extendee -> google.protobuf.FileOptions
+ 6, // 4: google.api.resource:extendee -> google.protobuf.MessageOptions
+ 3, // 5: google.api.resource_reference:type_name -> google.api.ResourceReference
+ 2, // 6: google.api.resource_definition:type_name -> google.api.ResourceDescriptor
+ 2, // 7: google.api.resource:type_name -> google.api.ResourceDescriptor
+ 8, // [8:8] is the sub-list for method output_type
+ 8, // [8:8] is the sub-list for method input_type
+ 5, // [5:8] is the sub-list for extension type_name
+ 2, // [2:5] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_google_api_resource_proto_init() }
+func file_google_api_resource_proto_init() {
+ if File_google_api_resource_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_google_api_resource_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ResourceDescriptor); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_api_resource_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ResourceReference); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_google_api_resource_proto_rawDesc,
+ NumEnums: 2,
+ NumMessages: 2,
+ NumExtensions: 3,
+ NumServices: 0,
+ },
+ GoTypes: file_google_api_resource_proto_goTypes,
+ DependencyIndexes: file_google_api_resource_proto_depIdxs,
+ EnumInfos: file_google_api_resource_proto_enumTypes,
+ MessageInfos: file_google_api_resource_proto_msgTypes,
+ ExtensionInfos: file_google_api_resource_proto_extTypes,
+ }.Build()
+ File_google_api_resource_proto = out.File
+ file_google_api_resource_proto_rawDesc = nil
+ file_google_api_resource_proto_goTypes = nil
+ file_google_api_resource_proto_depIdxs = nil
+}
diff --git a/vendor/google.golang.org/genproto/googleapis/api/annotations/routing.pb.go b/vendor/google.golang.org/genproto/googleapis/api/annotations/routing.pb.go
new file mode 100644
index 000000000..dd45cf6e6
--- /dev/null
+++ b/vendor/google.golang.org/genproto/googleapis/api/annotations/routing.pb.go
@@ -0,0 +1,693 @@
+// Copyright 2021 Google LLC
+//
+// 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-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.12.2
+// source: google/api/routing.proto
+
+package annotations
+
+import (
+ reflect "reflect"
+ sync "sync"
+
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ descriptorpb "google.golang.org/protobuf/types/descriptorpb"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// Specifies the routing information that should be sent along with the request
+// in the form of routing header.
+// **NOTE:** All service configuration rules follow the "last one wins" order.
+//
+// The examples below will apply to an RPC which has the following request type:
+//
+// Message Definition:
+//
+// message Request {
+// // The name of the Table
+// // Values can be of the following formats:
+// // - `projects//tables/`
+// // - `projects//instances//tables/`
+// // - `region//zones//tables/`
+// string table_name = 1;
+//
+// // This value specifies routing for replication.
+// // It can be in the following formats:
+// // - `profiles/`
+// // - a legacy `profile_id` that can be any string
+// string app_profile_id = 2;
+// }
+//
+// Example message:
+//
+// {
+// table_name: projects/proj_foo/instances/instance_bar/table/table_baz,
+// app_profile_id: profiles/prof_qux
+// }
+//
+// The routing header consists of one or multiple key-value pairs. Every key
+// and value must be percent-encoded, and joined together in the format of
+// `key1=value1&key2=value2`.
+// In the examples below I am skipping the percent-encoding for readablity.
+//
+// Example 1
+//
+// Extracting a field from the request to put into the routing header
+// unchanged, with the key equal to the field name.
+//
+// annotation:
+//
+// option (google.api.routing) = {
+// // Take the `app_profile_id`.
+// routing_parameters {
+// field: "app_profile_id"
+// }
+// };
+//
+// result:
+//
+// x-goog-request-params: app_profile_id=profiles/prof_qux
+//
+// Example 2
+//
+// Extracting a field from the request to put into the routing header
+// unchanged, with the key different from the field name.
+//
+// annotation:
+//
+// option (google.api.routing) = {
+// // Take the `app_profile_id`, but name it `routing_id` in the header.
+// routing_parameters {
+// field: "app_profile_id"
+// path_template: "{routing_id=**}"
+// }
+// };
+//
+// result:
+//
+// x-goog-request-params: routing_id=profiles/prof_qux
+//
+// Example 3
+//
+// Extracting a field from the request to put into the routing
+// header, while matching a path template syntax on the field's value.
+//
+// NB: it is more useful to send nothing than to send garbage for the purpose
+// of dynamic routing, since garbage pollutes cache. Thus the matching.
+//
+// Sub-example 3a
+//
+// The field matches the template.
+//
+// annotation:
+//
+// option (google.api.routing) = {
+// // Take the `table_name`, if it's well-formed (with project-based
+// // syntax).
+// routing_parameters {
+// field: "table_name"
+// path_template: "{table_name=projects/*/instances/*/**}"
+// }
+// };
+//
+// result:
+//
+// x-goog-request-params:
+// table_name=projects/proj_foo/instances/instance_bar/table/table_baz
+//
+// Sub-example 3b
+//
+// The field does not match the template.
+//
+// annotation:
+//
+// option (google.api.routing) = {
+// // Take the `table_name`, if it's well-formed (with region-based
+// // syntax).
+// routing_parameters {
+// field: "table_name"
+// path_template: "{table_name=regions/*/zones/*/**}"
+// }
+// };
+//
+// result:
+//
+//
+//
+// Sub-example 3c
+//
+// Multiple alternative conflictingly named path templates are
+// specified. The one that matches is used to construct the header.
+//
+// annotation:
+//
+// option (google.api.routing) = {
+// // Take the `table_name`, if it's well-formed, whether
+// // using the region- or projects-based syntax.
+//
+// routing_parameters {
+// field: "table_name"
+// path_template: "{table_name=regions/*/zones/*/**}"
+// }
+// routing_parameters {
+// field: "table_name"
+// path_template: "{table_name=projects/*/instances/*/**}"
+// }
+// };
+//
+// result:
+//
+// x-goog-request-params:
+// table_name=projects/proj_foo/instances/instance_bar/table/table_baz
+//
+// Example 4
+//
+// Extracting a single routing header key-value pair by matching a
+// template syntax on (a part of) a single request field.
+//
+// annotation:
+//
+// option (google.api.routing) = {
+// // Take just the project id from the `table_name` field.
+// routing_parameters {
+// field: "table_name"
+// path_template: "{routing_id=projects/*}/**"
+// }
+// };
+//
+// result:
+//
+// x-goog-request-params: routing_id=projects/proj_foo
+//
+// Example 5
+//
+// Extracting a single routing header key-value pair by matching
+// several conflictingly named path templates on (parts of) a single request
+// field. The last template to match "wins" the conflict.
+//
+// annotation:
+//
+// option (google.api.routing) = {
+// // If the `table_name` does not have instances information,
+// // take just the project id for routing.
+// // Otherwise take project + instance.
+//
+// routing_parameters {
+// field: "table_name"
+// path_template: "{routing_id=projects/*}/**"
+// }
+// routing_parameters {
+// field: "table_name"
+// path_template: "{routing_id=projects/*/instances/*}/**"
+// }
+// };
+//
+// result:
+//
+// x-goog-request-params:
+// routing_id=projects/proj_foo/instances/instance_bar
+//
+// Example 6
+//
+// Extracting multiple routing header key-value pairs by matching
+// several non-conflicting path templates on (parts of) a single request field.
+//
+// Sub-example 6a
+//
+// Make the templates strict, so that if the `table_name` does not
+// have an instance information, nothing is sent.
+//
+// annotation:
+//
+// option (google.api.routing) = {
+// // The routing code needs two keys instead of one composite
+// // but works only for the tables with the "project-instance" name
+// // syntax.
+//
+// routing_parameters {
+// field: "table_name"
+// path_template: "{project_id=projects/*}/instances/*/**"
+// }
+// routing_parameters {
+// field: "table_name"
+// path_template: "projects/*/{instance_id=instances/*}/**"
+// }
+// };
+//
+// result:
+//
+// x-goog-request-params:
+// project_id=projects/proj_foo&instance_id=instances/instance_bar
+//
+// Sub-example 6b
+//
+// Make the templates loose, so that if the `table_name` does not
+// have an instance information, just the project id part is sent.
+//
+// annotation:
+//
+// option (google.api.routing) = {
+// // The routing code wants two keys instead of one composite
+// // but will work with just the `project_id` for tables without
+// // an instance in the `table_name`.
+//
+// routing_parameters {
+// field: "table_name"
+// path_template: "{project_id=projects/*}/**"
+// }
+// routing_parameters {
+// field: "table_name"
+// path_template: "projects/*/{instance_id=instances/*}/**"
+// }
+// };
+//
+// result (is the same as 6a for our example message because it has the instance
+// information):
+//
+// x-goog-request-params:
+// project_id=projects/proj_foo&instance_id=instances/instance_bar
+//
+// Example 7
+//
+// Extracting multiple routing header key-value pairs by matching
+// several path templates on multiple request fields.
+//
+// NB: note that here there is no way to specify sending nothing if one of the
+// fields does not match its template. E.g. if the `table_name` is in the wrong
+// format, the `project_id` will not be sent, but the `routing_id` will be.
+// The backend routing code has to be aware of that and be prepared to not
+// receive a full complement of keys if it expects multiple.
+//
+// annotation:
+//
+// option (google.api.routing) = {
+// // The routing needs both `project_id` and `routing_id`
+// // (from the `app_profile_id` field) for routing.
+//
+// routing_parameters {
+// field: "table_name"
+// path_template: "{project_id=projects/*}/**"
+// }
+// routing_parameters {
+// field: "app_profile_id"
+// path_template: "{routing_id=**}"
+// }
+// };
+//
+// result:
+//
+// x-goog-request-params:
+// project_id=projects/proj_foo&routing_id=profiles/prof_qux
+//
+// Example 8
+//
+// Extracting a single routing header key-value pair by matching
+// several conflictingly named path templates on several request fields. The
+// last template to match "wins" the conflict.
+//
+// annotation:
+//
+// option (google.api.routing) = {
+// // The `routing_id` can be a project id or a region id depending on
+// // the table name format, but only if the `app_profile_id` is not set.
+// // If `app_profile_id` is set it should be used instead.
+//
+// routing_parameters {
+// field: "table_name"
+// path_template: "{routing_id=projects/*}/**"
+// }
+// routing_parameters {
+// field: "table_name"
+// path_template: "{routing_id=regions/*}/**"
+// }
+// routing_parameters {
+// field: "app_profile_id"
+// path_template: "{routing_id=**}"
+// }
+// };
+//
+// result:
+//
+// x-goog-request-params: routing_id=profiles/prof_qux
+//
+// Example 9
+//
+// Bringing it all together.
+//
+// annotation:
+//
+// option (google.api.routing) = {
+// // For routing both `table_location` and a `routing_id` are needed.
+// //
+// // table_location can be either an instance id or a region+zone id.
+// //
+// // For `routing_id`, take the value of `app_profile_id`
+// // - If it's in the format `profiles/`, send
+// // just the `` part.
+// // - If it's any other literal, send it as is.
+// // If the `app_profile_id` is empty, and the `table_name` starts with
+// // the project_id, send that instead.
+//
+// routing_parameters {
+// field: "table_name"
+// path_template: "projects/*/{table_location=instances/*}/tables/*"
+// }
+// routing_parameters {
+// field: "table_name"
+// path_template: "{table_location=regions/*/zones/*}/tables/*"
+// }
+// routing_parameters {
+// field: "table_name"
+// path_template: "{routing_id=projects/*}/**"
+// }
+// routing_parameters {
+// field: "app_profile_id"
+// path_template: "{routing_id=**}"
+// }
+// routing_parameters {
+// field: "app_profile_id"
+// path_template: "profiles/{routing_id=*}"
+// }
+// };
+//
+// result:
+//
+// x-goog-request-params:
+// table_location=instances/instance_bar&routing_id=prof_qux
+type RoutingRule struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // A collection of Routing Parameter specifications.
+ // **NOTE:** If multiple Routing Parameters describe the same key
+ // (via the `path_template` field or via the `field` field when
+ // `path_template` is not provided), "last one wins" rule
+ // determines which Parameter gets used.
+ // See the examples for more details.
+ RoutingParameters []*RoutingParameter `protobuf:"bytes,2,rep,name=routing_parameters,json=routingParameters,proto3" json:"routing_parameters,omitempty"`
+}
+
+func (x *RoutingRule) Reset() {
+ *x = RoutingRule{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_api_routing_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RoutingRule) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RoutingRule) ProtoMessage() {}
+
+func (x *RoutingRule) ProtoReflect() protoreflect.Message {
+ mi := &file_google_api_routing_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RoutingRule.ProtoReflect.Descriptor instead.
+func (*RoutingRule) Descriptor() ([]byte, []int) {
+ return file_google_api_routing_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RoutingRule) GetRoutingParameters() []*RoutingParameter {
+ if x != nil {
+ return x.RoutingParameters
+ }
+ return nil
+}
+
+// A projection from an input message to the GRPC or REST header.
+type RoutingParameter struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // A request field to extract the header key-value pair from.
+ Field string `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
+ // A pattern matching the key-value field. Optional.
+ // If not specified, the whole field specified in the `field` field will be
+ // taken as value, and its name used as key. If specified, it MUST contain
+ // exactly one named segment (along with any number of unnamed segments) The
+ // pattern will be matched over the field specified in the `field` field, then
+ // if the match is successful:
+ // - the name of the single named segment will be used as a header name,
+ // - the match value of the segment will be used as a header value;
+ // if the match is NOT successful, nothing will be sent.
+ //
+ // Example:
+ //
+ // -- This is a field in the request message
+ // | that the header value will be extracted from.
+ // |
+ // | -- This is the key name in the
+ // | | routing header.
+ // V |
+ // field: "table_name" v
+ // path_template: "projects/*/{table_location=instances/*}/tables/*"
+ // ^ ^
+ // | |
+ // In the {} brackets is the pattern that -- |
+ // specifies what to extract from the |
+ // field as a value to be sent. |
+ // |
+ // The string in the field must match the whole pattern --
+ // before brackets, inside brackets, after brackets.
+ //
+ // When looking at this specific example, we can see that:
+ // - A key-value pair with the key `table_location`
+ // and the value matching `instances/*` should be added
+ // to the x-goog-request-params routing header.
+ // - The value is extracted from the request message's `table_name` field
+ // if it matches the full pattern specified:
+ // `projects/*/instances/*/tables/*`.
+ //
+ // **NB:** If the `path_template` field is not provided, the key name is
+ // equal to the field name, and the whole field should be sent as a value.
+ // This makes the pattern for the field and the value functionally equivalent
+ // to `**`, and the configuration
+ //
+ // {
+ // field: "table_name"
+ // }
+ //
+ // is a functionally equivalent shorthand to:
+ //
+ // {
+ // field: "table_name"
+ // path_template: "{table_name=**}"
+ // }
+ //
+ // See Example 1 for more details.
+ PathTemplate string `protobuf:"bytes,2,opt,name=path_template,json=pathTemplate,proto3" json:"path_template,omitempty"`
+}
+
+func (x *RoutingParameter) Reset() {
+ *x = RoutingParameter{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_api_routing_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RoutingParameter) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RoutingParameter) ProtoMessage() {}
+
+func (x *RoutingParameter) ProtoReflect() protoreflect.Message {
+ mi := &file_google_api_routing_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RoutingParameter.ProtoReflect.Descriptor instead.
+func (*RoutingParameter) Descriptor() ([]byte, []int) {
+ return file_google_api_routing_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *RoutingParameter) GetField() string {
+ if x != nil {
+ return x.Field
+ }
+ return ""
+}
+
+func (x *RoutingParameter) GetPathTemplate() string {
+ if x != nil {
+ return x.PathTemplate
+ }
+ return ""
+}
+
+var file_google_api_routing_proto_extTypes = []protoimpl.ExtensionInfo{
+ {
+ ExtendedType: (*descriptorpb.MethodOptions)(nil),
+ ExtensionType: (*RoutingRule)(nil),
+ Field: 72295729,
+ Name: "google.api.routing",
+ Tag: "bytes,72295729,opt,name=routing",
+ Filename: "google/api/routing.proto",
+ },
+}
+
+// Extension fields to descriptorpb.MethodOptions.
+var (
+ // See RoutingRule.
+ //
+ // optional google.api.RoutingRule routing = 72295729;
+ E_Routing = &file_google_api_routing_proto_extTypes[0]
+)
+
+var File_google_api_routing_proto protoreflect.FileDescriptor
+
+var file_google_api_routing_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x6f, 0x75,
+ 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
+ 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5a, 0x0a, 0x0b, 0x52, 0x6f, 0x75, 0x74,
+ 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x4b, 0x0a, 0x12, 0x72, 0x6f, 0x75, 0x74, 0x69,
+ 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69,
+ 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65,
+ 0x72, 0x52, 0x11, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65,
+ 0x74, 0x65, 0x72, 0x73, 0x22, 0x4d, 0x0a, 0x10, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50,
+ 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c,
+ 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x23,
+ 0x0a, 0x0d, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x61, 0x74, 0x68, 0x54, 0x65, 0x6d, 0x70, 0x6c,
+ 0x61, 0x74, 0x65, 0x3a, 0x54, 0x0a, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1e,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb1,
+ 0xca, 0xbc, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65,
+ 0x52, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x6a, 0x0a, 0x0e, 0x63, 0x6f, 0x6d,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x0c, 0x52, 0x6f, 0x75,
+ 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67,
+ 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
+ 0x69, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x73, 0x3b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xa2, 0x02,
+ 0x04, 0x47, 0x41, 0x50, 0x49, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_google_api_routing_proto_rawDescOnce sync.Once
+ file_google_api_routing_proto_rawDescData = file_google_api_routing_proto_rawDesc
+)
+
+func file_google_api_routing_proto_rawDescGZIP() []byte {
+ file_google_api_routing_proto_rawDescOnce.Do(func() {
+ file_google_api_routing_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_api_routing_proto_rawDescData)
+ })
+ return file_google_api_routing_proto_rawDescData
+}
+
+var file_google_api_routing_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_google_api_routing_proto_goTypes = []interface{}{
+ (*RoutingRule)(nil), // 0: google.api.RoutingRule
+ (*RoutingParameter)(nil), // 1: google.api.RoutingParameter
+ (*descriptorpb.MethodOptions)(nil), // 2: google.protobuf.MethodOptions
+}
+var file_google_api_routing_proto_depIdxs = []int32{
+ 1, // 0: google.api.RoutingRule.routing_parameters:type_name -> google.api.RoutingParameter
+ 2, // 1: google.api.routing:extendee -> google.protobuf.MethodOptions
+ 0, // 2: google.api.routing:type_name -> google.api.RoutingRule
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 2, // [2:3] is the sub-list for extension type_name
+ 1, // [1:2] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_google_api_routing_proto_init() }
+func file_google_api_routing_proto_init() {
+ if File_google_api_routing_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_google_api_routing_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RoutingRule); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_api_routing_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RoutingParameter); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_google_api_routing_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 1,
+ NumServices: 0,
+ },
+ GoTypes: file_google_api_routing_proto_goTypes,
+ DependencyIndexes: file_google_api_routing_proto_depIdxs,
+ MessageInfos: file_google_api_routing_proto_msgTypes,
+ ExtensionInfos: file_google_api_routing_proto_extTypes,
+ }.Build()
+ File_google_api_routing_proto = out.File
+ file_google_api_routing_proto_rawDesc = nil
+ file_google_api_routing_proto_goTypes = nil
+ file_google_api_routing_proto_depIdxs = nil
+}
diff --git a/vendor/google.golang.org/protobuf/encoding/protojson/decode.go b/vendor/google.golang.org/protobuf/encoding/protojson/decode.go
new file mode 100644
index 000000000..07da5db34
--- /dev/null
+++ b/vendor/google.golang.org/protobuf/encoding/protojson/decode.go
@@ -0,0 +1,665 @@
+// Copyright 2019 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package protojson
+
+import (
+ "encoding/base64"
+ "fmt"
+ "math"
+ "strconv"
+ "strings"
+
+ "google.golang.org/protobuf/internal/encoding/json"
+ "google.golang.org/protobuf/internal/encoding/messageset"
+ "google.golang.org/protobuf/internal/errors"
+ "google.golang.org/protobuf/internal/flags"
+ "google.golang.org/protobuf/internal/genid"
+ "google.golang.org/protobuf/internal/pragma"
+ "google.golang.org/protobuf/internal/set"
+ "google.golang.org/protobuf/proto"
+ pref "google.golang.org/protobuf/reflect/protoreflect"
+ "google.golang.org/protobuf/reflect/protoregistry"
+)
+
+// Unmarshal reads the given []byte into the given proto.Message.
+// The provided message must be mutable (e.g., a non-nil pointer to a message).
+func Unmarshal(b []byte, m proto.Message) error {
+ return UnmarshalOptions{}.Unmarshal(b, m)
+}
+
+// UnmarshalOptions is a configurable JSON format parser.
+type UnmarshalOptions struct {
+ pragma.NoUnkeyedLiterals
+
+ // If AllowPartial is set, input for messages that will result in missing
+ // required fields will not return an error.
+ AllowPartial bool
+
+ // If DiscardUnknown is set, unknown fields are ignored.
+ DiscardUnknown bool
+
+ // Resolver is used for looking up types when unmarshaling
+ // google.protobuf.Any messages or extension fields.
+ // If nil, this defaults to using protoregistry.GlobalTypes.
+ Resolver interface {
+ protoregistry.MessageTypeResolver
+ protoregistry.ExtensionTypeResolver
+ }
+}
+
+// Unmarshal reads the given []byte and populates the given proto.Message
+// using options in the UnmarshalOptions object.
+// It will clear the message first before setting the fields.
+// If it returns an error, the given message may be partially set.
+// The provided message must be mutable (e.g., a non-nil pointer to a message).
+func (o UnmarshalOptions) Unmarshal(b []byte, m proto.Message) error {
+ return o.unmarshal(b, m)
+}
+
+// unmarshal is a centralized function that all unmarshal operations go through.
+// For profiling purposes, avoid changing the name of this function or
+// introducing other code paths for unmarshal that do not go through this.
+func (o UnmarshalOptions) unmarshal(b []byte, m proto.Message) error {
+ proto.Reset(m)
+
+ if o.Resolver == nil {
+ o.Resolver = protoregistry.GlobalTypes
+ }
+
+ dec := decoder{json.NewDecoder(b), o}
+ if err := dec.unmarshalMessage(m.ProtoReflect(), false); err != nil {
+ return err
+ }
+
+ // Check for EOF.
+ tok, err := dec.Read()
+ if err != nil {
+ return err
+ }
+ if tok.Kind() != json.EOF {
+ return dec.unexpectedTokenError(tok)
+ }
+
+ if o.AllowPartial {
+ return nil
+ }
+ return proto.CheckInitialized(m)
+}
+
+type decoder struct {
+ *json.Decoder
+ opts UnmarshalOptions
+}
+
+// newError returns an error object with position info.
+func (d decoder) newError(pos int, f string, x ...interface{}) error {
+ line, column := d.Position(pos)
+ head := fmt.Sprintf("(line %d:%d): ", line, column)
+ return errors.New(head+f, x...)
+}
+
+// unexpectedTokenError returns a syntax error for the given unexpected token.
+func (d decoder) unexpectedTokenError(tok json.Token) error {
+ return d.syntaxError(tok.Pos(), "unexpected token %s", tok.RawString())
+}
+
+// syntaxError returns a syntax error for given position.
+func (d decoder) syntaxError(pos int, f string, x ...interface{}) error {
+ line, column := d.Position(pos)
+ head := fmt.Sprintf("syntax error (line %d:%d): ", line, column)
+ return errors.New(head+f, x...)
+}
+
+// unmarshalMessage unmarshals a message into the given protoreflect.Message.
+func (d decoder) unmarshalMessage(m pref.Message, skipTypeURL bool) error {
+ if unmarshal := wellKnownTypeUnmarshaler(m.Descriptor().FullName()); unmarshal != nil {
+ return unmarshal(d, m)
+ }
+
+ tok, err := d.Read()
+ if err != nil {
+ return err
+ }
+ if tok.Kind() != json.ObjectOpen {
+ return d.unexpectedTokenError(tok)
+ }
+
+ messageDesc := m.Descriptor()
+ if !flags.ProtoLegacy && messageset.IsMessageSet(messageDesc) {
+ return errors.New("no support for proto1 MessageSets")
+ }
+
+ var seenNums set.Ints
+ var seenOneofs set.Ints
+ fieldDescs := messageDesc.Fields()
+ for {
+ // Read field name.
+ tok, err := d.Read()
+ if err != nil {
+ return err
+ }
+ switch tok.Kind() {
+ default:
+ return d.unexpectedTokenError(tok)
+ case json.ObjectClose:
+ return nil
+ case json.Name:
+ // Continue below.
+ }
+
+ name := tok.Name()
+ // Unmarshaling a non-custom embedded message in Any will contain the
+ // JSON field "@type" which should be skipped because it is not a field
+ // of the embedded message, but simply an artifact of the Any format.
+ if skipTypeURL && name == "@type" {
+ d.Read()
+ continue
+ }
+
+ // Get the FieldDescriptor.
+ var fd pref.FieldDescriptor
+ if strings.HasPrefix(name, "[") && strings.HasSuffix(name, "]") {
+ // Only extension names are in [name] format.
+ extName := pref.FullName(name[1 : len(name)-1])
+ extType, err := d.opts.Resolver.FindExtensionByName(extName)
+ if err != nil && err != protoregistry.NotFound {
+ return d.newError(tok.Pos(), "unable to resolve %s: %v", tok.RawString(), err)
+ }
+ if extType != nil {
+ fd = extType.TypeDescriptor()
+ if !messageDesc.ExtensionRanges().Has(fd.Number()) || fd.ContainingMessage().FullName() != messageDesc.FullName() {
+ return d.newError(tok.Pos(), "message %v cannot be extended by %v", messageDesc.FullName(), fd.FullName())
+ }
+ }
+ } else {
+ // The name can either be the JSON name or the proto field name.
+ fd = fieldDescs.ByJSONName(name)
+ if fd == nil {
+ fd = fieldDescs.ByTextName(name)
+ }
+ }
+ if flags.ProtoLegacy {
+ if fd != nil && fd.IsWeak() && fd.Message().IsPlaceholder() {
+ fd = nil // reset since the weak reference is not linked in
+ }
+ }
+
+ if fd == nil {
+ // Field is unknown.
+ if d.opts.DiscardUnknown {
+ if err := d.skipJSONValue(); err != nil {
+ return err
+ }
+ continue
+ }
+ return d.newError(tok.Pos(), "unknown field %v", tok.RawString())
+ }
+
+ // Do not allow duplicate fields.
+ num := uint64(fd.Number())
+ if seenNums.Has(num) {
+ return d.newError(tok.Pos(), "duplicate field %v", tok.RawString())
+ }
+ seenNums.Set(num)
+
+ // No need to set values for JSON null unless the field type is
+ // google.protobuf.Value or google.protobuf.NullValue.
+ if tok, _ := d.Peek(); tok.Kind() == json.Null && !isKnownValue(fd) && !isNullValue(fd) {
+ d.Read()
+ continue
+ }
+
+ switch {
+ case fd.IsList():
+ list := m.Mutable(fd).List()
+ if err := d.unmarshalList(list, fd); err != nil {
+ return err
+ }
+ case fd.IsMap():
+ mmap := m.Mutable(fd).Map()
+ if err := d.unmarshalMap(mmap, fd); err != nil {
+ return err
+ }
+ default:
+ // If field is a oneof, check if it has already been set.
+ if od := fd.ContainingOneof(); od != nil {
+ idx := uint64(od.Index())
+ if seenOneofs.Has(idx) {
+ return d.newError(tok.Pos(), "error parsing %s, oneof %v is already set", tok.RawString(), od.FullName())
+ }
+ seenOneofs.Set(idx)
+ }
+
+ // Required or optional fields.
+ if err := d.unmarshalSingular(m, fd); err != nil {
+ return err
+ }
+ }
+ }
+}
+
+func isKnownValue(fd pref.FieldDescriptor) bool {
+ md := fd.Message()
+ return md != nil && md.FullName() == genid.Value_message_fullname
+}
+
+func isNullValue(fd pref.FieldDescriptor) bool {
+ ed := fd.Enum()
+ return ed != nil && ed.FullName() == genid.NullValue_enum_fullname
+}
+
+// unmarshalSingular unmarshals to the non-repeated field specified
+// by the given FieldDescriptor.
+func (d decoder) unmarshalSingular(m pref.Message, fd pref.FieldDescriptor) error {
+ var val pref.Value
+ var err error
+ switch fd.Kind() {
+ case pref.MessageKind, pref.GroupKind:
+ val = m.NewField(fd)
+ err = d.unmarshalMessage(val.Message(), false)
+ default:
+ val, err = d.unmarshalScalar(fd)
+ }
+
+ if err != nil {
+ return err
+ }
+ m.Set(fd, val)
+ return nil
+}
+
+// unmarshalScalar unmarshals to a scalar/enum protoreflect.Value specified by
+// the given FieldDescriptor.
+func (d decoder) unmarshalScalar(fd pref.FieldDescriptor) (pref.Value, error) {
+ const b32 int = 32
+ const b64 int = 64
+
+ tok, err := d.Read()
+ if err != nil {
+ return pref.Value{}, err
+ }
+
+ kind := fd.Kind()
+ switch kind {
+ case pref.BoolKind:
+ if tok.Kind() == json.Bool {
+ return pref.ValueOfBool(tok.Bool()), nil
+ }
+
+ case pref.Int32Kind, pref.Sint32Kind, pref.Sfixed32Kind:
+ if v, ok := unmarshalInt(tok, b32); ok {
+ return v, nil
+ }
+
+ case pref.Int64Kind, pref.Sint64Kind, pref.Sfixed64Kind:
+ if v, ok := unmarshalInt(tok, b64); ok {
+ return v, nil
+ }
+
+ case pref.Uint32Kind, pref.Fixed32Kind:
+ if v, ok := unmarshalUint(tok, b32); ok {
+ return v, nil
+ }
+
+ case pref.Uint64Kind, pref.Fixed64Kind:
+ if v, ok := unmarshalUint(tok, b64); ok {
+ return v, nil
+ }
+
+ case pref.FloatKind:
+ if v, ok := unmarshalFloat(tok, b32); ok {
+ return v, nil
+ }
+
+ case pref.DoubleKind:
+ if v, ok := unmarshalFloat(tok, b64); ok {
+ return v, nil
+ }
+
+ case pref.StringKind:
+ if tok.Kind() == json.String {
+ return pref.ValueOfString(tok.ParsedString()), nil
+ }
+
+ case pref.BytesKind:
+ if v, ok := unmarshalBytes(tok); ok {
+ return v, nil
+ }
+
+ case pref.EnumKind:
+ if v, ok := unmarshalEnum(tok, fd); ok {
+ return v, nil
+ }
+
+ default:
+ panic(fmt.Sprintf("unmarshalScalar: invalid scalar kind %v", kind))
+ }
+
+ return pref.Value{}, d.newError(tok.Pos(), "invalid value for %v type: %v", kind, tok.RawString())
+}
+
+func unmarshalInt(tok json.Token, bitSize int) (pref.Value, bool) {
+ switch tok.Kind() {
+ case json.Number:
+ return getInt(tok, bitSize)
+
+ case json.String:
+ // Decode number from string.
+ s := strings.TrimSpace(tok.ParsedString())
+ if len(s) != len(tok.ParsedString()) {
+ return pref.Value{}, false
+ }
+ dec := json.NewDecoder([]byte(s))
+ tok, err := dec.Read()
+ if err != nil {
+ return pref.Value{}, false
+ }
+ return getInt(tok, bitSize)
+ }
+ return pref.Value{}, false
+}
+
+func getInt(tok json.Token, bitSize int) (pref.Value, bool) {
+ n, ok := tok.Int(bitSize)
+ if !ok {
+ return pref.Value{}, false
+ }
+ if bitSize == 32 {
+ return pref.ValueOfInt32(int32(n)), true
+ }
+ return pref.ValueOfInt64(n), true
+}
+
+func unmarshalUint(tok json.Token, bitSize int) (pref.Value, bool) {
+ switch tok.Kind() {
+ case json.Number:
+ return getUint(tok, bitSize)
+
+ case json.String:
+ // Decode number from string.
+ s := strings.TrimSpace(tok.ParsedString())
+ if len(s) != len(tok.ParsedString()) {
+ return pref.Value{}, false
+ }
+ dec := json.NewDecoder([]byte(s))
+ tok, err := dec.Read()
+ if err != nil {
+ return pref.Value{}, false
+ }
+ return getUint(tok, bitSize)
+ }
+ return pref.Value{}, false
+}
+
+func getUint(tok json.Token, bitSize int) (pref.Value, bool) {
+ n, ok := tok.Uint(bitSize)
+ if !ok {
+ return pref.Value{}, false
+ }
+ if bitSize == 32 {
+ return pref.ValueOfUint32(uint32(n)), true
+ }
+ return pref.ValueOfUint64(n), true
+}
+
+func unmarshalFloat(tok json.Token, bitSize int) (pref.Value, bool) {
+ switch tok.Kind() {
+ case json.Number:
+ return getFloat(tok, bitSize)
+
+ case json.String:
+ s := tok.ParsedString()
+ switch s {
+ case "NaN":
+ if bitSize == 32 {
+ return pref.ValueOfFloat32(float32(math.NaN())), true
+ }
+ return pref.ValueOfFloat64(math.NaN()), true
+ case "Infinity":
+ if bitSize == 32 {
+ return pref.ValueOfFloat32(float32(math.Inf(+1))), true
+ }
+ return pref.ValueOfFloat64(math.Inf(+1)), true
+ case "-Infinity":
+ if bitSize == 32 {
+ return pref.ValueOfFloat32(float32(math.Inf(-1))), true
+ }
+ return pref.ValueOfFloat64(math.Inf(-1)), true
+ }
+
+ // Decode number from string.
+ if len(s) != len(strings.TrimSpace(s)) {
+ return pref.Value{}, false
+ }
+ dec := json.NewDecoder([]byte(s))
+ tok, err := dec.Read()
+ if err != nil {
+ return pref.Value{}, false
+ }
+ return getFloat(tok, bitSize)
+ }
+ return pref.Value{}, false
+}
+
+func getFloat(tok json.Token, bitSize int) (pref.Value, bool) {
+ n, ok := tok.Float(bitSize)
+ if !ok {
+ return pref.Value{}, false
+ }
+ if bitSize == 32 {
+ return pref.ValueOfFloat32(float32(n)), true
+ }
+ return pref.ValueOfFloat64(n), true
+}
+
+func unmarshalBytes(tok json.Token) (pref.Value, bool) {
+ if tok.Kind() != json.String {
+ return pref.Value{}, false
+ }
+
+ s := tok.ParsedString()
+ enc := base64.StdEncoding
+ if strings.ContainsAny(s, "-_") {
+ enc = base64.URLEncoding
+ }
+ if len(s)%4 != 0 {
+ enc = enc.WithPadding(base64.NoPadding)
+ }
+ b, err := enc.DecodeString(s)
+ if err != nil {
+ return pref.Value{}, false
+ }
+ return pref.ValueOfBytes(b), true
+}
+
+func unmarshalEnum(tok json.Token, fd pref.FieldDescriptor) (pref.Value, bool) {
+ switch tok.Kind() {
+ case json.String:
+ // Lookup EnumNumber based on name.
+ s := tok.ParsedString()
+ if enumVal := fd.Enum().Values().ByName(pref.Name(s)); enumVal != nil {
+ return pref.ValueOfEnum(enumVal.Number()), true
+ }
+
+ case json.Number:
+ if n, ok := tok.Int(32); ok {
+ return pref.ValueOfEnum(pref.EnumNumber(n)), true
+ }
+
+ case json.Null:
+ // This is only valid for google.protobuf.NullValue.
+ if isNullValue(fd) {
+ return pref.ValueOfEnum(0), true
+ }
+ }
+
+ return pref.Value{}, false
+}
+
+func (d decoder) unmarshalList(list pref.List, fd pref.FieldDescriptor) error {
+ tok, err := d.Read()
+ if err != nil {
+ return err
+ }
+ if tok.Kind() != json.ArrayOpen {
+ return d.unexpectedTokenError(tok)
+ }
+
+ switch fd.Kind() {
+ case pref.MessageKind, pref.GroupKind:
+ for {
+ tok, err := d.Peek()
+ if err != nil {
+ return err
+ }
+
+ if tok.Kind() == json.ArrayClose {
+ d.Read()
+ return nil
+ }
+
+ val := list.NewElement()
+ if err := d.unmarshalMessage(val.Message(), false); err != nil {
+ return err
+ }
+ list.Append(val)
+ }
+ default:
+ for {
+ tok, err := d.Peek()
+ if err != nil {
+ return err
+ }
+
+ if tok.Kind() == json.ArrayClose {
+ d.Read()
+ return nil
+ }
+
+ val, err := d.unmarshalScalar(fd)
+ if err != nil {
+ return err
+ }
+ list.Append(val)
+ }
+ }
+
+ return nil
+}
+
+func (d decoder) unmarshalMap(mmap pref.Map, fd pref.FieldDescriptor) error {
+ tok, err := d.Read()
+ if err != nil {
+ return err
+ }
+ if tok.Kind() != json.ObjectOpen {
+ return d.unexpectedTokenError(tok)
+ }
+
+ // Determine ahead whether map entry is a scalar type or a message type in
+ // order to call the appropriate unmarshalMapValue func inside the for loop
+ // below.
+ var unmarshalMapValue func() (pref.Value, error)
+ switch fd.MapValue().Kind() {
+ case pref.MessageKind, pref.GroupKind:
+ unmarshalMapValue = func() (pref.Value, error) {
+ val := mmap.NewValue()
+ if err := d.unmarshalMessage(val.Message(), false); err != nil {
+ return pref.Value{}, err
+ }
+ return val, nil
+ }
+ default:
+ unmarshalMapValue = func() (pref.Value, error) {
+ return d.unmarshalScalar(fd.MapValue())
+ }
+ }
+
+Loop:
+ for {
+ // Read field name.
+ tok, err := d.Read()
+ if err != nil {
+ return err
+ }
+ switch tok.Kind() {
+ default:
+ return d.unexpectedTokenError(tok)
+ case json.ObjectClose:
+ break Loop
+ case json.Name:
+ // Continue.
+ }
+
+ // Unmarshal field name.
+ pkey, err := d.unmarshalMapKey(tok, fd.MapKey())
+ if err != nil {
+ return err
+ }
+
+ // Check for duplicate field name.
+ if mmap.Has(pkey) {
+ return d.newError(tok.Pos(), "duplicate map key %v", tok.RawString())
+ }
+
+ // Read and unmarshal field value.
+ pval, err := unmarshalMapValue()
+ if err != nil {
+ return err
+ }
+
+ mmap.Set(pkey, pval)
+ }
+
+ return nil
+}
+
+// unmarshalMapKey converts given token of Name kind into a protoreflect.MapKey.
+// A map key type is any integral or string type.
+func (d decoder) unmarshalMapKey(tok json.Token, fd pref.FieldDescriptor) (pref.MapKey, error) {
+ const b32 = 32
+ const b64 = 64
+ const base10 = 10
+
+ name := tok.Name()
+ kind := fd.Kind()
+ switch kind {
+ case pref.StringKind:
+ return pref.ValueOfString(name).MapKey(), nil
+
+ case pref.BoolKind:
+ switch name {
+ case "true":
+ return pref.ValueOfBool(true).MapKey(), nil
+ case "false":
+ return pref.ValueOfBool(false).MapKey(), nil
+ }
+
+ case pref.Int32Kind, pref.Sint32Kind, pref.Sfixed32Kind:
+ if n, err := strconv.ParseInt(name, base10, b32); err == nil {
+ return pref.ValueOfInt32(int32(n)).MapKey(), nil
+ }
+
+ case pref.Int64Kind, pref.Sint64Kind, pref.Sfixed64Kind:
+ if n, err := strconv.ParseInt(name, base10, b64); err == nil {
+ return pref.ValueOfInt64(int64(n)).MapKey(), nil
+ }
+
+ case pref.Uint32Kind, pref.Fixed32Kind:
+ if n, err := strconv.ParseUint(name, base10, b32); err == nil {
+ return pref.ValueOfUint32(uint32(n)).MapKey(), nil
+ }
+
+ case pref.Uint64Kind, pref.Fixed64Kind:
+ if n, err := strconv.ParseUint(name, base10, b64); err == nil {
+ return pref.ValueOfUint64(uint64(n)).MapKey(), nil
+ }
+
+ default:
+ panic(fmt.Sprintf("invalid kind for map key: %v", kind))
+ }
+
+ return pref.MapKey{}, d.newError(tok.Pos(), "invalid value for %v key: %s", kind, tok.RawString())
+}
diff --git a/vendor/google.golang.org/protobuf/encoding/protojson/doc.go b/vendor/google.golang.org/protobuf/encoding/protojson/doc.go
new file mode 100644
index 000000000..00ea2fecf
--- /dev/null
+++ b/vendor/google.golang.org/protobuf/encoding/protojson/doc.go
@@ -0,0 +1,11 @@
+// Copyright 2019 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Package protojson marshals and unmarshals protocol buffer messages as JSON
+// format. It follows the guide at
+// https://developers.google.com/protocol-buffers/docs/proto3#json.
+//
+// This package produces a different output than the standard "encoding/json"
+// package, which does not operate correctly on protocol buffer messages.
+package protojson
diff --git a/vendor/google.golang.org/protobuf/encoding/protojson/encode.go b/vendor/google.golang.org/protobuf/encoding/protojson/encode.go
new file mode 100644
index 000000000..ba971f078
--- /dev/null
+++ b/vendor/google.golang.org/protobuf/encoding/protojson/encode.go
@@ -0,0 +1,344 @@
+// Copyright 2019 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package protojson
+
+import (
+ "encoding/base64"
+ "fmt"
+
+ "google.golang.org/protobuf/internal/encoding/json"
+ "google.golang.org/protobuf/internal/encoding/messageset"
+ "google.golang.org/protobuf/internal/errors"
+ "google.golang.org/protobuf/internal/filedesc"
+ "google.golang.org/protobuf/internal/flags"
+ "google.golang.org/protobuf/internal/genid"
+ "google.golang.org/protobuf/internal/order"
+ "google.golang.org/protobuf/internal/pragma"
+ "google.golang.org/protobuf/proto"
+ "google.golang.org/protobuf/reflect/protoreflect"
+ pref "google.golang.org/protobuf/reflect/protoreflect"
+ "google.golang.org/protobuf/reflect/protoregistry"
+)
+
+const defaultIndent = " "
+
+// Format formats the message as a multiline string.
+// This function is only intended for human consumption and ignores errors.
+// Do not depend on the output being stable. It may change over time across
+// different versions of the program.
+func Format(m proto.Message) string {
+ return MarshalOptions{Multiline: true}.Format(m)
+}
+
+// Marshal writes the given proto.Message in JSON format using default options.
+// Do not depend on the output being stable. It may change over time across
+// different versions of the program.
+func Marshal(m proto.Message) ([]byte, error) {
+ return MarshalOptions{}.Marshal(m)
+}
+
+// MarshalOptions is a configurable JSON format marshaler.
+type MarshalOptions struct {
+ pragma.NoUnkeyedLiterals
+
+ // Multiline specifies whether the marshaler should format the output in
+ // indented-form with every textual element on a new line.
+ // If Indent is an empty string, then an arbitrary indent is chosen.
+ Multiline bool
+
+ // Indent specifies the set of indentation characters to use in a multiline
+ // formatted output such that every entry is preceded by Indent and
+ // terminated by a newline. If non-empty, then Multiline is treated as true.
+ // Indent can only be composed of space or tab characters.
+ Indent string
+
+ // AllowPartial allows messages that have missing required fields to marshal
+ // without returning an error. If AllowPartial is false (the default),
+ // Marshal will return error if there are any missing required fields.
+ AllowPartial bool
+
+ // UseProtoNames uses proto field name instead of lowerCamelCase name in JSON
+ // field names.
+ UseProtoNames bool
+
+ // UseEnumNumbers emits enum values as numbers.
+ UseEnumNumbers bool
+
+ // EmitUnpopulated specifies whether to emit unpopulated fields. It does not
+ // emit unpopulated oneof fields or unpopulated extension fields.
+ // The JSON value emitted for unpopulated fields are as follows:
+ // ╔═══════╤════════════════════════════╗
+ // ║ JSON │ Protobuf field ║
+ // ╠═══════╪════════════════════════════╣
+ // ║ false │ proto3 boolean fields ║
+ // ║ 0 │ proto3 numeric fields ║
+ // ║ "" │ proto3 string/bytes fields ║
+ // ║ null │ proto2 scalar fields ║
+ // ║ null │ message fields ║
+ // ║ [] │ list fields ║
+ // ║ {} │ map fields ║
+ // ╚═══════╧════════════════════════════╝
+ EmitUnpopulated bool
+
+ // Resolver is used for looking up types when expanding google.protobuf.Any
+ // messages. If nil, this defaults to using protoregistry.GlobalTypes.
+ Resolver interface {
+ protoregistry.ExtensionTypeResolver
+ protoregistry.MessageTypeResolver
+ }
+}
+
+// Format formats the message as a string.
+// This method is only intended for human consumption and ignores errors.
+// Do not depend on the output being stable. It may change over time across
+// different versions of the program.
+func (o MarshalOptions) Format(m proto.Message) string {
+ if m == nil || !m.ProtoReflect().IsValid() {
+ return "" // invalid syntax, but okay since this is for debugging
+ }
+ o.AllowPartial = true
+ b, _ := o.Marshal(m)
+ return string(b)
+}
+
+// Marshal marshals the given proto.Message in the JSON format using options in
+// MarshalOptions. Do not depend on the output being stable. It may change over
+// time across different versions of the program.
+func (o MarshalOptions) Marshal(m proto.Message) ([]byte, error) {
+ return o.marshal(m)
+}
+
+// marshal is a centralized function that all marshal operations go through.
+// For profiling purposes, avoid changing the name of this function or
+// introducing other code paths for marshal that do not go through this.
+func (o MarshalOptions) marshal(m proto.Message) ([]byte, error) {
+ if o.Multiline && o.Indent == "" {
+ o.Indent = defaultIndent
+ }
+ if o.Resolver == nil {
+ o.Resolver = protoregistry.GlobalTypes
+ }
+
+ internalEnc, err := json.NewEncoder(o.Indent)
+ if err != nil {
+ return nil, err
+ }
+
+ // Treat nil message interface as an empty message,
+ // in which case the output in an empty JSON object.
+ if m == nil {
+ return []byte("{}"), nil
+ }
+
+ enc := encoder{internalEnc, o}
+ if err := enc.marshalMessage(m.ProtoReflect(), ""); err != nil {
+ return nil, err
+ }
+ if o.AllowPartial {
+ return enc.Bytes(), nil
+ }
+ return enc.Bytes(), proto.CheckInitialized(m)
+}
+
+type encoder struct {
+ *json.Encoder
+ opts MarshalOptions
+}
+
+// typeFieldDesc is a synthetic field descriptor used for the "@type" field.
+var typeFieldDesc = func() protoreflect.FieldDescriptor {
+ var fd filedesc.Field
+ fd.L0.FullName = "@type"
+ fd.L0.Index = -1
+ fd.L1.Cardinality = protoreflect.Optional
+ fd.L1.Kind = protoreflect.StringKind
+ return &fd
+}()
+
+// typeURLFieldRanger wraps a protoreflect.Message and modifies its Range method
+// to additionally iterate over a synthetic field for the type URL.
+type typeURLFieldRanger struct {
+ order.FieldRanger
+ typeURL string
+}
+
+func (m typeURLFieldRanger) Range(f func(pref.FieldDescriptor, pref.Value) bool) {
+ if !f(typeFieldDesc, pref.ValueOfString(m.typeURL)) {
+ return
+ }
+ m.FieldRanger.Range(f)
+}
+
+// unpopulatedFieldRanger wraps a protoreflect.Message and modifies its Range
+// method to additionally iterate over unpopulated fields.
+type unpopulatedFieldRanger struct{ pref.Message }
+
+func (m unpopulatedFieldRanger) Range(f func(pref.FieldDescriptor, pref.Value) bool) {
+ fds := m.Descriptor().Fields()
+ for i := 0; i < fds.Len(); i++ {
+ fd := fds.Get(i)
+ if m.Has(fd) || fd.ContainingOneof() != nil {
+ continue // ignore populated fields and fields within a oneofs
+ }
+
+ v := m.Get(fd)
+ isProto2Scalar := fd.Syntax() == pref.Proto2 && fd.Default().IsValid()
+ isSingularMessage := fd.Cardinality() != pref.Repeated && fd.Message() != nil
+ if isProto2Scalar || isSingularMessage {
+ v = pref.Value{} // use invalid value to emit null
+ }
+ if !f(fd, v) {
+ return
+ }
+ }
+ m.Message.Range(f)
+}
+
+// marshalMessage marshals the fields in the given protoreflect.Message.
+// If the typeURL is non-empty, then a synthetic "@type" field is injected
+// containing the URL as the value.
+func (e encoder) marshalMessage(m pref.Message, typeURL string) error {
+ if !flags.ProtoLegacy && messageset.IsMessageSet(m.Descriptor()) {
+ return errors.New("no support for proto1 MessageSets")
+ }
+
+ if marshal := wellKnownTypeMarshaler(m.Descriptor().FullName()); marshal != nil {
+ return marshal(e, m)
+ }
+
+ e.StartObject()
+ defer e.EndObject()
+
+ var fields order.FieldRanger = m
+ if e.opts.EmitUnpopulated {
+ fields = unpopulatedFieldRanger{m}
+ }
+ if typeURL != "" {
+ fields = typeURLFieldRanger{fields, typeURL}
+ }
+
+ var err error
+ order.RangeFields(fields, order.IndexNameFieldOrder, func(fd pref.FieldDescriptor, v pref.Value) bool {
+ name := fd.JSONName()
+ if e.opts.UseProtoNames {
+ name = fd.TextName()
+ }
+
+ if err = e.WriteName(name); err != nil {
+ return false
+ }
+ if err = e.marshalValue(v, fd); err != nil {
+ return false
+ }
+ return true
+ })
+ return err
+}
+
+// marshalValue marshals the given protoreflect.Value.
+func (e encoder) marshalValue(val pref.Value, fd pref.FieldDescriptor) error {
+ switch {
+ case fd.IsList():
+ return e.marshalList(val.List(), fd)
+ case fd.IsMap():
+ return e.marshalMap(val.Map(), fd)
+ default:
+ return e.marshalSingular(val, fd)
+ }
+}
+
+// marshalSingular marshals the given non-repeated field value. This includes
+// all scalar types, enums, messages, and groups.
+func (e encoder) marshalSingular(val pref.Value, fd pref.FieldDescriptor) error {
+ if !val.IsValid() {
+ e.WriteNull()
+ return nil
+ }
+
+ switch kind := fd.Kind(); kind {
+ case pref.BoolKind:
+ e.WriteBool(val.Bool())
+
+ case pref.StringKind:
+ if e.WriteString(val.String()) != nil {
+ return errors.InvalidUTF8(string(fd.FullName()))
+ }
+
+ case pref.Int32Kind, pref.Sint32Kind, pref.Sfixed32Kind:
+ e.WriteInt(val.Int())
+
+ case pref.Uint32Kind, pref.Fixed32Kind:
+ e.WriteUint(val.Uint())
+
+ case pref.Int64Kind, pref.Sint64Kind, pref.Uint64Kind,
+ pref.Sfixed64Kind, pref.Fixed64Kind:
+ // 64-bit integers are written out as JSON string.
+ e.WriteString(val.String())
+
+ case pref.FloatKind:
+ // Encoder.WriteFloat handles the special numbers NaN and infinites.
+ e.WriteFloat(val.Float(), 32)
+
+ case pref.DoubleKind:
+ // Encoder.WriteFloat handles the special numbers NaN and infinites.
+ e.WriteFloat(val.Float(), 64)
+
+ case pref.BytesKind:
+ e.WriteString(base64.StdEncoding.EncodeToString(val.Bytes()))
+
+ case pref.EnumKind:
+ if fd.Enum().FullName() == genid.NullValue_enum_fullname {
+ e.WriteNull()
+ } else {
+ desc := fd.Enum().Values().ByNumber(val.Enum())
+ if e.opts.UseEnumNumbers || desc == nil {
+ e.WriteInt(int64(val.Enum()))
+ } else {
+ e.WriteString(string(desc.Name()))
+ }
+ }
+
+ case pref.MessageKind, pref.GroupKind:
+ if err := e.marshalMessage(val.Message(), ""); err != nil {
+ return err
+ }
+
+ default:
+ panic(fmt.Sprintf("%v has unknown kind: %v", fd.FullName(), kind))
+ }
+ return nil
+}
+
+// marshalList marshals the given protoreflect.List.
+func (e encoder) marshalList(list pref.List, fd pref.FieldDescriptor) error {
+ e.StartArray()
+ defer e.EndArray()
+
+ for i := 0; i < list.Len(); i++ {
+ item := list.Get(i)
+ if err := e.marshalSingular(item, fd); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+// marshalMap marshals given protoreflect.Map.
+func (e encoder) marshalMap(mmap pref.Map, fd pref.FieldDescriptor) error {
+ e.StartObject()
+ defer e.EndObject()
+
+ var err error
+ order.RangeEntries(mmap, order.GenericKeyOrder, func(k pref.MapKey, v pref.Value) bool {
+ if err = e.WriteName(k.String()); err != nil {
+ return false
+ }
+ if err = e.marshalSingular(v, fd.MapValue()); err != nil {
+ return false
+ }
+ return true
+ })
+ return err
+}
diff --git a/vendor/google.golang.org/protobuf/encoding/protojson/well_known_types.go b/vendor/google.golang.org/protobuf/encoding/protojson/well_known_types.go
new file mode 100644
index 000000000..72924a905
--- /dev/null
+++ b/vendor/google.golang.org/protobuf/encoding/protojson/well_known_types.go
@@ -0,0 +1,889 @@
+// Copyright 2019 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package protojson
+
+import (
+ "bytes"
+ "fmt"
+ "math"
+ "strconv"
+ "strings"
+ "time"
+
+ "google.golang.org/protobuf/internal/encoding/json"
+ "google.golang.org/protobuf/internal/errors"
+ "google.golang.org/protobuf/internal/genid"
+ "google.golang.org/protobuf/internal/strs"
+ "google.golang.org/protobuf/proto"
+ pref "google.golang.org/protobuf/reflect/protoreflect"
+)
+
+type marshalFunc func(encoder, pref.Message) error
+
+// wellKnownTypeMarshaler returns a marshal function if the message type
+// has specialized serialization behavior. It returns nil otherwise.
+func wellKnownTypeMarshaler(name pref.FullName) marshalFunc {
+ if name.Parent() == genid.GoogleProtobuf_package {
+ switch name.Name() {
+ case genid.Any_message_name:
+ return encoder.marshalAny
+ case genid.Timestamp_message_name:
+ return encoder.marshalTimestamp
+ case genid.Duration_message_name:
+ return encoder.marshalDuration
+ case genid.BoolValue_message_name,
+ genid.Int32Value_message_name,
+ genid.Int64Value_message_name,
+ genid.UInt32Value_message_name,
+ genid.UInt64Value_message_name,
+ genid.FloatValue_message_name,
+ genid.DoubleValue_message_name,
+ genid.StringValue_message_name,
+ genid.BytesValue_message_name:
+ return encoder.marshalWrapperType
+ case genid.Struct_message_name:
+ return encoder.marshalStruct
+ case genid.ListValue_message_name:
+ return encoder.marshalListValue
+ case genid.Value_message_name:
+ return encoder.marshalKnownValue
+ case genid.FieldMask_message_name:
+ return encoder.marshalFieldMask
+ case genid.Empty_message_name:
+ return encoder.marshalEmpty
+ }
+ }
+ return nil
+}
+
+type unmarshalFunc func(decoder, pref.Message) error
+
+// wellKnownTypeUnmarshaler returns a unmarshal function if the message type
+// has specialized serialization behavior. It returns nil otherwise.
+func wellKnownTypeUnmarshaler(name pref.FullName) unmarshalFunc {
+ if name.Parent() == genid.GoogleProtobuf_package {
+ switch name.Name() {
+ case genid.Any_message_name:
+ return decoder.unmarshalAny
+ case genid.Timestamp_message_name:
+ return decoder.unmarshalTimestamp
+ case genid.Duration_message_name:
+ return decoder.unmarshalDuration
+ case genid.BoolValue_message_name,
+ genid.Int32Value_message_name,
+ genid.Int64Value_message_name,
+ genid.UInt32Value_message_name,
+ genid.UInt64Value_message_name,
+ genid.FloatValue_message_name,
+ genid.DoubleValue_message_name,
+ genid.StringValue_message_name,
+ genid.BytesValue_message_name:
+ return decoder.unmarshalWrapperType
+ case genid.Struct_message_name:
+ return decoder.unmarshalStruct
+ case genid.ListValue_message_name:
+ return decoder.unmarshalListValue
+ case genid.Value_message_name:
+ return decoder.unmarshalKnownValue
+ case genid.FieldMask_message_name:
+ return decoder.unmarshalFieldMask
+ case genid.Empty_message_name:
+ return decoder.unmarshalEmpty
+ }
+ }
+ return nil
+}
+
+// The JSON representation of an Any message uses the regular representation of
+// the deserialized, embedded message, with an additional field `@type` which
+// contains the type URL. If the embedded message type is well-known and has a
+// custom JSON representation, that representation will be embedded adding a
+// field `value` which holds the custom JSON in addition to the `@type` field.
+
+func (e encoder) marshalAny(m pref.Message) error {
+ fds := m.Descriptor().Fields()
+ fdType := fds.ByNumber(genid.Any_TypeUrl_field_number)
+ fdValue := fds.ByNumber(genid.Any_Value_field_number)
+
+ if !m.Has(fdType) {
+ if !m.Has(fdValue) {
+ // If message is empty, marshal out empty JSON object.
+ e.StartObject()
+ e.EndObject()
+ return nil
+ } else {
+ // Return error if type_url field is not set, but value is set.
+ return errors.New("%s: %v is not set", genid.Any_message_fullname, genid.Any_TypeUrl_field_name)
+ }
+ }
+
+ typeVal := m.Get(fdType)
+ valueVal := m.Get(fdValue)
+
+ // Resolve the type in order to unmarshal value field.
+ typeURL := typeVal.String()
+ emt, err := e.opts.Resolver.FindMessageByURL(typeURL)
+ if err != nil {
+ return errors.New("%s: unable to resolve %q: %v", genid.Any_message_fullname, typeURL, err)
+ }
+
+ em := emt.New()
+ err = proto.UnmarshalOptions{
+ AllowPartial: true, // never check required fields inside an Any
+ Resolver: e.opts.Resolver,
+ }.Unmarshal(valueVal.Bytes(), em.Interface())
+ if err != nil {
+ return errors.New("%s: unable to unmarshal %q: %v", genid.Any_message_fullname, typeURL, err)
+ }
+
+ // If type of value has custom JSON encoding, marshal out a field "value"
+ // with corresponding custom JSON encoding of the embedded message as a
+ // field.
+ if marshal := wellKnownTypeMarshaler(emt.Descriptor().FullName()); marshal != nil {
+ e.StartObject()
+ defer e.EndObject()
+
+ // Marshal out @type field.
+ e.WriteName("@type")
+ if err := e.WriteString(typeURL); err != nil {
+ return err
+ }
+
+ e.WriteName("value")
+ return marshal(e, em)
+ }
+
+ // Else, marshal out the embedded message's fields in this Any object.
+ if err := e.marshalMessage(em, typeURL); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (d decoder) unmarshalAny(m pref.Message) error {
+ // Peek to check for json.ObjectOpen to avoid advancing a read.
+ start, err := d.Peek()
+ if err != nil {
+ return err
+ }
+ if start.Kind() != json.ObjectOpen {
+ return d.unexpectedTokenError(start)
+ }
+
+ // Use another decoder to parse the unread bytes for @type field. This
+ // avoids advancing a read from current decoder because the current JSON
+ // object may contain the fields of the embedded type.
+ dec := decoder{d.Clone(), UnmarshalOptions{}}
+ tok, err := findTypeURL(dec)
+ switch err {
+ case errEmptyObject:
+ // An empty JSON object translates to an empty Any message.
+ d.Read() // Read json.ObjectOpen.
+ d.Read() // Read json.ObjectClose.
+ return nil
+
+ case errMissingType:
+ if d.opts.DiscardUnknown {
+ // Treat all fields as unknowns, similar to an empty object.
+ return d.skipJSONValue()
+ }
+ // Use start.Pos() for line position.
+ return d.newError(start.Pos(), err.Error())
+
+ default:
+ if err != nil {
+ return err
+ }
+ }
+
+ typeURL := tok.ParsedString()
+ emt, err := d.opts.Resolver.FindMessageByURL(typeURL)
+ if err != nil {
+ return d.newError(tok.Pos(), "unable to resolve %v: %q", tok.RawString(), err)
+ }
+
+ // Create new message for the embedded message type and unmarshal into it.
+ em := emt.New()
+ if unmarshal := wellKnownTypeUnmarshaler(emt.Descriptor().FullName()); unmarshal != nil {
+ // If embedded message is a custom type,
+ // unmarshal the JSON "value" field into it.
+ if err := d.unmarshalAnyValue(unmarshal, em); err != nil {
+ return err
+ }
+ } else {
+ // Else unmarshal the current JSON object into it.
+ if err := d.unmarshalMessage(em, true); err != nil {
+ return err
+ }
+ }
+ // Serialize the embedded message and assign the resulting bytes to the
+ // proto value field.
+ b, err := proto.MarshalOptions{
+ AllowPartial: true, // No need to check required fields inside an Any.
+ Deterministic: true,
+ }.Marshal(em.Interface())
+ if err != nil {
+ return d.newError(start.Pos(), "error in marshaling Any.value field: %v", err)
+ }
+
+ fds := m.Descriptor().Fields()
+ fdType := fds.ByNumber(genid.Any_TypeUrl_field_number)
+ fdValue := fds.ByNumber(genid.Any_Value_field_number)
+
+ m.Set(fdType, pref.ValueOfString(typeURL))
+ m.Set(fdValue, pref.ValueOfBytes(b))
+ return nil
+}
+
+var errEmptyObject = fmt.Errorf(`empty object`)
+var errMissingType = fmt.Errorf(`missing "@type" field`)
+
+// findTypeURL returns the token for the "@type" field value from the given
+// JSON bytes. It is expected that the given bytes start with json.ObjectOpen.
+// It returns errEmptyObject if the JSON object is empty or errMissingType if
+// @type field does not exist. It returns other error if the @type field is not
+// valid or other decoding issues.
+func findTypeURL(d decoder) (json.Token, error) {
+ var typeURL string
+ var typeTok json.Token
+ numFields := 0
+ // Skip start object.
+ d.Read()
+
+Loop:
+ for {
+ tok, err := d.Read()
+ if err != nil {
+ return json.Token{}, err
+ }
+
+ switch tok.Kind() {
+ case json.ObjectClose:
+ if typeURL == "" {
+ // Did not find @type field.
+ if numFields > 0 {
+ return json.Token{}, errMissingType
+ }
+ return json.Token{}, errEmptyObject
+ }
+ break Loop
+
+ case json.Name:
+ numFields++
+ if tok.Name() != "@type" {
+ // Skip value.
+ if err := d.skipJSONValue(); err != nil {
+ return json.Token{}, err
+ }
+ continue
+ }
+
+ // Return error if this was previously set already.
+ if typeURL != "" {
+ return json.Token{}, d.newError(tok.Pos(), `duplicate "@type" field`)
+ }
+ // Read field value.
+ tok, err := d.Read()
+ if err != nil {
+ return json.Token{}, err
+ }
+ if tok.Kind() != json.String {
+ return json.Token{}, d.newError(tok.Pos(), `@type field value is not a string: %v`, tok.RawString())
+ }
+ typeURL = tok.ParsedString()
+ if typeURL == "" {
+ return json.Token{}, d.newError(tok.Pos(), `@type field contains empty value`)
+ }
+ typeTok = tok
+ }
+ }
+
+ return typeTok, nil
+}
+
+// skipJSONValue parses a JSON value (null, boolean, string, number, object and
+// array) in order to advance the read to the next JSON value. It relies on
+// the decoder returning an error if the types are not in valid sequence.
+func (d decoder) skipJSONValue() error {
+ tok, err := d.Read()
+ if err != nil {
+ return err
+ }
+ // Only need to continue reading for objects and arrays.
+ switch tok.Kind() {
+ case json.ObjectOpen:
+ for {
+ tok, err := d.Read()
+ if err != nil {
+ return err
+ }
+ switch tok.Kind() {
+ case json.ObjectClose:
+ return nil
+ case json.Name:
+ // Skip object field value.
+ if err := d.skipJSONValue(); err != nil {
+ return err
+ }
+ }
+ }
+
+ case json.ArrayOpen:
+ for {
+ tok, err := d.Peek()
+ if err != nil {
+ return err
+ }
+ switch tok.Kind() {
+ case json.ArrayClose:
+ d.Read()
+ return nil
+ default:
+ // Skip array item.
+ if err := d.skipJSONValue(); err != nil {
+ return err
+ }
+ }
+ }
+ }
+ return nil
+}
+
+// unmarshalAnyValue unmarshals the given custom-type message from the JSON
+// object's "value" field.
+func (d decoder) unmarshalAnyValue(unmarshal unmarshalFunc, m pref.Message) error {
+ // Skip ObjectOpen, and start reading the fields.
+ d.Read()
+
+ var found bool // Used for detecting duplicate "value".
+ for {
+ tok, err := d.Read()
+ if err != nil {
+ return err
+ }
+ switch tok.Kind() {
+ case json.ObjectClose:
+ if !found {
+ return d.newError(tok.Pos(), `missing "value" field`)
+ }
+ return nil
+
+ case json.Name:
+ switch tok.Name() {
+ case "@type":
+ // Skip the value as this was previously parsed already.
+ d.Read()
+
+ case "value":
+ if found {
+ return d.newError(tok.Pos(), `duplicate "value" field`)
+ }
+ // Unmarshal the field value into the given message.
+ if err := unmarshal(d, m); err != nil {
+ return err
+ }
+ found = true
+
+ default:
+ if d.opts.DiscardUnknown {
+ if err := d.skipJSONValue(); err != nil {
+ return err
+ }
+ continue
+ }
+ return d.newError(tok.Pos(), "unknown field %v", tok.RawString())
+ }
+ }
+ }
+}
+
+// Wrapper types are encoded as JSON primitives like string, number or boolean.
+
+func (e encoder) marshalWrapperType(m pref.Message) error {
+ fd := m.Descriptor().Fields().ByNumber(genid.WrapperValue_Value_field_number)
+ val := m.Get(fd)
+ return e.marshalSingular(val, fd)
+}
+
+func (d decoder) unmarshalWrapperType(m pref.Message) error {
+ fd := m.Descriptor().Fields().ByNumber(genid.WrapperValue_Value_field_number)
+ val, err := d.unmarshalScalar(fd)
+ if err != nil {
+ return err
+ }
+ m.Set(fd, val)
+ return nil
+}
+
+// The JSON representation for Empty is an empty JSON object.
+
+func (e encoder) marshalEmpty(pref.Message) error {
+ e.StartObject()
+ e.EndObject()
+ return nil
+}
+
+func (d decoder) unmarshalEmpty(pref.Message) error {
+ tok, err := d.Read()
+ if err != nil {
+ return err
+ }
+ if tok.Kind() != json.ObjectOpen {
+ return d.unexpectedTokenError(tok)
+ }
+
+ for {
+ tok, err := d.Read()
+ if err != nil {
+ return err
+ }
+ switch tok.Kind() {
+ case json.ObjectClose:
+ return nil
+
+ case json.Name:
+ if d.opts.DiscardUnknown {
+ if err := d.skipJSONValue(); err != nil {
+ return err
+ }
+ continue
+ }
+ return d.newError(tok.Pos(), "unknown field %v", tok.RawString())
+
+ default:
+ return d.unexpectedTokenError(tok)
+ }
+ }
+}
+
+// The JSON representation for Struct is a JSON object that contains the encoded
+// Struct.fields map and follows the serialization rules for a map.
+
+func (e encoder) marshalStruct(m pref.Message) error {
+ fd := m.Descriptor().Fields().ByNumber(genid.Struct_Fields_field_number)
+ return e.marshalMap(m.Get(fd).Map(), fd)
+}
+
+func (d decoder) unmarshalStruct(m pref.Message) error {
+ fd := m.Descriptor().Fields().ByNumber(genid.Struct_Fields_field_number)
+ return d.unmarshalMap(m.Mutable(fd).Map(), fd)
+}
+
+// The JSON representation for ListValue is JSON array that contains the encoded
+// ListValue.values repeated field and follows the serialization rules for a
+// repeated field.
+
+func (e encoder) marshalListValue(m pref.Message) error {
+ fd := m.Descriptor().Fields().ByNumber(genid.ListValue_Values_field_number)
+ return e.marshalList(m.Get(fd).List(), fd)
+}
+
+func (d decoder) unmarshalListValue(m pref.Message) error {
+ fd := m.Descriptor().Fields().ByNumber(genid.ListValue_Values_field_number)
+ return d.unmarshalList(m.Mutable(fd).List(), fd)
+}
+
+// The JSON representation for a Value is dependent on the oneof field that is
+// set. Each of the field in the oneof has its own custom serialization rule. A
+// Value message needs to be a oneof field set, else it is an error.
+
+func (e encoder) marshalKnownValue(m pref.Message) error {
+ od := m.Descriptor().Oneofs().ByName(genid.Value_Kind_oneof_name)
+ fd := m.WhichOneof(od)
+ if fd == nil {
+ return errors.New("%s: none of the oneof fields is set", genid.Value_message_fullname)
+ }
+ if fd.Number() == genid.Value_NumberValue_field_number {
+ if v := m.Get(fd).Float(); math.IsNaN(v) || math.IsInf(v, 0) {
+ return errors.New("%s: invalid %v value", genid.Value_NumberValue_field_fullname, v)
+ }
+ }
+ return e.marshalSingular(m.Get(fd), fd)
+}
+
+func (d decoder) unmarshalKnownValue(m pref.Message) error {
+ tok, err := d.Peek()
+ if err != nil {
+ return err
+ }
+
+ var fd pref.FieldDescriptor
+ var val pref.Value
+ switch tok.Kind() {
+ case json.Null:
+ d.Read()
+ fd = m.Descriptor().Fields().ByNumber(genid.Value_NullValue_field_number)
+ val = pref.ValueOfEnum(0)
+
+ case json.Bool:
+ tok, err := d.Read()
+ if err != nil {
+ return err
+ }
+ fd = m.Descriptor().Fields().ByNumber(genid.Value_BoolValue_field_number)
+ val = pref.ValueOfBool(tok.Bool())
+
+ case json.Number:
+ tok, err := d.Read()
+ if err != nil {
+ return err
+ }
+ fd = m.Descriptor().Fields().ByNumber(genid.Value_NumberValue_field_number)
+ var ok bool
+ val, ok = unmarshalFloat(tok, 64)
+ if !ok {
+ return d.newError(tok.Pos(), "invalid %v: %v", genid.Value_message_fullname, tok.RawString())
+ }
+
+ case json.String:
+ // A JSON string may have been encoded from the number_value field,
+ // e.g. "NaN", "Infinity", etc. Parsing a proto double type also allows
+ // for it to be in JSON string form. Given this custom encoding spec,
+ // however, there is no way to identify that and hence a JSON string is
+ // always assigned to the string_value field, which means that certain
+ // encoding cannot be parsed back to the same field.
+ tok, err := d.Read()
+ if err != nil {
+ return err
+ }
+ fd = m.Descriptor().Fields().ByNumber(genid.Value_StringValue_field_number)
+ val = pref.ValueOfString(tok.ParsedString())
+
+ case json.ObjectOpen:
+ fd = m.Descriptor().Fields().ByNumber(genid.Value_StructValue_field_number)
+ val = m.NewField(fd)
+ if err := d.unmarshalStruct(val.Message()); err != nil {
+ return err
+ }
+
+ case json.ArrayOpen:
+ fd = m.Descriptor().Fields().ByNumber(genid.Value_ListValue_field_number)
+ val = m.NewField(fd)
+ if err := d.unmarshalListValue(val.Message()); err != nil {
+ return err
+ }
+
+ default:
+ return d.newError(tok.Pos(), "invalid %v: %v", genid.Value_message_fullname, tok.RawString())
+ }
+
+ m.Set(fd, val)
+ return nil
+}
+
+// The JSON representation for a Duration is a JSON string that ends in the
+// suffix "s" (indicating seconds) and is preceded by the number of seconds,
+// with nanoseconds expressed as fractional seconds.
+//
+// Durations less than one second are represented with a 0 seconds field and a
+// positive or negative nanos field. For durations of one second or more, a
+// non-zero value for the nanos field must be of the same sign as the seconds
+// field.
+//
+// Duration.seconds must be from -315,576,000,000 to +315,576,000,000 inclusive.
+// Duration.nanos must be from -999,999,999 to +999,999,999 inclusive.
+
+const (
+ secondsInNanos = 999999999
+ maxSecondsInDuration = 315576000000
+)
+
+func (e encoder) marshalDuration(m pref.Message) error {
+ fds := m.Descriptor().Fields()
+ fdSeconds := fds.ByNumber(genid.Duration_Seconds_field_number)
+ fdNanos := fds.ByNumber(genid.Duration_Nanos_field_number)
+
+ secsVal := m.Get(fdSeconds)
+ nanosVal := m.Get(fdNanos)
+ secs := secsVal.Int()
+ nanos := nanosVal.Int()
+ if secs < -maxSecondsInDuration || secs > maxSecondsInDuration {
+ return errors.New("%s: seconds out of range %v", genid.Duration_message_fullname, secs)
+ }
+ if nanos < -secondsInNanos || nanos > secondsInNanos {
+ return errors.New("%s: nanos out of range %v", genid.Duration_message_fullname, nanos)
+ }
+ if (secs > 0 && nanos < 0) || (secs < 0 && nanos > 0) {
+ return errors.New("%s: signs of seconds and nanos do not match", genid.Duration_message_fullname)
+ }
+ // Generated output always contains 0, 3, 6, or 9 fractional digits,
+ // depending on required precision, followed by the suffix "s".
+ var sign string
+ if secs < 0 || nanos < 0 {
+ sign, secs, nanos = "-", -1*secs, -1*nanos
+ }
+ x := fmt.Sprintf("%s%d.%09d", sign, secs, nanos)
+ x = strings.TrimSuffix(x, "000")
+ x = strings.TrimSuffix(x, "000")
+ x = strings.TrimSuffix(x, ".000")
+ e.WriteString(x + "s")
+ return nil
+}
+
+func (d decoder) unmarshalDuration(m pref.Message) error {
+ tok, err := d.Read()
+ if err != nil {
+ return err
+ }
+ if tok.Kind() != json.String {
+ return d.unexpectedTokenError(tok)
+ }
+
+ secs, nanos, ok := parseDuration(tok.ParsedString())
+ if !ok {
+ return d.newError(tok.Pos(), "invalid %v value %v", genid.Duration_message_fullname, tok.RawString())
+ }
+ // Validate seconds. No need to validate nanos because parseDuration would
+ // have covered that already.
+ if secs < -maxSecondsInDuration || secs > maxSecondsInDuration {
+ return d.newError(tok.Pos(), "%v value out of range: %v", genid.Duration_message_fullname, tok.RawString())
+ }
+
+ fds := m.Descriptor().Fields()
+ fdSeconds := fds.ByNumber(genid.Duration_Seconds_field_number)
+ fdNanos := fds.ByNumber(genid.Duration_Nanos_field_number)
+
+ m.Set(fdSeconds, pref.ValueOfInt64(secs))
+ m.Set(fdNanos, pref.ValueOfInt32(nanos))
+ return nil
+}
+
+// parseDuration parses the given input string for seconds and nanoseconds value
+// for the Duration JSON format. The format is a decimal number with a suffix
+// 's'. It can have optional plus/minus sign. There needs to be at least an
+// integer or fractional part. Fractional part is limited to 9 digits only for
+// nanoseconds precision, regardless of whether there are trailing zero digits.
+// Example values are 1s, 0.1s, 1.s, .1s, +1s, -1s, -.1s.
+func parseDuration(input string) (int64, int32, bool) {
+ b := []byte(input)
+ size := len(b)
+ if size < 2 {
+ return 0, 0, false
+ }
+ if b[size-1] != 's' {
+ return 0, 0, false
+ }
+ b = b[:size-1]
+
+ // Read optional plus/minus symbol.
+ var neg bool
+ switch b[0] {
+ case '-':
+ neg = true
+ b = b[1:]
+ case '+':
+ b = b[1:]
+ }
+ if len(b) == 0 {
+ return 0, 0, false
+ }
+
+ // Read the integer part.
+ var intp []byte
+ switch {
+ case b[0] == '0':
+ b = b[1:]
+
+ case '1' <= b[0] && b[0] <= '9':
+ intp = b[0:]
+ b = b[1:]
+ n := 1
+ for len(b) > 0 && '0' <= b[0] && b[0] <= '9' {
+ n++
+ b = b[1:]
+ }
+ intp = intp[:n]
+
+ case b[0] == '.':
+ // Continue below.
+
+ default:
+ return 0, 0, false
+ }
+
+ hasFrac := false
+ var frac [9]byte
+ if len(b) > 0 {
+ if b[0] != '.' {
+ return 0, 0, false
+ }
+ // Read the fractional part.
+ b = b[1:]
+ n := 0
+ for len(b) > 0 && n < 9 && '0' <= b[0] && b[0] <= '9' {
+ frac[n] = b[0]
+ n++
+ b = b[1:]
+ }
+ // It is not valid if there are more bytes left.
+ if len(b) > 0 {
+ return 0, 0, false
+ }
+ // Pad fractional part with 0s.
+ for i := n; i < 9; i++ {
+ frac[i] = '0'
+ }
+ hasFrac = true
+ }
+
+ var secs int64
+ if len(intp) > 0 {
+ var err error
+ secs, err = strconv.ParseInt(string(intp), 10, 64)
+ if err != nil {
+ return 0, 0, false
+ }
+ }
+
+ var nanos int64
+ if hasFrac {
+ nanob := bytes.TrimLeft(frac[:], "0")
+ if len(nanob) > 0 {
+ var err error
+ nanos, err = strconv.ParseInt(string(nanob), 10, 32)
+ if err != nil {
+ return 0, 0, false
+ }
+ }
+ }
+
+ if neg {
+ if secs > 0 {
+ secs = -secs
+ }
+ if nanos > 0 {
+ nanos = -nanos
+ }
+ }
+ return secs, int32(nanos), true
+}
+
+// The JSON representation for a Timestamp is a JSON string in the RFC 3339
+// format, i.e. "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" where
+// {year} is always expressed using four digits while {month}, {day}, {hour},
+// {min}, and {sec} are zero-padded to two digits each. The fractional seconds,
+// which can go up to 9 digits, up to 1 nanosecond resolution, is optional. The
+// "Z" suffix indicates the timezone ("UTC"); the timezone is required. Encoding
+// should always use UTC (as indicated by "Z") and a decoder should be able to
+// accept both UTC and other timezones (as indicated by an offset).
+//
+// Timestamp.seconds must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z
+// inclusive.
+// Timestamp.nanos must be from 0 to 999,999,999 inclusive.
+
+const (
+ maxTimestampSeconds = 253402300799
+ minTimestampSeconds = -62135596800
+)
+
+func (e encoder) marshalTimestamp(m pref.Message) error {
+ fds := m.Descriptor().Fields()
+ fdSeconds := fds.ByNumber(genid.Timestamp_Seconds_field_number)
+ fdNanos := fds.ByNumber(genid.Timestamp_Nanos_field_number)
+
+ secsVal := m.Get(fdSeconds)
+ nanosVal := m.Get(fdNanos)
+ secs := secsVal.Int()
+ nanos := nanosVal.Int()
+ if secs < minTimestampSeconds || secs > maxTimestampSeconds {
+ return errors.New("%s: seconds out of range %v", genid.Timestamp_message_fullname, secs)
+ }
+ if nanos < 0 || nanos > secondsInNanos {
+ return errors.New("%s: nanos out of range %v", genid.Timestamp_message_fullname, nanos)
+ }
+ // Uses RFC 3339, where generated output will be Z-normalized and uses 0, 3,
+ // 6 or 9 fractional digits.
+ t := time.Unix(secs, nanos).UTC()
+ x := t.Format("2006-01-02T15:04:05.000000000")
+ x = strings.TrimSuffix(x, "000")
+ x = strings.TrimSuffix(x, "000")
+ x = strings.TrimSuffix(x, ".000")
+ e.WriteString(x + "Z")
+ return nil
+}
+
+func (d decoder) unmarshalTimestamp(m pref.Message) error {
+ tok, err := d.Read()
+ if err != nil {
+ return err
+ }
+ if tok.Kind() != json.String {
+ return d.unexpectedTokenError(tok)
+ }
+
+ t, err := time.Parse(time.RFC3339Nano, tok.ParsedString())
+ if err != nil {
+ return d.newError(tok.Pos(), "invalid %v value %v", genid.Timestamp_message_fullname, tok.RawString())
+ }
+ // Validate seconds. No need to validate nanos because time.Parse would have
+ // covered that already.
+ secs := t.Unix()
+ if secs < minTimestampSeconds || secs > maxTimestampSeconds {
+ return d.newError(tok.Pos(), "%v value out of range: %v", genid.Timestamp_message_fullname, tok.RawString())
+ }
+
+ fds := m.Descriptor().Fields()
+ fdSeconds := fds.ByNumber(genid.Timestamp_Seconds_field_number)
+ fdNanos := fds.ByNumber(genid.Timestamp_Nanos_field_number)
+
+ m.Set(fdSeconds, pref.ValueOfInt64(secs))
+ m.Set(fdNanos, pref.ValueOfInt32(int32(t.Nanosecond())))
+ return nil
+}
+
+// The JSON representation for a FieldMask is a JSON string where paths are
+// separated by a comma. Fields name in each path are converted to/from
+// lower-camel naming conventions. Encoding should fail if the path name would
+// end up differently after a round-trip.
+
+func (e encoder) marshalFieldMask(m pref.Message) error {
+ fd := m.Descriptor().Fields().ByNumber(genid.FieldMask_Paths_field_number)
+ list := m.Get(fd).List()
+ paths := make([]string, 0, list.Len())
+
+ for i := 0; i < list.Len(); i++ {
+ s := list.Get(i).String()
+ if !pref.FullName(s).IsValid() {
+ return errors.New("%s contains invalid path: %q", genid.FieldMask_Paths_field_fullname, s)
+ }
+ // Return error if conversion to camelCase is not reversible.
+ cc := strs.JSONCamelCase(s)
+ if s != strs.JSONSnakeCase(cc) {
+ return errors.New("%s contains irreversible value %q", genid.FieldMask_Paths_field_fullname, s)
+ }
+ paths = append(paths, cc)
+ }
+
+ e.WriteString(strings.Join(paths, ","))
+ return nil
+}
+
+func (d decoder) unmarshalFieldMask(m pref.Message) error {
+ tok, err := d.Read()
+ if err != nil {
+ return err
+ }
+ if tok.Kind() != json.String {
+ return d.unexpectedTokenError(tok)
+ }
+ str := strings.TrimSpace(tok.ParsedString())
+ if str == "" {
+ return nil
+ }
+ paths := strings.Split(str, ",")
+
+ fd := m.Descriptor().Fields().ByNumber(genid.FieldMask_Paths_field_number)
+ list := m.Mutable(fd).List()
+
+ for _, s0 := range paths {
+ s := strs.JSONSnakeCase(s0)
+ if strings.Contains(s0, "_") || !pref.FullName(s).IsValid() {
+ return d.newError(tok.Pos(), "%v contains invalid path: %q", genid.FieldMask_Paths_field_fullname, s0)
+ }
+ list.Append(pref.ValueOfString(s))
+ }
+ return nil
+}
diff --git a/vendor/google.golang.org/protobuf/internal/encoding/json/decode.go b/vendor/google.golang.org/protobuf/internal/encoding/json/decode.go
new file mode 100644
index 000000000..b13fd29e8
--- /dev/null
+++ b/vendor/google.golang.org/protobuf/internal/encoding/json/decode.go
@@ -0,0 +1,340 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package json
+
+import (
+ "bytes"
+ "fmt"
+ "io"
+ "regexp"
+ "unicode/utf8"
+
+ "google.golang.org/protobuf/internal/errors"
+)
+
+// call specifies which Decoder method was invoked.
+type call uint8
+
+const (
+ readCall call = iota
+ peekCall
+)
+
+const unexpectedFmt = "unexpected token %s"
+
+// ErrUnexpectedEOF means that EOF was encountered in the middle of the input.
+var ErrUnexpectedEOF = errors.New("%v", io.ErrUnexpectedEOF)
+
+// Decoder is a token-based JSON decoder.
+type Decoder struct {
+ // lastCall is last method called, either readCall or peekCall.
+ // Initial value is readCall.
+ lastCall call
+
+ // lastToken contains the last read token.
+ lastToken Token
+
+ // lastErr contains the last read error.
+ lastErr error
+
+ // openStack is a stack containing ObjectOpen and ArrayOpen values. The
+ // top of stack represents the object or the array the current value is
+ // directly located in.
+ openStack []Kind
+
+ // orig is used in reporting line and column.
+ orig []byte
+ // in contains the unconsumed input.
+ in []byte
+}
+
+// NewDecoder returns a Decoder to read the given []byte.
+func NewDecoder(b []byte) *Decoder {
+ return &Decoder{orig: b, in: b}
+}
+
+// Peek looks ahead and returns the next token kind without advancing a read.
+func (d *Decoder) Peek() (Token, error) {
+ defer func() { d.lastCall = peekCall }()
+ if d.lastCall == readCall {
+ d.lastToken, d.lastErr = d.Read()
+ }
+ return d.lastToken, d.lastErr
+}
+
+// Read returns the next JSON token.
+// It will return an error if there is no valid token.
+func (d *Decoder) Read() (Token, error) {
+ const scalar = Null | Bool | Number | String
+
+ defer func() { d.lastCall = readCall }()
+ if d.lastCall == peekCall {
+ return d.lastToken, d.lastErr
+ }
+
+ tok, err := d.parseNext()
+ if err != nil {
+ return Token{}, err
+ }
+
+ switch tok.kind {
+ case EOF:
+ if len(d.openStack) != 0 ||
+ d.lastToken.kind&scalar|ObjectClose|ArrayClose == 0 {
+ return Token{}, ErrUnexpectedEOF
+ }
+
+ case Null:
+ if !d.isValueNext() {
+ return Token{}, d.newSyntaxError(tok.pos, unexpectedFmt, tok.RawString())
+ }
+
+ case Bool, Number:
+ if !d.isValueNext() {
+ return Token{}, d.newSyntaxError(tok.pos, unexpectedFmt, tok.RawString())
+ }
+
+ case String:
+ if d.isValueNext() {
+ break
+ }
+ // This string token should only be for a field name.
+ if d.lastToken.kind&(ObjectOpen|comma) == 0 {
+ return Token{}, d.newSyntaxError(tok.pos, unexpectedFmt, tok.RawString())
+ }
+ if len(d.in) == 0 {
+ return Token{}, ErrUnexpectedEOF
+ }
+ if c := d.in[0]; c != ':' {
+ return Token{}, d.newSyntaxError(d.currPos(), `unexpected character %s, missing ":" after field name`, string(c))
+ }
+ tok.kind = Name
+ d.consume(1)
+
+ case ObjectOpen, ArrayOpen:
+ if !d.isValueNext() {
+ return Token{}, d.newSyntaxError(tok.pos, unexpectedFmt, tok.RawString())
+ }
+ d.openStack = append(d.openStack, tok.kind)
+
+ case ObjectClose:
+ if len(d.openStack) == 0 ||
+ d.lastToken.kind == comma ||
+ d.openStack[len(d.openStack)-1] != ObjectOpen {
+ return Token{}, d.newSyntaxError(tok.pos, unexpectedFmt, tok.RawString())
+ }
+ d.openStack = d.openStack[:len(d.openStack)-1]
+
+ case ArrayClose:
+ if len(d.openStack) == 0 ||
+ d.lastToken.kind == comma ||
+ d.openStack[len(d.openStack)-1] != ArrayOpen {
+ return Token{}, d.newSyntaxError(tok.pos, unexpectedFmt, tok.RawString())
+ }
+ d.openStack = d.openStack[:len(d.openStack)-1]
+
+ case comma:
+ if len(d.openStack) == 0 ||
+ d.lastToken.kind&(scalar|ObjectClose|ArrayClose) == 0 {
+ return Token{}, d.newSyntaxError(tok.pos, unexpectedFmt, tok.RawString())
+ }
+ }
+
+ // Update d.lastToken only after validating token to be in the right sequence.
+ d.lastToken = tok
+
+ if d.lastToken.kind == comma {
+ return d.Read()
+ }
+ return tok, nil
+}
+
+// Any sequence that looks like a non-delimiter (for error reporting).
+var errRegexp = regexp.MustCompile(`^([-+._a-zA-Z0-9]{1,32}|.)`)
+
+// parseNext parses for the next JSON token. It returns a Token object for
+// different types, except for Name. It does not handle whether the next token
+// is in a valid sequence or not.
+func (d *Decoder) parseNext() (Token, error) {
+ // Trim leading spaces.
+ d.consume(0)
+
+ in := d.in
+ if len(in) == 0 {
+ return d.consumeToken(EOF, 0), nil
+ }
+
+ switch in[0] {
+ case 'n':
+ if n := matchWithDelim("null", in); n != 0 {
+ return d.consumeToken(Null, n), nil
+ }
+
+ case 't':
+ if n := matchWithDelim("true", in); n != 0 {
+ return d.consumeBoolToken(true, n), nil
+ }
+
+ case 'f':
+ if n := matchWithDelim("false", in); n != 0 {
+ return d.consumeBoolToken(false, n), nil
+ }
+
+ case '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9':
+ if n, ok := parseNumber(in); ok {
+ return d.consumeToken(Number, n), nil
+ }
+
+ case '"':
+ s, n, err := d.parseString(in)
+ if err != nil {
+ return Token{}, err
+ }
+ return d.consumeStringToken(s, n), nil
+
+ case '{':
+ return d.consumeToken(ObjectOpen, 1), nil
+
+ case '}':
+ return d.consumeToken(ObjectClose, 1), nil
+
+ case '[':
+ return d.consumeToken(ArrayOpen, 1), nil
+
+ case ']':
+ return d.consumeToken(ArrayClose, 1), nil
+
+ case ',':
+ return d.consumeToken(comma, 1), nil
+ }
+ return Token{}, d.newSyntaxError(d.currPos(), "invalid value %s", errRegexp.Find(in))
+}
+
+// newSyntaxError returns an error with line and column information useful for
+// syntax errors.
+func (d *Decoder) newSyntaxError(pos int, f string, x ...interface{}) error {
+ e := errors.New(f, x...)
+ line, column := d.Position(pos)
+ return errors.New("syntax error (line %d:%d): %v", line, column, e)
+}
+
+// Position returns line and column number of given index of the original input.
+// It will panic if index is out of range.
+func (d *Decoder) Position(idx int) (line int, column int) {
+ b := d.orig[:idx]
+ line = bytes.Count(b, []byte("\n")) + 1
+ if i := bytes.LastIndexByte(b, '\n'); i >= 0 {
+ b = b[i+1:]
+ }
+ column = utf8.RuneCount(b) + 1 // ignore multi-rune characters
+ return line, column
+}
+
+// currPos returns the current index position of d.in from d.orig.
+func (d *Decoder) currPos() int {
+ return len(d.orig) - len(d.in)
+}
+
+// matchWithDelim matches s with the input b and verifies that the match
+// terminates with a delimiter of some form (e.g., r"[^-+_.a-zA-Z0-9]").
+// As a special case, EOF is considered a delimiter. It returns the length of s
+// if there is a match, else 0.
+func matchWithDelim(s string, b []byte) int {
+ if !bytes.HasPrefix(b, []byte(s)) {
+ return 0
+ }
+
+ n := len(s)
+ if n < len(b) && isNotDelim(b[n]) {
+ return 0
+ }
+ return n
+}
+
+// isNotDelim returns true if given byte is a not delimiter character.
+func isNotDelim(c byte) bool {
+ return (c == '-' || c == '+' || c == '.' || c == '_' ||
+ ('a' <= c && c <= 'z') ||
+ ('A' <= c && c <= 'Z') ||
+ ('0' <= c && c <= '9'))
+}
+
+// consume consumes n bytes of input and any subsequent whitespace.
+func (d *Decoder) consume(n int) {
+ d.in = d.in[n:]
+ for len(d.in) > 0 {
+ switch d.in[0] {
+ case ' ', '\n', '\r', '\t':
+ d.in = d.in[1:]
+ default:
+ return
+ }
+ }
+}
+
+// isValueNext returns true if next type should be a JSON value: Null,
+// Number, String or Bool.
+func (d *Decoder) isValueNext() bool {
+ if len(d.openStack) == 0 {
+ return d.lastToken.kind == 0
+ }
+
+ start := d.openStack[len(d.openStack)-1]
+ switch start {
+ case ObjectOpen:
+ return d.lastToken.kind&Name != 0
+ case ArrayOpen:
+ return d.lastToken.kind&(ArrayOpen|comma) != 0
+ }
+ panic(fmt.Sprintf(
+ "unreachable logic in Decoder.isValueNext, lastToken.kind: %v, openStack: %v",
+ d.lastToken.kind, start))
+}
+
+// consumeToken constructs a Token for given Kind with raw value derived from
+// current d.in and given size, and consumes the given size-lenght of it.
+func (d *Decoder) consumeToken(kind Kind, size int) Token {
+ tok := Token{
+ kind: kind,
+ raw: d.in[:size],
+ pos: len(d.orig) - len(d.in),
+ }
+ d.consume(size)
+ return tok
+}
+
+// consumeBoolToken constructs a Token for a Bool kind with raw value derived from
+// current d.in and given size.
+func (d *Decoder) consumeBoolToken(b bool, size int) Token {
+ tok := Token{
+ kind: Bool,
+ raw: d.in[:size],
+ pos: len(d.orig) - len(d.in),
+ boo: b,
+ }
+ d.consume(size)
+ return tok
+}
+
+// consumeStringToken constructs a Token for a String kind with raw value derived
+// from current d.in and given size.
+func (d *Decoder) consumeStringToken(s string, size int) Token {
+ tok := Token{
+ kind: String,
+ raw: d.in[:size],
+ pos: len(d.orig) - len(d.in),
+ str: s,
+ }
+ d.consume(size)
+ return tok
+}
+
+// Clone returns a copy of the Decoder for use in reading ahead the next JSON
+// object, array or other values without affecting current Decoder.
+func (d *Decoder) Clone() *Decoder {
+ ret := *d
+ ret.openStack = append([]Kind(nil), ret.openStack...)
+ return &ret
+}
diff --git a/vendor/google.golang.org/protobuf/internal/encoding/json/decode_number.go b/vendor/google.golang.org/protobuf/internal/encoding/json/decode_number.go
new file mode 100644
index 000000000..2999d7133
--- /dev/null
+++ b/vendor/google.golang.org/protobuf/internal/encoding/json/decode_number.go
@@ -0,0 +1,254 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package json
+
+import (
+ "bytes"
+ "strconv"
+)
+
+// parseNumber reads the given []byte for a valid JSON number. If it is valid,
+// it returns the number of bytes. Parsing logic follows the definition in
+// https://tools.ietf.org/html/rfc7159#section-6, and is based off
+// encoding/json.isValidNumber function.
+func parseNumber(input []byte) (int, bool) {
+ var n int
+
+ s := input
+ if len(s) == 0 {
+ return 0, false
+ }
+
+ // Optional -
+ if s[0] == '-' {
+ s = s[1:]
+ n++
+ if len(s) == 0 {
+ return 0, false
+ }
+ }
+
+ // Digits
+ switch {
+ case s[0] == '0':
+ s = s[1:]
+ n++
+
+ case '1' <= s[0] && s[0] <= '9':
+ s = s[1:]
+ n++
+ for len(s) > 0 && '0' <= s[0] && s[0] <= '9' {
+ s = s[1:]
+ n++
+ }
+
+ default:
+ return 0, false
+ }
+
+ // . followed by 1 or more digits.
+ if len(s) >= 2 && s[0] == '.' && '0' <= s[1] && s[1] <= '9' {
+ s = s[2:]
+ n += 2
+ for len(s) > 0 && '0' <= s[0] && s[0] <= '9' {
+ s = s[1:]
+ n++
+ }
+ }
+
+ // e or E followed by an optional - or + and
+ // 1 or more digits.
+ if len(s) >= 2 && (s[0] == 'e' || s[0] == 'E') {
+ s = s[1:]
+ n++
+ if s[0] == '+' || s[0] == '-' {
+ s = s[1:]
+ n++
+ if len(s) == 0 {
+ return 0, false
+ }
+ }
+ for len(s) > 0 && '0' <= s[0] && s[0] <= '9' {
+ s = s[1:]
+ n++
+ }
+ }
+
+ // Check that next byte is a delimiter or it is at the end.
+ if n < len(input) && isNotDelim(input[n]) {
+ return 0, false
+ }
+
+ return n, true
+}
+
+// numberParts is the result of parsing out a valid JSON number. It contains
+// the parts of a number. The parts are used for integer conversion.
+type numberParts struct {
+ neg bool
+ intp []byte
+ frac []byte
+ exp []byte
+}
+
+// parseNumber constructs numberParts from given []byte. The logic here is
+// similar to consumeNumber above with the difference of having to construct
+// numberParts. The slice fields in numberParts are subslices of the input.
+func parseNumberParts(input []byte) (numberParts, bool) {
+ var neg bool
+ var intp []byte
+ var frac []byte
+ var exp []byte
+
+ s := input
+ if len(s) == 0 {
+ return numberParts{}, false
+ }
+
+ // Optional -
+ if s[0] == '-' {
+ neg = true
+ s = s[1:]
+ if len(s) == 0 {
+ return numberParts{}, false
+ }
+ }
+
+ // Digits
+ switch {
+ case s[0] == '0':
+ // Skip first 0 and no need to store.
+ s = s[1:]
+
+ case '1' <= s[0] && s[0] <= '9':
+ intp = s
+ n := 1
+ s = s[1:]
+ for len(s) > 0 && '0' <= s[0] && s[0] <= '9' {
+ s = s[1:]
+ n++
+ }
+ intp = intp[:n]
+
+ default:
+ return numberParts{}, false
+ }
+
+ // . followed by 1 or more digits.
+ if len(s) >= 2 && s[0] == '.' && '0' <= s[1] && s[1] <= '9' {
+ frac = s[1:]
+ n := 1
+ s = s[2:]
+ for len(s) > 0 && '0' <= s[0] && s[0] <= '9' {
+ s = s[1:]
+ n++
+ }
+ frac = frac[:n]
+ }
+
+ // e or E followed by an optional - or + and
+ // 1 or more digits.
+ if len(s) >= 2 && (s[0] == 'e' || s[0] == 'E') {
+ s = s[1:]
+ exp = s
+ n := 0
+ if s[0] == '+' || s[0] == '-' {
+ s = s[1:]
+ n++
+ if len(s) == 0 {
+ return numberParts{}, false
+ }
+ }
+ for len(s) > 0 && '0' <= s[0] && s[0] <= '9' {
+ s = s[1:]
+ n++
+ }
+ exp = exp[:n]
+ }
+
+ return numberParts{
+ neg: neg,
+ intp: intp,
+ frac: bytes.TrimRight(frac, "0"), // Remove unnecessary 0s to the right.
+ exp: exp,
+ }, true
+}
+
+// normalizeToIntString returns an integer string in normal form without the
+// E-notation for given numberParts. It will return false if it is not an
+// integer or if the exponent exceeds than max/min int value.
+func normalizeToIntString(n numberParts) (string, bool) {
+ intpSize := len(n.intp)
+ fracSize := len(n.frac)
+
+ if intpSize == 0 && fracSize == 0 {
+ return "0", true
+ }
+
+ var exp int
+ if len(n.exp) > 0 {
+ i, err := strconv.ParseInt(string(n.exp), 10, 32)
+ if err != nil {
+ return "", false
+ }
+ exp = int(i)
+ }
+
+ var num []byte
+ if exp >= 0 {
+ // For positive E, shift fraction digits into integer part and also pad
+ // with zeroes as needed.
+
+ // If there are more digits in fraction than the E value, then the
+ // number is not an integer.
+ if fracSize > exp {
+ return "", false
+ }
+
+ // Make sure resulting digits are within max value limit to avoid
+ // unnecessarily constructing a large byte slice that may simply fail
+ // later on.
+ const maxDigits = 20 // Max uint64 value has 20 decimal digits.
+ if intpSize+exp > maxDigits {
+ return "", false
+ }
+
+ // Set cap to make a copy of integer part when appended.
+ num = n.intp[:len(n.intp):len(n.intp)]
+ num = append(num, n.frac...)
+ for i := 0; i < exp-fracSize; i++ {
+ num = append(num, '0')
+ }
+ } else {
+ // For negative E, shift digits in integer part out.
+
+ // If there are fractions, then the number is not an integer.
+ if fracSize > 0 {
+ return "", false
+ }
+
+ // index is where the decimal point will be after adjusting for negative
+ // exponent.
+ index := intpSize + exp
+ if index < 0 {
+ return "", false
+ }
+
+ num = n.intp
+ // If any of the digits being shifted to the right of the decimal point
+ // is non-zero, then the number is not an integer.
+ for i := index; i < intpSize; i++ {
+ if num[i] != '0' {
+ return "", false
+ }
+ }
+ num = num[:index]
+ }
+
+ if n.neg {
+ return "-" + string(num), true
+ }
+ return string(num), true
+}
diff --git a/vendor/google.golang.org/protobuf/internal/encoding/json/decode_string.go b/vendor/google.golang.org/protobuf/internal/encoding/json/decode_string.go
new file mode 100644
index 000000000..f7fea7d8d
--- /dev/null
+++ b/vendor/google.golang.org/protobuf/internal/encoding/json/decode_string.go
@@ -0,0 +1,91 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package json
+
+import (
+ "strconv"
+ "unicode"
+ "unicode/utf16"
+ "unicode/utf8"
+
+ "google.golang.org/protobuf/internal/strs"
+)
+
+func (d *Decoder) parseString(in []byte) (string, int, error) {
+ in0 := in
+ if len(in) == 0 {
+ return "", 0, ErrUnexpectedEOF
+ }
+ if in[0] != '"' {
+ return "", 0, d.newSyntaxError(d.currPos(), "invalid character %q at start of string", in[0])
+ }
+ in = in[1:]
+ i := indexNeedEscapeInBytes(in)
+ in, out := in[i:], in[:i:i] // set cap to prevent mutations
+ for len(in) > 0 {
+ switch r, n := utf8.DecodeRune(in); {
+ case r == utf8.RuneError && n == 1:
+ return "", 0, d.newSyntaxError(d.currPos(), "invalid UTF-8 in string")
+ case r < ' ':
+ return "", 0, d.newSyntaxError(d.currPos(), "invalid character %q in string", r)
+ case r == '"':
+ in = in[1:]
+ n := len(in0) - len(in)
+ return string(out), n, nil
+ case r == '\\':
+ if len(in) < 2 {
+ return "", 0, ErrUnexpectedEOF
+ }
+ switch r := in[1]; r {
+ case '"', '\\', '/':
+ in, out = in[2:], append(out, r)
+ case 'b':
+ in, out = in[2:], append(out, '\b')
+ case 'f':
+ in, out = in[2:], append(out, '\f')
+ case 'n':
+ in, out = in[2:], append(out, '\n')
+ case 'r':
+ in, out = in[2:], append(out, '\r')
+ case 't':
+ in, out = in[2:], append(out, '\t')
+ case 'u':
+ if len(in) < 6 {
+ return "", 0, ErrUnexpectedEOF
+ }
+ v, err := strconv.ParseUint(string(in[2:6]), 16, 16)
+ if err != nil {
+ return "", 0, d.newSyntaxError(d.currPos(), "invalid escape code %q in string", in[:6])
+ }
+ in = in[6:]
+
+ r := rune(v)
+ if utf16.IsSurrogate(r) {
+ if len(in) < 6 {
+ return "", 0, ErrUnexpectedEOF
+ }
+ v, err := strconv.ParseUint(string(in[2:6]), 16, 16)
+ r = utf16.DecodeRune(r, rune(v))
+ if in[0] != '\\' || in[1] != 'u' ||
+ r == unicode.ReplacementChar || err != nil {
+ return "", 0, d.newSyntaxError(d.currPos(), "invalid escape code %q in string", in[:6])
+ }
+ in = in[6:]
+ }
+ out = append(out, string(r)...)
+ default:
+ return "", 0, d.newSyntaxError(d.currPos(), "invalid escape code %q in string", in[:2])
+ }
+ default:
+ i := indexNeedEscapeInBytes(in[n:])
+ in, out = in[n+i:], append(out, in[:n+i]...)
+ }
+ }
+ return "", 0, ErrUnexpectedEOF
+}
+
+// indexNeedEscapeInBytes returns the index of the character that needs
+// escaping. If no characters need escaping, this returns the input length.
+func indexNeedEscapeInBytes(b []byte) int { return indexNeedEscapeInString(strs.UnsafeString(b)) }
diff --git a/vendor/google.golang.org/protobuf/internal/encoding/json/decode_token.go b/vendor/google.golang.org/protobuf/internal/encoding/json/decode_token.go
new file mode 100644
index 000000000..50578d659
--- /dev/null
+++ b/vendor/google.golang.org/protobuf/internal/encoding/json/decode_token.go
@@ -0,0 +1,192 @@
+// Copyright 2019 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package json
+
+import (
+ "bytes"
+ "fmt"
+ "strconv"
+)
+
+// Kind represents a token kind expressible in the JSON format.
+type Kind uint16
+
+const (
+ Invalid Kind = (1 << iota) / 2
+ EOF
+ Null
+ Bool
+ Number
+ String
+ Name
+ ObjectOpen
+ ObjectClose
+ ArrayOpen
+ ArrayClose
+
+ // comma is only for parsing in between tokens and
+ // does not need to be exported.
+ comma
+)
+
+func (k Kind) String() string {
+ switch k {
+ case EOF:
+ return "eof"
+ case Null:
+ return "null"
+ case Bool:
+ return "bool"
+ case Number:
+ return "number"
+ case String:
+ return "string"
+ case ObjectOpen:
+ return "{"
+ case ObjectClose:
+ return "}"
+ case Name:
+ return "name"
+ case ArrayOpen:
+ return "["
+ case ArrayClose:
+ return "]"
+ case comma:
+ return ","
+ }
+ return ""
+}
+
+// Token provides a parsed token kind and value.
+//
+// Values are provided by the difference accessor methods. The accessor methods
+// Name, Bool, and ParsedString will panic if called on the wrong kind. There
+// are different accessor methods for the Number kind for converting to the
+// appropriate Go numeric type and those methods have the ok return value.
+type Token struct {
+ // Token kind.
+ kind Kind
+ // pos provides the position of the token in the original input.
+ pos int
+ // raw bytes of the serialized token.
+ // This is a subslice into the original input.
+ raw []byte
+ // boo is parsed boolean value.
+ boo bool
+ // str is parsed string value.
+ str string
+}
+
+// Kind returns the token kind.
+func (t Token) Kind() Kind {
+ return t.kind
+}
+
+// RawString returns the read value in string.
+func (t Token) RawString() string {
+ return string(t.raw)
+}
+
+// Pos returns the token position from the input.
+func (t Token) Pos() int {
+ return t.pos
+}
+
+// Name returns the object name if token is Name, else it panics.
+func (t Token) Name() string {
+ if t.kind == Name {
+ return t.str
+ }
+ panic(fmt.Sprintf("Token is not a Name: %v", t.RawString()))
+}
+
+// Bool returns the bool value if token kind is Bool, else it panics.
+func (t Token) Bool() bool {
+ if t.kind == Bool {
+ return t.boo
+ }
+ panic(fmt.Sprintf("Token is not a Bool: %v", t.RawString()))
+}
+
+// ParsedString returns the string value for a JSON string token or the read
+// value in string if token is not a string.
+func (t Token) ParsedString() string {
+ if t.kind == String {
+ return t.str
+ }
+ panic(fmt.Sprintf("Token is not a String: %v", t.RawString()))
+}
+
+// Float returns the floating-point number if token kind is Number.
+//
+// The floating-point precision is specified by the bitSize parameter: 32 for
+// float32 or 64 for float64. If bitSize=32, the result still has type float64,
+// but it will be convertible to float32 without changing its value. It will
+// return false if the number exceeds the floating point limits for given
+// bitSize.
+func (t Token) Float(bitSize int) (float64, bool) {
+ if t.kind != Number {
+ return 0, false
+ }
+ f, err := strconv.ParseFloat(t.RawString(), bitSize)
+ if err != nil {
+ return 0, false
+ }
+ return f, true
+}
+
+// Int returns the signed integer number if token is Number.
+//
+// The given bitSize specifies the integer type that the result must fit into.
+// It returns false if the number is not an integer value or if the result
+// exceeds the limits for given bitSize.
+func (t Token) Int(bitSize int) (int64, bool) {
+ s, ok := t.getIntStr()
+ if !ok {
+ return 0, false
+ }
+ n, err := strconv.ParseInt(s, 10, bitSize)
+ if err != nil {
+ return 0, false
+ }
+ return n, true
+}
+
+// Uint returns the signed integer number if token is Number.
+//
+// The given bitSize specifies the unsigned integer type that the result must
+// fit into. It returns false if the number is not an unsigned integer value
+// or if the result exceeds the limits for given bitSize.
+func (t Token) Uint(bitSize int) (uint64, bool) {
+ s, ok := t.getIntStr()
+ if !ok {
+ return 0, false
+ }
+ n, err := strconv.ParseUint(s, 10, bitSize)
+ if err != nil {
+ return 0, false
+ }
+ return n, true
+}
+
+func (t Token) getIntStr() (string, bool) {
+ if t.kind != Number {
+ return "", false
+ }
+ parts, ok := parseNumberParts(t.raw)
+ if !ok {
+ return "", false
+ }
+ return normalizeToIntString(parts)
+}
+
+// TokenEquals returns true if given Tokens are equal, else false.
+func TokenEquals(x, y Token) bool {
+ return x.kind == y.kind &&
+ x.pos == y.pos &&
+ bytes.Equal(x.raw, y.raw) &&
+ x.boo == y.boo &&
+ x.str == y.str
+}
diff --git a/vendor/google.golang.org/protobuf/internal/encoding/json/encode.go b/vendor/google.golang.org/protobuf/internal/encoding/json/encode.go
new file mode 100644
index 000000000..fbdf34873
--- /dev/null
+++ b/vendor/google.golang.org/protobuf/internal/encoding/json/encode.go
@@ -0,0 +1,276 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package json
+
+import (
+ "math"
+ "math/bits"
+ "strconv"
+ "strings"
+ "unicode/utf8"
+
+ "google.golang.org/protobuf/internal/detrand"
+ "google.golang.org/protobuf/internal/errors"
+)
+
+// kind represents an encoding type.
+type kind uint8
+
+const (
+ _ kind = (1 << iota) / 2
+ name
+ scalar
+ objectOpen
+ objectClose
+ arrayOpen
+ arrayClose
+)
+
+// Encoder provides methods to write out JSON constructs and values. The user is
+// responsible for producing valid sequences of JSON constructs and values.
+type Encoder struct {
+ indent string
+ lastKind kind
+ indents []byte
+ out []byte
+}
+
+// NewEncoder returns an Encoder.
+//
+// If indent is a non-empty string, it causes every entry for an Array or Object
+// to be preceded by the indent and trailed by a newline.
+func NewEncoder(indent string) (*Encoder, error) {
+ e := &Encoder{}
+ if len(indent) > 0 {
+ if strings.Trim(indent, " \t") != "" {
+ return nil, errors.New("indent may only be composed of space or tab characters")
+ }
+ e.indent = indent
+ }
+ return e, nil
+}
+
+// Bytes returns the content of the written bytes.
+func (e *Encoder) Bytes() []byte {
+ return e.out
+}
+
+// WriteNull writes out the null value.
+func (e *Encoder) WriteNull() {
+ e.prepareNext(scalar)
+ e.out = append(e.out, "null"...)
+}
+
+// WriteBool writes out the given boolean value.
+func (e *Encoder) WriteBool(b bool) {
+ e.prepareNext(scalar)
+ if b {
+ e.out = append(e.out, "true"...)
+ } else {
+ e.out = append(e.out, "false"...)
+ }
+}
+
+// WriteString writes out the given string in JSON string value. Returns error
+// if input string contains invalid UTF-8.
+func (e *Encoder) WriteString(s string) error {
+ e.prepareNext(scalar)
+ var err error
+ if e.out, err = appendString(e.out, s); err != nil {
+ return err
+ }
+ return nil
+}
+
+// Sentinel error used for indicating invalid UTF-8.
+var errInvalidUTF8 = errors.New("invalid UTF-8")
+
+func appendString(out []byte, in string) ([]byte, error) {
+ out = append(out, '"')
+ i := indexNeedEscapeInString(in)
+ in, out = in[i:], append(out, in[:i]...)
+ for len(in) > 0 {
+ switch r, n := utf8.DecodeRuneInString(in); {
+ case r == utf8.RuneError && n == 1:
+ return out, errInvalidUTF8
+ case r < ' ' || r == '"' || r == '\\':
+ out = append(out, '\\')
+ switch r {
+ case '"', '\\':
+ out = append(out, byte(r))
+ case '\b':
+ out = append(out, 'b')
+ case '\f':
+ out = append(out, 'f')
+ case '\n':
+ out = append(out, 'n')
+ case '\r':
+ out = append(out, 'r')
+ case '\t':
+ out = append(out, 't')
+ default:
+ out = append(out, 'u')
+ out = append(out, "0000"[1+(bits.Len32(uint32(r))-1)/4:]...)
+ out = strconv.AppendUint(out, uint64(r), 16)
+ }
+ in = in[n:]
+ default:
+ i := indexNeedEscapeInString(in[n:])
+ in, out = in[n+i:], append(out, in[:n+i]...)
+ }
+ }
+ out = append(out, '"')
+ return out, nil
+}
+
+// indexNeedEscapeInString returns the index of the character that needs
+// escaping. If no characters need escaping, this returns the input length.
+func indexNeedEscapeInString(s string) int {
+ for i, r := range s {
+ if r < ' ' || r == '\\' || r == '"' || r == utf8.RuneError {
+ return i
+ }
+ }
+ return len(s)
+}
+
+// WriteFloat writes out the given float and bitSize in JSON number value.
+func (e *Encoder) WriteFloat(n float64, bitSize int) {
+ e.prepareNext(scalar)
+ e.out = appendFloat(e.out, n, bitSize)
+}
+
+// appendFloat formats given float in bitSize, and appends to the given []byte.
+func appendFloat(out []byte, n float64, bitSize int) []byte {
+ switch {
+ case math.IsNaN(n):
+ return append(out, `"NaN"`...)
+ case math.IsInf(n, +1):
+ return append(out, `"Infinity"`...)
+ case math.IsInf(n, -1):
+ return append(out, `"-Infinity"`...)
+ }
+
+ // JSON number formatting logic based on encoding/json.
+ // See floatEncoder.encode for reference.
+ fmt := byte('f')
+ if abs := math.Abs(n); abs != 0 {
+ if bitSize == 64 && (abs < 1e-6 || abs >= 1e21) ||
+ bitSize == 32 && (float32(abs) < 1e-6 || float32(abs) >= 1e21) {
+ fmt = 'e'
+ }
+ }
+ out = strconv.AppendFloat(out, n, fmt, -1, bitSize)
+ if fmt == 'e' {
+ n := len(out)
+ if n >= 4 && out[n-4] == 'e' && out[n-3] == '-' && out[n-2] == '0' {
+ out[n-2] = out[n-1]
+ out = out[:n-1]
+ }
+ }
+ return out
+}
+
+// WriteInt writes out the given signed integer in JSON number value.
+func (e *Encoder) WriteInt(n int64) {
+ e.prepareNext(scalar)
+ e.out = append(e.out, strconv.FormatInt(n, 10)...)
+}
+
+// WriteUint writes out the given unsigned integer in JSON number value.
+func (e *Encoder) WriteUint(n uint64) {
+ e.prepareNext(scalar)
+ e.out = append(e.out, strconv.FormatUint(n, 10)...)
+}
+
+// StartObject writes out the '{' symbol.
+func (e *Encoder) StartObject() {
+ e.prepareNext(objectOpen)
+ e.out = append(e.out, '{')
+}
+
+// EndObject writes out the '}' symbol.
+func (e *Encoder) EndObject() {
+ e.prepareNext(objectClose)
+ e.out = append(e.out, '}')
+}
+
+// WriteName writes out the given string in JSON string value and the name
+// separator ':'. Returns error if input string contains invalid UTF-8, which
+// should not be likely as protobuf field names should be valid.
+func (e *Encoder) WriteName(s string) error {
+ e.prepareNext(name)
+ var err error
+ // Append to output regardless of error.
+ e.out, err = appendString(e.out, s)
+ e.out = append(e.out, ':')
+ return err
+}
+
+// StartArray writes out the '[' symbol.
+func (e *Encoder) StartArray() {
+ e.prepareNext(arrayOpen)
+ e.out = append(e.out, '[')
+}
+
+// EndArray writes out the ']' symbol.
+func (e *Encoder) EndArray() {
+ e.prepareNext(arrayClose)
+ e.out = append(e.out, ']')
+}
+
+// prepareNext adds possible comma and indentation for the next value based
+// on last type and indent option. It also updates lastKind to next.
+func (e *Encoder) prepareNext(next kind) {
+ defer func() {
+ // Set lastKind to next.
+ e.lastKind = next
+ }()
+
+ if len(e.indent) == 0 {
+ // Need to add comma on the following condition.
+ if e.lastKind&(scalar|objectClose|arrayClose) != 0 &&
+ next&(name|scalar|objectOpen|arrayOpen) != 0 {
+ e.out = append(e.out, ',')
+ // For single-line output, add a random extra space after each
+ // comma to make output unstable.
+ if detrand.Bool() {
+ e.out = append(e.out, ' ')
+ }
+ }
+ return
+ }
+
+ switch {
+ case e.lastKind&(objectOpen|arrayOpen) != 0:
+ // If next type is NOT closing, add indent and newline.
+ if next&(objectClose|arrayClose) == 0 {
+ e.indents = append(e.indents, e.indent...)
+ e.out = append(e.out, '\n')
+ e.out = append(e.out, e.indents...)
+ }
+
+ case e.lastKind&(scalar|objectClose|arrayClose) != 0:
+ switch {
+ // If next type is either a value or name, add comma and newline.
+ case next&(name|scalar|objectOpen|arrayOpen) != 0:
+ e.out = append(e.out, ',', '\n')
+
+ // If next type is a closing object or array, adjust indentation.
+ case next&(objectClose|arrayClose) != 0:
+ e.indents = e.indents[:len(e.indents)-len(e.indent)]
+ e.out = append(e.out, '\n')
+ }
+ e.out = append(e.out, e.indents...)
+
+ case e.lastKind&name != 0:
+ e.out = append(e.out, ' ')
+ // For multi-line output, add a random extra space after key: to make
+ // output unstable.
+ if detrand.Bool() {
+ e.out = append(e.out, ' ')
+ }
+ }
+}
diff --git a/vendor/google.golang.org/protobuf/types/known/structpb/struct.pb.go b/vendor/google.golang.org/protobuf/types/known/structpb/struct.pb.go
new file mode 100644
index 000000000..586690522
--- /dev/null
+++ b/vendor/google.golang.org/protobuf/types/known/structpb/struct.pb.go
@@ -0,0 +1,810 @@
+// Protocol Buffers - Google's data interchange format
+// Copyright 2008 Google Inc. All rights reserved.
+// https://developers.google.com/protocol-buffers/
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/protobuf/struct.proto
+
+// Package structpb contains generated types for google/protobuf/struct.proto.
+//
+// The messages (i.e., Value, Struct, and ListValue) defined in struct.proto are
+// used to represent arbitrary JSON. The Value message represents a JSON value,
+// the Struct message represents a JSON object, and the ListValue message
+// represents a JSON array. See https://json.org for more information.
+//
+// The Value, Struct, and ListValue types have generated MarshalJSON and
+// UnmarshalJSON methods such that they serialize JSON equivalent to what the
+// messages themselves represent. Use of these types with the
+// "google.golang.org/protobuf/encoding/protojson" package
+// ensures that they will be serialized as their JSON equivalent.
+//
+//
+// Conversion to and from a Go interface
+//
+// The standard Go "encoding/json" package has functionality to serialize
+// arbitrary types to a large degree. The Value.AsInterface, Struct.AsMap, and
+// ListValue.AsSlice methods can convert the protobuf message representation into
+// a form represented by interface{}, map[string]interface{}, and []interface{}.
+// This form can be used with other packages that operate on such data structures
+// and also directly with the standard json package.
+//
+// In order to convert the interface{}, map[string]interface{}, and []interface{}
+// forms back as Value, Struct, and ListValue messages, use the NewStruct,
+// NewList, and NewValue constructor functions.
+//
+//
+// Example usage
+//
+// Consider the following example JSON object:
+//
+// {
+// "firstName": "John",
+// "lastName": "Smith",
+// "isAlive": true,
+// "age": 27,
+// "address": {
+// "streetAddress": "21 2nd Street",
+// "city": "New York",
+// "state": "NY",
+// "postalCode": "10021-3100"
+// },
+// "phoneNumbers": [
+// {
+// "type": "home",
+// "number": "212 555-1234"
+// },
+// {
+// "type": "office",
+// "number": "646 555-4567"
+// }
+// ],
+// "children": [],
+// "spouse": null
+// }
+//
+// To construct a Value message representing the above JSON object:
+//
+// m, err := structpb.NewValue(map[string]interface{}{
+// "firstName": "John",
+// "lastName": "Smith",
+// "isAlive": true,
+// "age": 27,
+// "address": map[string]interface{}{
+// "streetAddress": "21 2nd Street",
+// "city": "New York",
+// "state": "NY",
+// "postalCode": "10021-3100",
+// },
+// "phoneNumbers": []interface{}{
+// map[string]interface{}{
+// "type": "home",
+// "number": "212 555-1234",
+// },
+// map[string]interface{}{
+// "type": "office",
+// "number": "646 555-4567",
+// },
+// },
+// "children": []interface{}{},
+// "spouse": nil,
+// })
+// if err != nil {
+// ... // handle error
+// }
+// ... // make use of m as a *structpb.Value
+//
+package structpb
+
+import (
+ base64 "encoding/base64"
+ protojson "google.golang.org/protobuf/encoding/protojson"
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ math "math"
+ reflect "reflect"
+ sync "sync"
+ utf8 "unicode/utf8"
+)
+
+// `NullValue` is a singleton enumeration to represent the null value for the
+// `Value` type union.
+//
+// The JSON representation for `NullValue` is JSON `null`.
+type NullValue int32
+
+const (
+ // Null value.
+ NullValue_NULL_VALUE NullValue = 0
+)
+
+// Enum value maps for NullValue.
+var (
+ NullValue_name = map[int32]string{
+ 0: "NULL_VALUE",
+ }
+ NullValue_value = map[string]int32{
+ "NULL_VALUE": 0,
+ }
+)
+
+func (x NullValue) Enum() *NullValue {
+ p := new(NullValue)
+ *p = x
+ return p
+}
+
+func (x NullValue) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (NullValue) Descriptor() protoreflect.EnumDescriptor {
+ return file_google_protobuf_struct_proto_enumTypes[0].Descriptor()
+}
+
+func (NullValue) Type() protoreflect.EnumType {
+ return &file_google_protobuf_struct_proto_enumTypes[0]
+}
+
+func (x NullValue) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use NullValue.Descriptor instead.
+func (NullValue) EnumDescriptor() ([]byte, []int) {
+ return file_google_protobuf_struct_proto_rawDescGZIP(), []int{0}
+}
+
+// `Struct` represents a structured data value, consisting of fields
+// which map to dynamically typed values. In some languages, `Struct`
+// might be supported by a native representation. For example, in
+// scripting languages like JS a struct is represented as an
+// object. The details of that representation are described together
+// with the proto support for the language.
+//
+// The JSON representation for `Struct` is JSON object.
+type Struct struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Unordered map of dynamically typed values.
+ Fields map[string]*Value `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+}
+
+// NewStruct constructs a Struct from a general-purpose Go map.
+// The map keys must be valid UTF-8.
+// The map values are converted using NewValue.
+func NewStruct(v map[string]interface{}) (*Struct, error) {
+ x := &Struct{Fields: make(map[string]*Value, len(v))}
+ for k, v := range v {
+ if !utf8.ValidString(k) {
+ return nil, protoimpl.X.NewError("invalid UTF-8 in string: %q", k)
+ }
+ var err error
+ x.Fields[k], err = NewValue(v)
+ if err != nil {
+ return nil, err
+ }
+ }
+ return x, nil
+}
+
+// AsMap converts x to a general-purpose Go map.
+// The map values are converted by calling Value.AsInterface.
+func (x *Struct) AsMap() map[string]interface{} {
+ vs := make(map[string]interface{})
+ for k, v := range x.GetFields() {
+ vs[k] = v.AsInterface()
+ }
+ return vs
+}
+
+func (x *Struct) MarshalJSON() ([]byte, error) {
+ return protojson.Marshal(x)
+}
+
+func (x *Struct) UnmarshalJSON(b []byte) error {
+ return protojson.Unmarshal(b, x)
+}
+
+func (x *Struct) Reset() {
+ *x = Struct{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_protobuf_struct_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Struct) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Struct) ProtoMessage() {}
+
+func (x *Struct) ProtoReflect() protoreflect.Message {
+ mi := &file_google_protobuf_struct_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Struct.ProtoReflect.Descriptor instead.
+func (*Struct) Descriptor() ([]byte, []int) {
+ return file_google_protobuf_struct_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *Struct) GetFields() map[string]*Value {
+ if x != nil {
+ return x.Fields
+ }
+ return nil
+}
+
+// `Value` represents a dynamically typed value which can be either
+// null, a number, a string, a boolean, a recursive struct value, or a
+// list of values. A producer of value is expected to set one of that
+// variants, absence of any variant indicates an error.
+//
+// The JSON representation for `Value` is JSON value.
+type Value struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The kind of value.
+ //
+ // Types that are assignable to Kind:
+ // *Value_NullValue
+ // *Value_NumberValue
+ // *Value_StringValue
+ // *Value_BoolValue
+ // *Value_StructValue
+ // *Value_ListValue
+ Kind isValue_Kind `protobuf_oneof:"kind"`
+}
+
+// NewValue constructs a Value from a general-purpose Go interface.
+//
+// ╔════════════════════════╤════════════════════════════════════════════╗
+// ║ Go type │ Conversion ║
+// ╠════════════════════════╪════════════════════════════════════════════╣
+// ║ nil │ stored as NullValue ║
+// ║ bool │ stored as BoolValue ║
+// ║ int, int32, int64 │ stored as NumberValue ║
+// ║ uint, uint32, uint64 │ stored as NumberValue ║
+// ║ float32, float64 │ stored as NumberValue ║
+// ║ string │ stored as StringValue; must be valid UTF-8 ║
+// ║ []byte │ stored as StringValue; base64-encoded ║
+// ║ map[string]interface{} │ stored as StructValue ║
+// ║ []interface{} │ stored as ListValue ║
+// ╚════════════════════════╧════════════════════════════════════════════╝
+//
+// When converting an int64 or uint64 to a NumberValue, numeric precision loss
+// is possible since they are stored as a float64.
+func NewValue(v interface{}) (*Value, error) {
+ switch v := v.(type) {
+ case nil:
+ return NewNullValue(), nil
+ case bool:
+ return NewBoolValue(v), nil
+ case int:
+ return NewNumberValue(float64(v)), nil
+ case int32:
+ return NewNumberValue(float64(v)), nil
+ case int64:
+ return NewNumberValue(float64(v)), nil
+ case uint:
+ return NewNumberValue(float64(v)), nil
+ case uint32:
+ return NewNumberValue(float64(v)), nil
+ case uint64:
+ return NewNumberValue(float64(v)), nil
+ case float32:
+ return NewNumberValue(float64(v)), nil
+ case float64:
+ return NewNumberValue(float64(v)), nil
+ case string:
+ if !utf8.ValidString(v) {
+ return nil, protoimpl.X.NewError("invalid UTF-8 in string: %q", v)
+ }
+ return NewStringValue(v), nil
+ case []byte:
+ s := base64.StdEncoding.EncodeToString(v)
+ return NewStringValue(s), nil
+ case map[string]interface{}:
+ v2, err := NewStruct(v)
+ if err != nil {
+ return nil, err
+ }
+ return NewStructValue(v2), nil
+ case []interface{}:
+ v2, err := NewList(v)
+ if err != nil {
+ return nil, err
+ }
+ return NewListValue(v2), nil
+ default:
+ return nil, protoimpl.X.NewError("invalid type: %T", v)
+ }
+}
+
+// NewNullValue constructs a new null Value.
+func NewNullValue() *Value {
+ return &Value{Kind: &Value_NullValue{NullValue: NullValue_NULL_VALUE}}
+}
+
+// NewBoolValue constructs a new boolean Value.
+func NewBoolValue(v bool) *Value {
+ return &Value{Kind: &Value_BoolValue{BoolValue: v}}
+}
+
+// NewNumberValue constructs a new number Value.
+func NewNumberValue(v float64) *Value {
+ return &Value{Kind: &Value_NumberValue{NumberValue: v}}
+}
+
+// NewStringValue constructs a new string Value.
+func NewStringValue(v string) *Value {
+ return &Value{Kind: &Value_StringValue{StringValue: v}}
+}
+
+// NewStructValue constructs a new struct Value.
+func NewStructValue(v *Struct) *Value {
+ return &Value{Kind: &Value_StructValue{StructValue: v}}
+}
+
+// NewListValue constructs a new list Value.
+func NewListValue(v *ListValue) *Value {
+ return &Value{Kind: &Value_ListValue{ListValue: v}}
+}
+
+// AsInterface converts x to a general-purpose Go interface.
+//
+// Calling Value.MarshalJSON and "encoding/json".Marshal on this output produce
+// semantically equivalent JSON (assuming no errors occur).
+//
+// Floating-point values (i.e., "NaN", "Infinity", and "-Infinity") are
+// converted as strings to remain compatible with MarshalJSON.
+func (x *Value) AsInterface() interface{} {
+ switch v := x.GetKind().(type) {
+ case *Value_NumberValue:
+ if v != nil {
+ switch {
+ case math.IsNaN(v.NumberValue):
+ return "NaN"
+ case math.IsInf(v.NumberValue, +1):
+ return "Infinity"
+ case math.IsInf(v.NumberValue, -1):
+ return "-Infinity"
+ default:
+ return v.NumberValue
+ }
+ }
+ case *Value_StringValue:
+ if v != nil {
+ return v.StringValue
+ }
+ case *Value_BoolValue:
+ if v != nil {
+ return v.BoolValue
+ }
+ case *Value_StructValue:
+ if v != nil {
+ return v.StructValue.AsMap()
+ }
+ case *Value_ListValue:
+ if v != nil {
+ return v.ListValue.AsSlice()
+ }
+ }
+ return nil
+}
+
+func (x *Value) MarshalJSON() ([]byte, error) {
+ return protojson.Marshal(x)
+}
+
+func (x *Value) UnmarshalJSON(b []byte) error {
+ return protojson.Unmarshal(b, x)
+}
+
+func (x *Value) Reset() {
+ *x = Value{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_protobuf_struct_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Value) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Value) ProtoMessage() {}
+
+func (x *Value) ProtoReflect() protoreflect.Message {
+ mi := &file_google_protobuf_struct_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Value.ProtoReflect.Descriptor instead.
+func (*Value) Descriptor() ([]byte, []int) {
+ return file_google_protobuf_struct_proto_rawDescGZIP(), []int{1}
+}
+
+func (m *Value) GetKind() isValue_Kind {
+ if m != nil {
+ return m.Kind
+ }
+ return nil
+}
+
+func (x *Value) GetNullValue() NullValue {
+ if x, ok := x.GetKind().(*Value_NullValue); ok {
+ return x.NullValue
+ }
+ return NullValue_NULL_VALUE
+}
+
+func (x *Value) GetNumberValue() float64 {
+ if x, ok := x.GetKind().(*Value_NumberValue); ok {
+ return x.NumberValue
+ }
+ return 0
+}
+
+func (x *Value) GetStringValue() string {
+ if x, ok := x.GetKind().(*Value_StringValue); ok {
+ return x.StringValue
+ }
+ return ""
+}
+
+func (x *Value) GetBoolValue() bool {
+ if x, ok := x.GetKind().(*Value_BoolValue); ok {
+ return x.BoolValue
+ }
+ return false
+}
+
+func (x *Value) GetStructValue() *Struct {
+ if x, ok := x.GetKind().(*Value_StructValue); ok {
+ return x.StructValue
+ }
+ return nil
+}
+
+func (x *Value) GetListValue() *ListValue {
+ if x, ok := x.GetKind().(*Value_ListValue); ok {
+ return x.ListValue
+ }
+ return nil
+}
+
+type isValue_Kind interface {
+ isValue_Kind()
+}
+
+type Value_NullValue struct {
+ // Represents a null value.
+ NullValue NullValue `protobuf:"varint,1,opt,name=null_value,json=nullValue,proto3,enum=google.protobuf.NullValue,oneof"`
+}
+
+type Value_NumberValue struct {
+ // Represents a double value.
+ NumberValue float64 `protobuf:"fixed64,2,opt,name=number_value,json=numberValue,proto3,oneof"`
+}
+
+type Value_StringValue struct {
+ // Represents a string value.
+ StringValue string `protobuf:"bytes,3,opt,name=string_value,json=stringValue,proto3,oneof"`
+}
+
+type Value_BoolValue struct {
+ // Represents a boolean value.
+ BoolValue bool `protobuf:"varint,4,opt,name=bool_value,json=boolValue,proto3,oneof"`
+}
+
+type Value_StructValue struct {
+ // Represents a structured value.
+ StructValue *Struct `protobuf:"bytes,5,opt,name=struct_value,json=structValue,proto3,oneof"`
+}
+
+type Value_ListValue struct {
+ // Represents a repeated `Value`.
+ ListValue *ListValue `protobuf:"bytes,6,opt,name=list_value,json=listValue,proto3,oneof"`
+}
+
+func (*Value_NullValue) isValue_Kind() {}
+
+func (*Value_NumberValue) isValue_Kind() {}
+
+func (*Value_StringValue) isValue_Kind() {}
+
+func (*Value_BoolValue) isValue_Kind() {}
+
+func (*Value_StructValue) isValue_Kind() {}
+
+func (*Value_ListValue) isValue_Kind() {}
+
+// `ListValue` is a wrapper around a repeated field of values.
+//
+// The JSON representation for `ListValue` is JSON array.
+type ListValue struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Repeated field of dynamically typed values.
+ Values []*Value `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"`
+}
+
+// NewList constructs a ListValue from a general-purpose Go slice.
+// The slice elements are converted using NewValue.
+func NewList(v []interface{}) (*ListValue, error) {
+ x := &ListValue{Values: make([]*Value, len(v))}
+ for i, v := range v {
+ var err error
+ x.Values[i], err = NewValue(v)
+ if err != nil {
+ return nil, err
+ }
+ }
+ return x, nil
+}
+
+// AsSlice converts x to a general-purpose Go slice.
+// The slice elements are converted by calling Value.AsInterface.
+func (x *ListValue) AsSlice() []interface{} {
+ vs := make([]interface{}, len(x.GetValues()))
+ for i, v := range x.GetValues() {
+ vs[i] = v.AsInterface()
+ }
+ return vs
+}
+
+func (x *ListValue) MarshalJSON() ([]byte, error) {
+ return protojson.Marshal(x)
+}
+
+func (x *ListValue) UnmarshalJSON(b []byte) error {
+ return protojson.Unmarshal(b, x)
+}
+
+func (x *ListValue) Reset() {
+ *x = ListValue{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_protobuf_struct_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ListValue) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ListValue) ProtoMessage() {}
+
+func (x *ListValue) ProtoReflect() protoreflect.Message {
+ mi := &file_google_protobuf_struct_proto_msgTypes[2]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ListValue.ProtoReflect.Descriptor instead.
+func (*ListValue) Descriptor() ([]byte, []int) {
+ return file_google_protobuf_struct_proto_rawDescGZIP(), []int{2}
+}
+
+func (x *ListValue) GetValues() []*Value {
+ if x != nil {
+ return x.Values
+ }
+ return nil
+}
+
+var File_google_protobuf_struct_proto protoreflect.FileDescriptor
+
+var file_google_protobuf_struct_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x22,
+ 0x98, 0x01, 0x0a, 0x06, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x66, 0x69,
+ 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72,
+ 0x75, 0x63, 0x74, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
+ 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x1a, 0x51, 0x0a, 0x0b, 0x46, 0x69, 0x65, 0x6c, 0x64,
+ 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb2, 0x02, 0x0a, 0x05, 0x56,
+ 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x56,
+ 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x09, 0x6e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x62, 0x65,
+ 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
+ 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b,
+ 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x62,
+ 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48,
+ 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3c, 0x0a, 0x0c,
+ 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x73,
+ 0x74, 0x72, 0x75, 0x63, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x6c, 0x69,
+ 0x73, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x09, 0x6c, 0x69,
+ 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22,
+ 0x3b, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2e, 0x0a, 0x06,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56,
+ 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2a, 0x1b, 0x0a, 0x09,
+ 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x55, 0x4c,
+ 0x4c, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x00, 0x42, 0x7f, 0x0a, 0x13, 0x63, 0x6f, 0x6d,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x42, 0x0b, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a,
+ 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f,
+ 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x79, 0x70, 0x65,
+ 0x73, 0x2f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x70, 0x62,
+ 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x03, 0x47, 0x50, 0x42, 0xaa, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x57, 0x65, 0x6c, 0x6c,
+ 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_google_protobuf_struct_proto_rawDescOnce sync.Once
+ file_google_protobuf_struct_proto_rawDescData = file_google_protobuf_struct_proto_rawDesc
+)
+
+func file_google_protobuf_struct_proto_rawDescGZIP() []byte {
+ file_google_protobuf_struct_proto_rawDescOnce.Do(func() {
+ file_google_protobuf_struct_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_protobuf_struct_proto_rawDescData)
+ })
+ return file_google_protobuf_struct_proto_rawDescData
+}
+
+var file_google_protobuf_struct_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_google_protobuf_struct_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
+var file_google_protobuf_struct_proto_goTypes = []interface{}{
+ (NullValue)(0), // 0: google.protobuf.NullValue
+ (*Struct)(nil), // 1: google.protobuf.Struct
+ (*Value)(nil), // 2: google.protobuf.Value
+ (*ListValue)(nil), // 3: google.protobuf.ListValue
+ nil, // 4: google.protobuf.Struct.FieldsEntry
+}
+var file_google_protobuf_struct_proto_depIdxs = []int32{
+ 4, // 0: google.protobuf.Struct.fields:type_name -> google.protobuf.Struct.FieldsEntry
+ 0, // 1: google.protobuf.Value.null_value:type_name -> google.protobuf.NullValue
+ 1, // 2: google.protobuf.Value.struct_value:type_name -> google.protobuf.Struct
+ 3, // 3: google.protobuf.Value.list_value:type_name -> google.protobuf.ListValue
+ 2, // 4: google.protobuf.ListValue.values:type_name -> google.protobuf.Value
+ 2, // 5: google.protobuf.Struct.FieldsEntry.value:type_name -> google.protobuf.Value
+ 6, // [6:6] is the sub-list for method output_type
+ 6, // [6:6] is the sub-list for method input_type
+ 6, // [6:6] is the sub-list for extension type_name
+ 6, // [6:6] is the sub-list for extension extendee
+ 0, // [0:6] is the sub-list for field type_name
+}
+
+func init() { file_google_protobuf_struct_proto_init() }
+func file_google_protobuf_struct_proto_init() {
+ if File_google_protobuf_struct_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_google_protobuf_struct_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Struct); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_protobuf_struct_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Value); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_protobuf_struct_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ListValue); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_google_protobuf_struct_proto_msgTypes[1].OneofWrappers = []interface{}{
+ (*Value_NullValue)(nil),
+ (*Value_NumberValue)(nil),
+ (*Value_StringValue)(nil),
+ (*Value_BoolValue)(nil),
+ (*Value_StructValue)(nil),
+ (*Value_ListValue)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_google_protobuf_struct_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 4,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_google_protobuf_struct_proto_goTypes,
+ DependencyIndexes: file_google_protobuf_struct_proto_depIdxs,
+ EnumInfos: file_google_protobuf_struct_proto_enumTypes,
+ MessageInfos: file_google_protobuf_struct_proto_msgTypes,
+ }.Build()
+ File_google_protobuf_struct_proto = out.File
+ file_google_protobuf_struct_proto_rawDesc = nil
+ file_google_protobuf_struct_proto_goTypes = nil
+ file_google_protobuf_struct_proto_depIdxs = nil
+}
diff --git a/vendor/google.golang.org/protobuf/types/known/wrapperspb/wrappers.pb.go b/vendor/google.golang.org/protobuf/types/known/wrapperspb/wrappers.pb.go
new file mode 100644
index 000000000..895a8049e
--- /dev/null
+++ b/vendor/google.golang.org/protobuf/types/known/wrapperspb/wrappers.pb.go
@@ -0,0 +1,760 @@
+// Protocol Buffers - Google's data interchange format
+// Copyright 2008 Google Inc. All rights reserved.
+// https://developers.google.com/protocol-buffers/
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+// Wrappers for primitive (non-message) types. These types are useful
+// for embedding primitives in the `google.protobuf.Any` type and for places
+// where we need to distinguish between the absence of a primitive
+// typed field and its default value.
+//
+// These wrappers have no meaningful use within repeated fields as they lack
+// the ability to detect presence on individual elements.
+// These wrappers have no meaningful use within a map or a oneof since
+// individual entries of a map or fields of a oneof can already detect presence.
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/protobuf/wrappers.proto
+
+package wrapperspb
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+// Wrapper message for `double`.
+//
+// The JSON representation for `DoubleValue` is JSON number.
+type DoubleValue struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The double value.
+ Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"`
+}
+
+// Double stores v in a new DoubleValue and returns a pointer to it.
+func Double(v float64) *DoubleValue {
+ return &DoubleValue{Value: v}
+}
+
+func (x *DoubleValue) Reset() {
+ *x = DoubleValue{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_protobuf_wrappers_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DoubleValue) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DoubleValue) ProtoMessage() {}
+
+func (x *DoubleValue) ProtoReflect() protoreflect.Message {
+ mi := &file_google_protobuf_wrappers_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DoubleValue.ProtoReflect.Descriptor instead.
+func (*DoubleValue) Descriptor() ([]byte, []int) {
+ return file_google_protobuf_wrappers_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DoubleValue) GetValue() float64 {
+ if x != nil {
+ return x.Value
+ }
+ return 0
+}
+
+// Wrapper message for `float`.
+//
+// The JSON representation for `FloatValue` is JSON number.
+type FloatValue struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The float value.
+ Value float32 `protobuf:"fixed32,1,opt,name=value,proto3" json:"value,omitempty"`
+}
+
+// Float stores v in a new FloatValue and returns a pointer to it.
+func Float(v float32) *FloatValue {
+ return &FloatValue{Value: v}
+}
+
+func (x *FloatValue) Reset() {
+ *x = FloatValue{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_protobuf_wrappers_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FloatValue) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FloatValue) ProtoMessage() {}
+
+func (x *FloatValue) ProtoReflect() protoreflect.Message {
+ mi := &file_google_protobuf_wrappers_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FloatValue.ProtoReflect.Descriptor instead.
+func (*FloatValue) Descriptor() ([]byte, []int) {
+ return file_google_protobuf_wrappers_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *FloatValue) GetValue() float32 {
+ if x != nil {
+ return x.Value
+ }
+ return 0
+}
+
+// Wrapper message for `int64`.
+//
+// The JSON representation for `Int64Value` is JSON string.
+type Int64Value struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The int64 value.
+ Value int64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
+}
+
+// Int64 stores v in a new Int64Value and returns a pointer to it.
+func Int64(v int64) *Int64Value {
+ return &Int64Value{Value: v}
+}
+
+func (x *Int64Value) Reset() {
+ *x = Int64Value{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_protobuf_wrappers_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Int64Value) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Int64Value) ProtoMessage() {}
+
+func (x *Int64Value) ProtoReflect() protoreflect.Message {
+ mi := &file_google_protobuf_wrappers_proto_msgTypes[2]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Int64Value.ProtoReflect.Descriptor instead.
+func (*Int64Value) Descriptor() ([]byte, []int) {
+ return file_google_protobuf_wrappers_proto_rawDescGZIP(), []int{2}
+}
+
+func (x *Int64Value) GetValue() int64 {
+ if x != nil {
+ return x.Value
+ }
+ return 0
+}
+
+// Wrapper message for `uint64`.
+//
+// The JSON representation for `UInt64Value` is JSON string.
+type UInt64Value struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The uint64 value.
+ Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
+}
+
+// UInt64 stores v in a new UInt64Value and returns a pointer to it.
+func UInt64(v uint64) *UInt64Value {
+ return &UInt64Value{Value: v}
+}
+
+func (x *UInt64Value) Reset() {
+ *x = UInt64Value{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_protobuf_wrappers_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UInt64Value) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UInt64Value) ProtoMessage() {}
+
+func (x *UInt64Value) ProtoReflect() protoreflect.Message {
+ mi := &file_google_protobuf_wrappers_proto_msgTypes[3]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UInt64Value.ProtoReflect.Descriptor instead.
+func (*UInt64Value) Descriptor() ([]byte, []int) {
+ return file_google_protobuf_wrappers_proto_rawDescGZIP(), []int{3}
+}
+
+func (x *UInt64Value) GetValue() uint64 {
+ if x != nil {
+ return x.Value
+ }
+ return 0
+}
+
+// Wrapper message for `int32`.
+//
+// The JSON representation for `Int32Value` is JSON number.
+type Int32Value struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The int32 value.
+ Value int32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
+}
+
+// Int32 stores v in a new Int32Value and returns a pointer to it.
+func Int32(v int32) *Int32Value {
+ return &Int32Value{Value: v}
+}
+
+func (x *Int32Value) Reset() {
+ *x = Int32Value{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_protobuf_wrappers_proto_msgTypes[4]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Int32Value) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Int32Value) ProtoMessage() {}
+
+func (x *Int32Value) ProtoReflect() protoreflect.Message {
+ mi := &file_google_protobuf_wrappers_proto_msgTypes[4]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Int32Value.ProtoReflect.Descriptor instead.
+func (*Int32Value) Descriptor() ([]byte, []int) {
+ return file_google_protobuf_wrappers_proto_rawDescGZIP(), []int{4}
+}
+
+func (x *Int32Value) GetValue() int32 {
+ if x != nil {
+ return x.Value
+ }
+ return 0
+}
+
+// Wrapper message for `uint32`.
+//
+// The JSON representation for `UInt32Value` is JSON number.
+type UInt32Value struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The uint32 value.
+ Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
+}
+
+// UInt32 stores v in a new UInt32Value and returns a pointer to it.
+func UInt32(v uint32) *UInt32Value {
+ return &UInt32Value{Value: v}
+}
+
+func (x *UInt32Value) Reset() {
+ *x = UInt32Value{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_protobuf_wrappers_proto_msgTypes[5]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UInt32Value) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UInt32Value) ProtoMessage() {}
+
+func (x *UInt32Value) ProtoReflect() protoreflect.Message {
+ mi := &file_google_protobuf_wrappers_proto_msgTypes[5]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UInt32Value.ProtoReflect.Descriptor instead.
+func (*UInt32Value) Descriptor() ([]byte, []int) {
+ return file_google_protobuf_wrappers_proto_rawDescGZIP(), []int{5}
+}
+
+func (x *UInt32Value) GetValue() uint32 {
+ if x != nil {
+ return x.Value
+ }
+ return 0
+}
+
+// Wrapper message for `bool`.
+//
+// The JSON representation for `BoolValue` is JSON `true` and `false`.
+type BoolValue struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The bool value.
+ Value bool `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
+}
+
+// Bool stores v in a new BoolValue and returns a pointer to it.
+func Bool(v bool) *BoolValue {
+ return &BoolValue{Value: v}
+}
+
+func (x *BoolValue) Reset() {
+ *x = BoolValue{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_protobuf_wrappers_proto_msgTypes[6]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BoolValue) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BoolValue) ProtoMessage() {}
+
+func (x *BoolValue) ProtoReflect() protoreflect.Message {
+ mi := &file_google_protobuf_wrappers_proto_msgTypes[6]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BoolValue.ProtoReflect.Descriptor instead.
+func (*BoolValue) Descriptor() ([]byte, []int) {
+ return file_google_protobuf_wrappers_proto_rawDescGZIP(), []int{6}
+}
+
+func (x *BoolValue) GetValue() bool {
+ if x != nil {
+ return x.Value
+ }
+ return false
+}
+
+// Wrapper message for `string`.
+//
+// The JSON representation for `StringValue` is JSON string.
+type StringValue struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The string value.
+ Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
+}
+
+// String stores v in a new StringValue and returns a pointer to it.
+func String(v string) *StringValue {
+ return &StringValue{Value: v}
+}
+
+func (x *StringValue) Reset() {
+ *x = StringValue{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_protobuf_wrappers_proto_msgTypes[7]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StringValue) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StringValue) ProtoMessage() {}
+
+func (x *StringValue) ProtoReflect() protoreflect.Message {
+ mi := &file_google_protobuf_wrappers_proto_msgTypes[7]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StringValue.ProtoReflect.Descriptor instead.
+func (*StringValue) Descriptor() ([]byte, []int) {
+ return file_google_protobuf_wrappers_proto_rawDescGZIP(), []int{7}
+}
+
+func (x *StringValue) GetValue() string {
+ if x != nil {
+ return x.Value
+ }
+ return ""
+}
+
+// Wrapper message for `bytes`.
+//
+// The JSON representation for `BytesValue` is JSON string.
+type BytesValue struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The bytes value.
+ Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
+}
+
+// Bytes stores v in a new BytesValue and returns a pointer to it.
+func Bytes(v []byte) *BytesValue {
+ return &BytesValue{Value: v}
+}
+
+func (x *BytesValue) Reset() {
+ *x = BytesValue{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_protobuf_wrappers_proto_msgTypes[8]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BytesValue) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BytesValue) ProtoMessage() {}
+
+func (x *BytesValue) ProtoReflect() protoreflect.Message {
+ mi := &file_google_protobuf_wrappers_proto_msgTypes[8]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BytesValue.ProtoReflect.Descriptor instead.
+func (*BytesValue) Descriptor() ([]byte, []int) {
+ return file_google_protobuf_wrappers_proto_rawDescGZIP(), []int{8}
+}
+
+func (x *BytesValue) GetValue() []byte {
+ if x != nil {
+ return x.Value
+ }
+ return nil
+}
+
+var File_google_protobuf_wrappers_proto protoreflect.FileDescriptor
+
+var file_google_protobuf_wrappers_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x0f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x22, 0x23, 0x0a, 0x0b, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65,
+ 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x22, 0x0a, 0x0a, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56,
+ 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x22, 0x0a, 0x0a, 0x49, 0x6e,
+ 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x23,
+ 0x0a, 0x0b, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x22, 0x22, 0x0a, 0x0a, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x23, 0x0a, 0x0b, 0x55, 0x49, 0x6e, 0x74, 0x33,
+ 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x21, 0x0a, 0x09,
+ 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22,
+ 0x23, 0x0a, 0x0b, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14,
+ 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x22, 0x22, 0x0a, 0x0a, 0x42, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c,
+ 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x83, 0x01, 0x0a, 0x13, 0x63, 0x6f, 0x6d,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x42, 0x0d, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50,
+ 0x01, 0x5a, 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67,
+ 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x79,
+ 0x70, 0x65, 0x73, 0x2f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65,
+ 0x72, 0x73, 0x70, 0x62, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x03, 0x47, 0x50, 0x42, 0xaa, 0x02, 0x1e,
+ 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x57, 0x65, 0x6c, 0x6c, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_google_protobuf_wrappers_proto_rawDescOnce sync.Once
+ file_google_protobuf_wrappers_proto_rawDescData = file_google_protobuf_wrappers_proto_rawDesc
+)
+
+func file_google_protobuf_wrappers_proto_rawDescGZIP() []byte {
+ file_google_protobuf_wrappers_proto_rawDescOnce.Do(func() {
+ file_google_protobuf_wrappers_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_protobuf_wrappers_proto_rawDescData)
+ })
+ return file_google_protobuf_wrappers_proto_rawDescData
+}
+
+var file_google_protobuf_wrappers_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
+var file_google_protobuf_wrappers_proto_goTypes = []interface{}{
+ (*DoubleValue)(nil), // 0: google.protobuf.DoubleValue
+ (*FloatValue)(nil), // 1: google.protobuf.FloatValue
+ (*Int64Value)(nil), // 2: google.protobuf.Int64Value
+ (*UInt64Value)(nil), // 3: google.protobuf.UInt64Value
+ (*Int32Value)(nil), // 4: google.protobuf.Int32Value
+ (*UInt32Value)(nil), // 5: google.protobuf.UInt32Value
+ (*BoolValue)(nil), // 6: google.protobuf.BoolValue
+ (*StringValue)(nil), // 7: google.protobuf.StringValue
+ (*BytesValue)(nil), // 8: google.protobuf.BytesValue
+}
+var file_google_protobuf_wrappers_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_google_protobuf_wrappers_proto_init() }
+func file_google_protobuf_wrappers_proto_init() {
+ if File_google_protobuf_wrappers_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_google_protobuf_wrappers_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DoubleValue); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_protobuf_wrappers_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FloatValue); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_protobuf_wrappers_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Int64Value); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_protobuf_wrappers_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UInt64Value); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_protobuf_wrappers_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Int32Value); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_protobuf_wrappers_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UInt32Value); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_protobuf_wrappers_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BoolValue); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_protobuf_wrappers_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StringValue); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_protobuf_wrappers_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BytesValue); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_google_protobuf_wrappers_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 9,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_google_protobuf_wrappers_proto_goTypes,
+ DependencyIndexes: file_google_protobuf_wrappers_proto_depIdxs,
+ MessageInfos: file_google_protobuf_wrappers_proto_msgTypes,
+ }.Build()
+ File_google_protobuf_wrappers_proto = out.File
+ file_google_protobuf_wrappers_proto_rawDesc = nil
+ file_google_protobuf_wrappers_proto_goTypes = nil
+ file_google_protobuf_wrappers_proto_depIdxs = nil
+}
diff --git a/vendor/istio.io/api/analysis/v1alpha1/message.pb.go b/vendor/istio.io/api/analysis/v1alpha1/message.pb.go
index f833aefb3..411f14cc5 100644
--- a/vendor/istio.io/api/analysis/v1alpha1/message.pb.go
+++ b/vendor/istio.io/api/analysis/v1alpha1/message.pb.go
@@ -1,66 +1,108 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
+// Copyright 2019 Istio 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-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.27.1
+// protoc (unknown)
// source: analysis/v1alpha1/message.proto
+// $title: Analysis Messages
+// $description: Describes the structure of messages generated by Istio analyzers.
+// $location: https://istio.io/docs/reference/config/istio.analysis.v1alpha1.html
+// $weight: 20
+
// Describes the structure of messages generated by Istio analyzers.
package v1alpha1
import (
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- types "github.com/gogo/protobuf/types"
- io "io"
- math "math"
- math_bits "math/bits"
+ _struct "github.com/golang/protobuf/ptypes/struct"
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
)
-// 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.GoGoProtoPackageIsVersion3 // please upgrade the proto package
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
// The values here are chosen so that more severe messages get sorted higher,
// as well as leaving space in between to add more later
type AnalysisMessageBase_Level int32
const (
- AnalysisMessageBase_UNKNOWN AnalysisMessageBase_Level = 0
+ AnalysisMessageBase_UNKNOWN AnalysisMessageBase_Level = 0 // invalid, but included for proto compatibility for 0 values
AnalysisMessageBase_ERROR AnalysisMessageBase_Level = 3
AnalysisMessageBase_WARNING AnalysisMessageBase_Level = 8
AnalysisMessageBase_INFO AnalysisMessageBase_Level = 12
)
-var AnalysisMessageBase_Level_name = map[int32]string{
- 0: "UNKNOWN",
- 3: "ERROR",
- 8: "WARNING",
- 12: "INFO",
-}
+// Enum value maps for AnalysisMessageBase_Level.
+var (
+ AnalysisMessageBase_Level_name = map[int32]string{
+ 0: "UNKNOWN",
+ 3: "ERROR",
+ 8: "WARNING",
+ 12: "INFO",
+ }
+ AnalysisMessageBase_Level_value = map[string]int32{
+ "UNKNOWN": 0,
+ "ERROR": 3,
+ "WARNING": 8,
+ "INFO": 12,
+ }
+)
-var AnalysisMessageBase_Level_value = map[string]int32{
- "UNKNOWN": 0,
- "ERROR": 3,
- "WARNING": 8,
- "INFO": 12,
+func (x AnalysisMessageBase_Level) Enum() *AnalysisMessageBase_Level {
+ p := new(AnalysisMessageBase_Level)
+ *p = x
+ return p
}
func (x AnalysisMessageBase_Level) String() string {
- return proto.EnumName(AnalysisMessageBase_Level_name, int32(x))
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (AnalysisMessageBase_Level) Descriptor() protoreflect.EnumDescriptor {
+ return file_analysis_v1alpha1_message_proto_enumTypes[0].Descriptor()
+}
+
+func (AnalysisMessageBase_Level) Type() protoreflect.EnumType {
+ return &file_analysis_v1alpha1_message_proto_enumTypes[0]
+}
+
+func (x AnalysisMessageBase_Level) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
}
+// Deprecated: Use AnalysisMessageBase_Level.Descriptor instead.
func (AnalysisMessageBase_Level) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_4d6fd1414dfe3800, []int{0, 0}
+ return file_analysis_v1alpha1_message_proto_rawDescGZIP(), []int{0, 0}
}
// AnalysisMessageBase describes some common information that is needed for all
// messages. All information should be static with respect to the error code.
type AnalysisMessageBase struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
Type *AnalysisMessageBase_Type `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
// Represents how severe a message is. Required.
Level AnalysisMessageBase_Level `protobuf:"varint,2,opt,name=level,proto3,enum=istio.analysis.v1alpha1.AnalysisMessageBase_Level" json:"level,omitempty"`
@@ -68,127 +110,58 @@ type AnalysisMessageBase struct {
// Should be of the form
// `^http(s)?://(preliminary\.)?istio.io/docs/reference/config/analysis/`
// Required.
- DocumentationUrl string `protobuf:"bytes,3,opt,name=documentation_url,json=documentationUrl,proto3" json:"documentation_url,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ DocumentationUrl string `protobuf:"bytes,3,opt,name=documentation_url,json=documentationUrl,proto3" json:"documentation_url,omitempty"`
}
-func (m *AnalysisMessageBase) Reset() { *m = AnalysisMessageBase{} }
-func (m *AnalysisMessageBase) String() string { return proto.CompactTextString(m) }
-func (*AnalysisMessageBase) ProtoMessage() {}
-func (*AnalysisMessageBase) Descriptor() ([]byte, []int) {
- return fileDescriptor_4d6fd1414dfe3800, []int{0}
-}
-func (m *AnalysisMessageBase) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *AnalysisMessageBase) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_AnalysisMessageBase.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *AnalysisMessageBase) Reset() {
+ *x = AnalysisMessageBase{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_analysis_v1alpha1_message_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *AnalysisMessageBase) XXX_Merge(src proto.Message) {
- xxx_messageInfo_AnalysisMessageBase.Merge(m, src)
-}
-func (m *AnalysisMessageBase) XXX_Size() int {
- return m.Size()
-}
-func (m *AnalysisMessageBase) XXX_DiscardUnknown() {
- xxx_messageInfo_AnalysisMessageBase.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_AnalysisMessageBase proto.InternalMessageInfo
-func (m *AnalysisMessageBase) GetType() *AnalysisMessageBase_Type {
- if m != nil {
- return m.Type
- }
- return nil
+func (x *AnalysisMessageBase) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *AnalysisMessageBase) GetLevel() AnalysisMessageBase_Level {
- if m != nil {
- return m.Level
- }
- return AnalysisMessageBase_UNKNOWN
-}
+func (*AnalysisMessageBase) ProtoMessage() {}
-func (m *AnalysisMessageBase) GetDocumentationUrl() string {
- if m != nil {
- return m.DocumentationUrl
+func (x *AnalysisMessageBase) ProtoReflect() protoreflect.Message {
+ mi := &file_analysis_v1alpha1_message_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
}
- return ""
+ return mi.MessageOf(x)
}
-// A unique identifier for the type of message. Name is intended to be
-// human-readable, code is intended to be machine readable. There should be a
-// one-to-one mapping between name and code. (i.e. do not re-use names or
-// codes between message types.)
-type AnalysisMessageBase_Type struct {
- // A human-readable name for the message type. e.g. "InternalError",
- // "PodMissingProxy". This should be the same for all messages of the same type.
- // Required.
- Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- // A 7 character code matching `^IST[0-9]{4}$` intended to uniquely identify
- // the message type. (e.g. "IST0001" is mapped to the "InternalError" message
- // type.) 0000-0100 are reserved. Required.
- Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+// Deprecated: Use AnalysisMessageBase.ProtoReflect.Descriptor instead.
+func (*AnalysisMessageBase) Descriptor() ([]byte, []int) {
+ return file_analysis_v1alpha1_message_proto_rawDescGZIP(), []int{0}
}
-func (m *AnalysisMessageBase_Type) Reset() { *m = AnalysisMessageBase_Type{} }
-func (m *AnalysisMessageBase_Type) String() string { return proto.CompactTextString(m) }
-func (*AnalysisMessageBase_Type) ProtoMessage() {}
-func (*AnalysisMessageBase_Type) Descriptor() ([]byte, []int) {
- return fileDescriptor_4d6fd1414dfe3800, []int{0, 0}
-}
-func (m *AnalysisMessageBase_Type) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *AnalysisMessageBase_Type) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_AnalysisMessageBase_Type.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *AnalysisMessageBase) GetType() *AnalysisMessageBase_Type {
+ if x != nil {
+ return x.Type
}
+ return nil
}
-func (m *AnalysisMessageBase_Type) XXX_Merge(src proto.Message) {
- xxx_messageInfo_AnalysisMessageBase_Type.Merge(m, src)
-}
-func (m *AnalysisMessageBase_Type) XXX_Size() int {
- return m.Size()
-}
-func (m *AnalysisMessageBase_Type) XXX_DiscardUnknown() {
- xxx_messageInfo_AnalysisMessageBase_Type.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_AnalysisMessageBase_Type proto.InternalMessageInfo
-func (m *AnalysisMessageBase_Type) GetName() string {
- if m != nil {
- return m.Name
+func (x *AnalysisMessageBase) GetLevel() AnalysisMessageBase_Level {
+ if x != nil {
+ return x.Level
}
- return ""
+ return AnalysisMessageBase_UNKNOWN
}
-func (m *AnalysisMessageBase_Type) GetCode() string {
- if m != nil {
- return m.Code
+func (x *AnalysisMessageBase) GetDocumentationUrl() string {
+ if x != nil {
+ return x.DocumentationUrl
}
return ""
}
@@ -198,6 +171,10 @@ func (m *AnalysisMessageBase_Type) GetCode() string {
// validating istio/istio/galley/pkg/config/analysis/msg/messages.yaml to make
// sure that we don't allow committing underspecified types.
type AnalysisMessageWeakSchema struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Required
MessageBase *AnalysisMessageBase `protobuf:"bytes,1,opt,name=message_base,json=messageBase,proto3" json:"message_base,omitempty"`
// A human readable description of what the error means. Required.
@@ -207,131 +184,67 @@ type AnalysisMessageWeakSchema struct {
// Required.
Template string `protobuf:"bytes,3,opt,name=template,proto3" json:"template,omitempty"`
// A description of the arguments for a particular message type
- Args []*AnalysisMessageWeakSchema_ArgType `protobuf:"bytes,4,rep,name=args,proto3" json:"args,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Args []*AnalysisMessageWeakSchema_ArgType `protobuf:"bytes,4,rep,name=args,proto3" json:"args,omitempty"`
}
-func (m *AnalysisMessageWeakSchema) Reset() { *m = AnalysisMessageWeakSchema{} }
-func (m *AnalysisMessageWeakSchema) String() string { return proto.CompactTextString(m) }
-func (*AnalysisMessageWeakSchema) ProtoMessage() {}
-func (*AnalysisMessageWeakSchema) Descriptor() ([]byte, []int) {
- return fileDescriptor_4d6fd1414dfe3800, []int{1}
-}
-func (m *AnalysisMessageWeakSchema) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *AnalysisMessageWeakSchema) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_AnalysisMessageWeakSchema.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *AnalysisMessageWeakSchema) Reset() {
+ *x = AnalysisMessageWeakSchema{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_analysis_v1alpha1_message_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *AnalysisMessageWeakSchema) XXX_Merge(src proto.Message) {
- xxx_messageInfo_AnalysisMessageWeakSchema.Merge(m, src)
-}
-func (m *AnalysisMessageWeakSchema) XXX_Size() int {
- return m.Size()
-}
-func (m *AnalysisMessageWeakSchema) XXX_DiscardUnknown() {
- xxx_messageInfo_AnalysisMessageWeakSchema.DiscardUnknown(m)
-}
-var xxx_messageInfo_AnalysisMessageWeakSchema proto.InternalMessageInfo
-
-func (m *AnalysisMessageWeakSchema) GetMessageBase() *AnalysisMessageBase {
- if m != nil {
- return m.MessageBase
- }
- return nil
+func (x *AnalysisMessageWeakSchema) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *AnalysisMessageWeakSchema) GetDescription() string {
- if m != nil {
- return m.Description
+func (*AnalysisMessageWeakSchema) ProtoMessage() {}
+
+func (x *AnalysisMessageWeakSchema) ProtoReflect() protoreflect.Message {
+ mi := &file_analysis_v1alpha1_message_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
}
- return ""
+ return mi.MessageOf(x)
}
-func (m *AnalysisMessageWeakSchema) GetTemplate() string {
- if m != nil {
- return m.Template
- }
- return ""
+// Deprecated: Use AnalysisMessageWeakSchema.ProtoReflect.Descriptor instead.
+func (*AnalysisMessageWeakSchema) Descriptor() ([]byte, []int) {
+ return file_analysis_v1alpha1_message_proto_rawDescGZIP(), []int{1}
}
-func (m *AnalysisMessageWeakSchema) GetArgs() []*AnalysisMessageWeakSchema_ArgType {
- if m != nil {
- return m.Args
+func (x *AnalysisMessageWeakSchema) GetMessageBase() *AnalysisMessageBase {
+ if x != nil {
+ return x.MessageBase
}
return nil
}
-type AnalysisMessageWeakSchema_ArgType struct {
- // Required
- Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- // Required. Should be a golang type, used in code generation.
- // Ideally this will change to a less language-pinned type before this gets
- // out of alpha, but for compatibility with current istio/istio code it's
- // go_type for now.
- GoType string `protobuf:"bytes,2,opt,name=go_type,json=goType,proto3" json:"go_type,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *AnalysisMessageWeakSchema_ArgType) Reset() { *m = AnalysisMessageWeakSchema_ArgType{} }
-func (m *AnalysisMessageWeakSchema_ArgType) String() string { return proto.CompactTextString(m) }
-func (*AnalysisMessageWeakSchema_ArgType) ProtoMessage() {}
-func (*AnalysisMessageWeakSchema_ArgType) Descriptor() ([]byte, []int) {
- return fileDescriptor_4d6fd1414dfe3800, []int{1, 0}
-}
-func (m *AnalysisMessageWeakSchema_ArgType) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *AnalysisMessageWeakSchema_ArgType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_AnalysisMessageWeakSchema_ArgType.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *AnalysisMessageWeakSchema) GetDescription() string {
+ if x != nil {
+ return x.Description
}
-}
-func (m *AnalysisMessageWeakSchema_ArgType) XXX_Merge(src proto.Message) {
- xxx_messageInfo_AnalysisMessageWeakSchema_ArgType.Merge(m, src)
-}
-func (m *AnalysisMessageWeakSchema_ArgType) XXX_Size() int {
- return m.Size()
-}
-func (m *AnalysisMessageWeakSchema_ArgType) XXX_DiscardUnknown() {
- xxx_messageInfo_AnalysisMessageWeakSchema_ArgType.DiscardUnknown(m)
+ return ""
}
-var xxx_messageInfo_AnalysisMessageWeakSchema_ArgType proto.InternalMessageInfo
-
-func (m *AnalysisMessageWeakSchema_ArgType) GetName() string {
- if m != nil {
- return m.Name
+func (x *AnalysisMessageWeakSchema) GetTemplate() string {
+ if x != nil {
+ return x.Template
}
return ""
}
-func (m *AnalysisMessageWeakSchema_ArgType) GetGoType() string {
- if m != nil {
- return m.GoType
+func (x *AnalysisMessageWeakSchema) GetArgs() []*AnalysisMessageWeakSchema_ArgType {
+ if x != nil {
+ return x.Args
}
- return ""
+ return nil
}
// GenericAnalysisMessage is an instance of an AnalysisMessage defined by a
@@ -341,72 +254,72 @@ func (m *AnalysisMessageWeakSchema_ArgType) GetGoType() string {
// list of args at runtime. Developers can also create stronger-typed versions
// of GenericAnalysisMessage for well-known and stable message types.
type GenericAnalysisMessage struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Required
MessageBase *AnalysisMessageBase `protobuf:"bytes,1,opt,name=message_base,json=messageBase,proto3" json:"message_base,omitempty"`
// Any message-type specific arguments that need to get codified. Optional.
- Args *types.Struct `protobuf:"bytes,2,opt,name=args,proto3" json:"args,omitempty"`
+ Args *_struct.Struct `protobuf:"bytes,2,opt,name=args,proto3" json:"args,omitempty"`
// A list of strings specifying the resource identifiers that were the cause
// of message generation. A "path" here is a (NAMESPACE\/)?RESOURCETYPE/NAME
// tuple that uniquely identifies a particular resource. There doesn't seem to
// be a single concept for this, but this is intuitively taken from
// https://kubernetes.io/docs/reference/using-api/api-concepts/#standard-api-terminology
// At least one is required.
- ResourcePaths []string `protobuf:"bytes,3,rep,name=resource_paths,json=resourcePaths,proto3" json:"resource_paths,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ ResourcePaths []string `protobuf:"bytes,3,rep,name=resource_paths,json=resourcePaths,proto3" json:"resource_paths,omitempty"`
}
-func (m *GenericAnalysisMessage) Reset() { *m = GenericAnalysisMessage{} }
-func (m *GenericAnalysisMessage) String() string { return proto.CompactTextString(m) }
-func (*GenericAnalysisMessage) ProtoMessage() {}
-func (*GenericAnalysisMessage) Descriptor() ([]byte, []int) {
- return fileDescriptor_4d6fd1414dfe3800, []int{2}
+func (x *GenericAnalysisMessage) Reset() {
+ *x = GenericAnalysisMessage{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_analysis_v1alpha1_message_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
}
-func (m *GenericAnalysisMessage) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
+
+func (x *GenericAnalysisMessage) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *GenericAnalysisMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_GenericAnalysisMessage.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
+
+func (*GenericAnalysisMessage) ProtoMessage() {}
+
+func (x *GenericAnalysisMessage) ProtoReflect() protoreflect.Message {
+ mi := &file_analysis_v1alpha1_message_proto_msgTypes[2]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- return b[:n], nil
+ return ms
}
-}
-func (m *GenericAnalysisMessage) XXX_Merge(src proto.Message) {
- xxx_messageInfo_GenericAnalysisMessage.Merge(m, src)
-}
-func (m *GenericAnalysisMessage) XXX_Size() int {
- return m.Size()
-}
-func (m *GenericAnalysisMessage) XXX_DiscardUnknown() {
- xxx_messageInfo_GenericAnalysisMessage.DiscardUnknown(m)
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_GenericAnalysisMessage proto.InternalMessageInfo
+// Deprecated: Use GenericAnalysisMessage.ProtoReflect.Descriptor instead.
+func (*GenericAnalysisMessage) Descriptor() ([]byte, []int) {
+ return file_analysis_v1alpha1_message_proto_rawDescGZIP(), []int{2}
+}
-func (m *GenericAnalysisMessage) GetMessageBase() *AnalysisMessageBase {
- if m != nil {
- return m.MessageBase
+func (x *GenericAnalysisMessage) GetMessageBase() *AnalysisMessageBase {
+ if x != nil {
+ return x.MessageBase
}
return nil
}
-func (m *GenericAnalysisMessage) GetArgs() *types.Struct {
- if m != nil {
- return m.Args
+func (x *GenericAnalysisMessage) GetArgs() *_struct.Struct {
+ if x != nil {
+ return x.Args
}
return nil
}
-func (m *GenericAnalysisMessage) GetResourcePaths() []string {
- if m != nil {
- return m.ResourcePaths
+func (x *GenericAnalysisMessage) GetResourcePaths() []string {
+ if x != nil {
+ return x.ResourcePaths
}
return nil
}
@@ -414,1481 +327,395 @@ func (m *GenericAnalysisMessage) GetResourcePaths() []string {
// InternalErrorAnalysisMessage is a strongly-typed message representing some
// error in Istio code that prevented us from performing analysis at all.
type InternalErrorAnalysisMessage struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Required
MessageBase *AnalysisMessageBase `protobuf:"bytes,1,opt,name=message_base,json=messageBase,proto3" json:"message_base,omitempty"`
// Any detail regarding specifics of the error. Should be human-readable.
- Detail string `protobuf:"bytes,2,opt,name=detail,proto3" json:"detail,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Detail string `protobuf:"bytes,2,opt,name=detail,proto3" json:"detail,omitempty"`
}
-func (m *InternalErrorAnalysisMessage) Reset() { *m = InternalErrorAnalysisMessage{} }
-func (m *InternalErrorAnalysisMessage) String() string { return proto.CompactTextString(m) }
-func (*InternalErrorAnalysisMessage) ProtoMessage() {}
-func (*InternalErrorAnalysisMessage) Descriptor() ([]byte, []int) {
- return fileDescriptor_4d6fd1414dfe3800, []int{3}
-}
-func (m *InternalErrorAnalysisMessage) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *InternalErrorAnalysisMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_InternalErrorAnalysisMessage.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *InternalErrorAnalysisMessage) XXX_Merge(src proto.Message) {
- xxx_messageInfo_InternalErrorAnalysisMessage.Merge(m, src)
-}
-func (m *InternalErrorAnalysisMessage) XXX_Size() int {
- return m.Size()
-}
-func (m *InternalErrorAnalysisMessage) XXX_DiscardUnknown() {
- xxx_messageInfo_InternalErrorAnalysisMessage.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_InternalErrorAnalysisMessage proto.InternalMessageInfo
-
-func (m *InternalErrorAnalysisMessage) GetMessageBase() *AnalysisMessageBase {
- if m != nil {
- return m.MessageBase
- }
- return nil
-}
-
-func (m *InternalErrorAnalysisMessage) GetDetail() string {
- if m != nil {
- return m.Detail
+func (x *InternalErrorAnalysisMessage) Reset() {
+ *x = InternalErrorAnalysisMessage{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_analysis_v1alpha1_message_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- return ""
}
-func init() {
- proto.RegisterEnum("istio.analysis.v1alpha1.AnalysisMessageBase_Level", AnalysisMessageBase_Level_name, AnalysisMessageBase_Level_value)
- proto.RegisterType((*AnalysisMessageBase)(nil), "istio.analysis.v1alpha1.AnalysisMessageBase")
- proto.RegisterType((*AnalysisMessageBase_Type)(nil), "istio.analysis.v1alpha1.AnalysisMessageBase.Type")
- proto.RegisterType((*AnalysisMessageWeakSchema)(nil), "istio.analysis.v1alpha1.AnalysisMessageWeakSchema")
- proto.RegisterType((*AnalysisMessageWeakSchema_ArgType)(nil), "istio.analysis.v1alpha1.AnalysisMessageWeakSchema.ArgType")
- proto.RegisterType((*GenericAnalysisMessage)(nil), "istio.analysis.v1alpha1.GenericAnalysisMessage")
- proto.RegisterType((*InternalErrorAnalysisMessage)(nil), "istio.analysis.v1alpha1.InternalErrorAnalysisMessage")
+func (x *InternalErrorAnalysisMessage) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func init() { proto.RegisterFile("analysis/v1alpha1/message.proto", fileDescriptor_4d6fd1414dfe3800) }
-
-var fileDescriptor_4d6fd1414dfe3800 = []byte{
- // 514 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x54, 0x5d, 0x6b, 0x13, 0x41,
- 0x14, 0x75, 0x93, 0xcd, 0xd7, 0x4d, 0x2d, 0x71, 0x84, 0x26, 0x86, 0x12, 0x97, 0x80, 0x10, 0x68,
- 0x99, 0x25, 0x11, 0xfa, 0xe0, 0x5b, 0x0a, 0xb1, 0x06, 0x75, 0x23, 0x53, 0x4b, 0xc0, 0x97, 0x30,
- 0xd9, 0x5c, 0x37, 0x8b, 0xbb, 0x3b, 0xcb, 0xcc, 0xa4, 0x90, 0x5f, 0xe0, 0xff, 0xf1, 0x55, 0x7c,
- 0xf7, 0xd1, 0x9f, 0x20, 0xf9, 0x25, 0xb2, 0x5f, 0x5a, 0x6b, 0x05, 0x0b, 0xf6, 0x6d, 0xe6, 0xe4,
- 0xde, 0x33, 0xe7, 0x9c, 0x9b, 0xbb, 0xf0, 0x98, 0x47, 0x3c, 0xd8, 0x2a, 0x5f, 0xd9, 0x97, 0x43,
- 0x1e, 0xc4, 0x6b, 0x3e, 0xb4, 0x43, 0x54, 0x8a, 0x7b, 0x48, 0x63, 0x29, 0xb4, 0x20, 0x6d, 0x5f,
- 0x69, 0x5f, 0xd0, 0xa2, 0x8c, 0x16, 0x65, 0xdd, 0x43, 0x4f, 0x08, 0x2f, 0x40, 0x3b, 0x2d, 0x5b,
- 0x6e, 0xde, 0xdb, 0x4a, 0xcb, 0x8d, 0xab, 0xb3, 0xb6, 0xfe, 0xe7, 0x12, 0x3c, 0x1c, 0xe7, 0x3d,
- 0xaf, 0x33, 0xc2, 0x53, 0xae, 0x90, 0x4c, 0xc0, 0xd4, 0xdb, 0x18, 0x3b, 0x86, 0x65, 0x0c, 0x9a,
- 0xa3, 0x21, 0xfd, 0x0b, 0x3b, 0xbd, 0xa1, 0x97, 0xbe, 0xdd, 0xc6, 0xc8, 0xd2, 0x76, 0xf2, 0x02,
- 0x2a, 0x01, 0x5e, 0x62, 0xd0, 0x29, 0x59, 0xc6, 0x60, 0x7f, 0x34, 0xba, 0x15, 0xcf, 0xab, 0xa4,
- 0x93, 0x65, 0x04, 0xe4, 0x08, 0x1e, 0xac, 0x84, 0xbb, 0x09, 0x31, 0xd2, 0x5c, 0xfb, 0x22, 0x5a,
- 0x6c, 0x64, 0xd0, 0x29, 0x5b, 0xc6, 0xa0, 0xc1, 0x5a, 0xbf, 0xfd, 0x70, 0x21, 0x83, 0x2e, 0x05,
- 0x33, 0x11, 0x41, 0x08, 0x98, 0x11, 0x0f, 0x33, 0x17, 0x0d, 0x96, 0x9e, 0x13, 0xcc, 0x15, 0x2b,
- 0x4c, 0x15, 0x35, 0x58, 0x7a, 0xee, 0x9f, 0x40, 0x25, 0x7d, 0x8c, 0x34, 0xa1, 0x76, 0xe1, 0xbc,
- 0x74, 0x66, 0x73, 0xa7, 0x75, 0x8f, 0x34, 0xa0, 0x32, 0x61, 0x6c, 0xc6, 0x5a, 0xe5, 0x04, 0x9f,
- 0x8f, 0x99, 0x33, 0x75, 0xce, 0x5a, 0x75, 0x52, 0x07, 0x73, 0xea, 0x3c, 0x9f, 0xb5, 0xf6, 0xfa,
- 0x9f, 0x4a, 0xf0, 0xe8, 0x9a, 0xf2, 0x39, 0xf2, 0x0f, 0xe7, 0xee, 0x1a, 0x43, 0x4e, 0x66, 0xb0,
- 0x97, 0xcf, 0x68, 0xb1, 0xe4, 0xaa, 0xc8, 0xf2, 0xf8, 0x36, 0x19, 0xb0, 0x66, 0x78, 0x65, 0x28,
- 0x16, 0x34, 0x57, 0xa8, 0x5c, 0xe9, 0xc7, 0x89, 0xd1, 0xdc, 0xc1, 0x55, 0x88, 0x74, 0xa1, 0xae,
- 0x31, 0x8c, 0x03, 0xae, 0x31, 0x0f, 0xe7, 0xe7, 0x9d, 0x38, 0x60, 0x72, 0xe9, 0xa9, 0x8e, 0x69,
- 0x95, 0x07, 0xcd, 0xd1, 0xb3, 0x7f, 0x95, 0xf1, 0xcb, 0x10, 0x1d, 0x4b, 0x2f, 0x9b, 0x6d, 0xc2,
- 0xd3, 0x3d, 0x81, 0x5a, 0x0e, 0xdc, 0x98, 0x73, 0x1b, 0x6a, 0x9e, 0x58, 0xa4, 0x7f, 0xa2, 0x4c,
- 0x68, 0xd5, 0x13, 0x49, 0x71, 0xff, 0x8b, 0x01, 0x07, 0x67, 0x18, 0xa1, 0xf4, 0xdd, 0x6b, 0x4f,
- 0xfd, 0xff, 0xc4, 0x8e, 0x72, 0xcf, 0xa5, 0x94, 0xa8, 0x4d, 0xb3, 0x5d, 0xa0, 0xc5, 0x2e, 0xd0,
- 0xf3, 0x74, 0x17, 0x32, 0x43, 0xe4, 0x09, 0xec, 0x4b, 0x54, 0x62, 0x23, 0x5d, 0x5c, 0xc4, 0x5c,
- 0xaf, 0x55, 0xa7, 0x6c, 0x95, 0x07, 0x0d, 0x76, 0xbf, 0x40, 0xdf, 0x24, 0x60, 0xff, 0xa3, 0x01,
- 0x87, 0xd3, 0x48, 0xa3, 0x8c, 0x78, 0x30, 0x91, 0x52, 0xc8, 0x3b, 0x77, 0x71, 0x00, 0xd5, 0x15,
- 0x6a, 0xee, 0x07, 0x45, 0x92, 0xd9, 0xed, 0xf4, 0xf8, 0xeb, 0xae, 0x67, 0x7c, 0xdb, 0xf5, 0x8c,
- 0xef, 0xbb, 0x9e, 0xf1, 0xae, 0x97, 0xf1, 0xfb, 0xc2, 0xe6, 0xb1, 0x6f, 0xff, 0xf1, 0xbd, 0x58,
- 0x56, 0x53, 0xd7, 0x4f, 0x7f, 0x04, 0x00, 0x00, 0xff, 0xff, 0x82, 0x20, 0xa3, 0x36, 0x4b, 0x04,
- 0x00, 0x00,
-}
-
-func (m *AnalysisMessageBase) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
+func (*InternalErrorAnalysisMessage) ProtoMessage() {}
-func (m *AnalysisMessageBase) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *AnalysisMessageBase) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.DocumentationUrl) > 0 {
- i -= len(m.DocumentationUrl)
- copy(dAtA[i:], m.DocumentationUrl)
- i = encodeVarintMessage(dAtA, i, uint64(len(m.DocumentationUrl)))
- i--
- dAtA[i] = 0x1a
- }
- if m.Level != 0 {
- i = encodeVarintMessage(dAtA, i, uint64(m.Level))
- i--
- dAtA[i] = 0x10
- }
- if m.Type != nil {
- {
- size, err := m.Type.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintMessage(dAtA, i, uint64(size))
+func (x *InternalErrorAnalysisMessage) ProtoReflect() protoreflect.Message {
+ mi := &file_analysis_v1alpha1_message_proto_msgTypes[3]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- i--
- dAtA[i] = 0xa
+ return ms
}
- return len(dAtA) - i, nil
+ return mi.MessageOf(x)
}
-func (m *AnalysisMessageBase_Type) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *AnalysisMessageBase_Type) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *AnalysisMessageBase_Type) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Code) > 0 {
- i -= len(m.Code)
- copy(dAtA[i:], m.Code)
- i = encodeVarintMessage(dAtA, i, uint64(len(m.Code)))
- i--
- dAtA[i] = 0x12
- }
- if len(m.Name) > 0 {
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintMessage(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
+// Deprecated: Use InternalErrorAnalysisMessage.ProtoReflect.Descriptor instead.
+func (*InternalErrorAnalysisMessage) Descriptor() ([]byte, []int) {
+ return file_analysis_v1alpha1_message_proto_rawDescGZIP(), []int{3}
}
-func (m *AnalysisMessageWeakSchema) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
+func (x *InternalErrorAnalysisMessage) GetMessageBase() *AnalysisMessageBase {
+ if x != nil {
+ return x.MessageBase
}
- return dAtA[:n], nil
-}
-
-func (m *AnalysisMessageWeakSchema) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+ return nil
}
-func (m *AnalysisMessageWeakSchema) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
+func (x *InternalErrorAnalysisMessage) GetDetail() string {
+ if x != nil {
+ return x.Detail
}
- if len(m.Args) > 0 {
- for iNdEx := len(m.Args) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Args[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintMessage(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x22
- }
- }
- if len(m.Template) > 0 {
- i -= len(m.Template)
- copy(dAtA[i:], m.Template)
- i = encodeVarintMessage(dAtA, i, uint64(len(m.Template)))
- i--
- dAtA[i] = 0x1a
- }
- if len(m.Description) > 0 {
- i -= len(m.Description)
- copy(dAtA[i:], m.Description)
- i = encodeVarintMessage(dAtA, i, uint64(len(m.Description)))
- i--
- dAtA[i] = 0x12
- }
- if m.MessageBase != nil {
- {
- size, err := m.MessageBase.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintMessage(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
+ return ""
}
-func (m *AnalysisMessageWeakSchema_ArgType) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
+// A unique identifier for the type of message. Name is intended to be
+// human-readable, code is intended to be machine readable. There should be a
+// one-to-one mapping between name and code. (i.e. do not re-use names or
+// codes between message types.)
+type AnalysisMessageBase_Type struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
-func (m *AnalysisMessageWeakSchema_ArgType) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+ // A human-readable name for the message type. e.g. "InternalError",
+ // "PodMissingProxy". This should be the same for all messages of the same type.
+ // Required.
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ // A 7 character code matching `^IST[0-9]{4}$` intended to uniquely identify
+ // the message type. (e.g. "IST0001" is mapped to the "InternalError" message
+ // type.) 0000-0100 are reserved. Required.
+ Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
}
-func (m *AnalysisMessageWeakSchema_ArgType) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
+func (x *AnalysisMessageBase_Type) Reset() {
+ *x = AnalysisMessageBase_Type{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_analysis_v1alpha1_message_proto_msgTypes[4]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- if len(m.GoType) > 0 {
- i -= len(m.GoType)
- copy(dAtA[i:], m.GoType)
- i = encodeVarintMessage(dAtA, i, uint64(len(m.GoType)))
- i--
- dAtA[i] = 0x12
- }
- if len(m.Name) > 0 {
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintMessage(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
}
-func (m *GenericAnalysisMessage) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
+func (x *AnalysisMessageBase_Type) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *GenericAnalysisMessage) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
+func (*AnalysisMessageBase_Type) ProtoMessage() {}
-func (m *GenericAnalysisMessage) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.ResourcePaths) > 0 {
- for iNdEx := len(m.ResourcePaths) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.ResourcePaths[iNdEx])
- copy(dAtA[i:], m.ResourcePaths[iNdEx])
- i = encodeVarintMessage(dAtA, i, uint64(len(m.ResourcePaths[iNdEx])))
- i--
- dAtA[i] = 0x1a
+func (x *AnalysisMessageBase_Type) ProtoReflect() protoreflect.Message {
+ mi := &file_analysis_v1alpha1_message_proto_msgTypes[4]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
+ return ms
}
- if m.Args != nil {
- {
- size, err := m.Args.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintMessage(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- if m.MessageBase != nil {
- {
- size, err := m.MessageBase.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintMessage(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func (m *InternalErrorAnalysisMessage) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *InternalErrorAnalysisMessage) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+ return mi.MessageOf(x)
}
-func (m *InternalErrorAnalysisMessage) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Detail) > 0 {
- i -= len(m.Detail)
- copy(dAtA[i:], m.Detail)
- i = encodeVarintMessage(dAtA, i, uint64(len(m.Detail)))
- i--
- dAtA[i] = 0x12
- }
- if m.MessageBase != nil {
- {
- size, err := m.MessageBase.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintMessage(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
+// Deprecated: Use AnalysisMessageBase_Type.ProtoReflect.Descriptor instead.
+func (*AnalysisMessageBase_Type) Descriptor() ([]byte, []int) {
+ return file_analysis_v1alpha1_message_proto_rawDescGZIP(), []int{0, 0}
}
-func encodeVarintMessage(dAtA []byte, offset int, v uint64) int {
- offset -= sovMessage(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
+func (x *AnalysisMessageBase_Type) GetName() string {
+ if x != nil {
+ return x.Name
}
- dAtA[offset] = uint8(v)
- return base
-}
-func (m *AnalysisMessageBase) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Type != nil {
- l = m.Type.Size()
- n += 1 + l + sovMessage(uint64(l))
- }
- if m.Level != 0 {
- n += 1 + sovMessage(uint64(m.Level))
- }
- l = len(m.DocumentationUrl)
- if l > 0 {
- n += 1 + l + sovMessage(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
+ return ""
}
-func (m *AnalysisMessageBase_Type) Size() (n int) {
- if m == nil {
- return 0
+func (x *AnalysisMessageBase_Type) GetCode() string {
+ if x != nil {
+ return x.Code
}
- var l int
- _ = l
- l = len(m.Name)
- if l > 0 {
- n += 1 + l + sovMessage(uint64(l))
- }
- l = len(m.Code)
- if l > 0 {
- n += 1 + l + sovMessage(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
+ return ""
}
-func (m *AnalysisMessageWeakSchema) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.MessageBase != nil {
- l = m.MessageBase.Size()
- n += 1 + l + sovMessage(uint64(l))
- }
- l = len(m.Description)
- if l > 0 {
- n += 1 + l + sovMessage(uint64(l))
- }
- l = len(m.Template)
- if l > 0 {
- n += 1 + l + sovMessage(uint64(l))
- }
- if len(m.Args) > 0 {
- for _, e := range m.Args {
- l = e.Size()
- n += 1 + l + sovMessage(uint64(l))
- }
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
+type AnalysisMessageWeakSchema_ArgType struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
-func (m *AnalysisMessageWeakSchema_ArgType) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Name)
- if l > 0 {
- n += 1 + l + sovMessage(uint64(l))
- }
- l = len(m.GoType)
- if l > 0 {
- n += 1 + l + sovMessage(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
+ // Required
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ // Required. Should be a golang type, used in code generation.
+ // Ideally this will change to a less language-pinned type before this gets
+ // out of alpha, but for compatibility with current istio/istio code it's
+ // go_type for now.
+ GoType string `protobuf:"bytes,2,opt,name=go_type,json=goType,proto3" json:"go_type,omitempty"`
}
-func (m *GenericAnalysisMessage) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.MessageBase != nil {
- l = m.MessageBase.Size()
- n += 1 + l + sovMessage(uint64(l))
- }
- if m.Args != nil {
- l = m.Args.Size()
- n += 1 + l + sovMessage(uint64(l))
+func (x *AnalysisMessageWeakSchema_ArgType) Reset() {
+ *x = AnalysisMessageWeakSchema_ArgType{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_analysis_v1alpha1_message_proto_msgTypes[5]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- if len(m.ResourcePaths) > 0 {
- for _, s := range m.ResourcePaths {
- l = len(s)
- n += 1 + l + sovMessage(uint64(l))
- }
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
}
-func (m *InternalErrorAnalysisMessage) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.MessageBase != nil {
- l = m.MessageBase.Size()
- n += 1 + l + sovMessage(uint64(l))
- }
- l = len(m.Detail)
- if l > 0 {
- n += 1 + l + sovMessage(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
+func (x *AnalysisMessageWeakSchema_ArgType) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func sovMessage(x uint64) (n int) {
- return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozMessage(x uint64) (n int) {
- return sovMessage(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (m *AnalysisMessageBase) 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 ErrIntOverflowMessage
- }
- 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: AnalysisMessageBase: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: AnalysisMessageBase: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowMessage
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthMessage
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthMessage
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Type == nil {
- m.Type = &AnalysisMessageBase_Type{}
- }
- if err := m.Type.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Level", wireType)
- }
- m.Level = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowMessage
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Level |= AnalysisMessageBase_Level(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field DocumentationUrl", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowMessage
- }
- 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 ErrInvalidLengthMessage
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthMessage
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.DocumentationUrl = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipMessage(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthMessage
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
+func (*AnalysisMessageWeakSchema_ArgType) ProtoMessage() {}
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *AnalysisMessageBase_Type) 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 ErrIntOverflowMessage
- }
- 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: Type: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Type: 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 ErrIntOverflowMessage
- }
- 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 ErrInvalidLengthMessage
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthMessage
- }
- 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 Code", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowMessage
- }
- 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 ErrInvalidLengthMessage
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthMessage
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Code = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipMessage(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthMessage
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
+func (x *AnalysisMessageWeakSchema_ArgType) ProtoReflect() protoreflect.Message {
+ mi := &file_analysis_v1alpha1_message_proto_msgTypes[5]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
+ return ms
}
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
+ return mi.MessageOf(x)
}
-func (m *AnalysisMessageWeakSchema) 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 ErrIntOverflowMessage
- }
- 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: AnalysisMessageWeakSchema: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: AnalysisMessageWeakSchema: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field MessageBase", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowMessage
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthMessage
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthMessage
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.MessageBase == nil {
- m.MessageBase = &AnalysisMessageBase{}
- }
- if err := m.MessageBase.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowMessage
- }
- 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 ErrInvalidLengthMessage
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthMessage
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Description = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Template", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowMessage
- }
- 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 ErrInvalidLengthMessage
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthMessage
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Template = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Args", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowMessage
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthMessage
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthMessage
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Args = append(m.Args, &AnalysisMessageWeakSchema_ArgType{})
- if err := m.Args[len(m.Args)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipMessage(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthMessage
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
+// Deprecated: Use AnalysisMessageWeakSchema_ArgType.ProtoReflect.Descriptor instead.
+func (*AnalysisMessageWeakSchema_ArgType) Descriptor() ([]byte, []int) {
+ return file_analysis_v1alpha1_message_proto_rawDescGZIP(), []int{1, 0}
}
-func (m *AnalysisMessageWeakSchema_ArgType) 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 ErrIntOverflowMessage
- }
- 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: ArgType: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ArgType: 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 ErrIntOverflowMessage
- }
- 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 ErrInvalidLengthMessage
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthMessage
- }
- 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 GoType", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowMessage
- }
- 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 ErrInvalidLengthMessage
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthMessage
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.GoType = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipMessage(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthMessage
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
- if iNdEx > l {
- return io.ErrUnexpectedEOF
+func (x *AnalysisMessageWeakSchema_ArgType) GetName() string {
+ if x != nil {
+ return x.Name
}
- return nil
+ return ""
}
-func (m *GenericAnalysisMessage) 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 ErrIntOverflowMessage
- }
- 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: GenericAnalysisMessage: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: GenericAnalysisMessage: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field MessageBase", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowMessage
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthMessage
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthMessage
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.MessageBase == nil {
- m.MessageBase = &AnalysisMessageBase{}
- }
- if err := m.MessageBase.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Args", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowMessage
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthMessage
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthMessage
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Args == nil {
- m.Args = &types.Struct{}
- }
- if err := m.Args.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ResourcePaths", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowMessage
- }
- 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 ErrInvalidLengthMessage
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthMessage
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.ResourcePaths = append(m.ResourcePaths, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipMessage(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthMessage
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
- if iNdEx > l {
- return io.ErrUnexpectedEOF
+func (x *AnalysisMessageWeakSchema_ArgType) GetGoType() string {
+ if x != nil {
+ return x.GoType
}
- return nil
+ return ""
}
-func (m *InternalErrorAnalysisMessage) 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 ErrIntOverflowMessage
- }
- 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: InternalErrorAnalysisMessage: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: InternalErrorAnalysisMessage: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field MessageBase", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowMessage
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthMessage
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthMessage
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.MessageBase == nil {
- m.MessageBase = &AnalysisMessageBase{}
- }
- if err := m.MessageBase.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Detail", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowMessage
- }
- 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 ErrInvalidLengthMessage
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthMessage
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Detail = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipMessage(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthMessage
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func skipMessage(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowMessage
- }
- 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, ErrIntOverflowMessage
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowMessage
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLengthMessage
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroupMessage
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLengthMessage
- }
- if depth == 0 {
- return iNdEx, nil
- }
- }
- return 0, io.ErrUnexpectedEOF
+var File_analysis_v1alpha1_message_proto protoreflect.FileDescriptor
+
+var file_analysis_v1alpha1_message_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70,
+ 0x68, 0x61, 0x31, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x17, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69,
+ 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75,
+ 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbb, 0x02, 0x0a, 0x13, 0x41, 0x6e, 0x61,
+ 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x61, 0x73, 0x65,
+ 0x12, 0x45, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31,
+ 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e,
+ 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69,
+ 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x61, 0x73, 0x65, 0x2e, 0x54, 0x79, 0x70,
+ 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x48, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x61,
+ 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
+ 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
+ 0x42, 0x61, 0x73, 0x65, 0x2e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65,
+ 0x6c, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x64, 0x6f,
+ 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x1a, 0x2e,
+ 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x36,
+ 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f,
+ 0x57, 0x4e, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x12,
+ 0x0b, 0x0a, 0x07, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x08, 0x12, 0x08, 0x0a, 0x04,
+ 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x0c, 0x22, 0xb2, 0x02, 0x0a, 0x19, 0x41, 0x6e, 0x61, 0x6c, 0x79,
+ 0x73, 0x69, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x57, 0x65, 0x61, 0x6b, 0x53, 0x63,
+ 0x68, 0x65, 0x6d, 0x61, 0x12, 0x4f, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f,
+ 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x73, 0x74,
+ 0x69, 0x6f, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c,
+ 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4d, 0x65, 0x73,
+ 0x73, 0x61, 0x67, 0x65, 0x42, 0x61, 0x73, 0x65, 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
+ 0x65, 0x42, 0x61, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
+ 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63,
+ 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c,
+ 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c,
+ 0x61, 0x74, 0x65, 0x12, 0x4e, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x3a, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73,
+ 0x69, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c,
+ 0x79, 0x73, 0x69, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x57, 0x65, 0x61, 0x6b, 0x53,
+ 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x41, 0x72, 0x67, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x61,
+ 0x72, 0x67, 0x73, 0x1a, 0x36, 0x0a, 0x07, 0x41, 0x72, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12,
+ 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
+ 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x22, 0xbd, 0x01, 0x0a, 0x16,
+ 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4d,
+ 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x4f, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
+ 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69,
+ 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31,
+ 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4d,
+ 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x61, 0x73, 0x65, 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73,
+ 0x61, 0x67, 0x65, 0x42, 0x61, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x04,
+ 0x61, 0x72, 0x67, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65,
+ 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x22, 0x87, 0x01, 0x0a, 0x1c,
+ 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x41, 0x6e, 0x61,
+ 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x4f, 0x0a, 0x0c,
+ 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79,
+ 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, 0x6e, 0x61,
+ 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x61, 0x73, 0x65,
+ 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x61, 0x73, 0x65, 0x12, 0x16, 0x0a,
+ 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64,
+ 0x65, 0x74, 0x61, 0x69, 0x6c, 0x42, 0x20, 0x5a, 0x1e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x69,
+ 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2f, 0x76,
+ 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
- ErrInvalidLengthMessage = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflowMessage = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroupMessage = fmt.Errorf("proto: unexpected end of group")
+ file_analysis_v1alpha1_message_proto_rawDescOnce sync.Once
+ file_analysis_v1alpha1_message_proto_rawDescData = file_analysis_v1alpha1_message_proto_rawDesc
)
+
+func file_analysis_v1alpha1_message_proto_rawDescGZIP() []byte {
+ file_analysis_v1alpha1_message_proto_rawDescOnce.Do(func() {
+ file_analysis_v1alpha1_message_proto_rawDescData = protoimpl.X.CompressGZIP(file_analysis_v1alpha1_message_proto_rawDescData)
+ })
+ return file_analysis_v1alpha1_message_proto_rawDescData
+}
+
+var file_analysis_v1alpha1_message_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_analysis_v1alpha1_message_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
+var file_analysis_v1alpha1_message_proto_goTypes = []interface{}{
+ (AnalysisMessageBase_Level)(0), // 0: istio.analysis.v1alpha1.AnalysisMessageBase.Level
+ (*AnalysisMessageBase)(nil), // 1: istio.analysis.v1alpha1.AnalysisMessageBase
+ (*AnalysisMessageWeakSchema)(nil), // 2: istio.analysis.v1alpha1.AnalysisMessageWeakSchema
+ (*GenericAnalysisMessage)(nil), // 3: istio.analysis.v1alpha1.GenericAnalysisMessage
+ (*InternalErrorAnalysisMessage)(nil), // 4: istio.analysis.v1alpha1.InternalErrorAnalysisMessage
+ (*AnalysisMessageBase_Type)(nil), // 5: istio.analysis.v1alpha1.AnalysisMessageBase.Type
+ (*AnalysisMessageWeakSchema_ArgType)(nil), // 6: istio.analysis.v1alpha1.AnalysisMessageWeakSchema.ArgType
+ (*_struct.Struct)(nil), // 7: google.protobuf.Struct
+}
+var file_analysis_v1alpha1_message_proto_depIdxs = []int32{
+ 5, // 0: istio.analysis.v1alpha1.AnalysisMessageBase.type:type_name -> istio.analysis.v1alpha1.AnalysisMessageBase.Type
+ 0, // 1: istio.analysis.v1alpha1.AnalysisMessageBase.level:type_name -> istio.analysis.v1alpha1.AnalysisMessageBase.Level
+ 1, // 2: istio.analysis.v1alpha1.AnalysisMessageWeakSchema.message_base:type_name -> istio.analysis.v1alpha1.AnalysisMessageBase
+ 6, // 3: istio.analysis.v1alpha1.AnalysisMessageWeakSchema.args:type_name -> istio.analysis.v1alpha1.AnalysisMessageWeakSchema.ArgType
+ 1, // 4: istio.analysis.v1alpha1.GenericAnalysisMessage.message_base:type_name -> istio.analysis.v1alpha1.AnalysisMessageBase
+ 7, // 5: istio.analysis.v1alpha1.GenericAnalysisMessage.args:type_name -> google.protobuf.Struct
+ 1, // 6: istio.analysis.v1alpha1.InternalErrorAnalysisMessage.message_base:type_name -> istio.analysis.v1alpha1.AnalysisMessageBase
+ 7, // [7:7] is the sub-list for method output_type
+ 7, // [7:7] is the sub-list for method input_type
+ 7, // [7:7] is the sub-list for extension type_name
+ 7, // [7:7] is the sub-list for extension extendee
+ 0, // [0:7] is the sub-list for field type_name
+}
+
+func init() { file_analysis_v1alpha1_message_proto_init() }
+func file_analysis_v1alpha1_message_proto_init() {
+ if File_analysis_v1alpha1_message_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_analysis_v1alpha1_message_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AnalysisMessageBase); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_analysis_v1alpha1_message_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AnalysisMessageWeakSchema); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_analysis_v1alpha1_message_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GenericAnalysisMessage); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_analysis_v1alpha1_message_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InternalErrorAnalysisMessage); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_analysis_v1alpha1_message_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AnalysisMessageBase_Type); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_analysis_v1alpha1_message_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AnalysisMessageWeakSchema_ArgType); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_analysis_v1alpha1_message_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 6,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_analysis_v1alpha1_message_proto_goTypes,
+ DependencyIndexes: file_analysis_v1alpha1_message_proto_depIdxs,
+ EnumInfos: file_analysis_v1alpha1_message_proto_enumTypes,
+ MessageInfos: file_analysis_v1alpha1_message_proto_msgTypes,
+ }.Build()
+ File_analysis_v1alpha1_message_proto = out.File
+ file_analysis_v1alpha1_message_proto_rawDesc = nil
+ file_analysis_v1alpha1_message_proto_goTypes = nil
+ file_analysis_v1alpha1_message_proto_depIdxs = nil
+}
diff --git a/vendor/istio.io/api/analysis/v1alpha1/message_deepcopy.gen.go b/vendor/istio.io/api/analysis/v1alpha1/message_deepcopy.gen.go
index f4604fe5e..3d0a97919 100644
--- a/vendor/istio.io/api/analysis/v1alpha1/message_deepcopy.gen.go
+++ b/vendor/istio.io/api/analysis/v1alpha1/message_deepcopy.gen.go
@@ -1,22 +1,10 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: analysis/v1alpha1/message.proto
-
-// Describes the structure of messages generated by Istio analyzers.
-
+// Code generated by protoc-gen-deepcopy. DO NOT EDIT.
package v1alpha1
import (
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- _ "github.com/gogo/protobuf/types"
- math "math"
+ proto "github.com/golang/protobuf/proto"
)
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
// DeepCopyInto supports using AnalysisMessageBase within kubernetes types, where deepcopy-gen is used.
func (in *AnalysisMessageBase) DeepCopyInto(out *AnalysisMessageBase) {
p := proto.Clone(in).(*AnalysisMessageBase)
diff --git a/vendor/istio.io/api/analysis/v1alpha1/message_json.gen.go b/vendor/istio.io/api/analysis/v1alpha1/message_json.gen.go
index 6b84690fc..1bcf7887f 100644
--- a/vendor/istio.io/api/analysis/v1alpha1/message_json.gen.go
+++ b/vendor/istio.io/api/analysis/v1alpha1/message_json.gen.go
@@ -1,24 +1,11 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: analysis/v1alpha1/message.proto
-
-// Describes the structure of messages generated by Istio analyzers.
-
+// Code generated by protoc-gen-jsonshim. DO NOT EDIT.
package v1alpha1
import (
bytes "bytes"
- fmt "fmt"
- github_com_gogo_protobuf_jsonpb "github.com/gogo/protobuf/jsonpb"
- proto "github.com/gogo/protobuf/proto"
- _ "github.com/gogo/protobuf/types"
- math "math"
+ jsonpb "github.com/golang/protobuf/jsonpb"
)
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
// MarshalJSON is a custom marshaler for AnalysisMessageBase
func (this *AnalysisMessageBase) MarshalJSON() ([]byte, error) {
str, err := MessageMarshaler.MarshalToString(this)
@@ -86,6 +73,6 @@ func (this *InternalErrorAnalysisMessage) UnmarshalJSON(b []byte) error {
}
var (
- MessageMarshaler = &github_com_gogo_protobuf_jsonpb.Marshaler{}
- MessageUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{AllowUnknownFields: true}
+ MessageMarshaler = &jsonpb.Marshaler{}
+ MessageUnmarshaler = &jsonpb.Unmarshaler{AllowUnknownFields: true}
)
diff --git a/vendor/istio.io/api/meta/v1alpha1/status.pb.go b/vendor/istio.io/api/meta/v1alpha1/status.pb.go
index f8ed5ba40..206f35f4b 100644
--- a/vendor/istio.io/api/meta/v1alpha1/status.pb.go
+++ b/vendor/istio.io/api/meta/v1alpha1/status.pb.go
@@ -1,31 +1,50 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
+// Copyright 2019 Istio 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-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.27.1
+// protoc (unknown)
// source: meta/v1alpha1/status.proto
+// $title: Istio Status
+// $description: Common status field for all istio collections.
+// $location: https://istio.io/docs/reference/config/meta/v1beta1/istio-status.html
+
package v1alpha1
import (
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- types "github.com/gogo/protobuf/types"
- io "io"
+ timestamp "github.com/golang/protobuf/ptypes/timestamp"
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
v1alpha1 "istio.io/api/analysis/v1alpha1"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
- math_bits "math/bits"
+ reflect "reflect"
+ sync "sync"
)
-// 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.GoGoProtoPackageIsVersion3 // please upgrade the proto package
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
type IstioStatus struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Current service state of pod.
// More info: https://istio.io/docs/reference/config/config-status/
// +optional
@@ -41,67 +60,67 @@ type IstioStatus struct {
// When this value is not equal to the object's metadata generation, reconciled condition calculation for the current
// generation is still in progress. See https://istio.io/latest/docs/reference/config/config-status/ for more info.
// +optional
- ObservedGeneration int64 `protobuf:"varint,3,opt,name=observed_generation,json=observedGeneration,proto3" json:"observed_generation,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ ObservedGeneration int64 `protobuf:"varint,3,opt,name=observed_generation,json=observedGeneration,proto3" json:"observed_generation,omitempty"`
}
-func (m *IstioStatus) Reset() { *m = IstioStatus{} }
-func (m *IstioStatus) String() string { return proto.CompactTextString(m) }
-func (*IstioStatus) ProtoMessage() {}
-func (*IstioStatus) Descriptor() ([]byte, []int) {
- return fileDescriptor_05c58e523a81edc6, []int{0}
+func (x *IstioStatus) Reset() {
+ *x = IstioStatus{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_meta_v1alpha1_status_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
}
-func (m *IstioStatus) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
+
+func (x *IstioStatus) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *IstioStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_IstioStatus.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
+
+func (*IstioStatus) ProtoMessage() {}
+
+func (x *IstioStatus) ProtoReflect() protoreflect.Message {
+ mi := &file_meta_v1alpha1_status_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- return b[:n], nil
+ return ms
}
-}
-func (m *IstioStatus) XXX_Merge(src proto.Message) {
- xxx_messageInfo_IstioStatus.Merge(m, src)
-}
-func (m *IstioStatus) XXX_Size() int {
- return m.Size()
-}
-func (m *IstioStatus) XXX_DiscardUnknown() {
- xxx_messageInfo_IstioStatus.DiscardUnknown(m)
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_IstioStatus proto.InternalMessageInfo
+// Deprecated: Use IstioStatus.ProtoReflect.Descriptor instead.
+func (*IstioStatus) Descriptor() ([]byte, []int) {
+ return file_meta_v1alpha1_status_proto_rawDescGZIP(), []int{0}
+}
-func (m *IstioStatus) GetConditions() []*IstioCondition {
- if m != nil {
- return m.Conditions
+func (x *IstioStatus) GetConditions() []*IstioCondition {
+ if x != nil {
+ return x.Conditions
}
return nil
}
-func (m *IstioStatus) GetValidationMessages() []*v1alpha1.AnalysisMessageBase {
- if m != nil {
- return m.ValidationMessages
+func (x *IstioStatus) GetValidationMessages() []*v1alpha1.AnalysisMessageBase {
+ if x != nil {
+ return x.ValidationMessages
}
return nil
}
-func (m *IstioStatus) GetObservedGeneration() int64 {
- if m != nil {
- return m.ObservedGeneration
+func (x *IstioStatus) GetObservedGeneration() int64 {
+ if x != nil {
+ return x.ObservedGeneration
}
return 0
}
type IstioCondition struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Type is the type of the condition.
Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
// Status is the status of the condition.
@@ -109,821 +128,216 @@ type IstioCondition struct {
Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
// Last time we probed the condition.
// +optional
- LastProbeTime *types.Timestamp `protobuf:"bytes,3,opt,name=last_probe_time,json=lastProbeTime,proto3" json:"last_probe_time,omitempty"`
+ LastProbeTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=last_probe_time,json=lastProbeTime,proto3" json:"last_probe_time,omitempty"`
// Last time the condition transitioned from one status to another.
// +optional
- LastTransitionTime *types.Timestamp `protobuf:"bytes,4,opt,name=last_transition_time,json=lastTransitionTime,proto3" json:"last_transition_time,omitempty"`
+ LastTransitionTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=last_transition_time,json=lastTransitionTime,proto3" json:"last_transition_time,omitempty"`
// Unique, one-word, CamelCase reason for the condition's last transition.
// +optional
Reason string `protobuf:"bytes,5,opt,name=reason,proto3" json:"reason,omitempty"`
// Human-readable message indicating details about last transition.
// +optional
- Message string `protobuf:"bytes,6,opt,name=message,proto3" json:"message,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Message string `protobuf:"bytes,6,opt,name=message,proto3" json:"message,omitempty"`
}
-func (m *IstioCondition) Reset() { *m = IstioCondition{} }
-func (m *IstioCondition) String() string { return proto.CompactTextString(m) }
-func (*IstioCondition) ProtoMessage() {}
-func (*IstioCondition) Descriptor() ([]byte, []int) {
- return fileDescriptor_05c58e523a81edc6, []int{1}
-}
-func (m *IstioCondition) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *IstioCondition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_IstioCondition.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *IstioCondition) Reset() {
+ *x = IstioCondition{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_meta_v1alpha1_status_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *IstioCondition) XXX_Merge(src proto.Message) {
- xxx_messageInfo_IstioCondition.Merge(m, src)
-}
-func (m *IstioCondition) XXX_Size() int {
- return m.Size()
-}
-func (m *IstioCondition) XXX_DiscardUnknown() {
- xxx_messageInfo_IstioCondition.DiscardUnknown(m)
-}
-var xxx_messageInfo_IstioCondition proto.InternalMessageInfo
-
-func (m *IstioCondition) GetType() string {
- if m != nil {
- return m.Type
- }
- return ""
+func (x *IstioCondition) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *IstioCondition) GetStatus() string {
- if m != nil {
- return m.Status
- }
- return ""
-}
+func (*IstioCondition) ProtoMessage() {}
-func (m *IstioCondition) GetLastProbeTime() *types.Timestamp {
- if m != nil {
- return m.LastProbeTime
+func (x *IstioCondition) ProtoReflect() protoreflect.Message {
+ mi := &file_meta_v1alpha1_status_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
}
- return nil
+ return mi.MessageOf(x)
}
-func (m *IstioCondition) GetLastTransitionTime() *types.Timestamp {
- if m != nil {
- return m.LastTransitionTime
- }
- return nil
+// Deprecated: Use IstioCondition.ProtoReflect.Descriptor instead.
+func (*IstioCondition) Descriptor() ([]byte, []int) {
+ return file_meta_v1alpha1_status_proto_rawDescGZIP(), []int{1}
}
-func (m *IstioCondition) GetReason() string {
- if m != nil {
- return m.Reason
+func (x *IstioCondition) GetType() string {
+ if x != nil {
+ return x.Type
}
return ""
}
-func (m *IstioCondition) GetMessage() string {
- if m != nil {
- return m.Message
+func (x *IstioCondition) GetStatus() string {
+ if x != nil {
+ return x.Status
}
return ""
}
-func init() {
- proto.RegisterType((*IstioStatus)(nil), "istio.meta.v1alpha1.IstioStatus")
- proto.RegisterType((*IstioCondition)(nil), "istio.meta.v1alpha1.IstioCondition")
-}
-
-func init() { proto.RegisterFile("meta/v1alpha1/status.proto", fileDescriptor_05c58e523a81edc6) }
-
-var fileDescriptor_05c58e523a81edc6 = []byte{
- // 391 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x52, 0xc1, 0xaa, 0xd3, 0x40,
- 0x14, 0x65, 0xda, 0x67, 0xc4, 0x29, 0x2a, 0x4c, 0xe5, 0x31, 0x64, 0xd1, 0x57, 0xea, 0x26, 0x0b,
- 0x99, 0xd0, 0xfa, 0x05, 0xb6, 0x0b, 0x11, 0x14, 0x24, 0x76, 0x25, 0x48, 0xb8, 0x31, 0xd3, 0x74,
- 0x20, 0xc9, 0x84, 0xdc, 0x69, 0xa0, 0x3b, 0x3f, 0xcf, 0xa5, 0x9f, 0x20, 0xf9, 0x12, 0x99, 0x99,
- 0xa4, 0xb5, 0x22, 0xbc, 0x5d, 0xce, 0xbd, 0xe7, 0x9c, 0x39, 0x39, 0x33, 0x34, 0xac, 0xa4, 0x81,
- 0xb8, 0x5b, 0x43, 0xd9, 0x1c, 0x61, 0x1d, 0xa3, 0x01, 0x73, 0x42, 0xd1, 0xb4, 0xda, 0x68, 0x36,
- 0x57, 0x68, 0x94, 0x16, 0x96, 0x21, 0x46, 0x46, 0xf8, 0x00, 0x35, 0x94, 0x67, 0x54, 0x78, 0x15,
- 0x55, 0x12, 0x11, 0x0a, 0xe9, 0x55, 0xe1, 0x43, 0xa1, 0x75, 0x51, 0xca, 0xd8, 0xa1, 0xec, 0x74,
- 0x88, 0x8d, 0xaa, 0x24, 0x1a, 0xa8, 0x9a, 0x7f, 0x08, 0xd0, 0xa8, 0xf8, 0xa0, 0x64, 0x99, 0xa7,
- 0x99, 0x3c, 0x42, 0xa7, 0x74, 0xeb, 0x09, 0xab, 0x9e, 0xd0, 0xd9, 0x07, 0x7b, 0xf4, 0x17, 0x97,
- 0x86, 0xed, 0x28, 0xfd, 0xae, 0xeb, 0x5c, 0x19, 0xa5, 0x6b, 0xe4, 0x64, 0x39, 0x8d, 0x66, 0x9b,
- 0xd7, 0xe2, 0x3f, 0xe1, 0x84, 0x53, 0xed, 0x46, 0x6e, 0xf2, 0x97, 0x8c, 0x7d, 0xa3, 0xf3, 0x0e,
- 0x4a, 0x95, 0x83, 0x85, 0xe9, 0x10, 0x19, 0xf9, 0xc4, 0xb9, 0xbd, 0x19, 0xdc, 0xc6, 0x7f, 0xbb,
- 0x3a, 0xbe, 0x1b, 0x26, 0x9f, 0xbc, 0x60, 0x0b, 0x28, 0x13, 0x76, 0x35, 0x1a, 0xc6, 0xc8, 0x62,
- 0x3a, 0xd7, 0x19, 0xca, 0xb6, 0x93, 0x79, 0x5a, 0xc8, 0x5a, 0xb6, 0x6e, 0xcd, 0xa7, 0x4b, 0x12,
- 0x4d, 0x13, 0x36, 0xae, 0xde, 0x5f, 0x36, 0xab, 0x1f, 0x13, 0xfa, 0xe2, 0x36, 0x2e, 0x63, 0xf4,
- 0xce, 0x9c, 0x1b, 0xc9, 0xc9, 0x92, 0x44, 0xcf, 0x12, 0xf7, 0xcd, 0xee, 0x69, 0xe0, 0xef, 0x84,
- 0x4f, 0xdc, 0x74, 0x40, 0x6c, 0x4b, 0x5f, 0x96, 0x80, 0x26, 0x6d, 0x5a, 0x9d, 0xc9, 0xd4, 0x56,
- 0xec, 0xce, 0x9a, 0x6d, 0x42, 0xe1, 0xeb, 0x15, 0x63, 0xff, 0x62, 0x3f, 0xf6, 0x9f, 0x3c, 0xb7,
- 0x92, 0xcf, 0x56, 0x61, 0x67, 0xec, 0x23, 0x7d, 0xe5, 0x3c, 0x4c, 0x0b, 0x35, 0xba, 0x08, 0xde,
- 0xe8, 0xee, 0x51, 0x23, 0x66, 0x75, 0xfb, 0x8b, 0xcc, 0xb9, 0xdd, 0xd3, 0xa0, 0x95, 0x80, 0xba,
- 0xe6, 0x4f, 0x7c, 0x52, 0x8f, 0x18, 0xa7, 0x4f, 0x87, 0xb6, 0x79, 0xe0, 0x16, 0x23, 0xdc, 0x46,
- 0x3f, 0xfb, 0x05, 0xf9, 0xd5, 0x2f, 0xc8, 0xef, 0x7e, 0x41, 0xbe, 0x86, 0xfe, 0x0a, 0x94, 0x76,
- 0x0f, 0xe3, 0xe6, 0x59, 0x66, 0x81, 0xcb, 0xf0, 0xf6, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x07,
- 0x1c, 0x9a, 0x9f, 0xae, 0x02, 0x00, 0x00,
-}
-
-func (m *IstioStatus) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *IstioStatus) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *IstioStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.ObservedGeneration != 0 {
- i = encodeVarintStatus(dAtA, i, uint64(m.ObservedGeneration))
- i--
- dAtA[i] = 0x18
- }
- if len(m.ValidationMessages) > 0 {
- for iNdEx := len(m.ValidationMessages) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.ValidationMessages[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintStatus(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- }
- if len(m.Conditions) > 0 {
- for iNdEx := len(m.Conditions) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Conditions[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintStatus(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- }
- return len(dAtA) - i, nil
-}
-
-func (m *IstioCondition) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
+func (x *IstioCondition) GetLastProbeTime() *timestamp.Timestamp {
+ if x != nil {
+ return x.LastProbeTime
}
- return dAtA[:n], nil
-}
-
-func (m *IstioCondition) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+ return nil
}
-func (m *IstioCondition) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Message) > 0 {
- i -= len(m.Message)
- copy(dAtA[i:], m.Message)
- i = encodeVarintStatus(dAtA, i, uint64(len(m.Message)))
- i--
- dAtA[i] = 0x32
- }
- if len(m.Reason) > 0 {
- i -= len(m.Reason)
- copy(dAtA[i:], m.Reason)
- i = encodeVarintStatus(dAtA, i, uint64(len(m.Reason)))
- i--
- dAtA[i] = 0x2a
- }
- if m.LastTransitionTime != nil {
- {
- size, err := m.LastTransitionTime.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintStatus(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x22
- }
- if m.LastProbeTime != nil {
- {
- size, err := m.LastProbeTime.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintStatus(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- if len(m.Status) > 0 {
- i -= len(m.Status)
- copy(dAtA[i:], m.Status)
- i = encodeVarintStatus(dAtA, i, uint64(len(m.Status)))
- i--
- dAtA[i] = 0x12
- }
- if len(m.Type) > 0 {
- i -= len(m.Type)
- copy(dAtA[i:], m.Type)
- i = encodeVarintStatus(dAtA, i, uint64(len(m.Type)))
- i--
- dAtA[i] = 0xa
+func (x *IstioCondition) GetLastTransitionTime() *timestamp.Timestamp {
+ if x != nil {
+ return x.LastTransitionTime
}
- return len(dAtA) - i, nil
+ return nil
}
-func encodeVarintStatus(dAtA []byte, offset int, v uint64) int {
- offset -= sovStatus(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
-func (m *IstioStatus) Size() (n int) {
- if m == nil {
- return 0
+func (x *IstioCondition) GetReason() string {
+ if x != nil {
+ return x.Reason
}
- var l int
- _ = l
- if len(m.Conditions) > 0 {
- for _, e := range m.Conditions {
- l = e.Size()
- n += 1 + l + sovStatus(uint64(l))
- }
- }
- if len(m.ValidationMessages) > 0 {
- for _, e := range m.ValidationMessages {
- l = e.Size()
- n += 1 + l + sovStatus(uint64(l))
- }
- }
- if m.ObservedGeneration != 0 {
- n += 1 + sovStatus(uint64(m.ObservedGeneration))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
+ return ""
}
-func (m *IstioCondition) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Type)
- if l > 0 {
- n += 1 + l + sovStatus(uint64(l))
+func (x *IstioCondition) GetMessage() string {
+ if x != nil {
+ return x.Message
}
- l = len(m.Status)
- if l > 0 {
- n += 1 + l + sovStatus(uint64(l))
- }
- if m.LastProbeTime != nil {
- l = m.LastProbeTime.Size()
- n += 1 + l + sovStatus(uint64(l))
- }
- if m.LastTransitionTime != nil {
- l = m.LastTransitionTime.Size()
- n += 1 + l + sovStatus(uint64(l))
- }
- l = len(m.Reason)
- if l > 0 {
- n += 1 + l + sovStatus(uint64(l))
- }
- l = len(m.Message)
- if l > 0 {
- n += 1 + l + sovStatus(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
+ return ""
}
-func sovStatus(x uint64) (n int) {
- return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozStatus(x uint64) (n int) {
- return sovStatus(uint64((x << 1) ^ uint64((int64(x) >> 63))))
+var File_meta_v1alpha1_status_proto protoreflect.FileDescriptor
+
+var file_meta_v1alpha1_status_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x6d, 0x65, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f,
+ 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x69, 0x73,
+ 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
+ 0x31, 0x1a, 0x1f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2f, 0x76, 0x31, 0x61, 0x6c,
+ 0x70, 0x68, 0x61, 0x31, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xe2, 0x01, 0x0a, 0x0b, 0x49, 0x73, 0x74, 0x69, 0x6f, 0x53, 0x74, 0x61,
+ 0x74, 0x75, 0x73, 0x12, 0x43, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e,
+ 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x49, 0x73,
+ 0x74, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f,
+ 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5d, 0x0a, 0x13, 0x76, 0x61, 0x6c, 0x69,
+ 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18,
+ 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x61, 0x6e,
+ 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e,
+ 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42,
+ 0x61, 0x73, 0x65, 0x52, 0x12, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d,
+ 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x6f, 0x62, 0x73, 0x65, 0x72,
+ 0x76, 0x65, 0x64, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x47, 0x65,
+ 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x80, 0x02, 0x0a, 0x0e, 0x49, 0x73, 0x74,
+ 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74,
+ 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12,
+ 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x42, 0x0a, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x5f,
+ 0x70, 0x72, 0x6f, 0x62, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x6c, 0x61,
+ 0x73, 0x74, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4c, 0x0a, 0x14, 0x6c,
+ 0x61, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74,
+ 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
+ 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x12, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73,
+ 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61,
+ 0x73, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f,
+ 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x1c, 0x5a, 0x1a, 0x69,
+ 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x65, 0x74, 0x61,
+ 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
}
-func (m *IstioStatus) 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 ErrIntOverflowStatus
- }
- 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: IstioStatus: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: IstioStatus: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Conditions", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowStatus
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthStatus
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthStatus
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Conditions = append(m.Conditions, &IstioCondition{})
- if err := m.Conditions[len(m.Conditions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ValidationMessages", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowStatus
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthStatus
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthStatus
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.ValidationMessages = append(m.ValidationMessages, &v1alpha1.AnalysisMessageBase{})
- if err := m.ValidationMessages[len(m.ValidationMessages)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field ObservedGeneration", wireType)
- }
- m.ObservedGeneration = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowStatus
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.ObservedGeneration |= int64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- default:
- iNdEx = preIndex
- skippy, err := skipStatus(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthStatus
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *IstioCondition) 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 ErrIntOverflowStatus
- }
- 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: IstioCondition: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: IstioCondition: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowStatus
- }
- 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 ErrInvalidLengthStatus
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthStatus
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Type = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowStatus
- }
- 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 ErrInvalidLengthStatus
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthStatus
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Status = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field LastProbeTime", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowStatus
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthStatus
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthStatus
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.LastProbeTime == nil {
- m.LastProbeTime = &types.Timestamp{}
- }
- if err := m.LastProbeTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field LastTransitionTime", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowStatus
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthStatus
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthStatus
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.LastTransitionTime == nil {
- m.LastTransitionTime = &types.Timestamp{}
- }
- if err := m.LastTransitionTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Reason", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowStatus
- }
- 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 ErrInvalidLengthStatus
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthStatus
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Reason = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 6:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowStatus
- }
- 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 ErrInvalidLengthStatus
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthStatus
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Message = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipStatus(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthStatus
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
+var (
+ file_meta_v1alpha1_status_proto_rawDescOnce sync.Once
+ file_meta_v1alpha1_status_proto_rawDescData = file_meta_v1alpha1_status_proto_rawDesc
+)
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func skipStatus(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowStatus
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
+func file_meta_v1alpha1_status_proto_rawDescGZIP() []byte {
+ file_meta_v1alpha1_status_proto_rawDescOnce.Do(func() {
+ file_meta_v1alpha1_status_proto_rawDescData = protoimpl.X.CompressGZIP(file_meta_v1alpha1_status_proto_rawDescData)
+ })
+ return file_meta_v1alpha1_status_proto_rawDescData
+}
+
+var file_meta_v1alpha1_status_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_meta_v1alpha1_status_proto_goTypes = []interface{}{
+ (*IstioStatus)(nil), // 0: istio.meta.v1alpha1.IstioStatus
+ (*IstioCondition)(nil), // 1: istio.meta.v1alpha1.IstioCondition
+ (*v1alpha1.AnalysisMessageBase)(nil), // 2: istio.analysis.v1alpha1.AnalysisMessageBase
+ (*timestamp.Timestamp)(nil), // 3: google.protobuf.Timestamp
+}
+var file_meta_v1alpha1_status_proto_depIdxs = []int32{
+ 1, // 0: istio.meta.v1alpha1.IstioStatus.conditions:type_name -> istio.meta.v1alpha1.IstioCondition
+ 2, // 1: istio.meta.v1alpha1.IstioStatus.validation_messages:type_name -> istio.analysis.v1alpha1.AnalysisMessageBase
+ 3, // 2: istio.meta.v1alpha1.IstioCondition.last_probe_time:type_name -> google.protobuf.Timestamp
+ 3, // 3: istio.meta.v1alpha1.IstioCondition.last_transition_time:type_name -> google.protobuf.Timestamp
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_meta_v1alpha1_status_proto_init() }
+func file_meta_v1alpha1_status_proto_init() {
+ if File_meta_v1alpha1_status_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_meta_v1alpha1_status_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IstioStatus); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
}
}
- wireType := int(wire & 0x7)
- switch wireType {
- case 0:
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowStatus
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowStatus
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLengthStatus
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroupStatus
+ file_meta_v1alpha1_status_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IstioCondition); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
}
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLengthStatus
- }
- if depth == 0 {
- return iNdEx, nil
}
}
- return 0, io.ErrUnexpectedEOF
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_meta_v1alpha1_status_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_meta_v1alpha1_status_proto_goTypes,
+ DependencyIndexes: file_meta_v1alpha1_status_proto_depIdxs,
+ MessageInfos: file_meta_v1alpha1_status_proto_msgTypes,
+ }.Build()
+ File_meta_v1alpha1_status_proto = out.File
+ file_meta_v1alpha1_status_proto_rawDesc = nil
+ file_meta_v1alpha1_status_proto_goTypes = nil
+ file_meta_v1alpha1_status_proto_depIdxs = nil
}
-
-var (
- ErrInvalidLengthStatus = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflowStatus = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroupStatus = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/vendor/istio.io/api/meta/v1alpha1/status.proto b/vendor/istio.io/api/meta/v1alpha1/status.proto
index 4b072b2ee..402bad14f 100644
--- a/vendor/istio.io/api/meta/v1alpha1/status.proto
+++ b/vendor/istio.io/api/meta/v1alpha1/status.proto
@@ -17,8 +17,6 @@ import "analysis/v1alpha1/message.proto";
import "google/protobuf/timestamp.proto";
-import "google/api/field_behavior.proto";
-
// $title: Istio Status
// $description: Common status field for all istio collections.
// $location: https://istio.io/docs/reference/config/meta/v1beta1/istio-status.html
diff --git a/vendor/istio.io/api/meta/v1alpha1/status_deepcopy.gen.go b/vendor/istio.io/api/meta/v1alpha1/status_deepcopy.gen.go
index 39eb5b195..bfbd1cf7f 100644
--- a/vendor/istio.io/api/meta/v1alpha1/status_deepcopy.gen.go
+++ b/vendor/istio.io/api/meta/v1alpha1/status_deepcopy.gen.go
@@ -1,22 +1,10 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: meta/v1alpha1/status.proto
-
+// Code generated by protoc-gen-deepcopy. DO NOT EDIT.
package v1alpha1
import (
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- _ "github.com/gogo/protobuf/types"
- _ "istio.io/api/analysis/v1alpha1"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
+ proto "github.com/golang/protobuf/proto"
)
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
// DeepCopyInto supports using IstioStatus within kubernetes types, where deepcopy-gen is used.
func (in *IstioStatus) DeepCopyInto(out *IstioStatus) {
p := proto.Clone(in).(*IstioStatus)
diff --git a/vendor/istio.io/api/meta/v1alpha1/status_json.gen.go b/vendor/istio.io/api/meta/v1alpha1/status_json.gen.go
index 1f465f782..6fdfea552 100644
--- a/vendor/istio.io/api/meta/v1alpha1/status_json.gen.go
+++ b/vendor/istio.io/api/meta/v1alpha1/status_json.gen.go
@@ -1,24 +1,11 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: meta/v1alpha1/status.proto
-
+// Code generated by protoc-gen-jsonshim. DO NOT EDIT.
package v1alpha1
import (
bytes "bytes"
- fmt "fmt"
- github_com_gogo_protobuf_jsonpb "github.com/gogo/protobuf/jsonpb"
- proto "github.com/gogo/protobuf/proto"
- _ "github.com/gogo/protobuf/types"
- _ "istio.io/api/analysis/v1alpha1"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
+ jsonpb "github.com/golang/protobuf/jsonpb"
)
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
// MarshalJSON is a custom marshaler for IstioStatus
func (this *IstioStatus) MarshalJSON() ([]byte, error) {
str, err := StatusMarshaler.MarshalToString(this)
@@ -42,6 +29,6 @@ func (this *IstioCondition) UnmarshalJSON(b []byte) error {
}
var (
- StatusMarshaler = &github_com_gogo_protobuf_jsonpb.Marshaler{}
- StatusUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{AllowUnknownFields: true}
+ StatusMarshaler = &jsonpb.Marshaler{}
+ StatusUnmarshaler = &jsonpb.Unmarshaler{AllowUnknownFields: true}
)
diff --git a/vendor/istio.io/api/networking/v1alpha3/destination_rule.gen.json b/vendor/istio.io/api/networking/v1alpha3/destination_rule.gen.json
index 5aae480ad..bdcb90cd6 100644
--- a/vendor/istio.io/api/networking/v1alpha3/destination_rule.gen.json
+++ b/vendor/istio.io/api/networking/v1alpha3/destination_rule.gen.json
@@ -37,7 +37,7 @@
}
},
"sni": {
- "description": "SNI string to present to the server during TLS handshake.",
+ "description": "SNI string to present to the server during TLS handshake. If unspecified, SNI will be automatically set based on downstream HTTP host/authority header for SIMPLE and MUTUAL TLS modes, provided `ENABLE_AUTO_SNI` environmental variable is set to `true`.",
"type": "string"
},
"insecureSkipVerify": {
@@ -175,6 +175,9 @@
"items": {
"type": "string"
}
+ },
+ "workloadSelector": {
+ "$ref": "#/components/schemas/istio.type.v1beta1.WorkloadSelector"
}
}
},
@@ -184,6 +187,10 @@
"properties": {
"localityLbSetting": {
"$ref": "#/components/schemas/istio.networking.v1alpha3.LocalityLoadBalancerSetting"
+ },
+ "warmupDurationSecs": {
+ "description": "Represents the warmup duration of Service. If set, the newly created endpoint of service remains in warmup mode starting from its creation time for the duration of this window and Istio progressively increases amount of traffic for that endpoint instead of sending proportional amount of traffic. This should be enabled for services that require warm up time to serve full production load with reasonable latency. Currently this is only supported for ROUND_ROBIN and LEAST_CONN load balancers.",
+ "type": "string"
}
},
"oneOf": [
@@ -361,10 +368,12 @@
"description": "Standard load balancing algorithms that require no tuning.",
"type": "string",
"enum": [
- "ROUND_ROBIN",
+ "UNSPECIFIED",
"LEAST_CONN",
"RANDOM",
- "PASSTHROUGH"
+ "PASSTHROUGH",
+ "ROUND_ROBIN",
+ "LEAST_REQUEST"
]
},
"istio.networking.v1alpha3.LocalityLoadBalancerSetting": {
@@ -531,6 +540,9 @@
"items": {
"$ref": "#/components/schemas/istio.networking.v1alpha3.TrafficPolicy.PortTrafficPolicy"
}
+ },
+ "tunnel": {
+ "$ref": "#/components/schemas/istio.networking.v1alpha3.TrafficPolicy.TunnelSettings"
}
}
},
@@ -554,6 +566,36 @@
"$ref": "#/components/schemas/istio.networking.v1alpha3.ClientTLSSettings"
}
}
+ },
+ "istio.networking.v1alpha3.TrafficPolicy.TunnelSettings": {
+ "type": "object",
+ "properties": {
+ "protocol": {
+ "description": "Specifies which protocol to use for tunneling the downstream connection. Supported protocols are: connect - uses HTTP CONNECT; post - uses HTTP POST. HTTP version for upstream requests is determined by the service protocol defined for the proxy.",
+ "type": "string"
+ },
+ "targetHost": {
+ "description": "Specifies a host to which the downstream connection is tunneled. Target host must be an FQDN or IP address.",
+ "type": "string"
+ },
+ "targetPort": {
+ "description": "Specifies a port to which the downstream connection is tunneled.",
+ "type": "integer"
+ }
+ }
+ },
+ "istio.type.v1beta1.WorkloadSelector": {
+ "description": "WorkloadSelector specifies the criteria used to determine if a policy can be applied to a proxy. The matching criteria includes the metadata associated with a proxy, workload instance info such as labels attached to the pod/VM, or any other info that the proxy provides to Istio during the initial handshake. If multiple conditions are specified, all conditions need to match in order for the workload instance to be selected. Currently, only label based selection mechanism is supported.",
+ "type": "object",
+ "properties": {
+ "matchLabels": {
+ "description": "One or more labels that indicate a specific set of pods/VMs on which a policy should be applied. The scope of label search is restricted to the configuration namespace in which the resource is present.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
}
}
}
diff --git a/vendor/istio.io/api/networking/v1alpha3/destination_rule.pb.go b/vendor/istio.io/api/networking/v1alpha3/destination_rule.pb.go
index 5b4ef1025..f5b56b91d 100644
--- a/vendor/istio.io/api/networking/v1alpha3/destination_rule.pb.go
+++ b/vendor/istio.io/api/networking/v1alpha3/destination_rule.pb.go
@@ -1,6 +1,29 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
+// Copyright 2018 Istio 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-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.27.1
+// protoc (unknown)
// source: networking/v1alpha3/destination_rule.proto
+// $schema: istio.networking.v1alpha3.DestinationRule
+// $title: Destination Rule
+// $description: Configuration affecting load balancing, outlier detection, etc.
+// $location: https://istio.io/docs/reference/config/networking/destination-rule.html
+// $aliases: [/docs/reference/config/networking/v1alpha3/destination-rule]
+
// `DestinationRule` defines policies that apply to traffic intended for a
// service after routing has occurred. These rules specify configuration
// for load balancing, connection pool size from the sidecar, and outlier
@@ -19,7 +42,7 @@
// host: ratings.prod.svc.cluster.local
// trafficPolicy:
// loadBalancer:
-// simple: LEAST_CONN
+// simple: LEAST_REQUEST
// ```
// {{}}
//
@@ -33,7 +56,7 @@
// host: ratings.prod.svc.cluster.local
// trafficPolicy:
// loadBalancer:
-// simple: LEAST_CONN
+// simple: LEAST_REQUEST
// ```
// {{}}
// {{}}
@@ -55,7 +78,7 @@
// host: ratings.prod.svc.cluster.local
// trafficPolicy:
// loadBalancer:
-// simple: LEAST_CONN
+// simple: LEAST_REQUEST
// subsets:
// - name: testversion
// labels:
@@ -76,7 +99,7 @@
// host: ratings.prod.svc.cluster.local
// trafficPolicy:
// loadBalancer:
-// simple: LEAST_CONN
+// simple: LEAST_REQUEST
// subsets:
// - name: testversion
// labels:
@@ -110,7 +133,7 @@
// - port:
// number: 80
// loadBalancer:
-// simple: LEAST_CONN
+// simple: LEAST_REQUEST
// - port:
// number: 9080
// loadBalancer:
@@ -131,49 +154,94 @@
// - port:
// number: 80
// loadBalancer:
-// simple: LEAST_CONN
+// simple: LEAST_REQUEST
// - port:
// number: 9080
// loadBalancer:
// simple: ROUND_ROBIN
// ```
// {{}}
+//
+// Destination Rules can be customized to specific workloads as well.
+// The following example shows how a destination rule can be applied to a
+// specific workload using the workloadSelector configuration.
+//
+// {{}}
+// {{}}
+// ```yaml
+// apiVersion: networking.istio.io/v1alpha3
+// kind: DestinationRule
+// metadata:
+// name: configure-client-mtls-dr-with-workloadselector
+// spec:
+// workloadSelector:
+// matchLabels:
+// app: ratings
+// trafficPolicy:
+// loadBalancer:
+// simple: ROUND_ROBIN
+// portLevelSettings:
+// - port:
+// number: 31443
+// tls:
+// credentialName: client-credential
+// mode: MUTUAL
+// ```
+// {{}}
+// {{}}
+// ```yaml
+// apiVersion: networking.istio.io/v1beta1
+// kind: DestinationRule
+// metadata:
+// name: configure-client-mtls-dr-with-workloadselector
+// spec:
+// workloadSelector:
+// matchLabels:
+// app: ratings
+// trafficPolicy:
+// loadBalancer:
+// simple: ROUND_ROBIN
+// portLevelSettings:
+// - port:
+// number: 31443
+// tls:
+// credentialName: client-credential
+// mode: MUTUAL
+// ```
+// {{}}
// {{}}
//
package v1alpha3
import (
- fmt "fmt"
- _ "github.com/gogo/protobuf/gogoproto"
- proto "github.com/gogo/protobuf/proto"
- types "github.com/gogo/protobuf/types"
- io "io"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
- math_bits "math/bits"
+ duration "github.com/golang/protobuf/ptypes/duration"
+ wrappers "github.com/golang/protobuf/ptypes/wrappers"
+ _ "google.golang.org/genproto/googleapis/api/annotations"
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ v1beta1 "istio.io/api/type/v1beta1"
+ reflect "reflect"
+ sync "sync"
)
-// 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.GoGoProtoPackageIsVersion3 // please upgrade the proto package
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
// Standard load balancing algorithms that require no tuning.
type LoadBalancerSettings_SimpleLB int32
const (
- // Round Robin policy. Default
- LoadBalancerSettings_ROUND_ROBIN LoadBalancerSettings_SimpleLB = 0
- // The least request load balancer uses an O(1) algorithm which selects
- // two random healthy hosts and picks the host which has fewer active
- // requests.
+ // No load balancing algorithm has been specified by the user. Istio
+ // will select an appropriate default.
+ LoadBalancerSettings_UNSPECIFIED LoadBalancerSettings_SimpleLB = 0
+ // Deprecated. Use LEAST_REQUEST instead.
+ //
+ // Deprecated: Do not use.
LoadBalancerSettings_LEAST_CONN LoadBalancerSettings_SimpleLB = 1
// The random load balancer selects a random healthy host. The random
// load balancer generally performs better than round robin if no health
@@ -185,28 +253,63 @@ const (
// advanced use cases. Refer to Original Destination load balancer in
// Envoy for further details.
LoadBalancerSettings_PASSTHROUGH LoadBalancerSettings_SimpleLB = 3
+ // A basic round robin load balancing policy. This is generally unsafe
+ // for many scenarios (e.g. when enpoint weighting is used) as it can
+ // overburden endpoints. In general, prefer to use LEAST_REQUEST as a
+ // drop-in replacement for ROUND_ROBIN.
+ LoadBalancerSettings_ROUND_ROBIN LoadBalancerSettings_SimpleLB = 4
+ // The least request load balancer spreads load across endpoints, favoring
+ // endpoints with the least outstanding requests. This is generally safer
+ // and outperforms ROUND_ROBIN in nearly all cases. Prefer to use
+ // LEAST_REQUEST as a drop-in replacement for ROUND_ROBIN.
+ LoadBalancerSettings_LEAST_REQUEST LoadBalancerSettings_SimpleLB = 5
)
-var LoadBalancerSettings_SimpleLB_name = map[int32]string{
- 0: "ROUND_ROBIN",
- 1: "LEAST_CONN",
- 2: "RANDOM",
- 3: "PASSTHROUGH",
-}
+// Enum value maps for LoadBalancerSettings_SimpleLB.
+var (
+ LoadBalancerSettings_SimpleLB_name = map[int32]string{
+ 0: "UNSPECIFIED",
+ 1: "LEAST_CONN",
+ 2: "RANDOM",
+ 3: "PASSTHROUGH",
+ 4: "ROUND_ROBIN",
+ 5: "LEAST_REQUEST",
+ }
+ LoadBalancerSettings_SimpleLB_value = map[string]int32{
+ "UNSPECIFIED": 0,
+ "LEAST_CONN": 1,
+ "RANDOM": 2,
+ "PASSTHROUGH": 3,
+ "ROUND_ROBIN": 4,
+ "LEAST_REQUEST": 5,
+ }
+)
-var LoadBalancerSettings_SimpleLB_value = map[string]int32{
- "ROUND_ROBIN": 0,
- "LEAST_CONN": 1,
- "RANDOM": 2,
- "PASSTHROUGH": 3,
+func (x LoadBalancerSettings_SimpleLB) Enum() *LoadBalancerSettings_SimpleLB {
+ p := new(LoadBalancerSettings_SimpleLB)
+ *p = x
+ return p
}
func (x LoadBalancerSettings_SimpleLB) String() string {
- return proto.EnumName(LoadBalancerSettings_SimpleLB_name, int32(x))
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (LoadBalancerSettings_SimpleLB) Descriptor() protoreflect.EnumDescriptor {
+ return file_networking_v1alpha3_destination_rule_proto_enumTypes[0].Descriptor()
+}
+
+func (LoadBalancerSettings_SimpleLB) Type() protoreflect.EnumType {
+ return &file_networking_v1alpha3_destination_rule_proto_enumTypes[0]
+}
+
+func (x LoadBalancerSettings_SimpleLB) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
}
+// Deprecated: Use LoadBalancerSettings_SimpleLB.Descriptor instead.
func (LoadBalancerSettings_SimpleLB) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_12899beb695152c8, []int{3, 0}
+ return file_networking_v1alpha3_destination_rule_proto_rawDescGZIP(), []int{3, 0}
}
// Policy for upgrading http1.1 connections to http2.
@@ -223,24 +326,45 @@ const (
ConnectionPoolSettings_HTTPSettings_UPGRADE ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy = 2
)
-var ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy_name = map[int32]string{
- 0: "DEFAULT",
- 1: "DO_NOT_UPGRADE",
- 2: "UPGRADE",
-}
+// Enum value maps for ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy.
+var (
+ ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy_name = map[int32]string{
+ 0: "DEFAULT",
+ 1: "DO_NOT_UPGRADE",
+ 2: "UPGRADE",
+ }
+ ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy_value = map[string]int32{
+ "DEFAULT": 0,
+ "DO_NOT_UPGRADE": 1,
+ "UPGRADE": 2,
+ }
+)
-var ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy_value = map[string]int32{
- "DEFAULT": 0,
- "DO_NOT_UPGRADE": 1,
- "UPGRADE": 2,
+func (x ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy) Enum() *ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy {
+ p := new(ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy)
+ *p = x
+ return p
}
func (x ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy) String() string {
- return proto.EnumName(ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy_name, int32(x))
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy) Descriptor() protoreflect.EnumDescriptor {
+ return file_networking_v1alpha3_destination_rule_proto_enumTypes[1].Descriptor()
+}
+
+func (ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy) Type() protoreflect.EnumType {
+ return &file_networking_v1alpha3_destination_rule_proto_enumTypes[1]
+}
+
+func (x ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
}
+// Deprecated: Use ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy.Descriptor instead.
func (ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_12899beb695152c8, []int{4, 1, 0}
+ return file_networking_v1alpha3_destination_rule_proto_rawDescGZIP(), []int{4, 1, 0}
}
// TLS connection mode
@@ -262,26 +386,47 @@ const (
ClientTLSSettings_ISTIO_MUTUAL ClientTLSSettings_TLSmode = 3
)
-var ClientTLSSettings_TLSmode_name = map[int32]string{
- 0: "DISABLE",
- 1: "SIMPLE",
- 2: "MUTUAL",
- 3: "ISTIO_MUTUAL",
-}
+// Enum value maps for ClientTLSSettings_TLSmode.
+var (
+ ClientTLSSettings_TLSmode_name = map[int32]string{
+ 0: "DISABLE",
+ 1: "SIMPLE",
+ 2: "MUTUAL",
+ 3: "ISTIO_MUTUAL",
+ }
+ ClientTLSSettings_TLSmode_value = map[string]int32{
+ "DISABLE": 0,
+ "SIMPLE": 1,
+ "MUTUAL": 2,
+ "ISTIO_MUTUAL": 3,
+ }
+)
-var ClientTLSSettings_TLSmode_value = map[string]int32{
- "DISABLE": 0,
- "SIMPLE": 1,
- "MUTUAL": 2,
- "ISTIO_MUTUAL": 3,
+func (x ClientTLSSettings_TLSmode) Enum() *ClientTLSSettings_TLSmode {
+ p := new(ClientTLSSettings_TLSmode)
+ *p = x
+ return p
}
func (x ClientTLSSettings_TLSmode) String() string {
- return proto.EnumName(ClientTLSSettings_TLSmode_name, int32(x))
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ClientTLSSettings_TLSmode) Descriptor() protoreflect.EnumDescriptor {
+ return file_networking_v1alpha3_destination_rule_proto_enumTypes[2].Descriptor()
+}
+
+func (ClientTLSSettings_TLSmode) Type() protoreflect.EnumType {
+ return &file_networking_v1alpha3_destination_rule_proto_enumTypes[2]
+}
+
+func (x ClientTLSSettings_TLSmode) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
}
+// Deprecated: Use ClientTLSSettings_TLSmode.Descriptor instead.
func (ClientTLSSettings_TLSmode) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_12899beb695152c8, []int{6, 0}
+ return file_networking_v1alpha3_destination_rule_proto_rawDescGZIP(), []int{6, 0}
}
// DestinationRule defines policies that apply to traffic intended for a service
@@ -314,6 +459,10 @@ func (ClientTLSSettings_TLSmode) EnumDescriptor() ([]byte, []int) {
// +istio.io/sync-start
// -->
type DestinationRule struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// The name of a service from the service registry. Service
// names are looked up from the platform's service registry (e.g.,
// Kubernetes services, Consul services, etc.) and from the hosts
@@ -351,69 +500,82 @@ type DestinationRule struct {
// The value "." is reserved and defines an export to the same namespace that
// the destination rule is declared in. Similarly, the value "*" is reserved and
// defines an export to all namespaces.
- ExportTo []string `protobuf:"bytes,4,rep,name=export_to,json=exportTo,proto3" json:"export_to,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ ExportTo []string `protobuf:"bytes,4,rep,name=export_to,json=exportTo,proto3" json:"export_to,omitempty"`
+ //
+ // Criteria used to select the specific set of pods/VMs on which this
+ // `DestinationRule` configuration should be applied. If specified, the `DestinationRule`
+ // configuration will be applied only to the workload instances matching the workload selector
+ // label in the same namespace. Workload selectors do not apply across namespace boundaries.
+ // If omitted, the `DestinationRule` falls back to its default behavior.
+ // For example, if specific sidecars need to have egress TLS settings for services outside
+ // of the mesh, instead of every sidecar in the mesh needing to have the
+ // configuration (which is the default behaviour), a workload selector can be specified.
+ WorkloadSelector *v1beta1.WorkloadSelector `protobuf:"bytes,5,opt,name=workload_selector,json=workloadSelector,proto3" json:"workload_selector,omitempty"`
}
-func (m *DestinationRule) Reset() { *m = DestinationRule{} }
-func (m *DestinationRule) String() string { return proto.CompactTextString(m) }
-func (*DestinationRule) ProtoMessage() {}
-func (*DestinationRule) Descriptor() ([]byte, []int) {
- return fileDescriptor_12899beb695152c8, []int{0}
-}
-func (m *DestinationRule) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *DestinationRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_DestinationRule.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *DestinationRule) Reset() {
+ *x = DestinationRule{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *DestinationRule) XXX_Merge(src proto.Message) {
- xxx_messageInfo_DestinationRule.Merge(m, src)
-}
-func (m *DestinationRule) XXX_Size() int {
- return m.Size()
+
+func (x *DestinationRule) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *DestinationRule) XXX_DiscardUnknown() {
- xxx_messageInfo_DestinationRule.DiscardUnknown(m)
+
+func (*DestinationRule) ProtoMessage() {}
+
+func (x *DestinationRule) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_DestinationRule proto.InternalMessageInfo
+// Deprecated: Use DestinationRule.ProtoReflect.Descriptor instead.
+func (*DestinationRule) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_destination_rule_proto_rawDescGZIP(), []int{0}
+}
-func (m *DestinationRule) GetHost() string {
- if m != nil {
- return m.Host
+func (x *DestinationRule) GetHost() string {
+ if x != nil {
+ return x.Host
}
return ""
}
-func (m *DestinationRule) GetTrafficPolicy() *TrafficPolicy {
- if m != nil {
- return m.TrafficPolicy
+func (x *DestinationRule) GetTrafficPolicy() *TrafficPolicy {
+ if x != nil {
+ return x.TrafficPolicy
}
return nil
}
-func (m *DestinationRule) GetSubsets() []*Subset {
- if m != nil {
- return m.Subsets
+func (x *DestinationRule) GetSubsets() []*Subset {
+ if x != nil {
+ return x.Subsets
}
return nil
}
-func (m *DestinationRule) GetExportTo() []string {
- if m != nil {
- return m.ExportTo
+func (x *DestinationRule) GetExportTo() []string {
+ if x != nil {
+ return x.ExportTo
+ }
+ return nil
+}
+
+func (x *DestinationRule) GetWorkloadSelector() *v1beta1.WorkloadSelector {
+ if x != nil {
+ return x.WorkloadSelector
}
return nil
}
@@ -421,6 +583,10 @@ func (m *DestinationRule) GetExportTo() []string {
// Traffic policies to apply for a specific destination, across all
// destination ports. See DestinationRule for examples.
type TrafficPolicy struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Settings controlling the load balancer algorithms.
LoadBalancer *LoadBalancerSettings `protobuf:"bytes,1,opt,name=load_balancer,json=loadBalancer,proto3" json:"load_balancer,omitempty"`
// Settings controlling the volume of connections to an upstream service
@@ -434,163 +600,83 @@ type TrafficPolicy struct {
// settings specified at the destination-level will not be inherited when
// overridden by port-level settings, i.e. default values will be applied
// to fields omitted in port-level traffic policies.
- PortLevelSettings []*TrafficPolicy_PortTrafficPolicy `protobuf:"bytes,5,rep,name=port_level_settings,json=portLevelSettings,proto3" json:"port_level_settings,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ PortLevelSettings []*TrafficPolicy_PortTrafficPolicy `protobuf:"bytes,5,rep,name=port_level_settings,json=portLevelSettings,proto3" json:"port_level_settings,omitempty"`
+ // Configuration of tunneling TCP over other transport or application layers
+ // for the host configured in the DestinationRule.
+ // Tunnel settings can be applied to TCP or TLS routes and can't be applied to HTTP routes.
+ Tunnel *TrafficPolicy_TunnelSettings `protobuf:"bytes,6,opt,name=tunnel,proto3" json:"tunnel,omitempty"`
}
-func (m *TrafficPolicy) Reset() { *m = TrafficPolicy{} }
-func (m *TrafficPolicy) String() string { return proto.CompactTextString(m) }
-func (*TrafficPolicy) ProtoMessage() {}
-func (*TrafficPolicy) Descriptor() ([]byte, []int) {
- return fileDescriptor_12899beb695152c8, []int{1}
-}
-func (m *TrafficPolicy) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *TrafficPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_TrafficPolicy.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *TrafficPolicy) Reset() {
+ *x = TrafficPolicy{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *TrafficPolicy) XXX_Merge(src proto.Message) {
- xxx_messageInfo_TrafficPolicy.Merge(m, src)
-}
-func (m *TrafficPolicy) XXX_Size() int {
- return m.Size()
-}
-func (m *TrafficPolicy) XXX_DiscardUnknown() {
- xxx_messageInfo_TrafficPolicy.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_TrafficPolicy proto.InternalMessageInfo
-func (m *TrafficPolicy) GetLoadBalancer() *LoadBalancerSettings {
- if m != nil {
- return m.LoadBalancer
- }
- return nil
+func (x *TrafficPolicy) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *TrafficPolicy) GetConnectionPool() *ConnectionPoolSettings {
- if m != nil {
- return m.ConnectionPool
- }
- return nil
-}
+func (*TrafficPolicy) ProtoMessage() {}
-func (m *TrafficPolicy) GetOutlierDetection() *OutlierDetection {
- if m != nil {
- return m.OutlierDetection
+func (x *TrafficPolicy) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
}
- return nil
+ return mi.MessageOf(x)
}
-func (m *TrafficPolicy) GetTls() *ClientTLSSettings {
- if m != nil {
- return m.Tls
- }
- return nil
+// Deprecated: Use TrafficPolicy.ProtoReflect.Descriptor instead.
+func (*TrafficPolicy) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_destination_rule_proto_rawDescGZIP(), []int{1}
}
-func (m *TrafficPolicy) GetPortLevelSettings() []*TrafficPolicy_PortTrafficPolicy {
- if m != nil {
- return m.PortLevelSettings
+func (x *TrafficPolicy) GetLoadBalancer() *LoadBalancerSettings {
+ if x != nil {
+ return x.LoadBalancer
}
return nil
}
-// Traffic policies that apply to specific ports of the service
-type TrafficPolicy_PortTrafficPolicy struct {
- // Specifies the number of a port on the destination service
- // on which this policy is being applied.
- //
- Port *PortSelector `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"`
- // Settings controlling the load balancer algorithms.
- LoadBalancer *LoadBalancerSettings `protobuf:"bytes,2,opt,name=load_balancer,json=loadBalancer,proto3" json:"load_balancer,omitempty"`
- // Settings controlling the volume of connections to an upstream service
- ConnectionPool *ConnectionPoolSettings `protobuf:"bytes,3,opt,name=connection_pool,json=connectionPool,proto3" json:"connection_pool,omitempty"`
- // Settings controlling eviction of unhealthy hosts from the load balancing pool
- OutlierDetection *OutlierDetection `protobuf:"bytes,4,opt,name=outlier_detection,json=outlierDetection,proto3" json:"outlier_detection,omitempty"`
- // TLS related settings for connections to the upstream service.
- Tls *ClientTLSSettings `protobuf:"bytes,5,opt,name=tls,proto3" json:"tls,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *TrafficPolicy_PortTrafficPolicy) Reset() { *m = TrafficPolicy_PortTrafficPolicy{} }
-func (m *TrafficPolicy_PortTrafficPolicy) String() string { return proto.CompactTextString(m) }
-func (*TrafficPolicy_PortTrafficPolicy) ProtoMessage() {}
-func (*TrafficPolicy_PortTrafficPolicy) Descriptor() ([]byte, []int) {
- return fileDescriptor_12899beb695152c8, []int{1, 0}
-}
-func (m *TrafficPolicy_PortTrafficPolicy) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *TrafficPolicy_PortTrafficPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_TrafficPolicy_PortTrafficPolicy.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *TrafficPolicy_PortTrafficPolicy) XXX_Merge(src proto.Message) {
- xxx_messageInfo_TrafficPolicy_PortTrafficPolicy.Merge(m, src)
-}
-func (m *TrafficPolicy_PortTrafficPolicy) XXX_Size() int {
- return m.Size()
-}
-func (m *TrafficPolicy_PortTrafficPolicy) XXX_DiscardUnknown() {
- xxx_messageInfo_TrafficPolicy_PortTrafficPolicy.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_TrafficPolicy_PortTrafficPolicy proto.InternalMessageInfo
-
-func (m *TrafficPolicy_PortTrafficPolicy) GetPort() *PortSelector {
- if m != nil {
- return m.Port
+func (x *TrafficPolicy) GetConnectionPool() *ConnectionPoolSettings {
+ if x != nil {
+ return x.ConnectionPool
}
return nil
}
-func (m *TrafficPolicy_PortTrafficPolicy) GetLoadBalancer() *LoadBalancerSettings {
- if m != nil {
- return m.LoadBalancer
+func (x *TrafficPolicy) GetOutlierDetection() *OutlierDetection {
+ if x != nil {
+ return x.OutlierDetection
}
return nil
}
-func (m *TrafficPolicy_PortTrafficPolicy) GetConnectionPool() *ConnectionPoolSettings {
- if m != nil {
- return m.ConnectionPool
+func (x *TrafficPolicy) GetTls() *ClientTLSSettings {
+ if x != nil {
+ return x.Tls
}
return nil
}
-func (m *TrafficPolicy_PortTrafficPolicy) GetOutlierDetection() *OutlierDetection {
- if m != nil {
- return m.OutlierDetection
+func (x *TrafficPolicy) GetPortLevelSettings() []*TrafficPolicy_PortTrafficPolicy {
+ if x != nil {
+ return x.PortLevelSettings
}
return nil
}
-func (m *TrafficPolicy_PortTrafficPolicy) GetTls() *ClientTLSSettings {
- if m != nil {
- return m.Tls
+func (x *TrafficPolicy) GetTunnel() *TrafficPolicy_TunnelSettings {
+ if x != nil {
+ return x.Tunnel
}
return nil
}
@@ -615,7 +701,7 @@ func (m *TrafficPolicy_PortTrafficPolicy) GetTls() *ClientTLSSettings {
// host: ratings.prod.svc.cluster.local
// trafficPolicy:
// loadBalancer:
-// simple: LEAST_CONN
+// simple: LEAST_REQUEST
// subsets:
// - name: testversion
// labels:
@@ -636,7 +722,7 @@ func (m *TrafficPolicy_PortTrafficPolicy) GetTls() *ClientTLSSettings {
// host: ratings.prod.svc.cluster.local
// trafficPolicy:
// loadBalancer:
-// simple: LEAST_CONN
+// simple: LEAST_REQUEST
// subsets:
// - name: testversion
// labels:
@@ -657,6 +743,10 @@ func (m *TrafficPolicy_PortTrafficPolicy) GetTls() *ClientTLSSettings {
// may be meaningful. In this case a traffic policy with [ClientTLSSettings](#ClientTLSSettings)
// can be used to identify a specific SNI host corresponding to the named subset.
type Subset struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Name of the subset. The service name and the subset name can
// be used for traffic splitting in a route rule.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
@@ -667,62 +757,58 @@ type Subset struct {
// traffic policies specified at the DestinationRule level. Settings
// specified at the subset level will override the corresponding settings
// specified at the DestinationRule level.
- TrafficPolicy *TrafficPolicy `protobuf:"bytes,3,opt,name=traffic_policy,json=trafficPolicy,proto3" json:"traffic_policy,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ TrafficPolicy *TrafficPolicy `protobuf:"bytes,3,opt,name=traffic_policy,json=trafficPolicy,proto3" json:"traffic_policy,omitempty"`
}
-func (m *Subset) Reset() { *m = Subset{} }
-func (m *Subset) String() string { return proto.CompactTextString(m) }
-func (*Subset) ProtoMessage() {}
-func (*Subset) Descriptor() ([]byte, []int) {
- return fileDescriptor_12899beb695152c8, []int{2}
-}
-func (m *Subset) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *Subset) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Subset.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *Subset) Reset() {
+ *x = Subset{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *Subset) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Subset.Merge(m, src)
-}
-func (m *Subset) XXX_Size() int {
- return m.Size()
+
+func (x *Subset) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *Subset) XXX_DiscardUnknown() {
- xxx_messageInfo_Subset.DiscardUnknown(m)
+
+func (*Subset) ProtoMessage() {}
+
+func (x *Subset) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[2]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_Subset proto.InternalMessageInfo
+// Deprecated: Use Subset.ProtoReflect.Descriptor instead.
+func (*Subset) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_destination_rule_proto_rawDescGZIP(), []int{2}
+}
-func (m *Subset) GetName() string {
- if m != nil {
- return m.Name
+func (x *Subset) GetName() string {
+ if x != nil {
+ return x.Name
}
return ""
}
-func (m *Subset) GetLabels() map[string]string {
- if m != nil {
- return m.Labels
+func (x *Subset) GetLabels() map[string]string {
+ if x != nil {
+ return x.Labels
}
return nil
}
-func (m *Subset) GetTrafficPolicy() *TrafficPolicy {
- if m != nil {
- return m.TrafficPolicy
+func (x *Subset) GetTrafficPolicy() *TrafficPolicy {
+ if x != nil {
+ return x.TrafficPolicy
}
return nil
}
@@ -806,69 +892,59 @@ func (m *Subset) GetTrafficPolicy() *TrafficPolicy {
// {{}}
//
type LoadBalancerSettings struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Upstream load balancing policy.
//
- // Types that are valid to be assigned to LbPolicy:
+ // Types that are assignable to LbPolicy:
// *LoadBalancerSettings_Simple
// *LoadBalancerSettings_ConsistentHash
LbPolicy isLoadBalancerSettings_LbPolicy `protobuf_oneof:"lb_policy"`
// Locality load balancer settings, this will override mesh wide settings in entirety, meaning no merging would be performed
// between this object and the object one in MeshConfig
- LocalityLbSetting *LocalityLoadBalancerSetting `protobuf:"bytes,3,opt,name=locality_lb_setting,json=localityLbSetting,proto3" json:"locality_lb_setting,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ LocalityLbSetting *LocalityLoadBalancerSetting `protobuf:"bytes,3,opt,name=locality_lb_setting,json=localityLbSetting,proto3" json:"locality_lb_setting,omitempty"`
+ // Represents the warmup duration of Service. If set, the newly created endpoint of service
+ // remains in warmup mode starting from its creation time for the duration of this window and
+ // Istio progressively increases amount of traffic for that endpoint instead of sending proportional amount of traffic.
+ // This should be enabled for services that require warm up time to serve full production load with reasonable latency.
+ // Currently this is only supported for ROUND_ROBIN and LEAST_CONN load balancers.
+ WarmupDurationSecs *duration.Duration `protobuf:"bytes,4,opt,name=warmup_duration_secs,json=warmupDurationSecs,proto3" json:"warmup_duration_secs,omitempty"`
}
-func (m *LoadBalancerSettings) Reset() { *m = LoadBalancerSettings{} }
-func (m *LoadBalancerSettings) String() string { return proto.CompactTextString(m) }
-func (*LoadBalancerSettings) ProtoMessage() {}
-func (*LoadBalancerSettings) Descriptor() ([]byte, []int) {
- return fileDescriptor_12899beb695152c8, []int{3}
-}
-func (m *LoadBalancerSettings) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *LoadBalancerSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_LoadBalancerSettings.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *LoadBalancerSettings) Reset() {
+ *x = LoadBalancerSettings{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *LoadBalancerSettings) XXX_Merge(src proto.Message) {
- xxx_messageInfo_LoadBalancerSettings.Merge(m, src)
-}
-func (m *LoadBalancerSettings) XXX_Size() int {
- return m.Size()
-}
-func (m *LoadBalancerSettings) XXX_DiscardUnknown() {
- xxx_messageInfo_LoadBalancerSettings.DiscardUnknown(m)
+
+func (x *LoadBalancerSettings) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-var xxx_messageInfo_LoadBalancerSettings proto.InternalMessageInfo
+func (*LoadBalancerSettings) ProtoMessage() {}
-type isLoadBalancerSettings_LbPolicy interface {
- isLoadBalancerSettings_LbPolicy()
- MarshalTo([]byte) (int, error)
- Size() int
+func (x *LoadBalancerSettings) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[3]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-type LoadBalancerSettings_Simple struct {
- Simple LoadBalancerSettings_SimpleLB `protobuf:"varint,1,opt,name=simple,proto3,enum=istio.networking.v1alpha3.LoadBalancerSettings_SimpleLB,oneof" json:"simple,omitempty"`
-}
-type LoadBalancerSettings_ConsistentHash struct {
- ConsistentHash *LoadBalancerSettings_ConsistentHashLB `protobuf:"bytes,2,opt,name=consistent_hash,json=consistentHash,proto3,oneof" json:"consistent_hash,omitempty"`
+// Deprecated: Use LoadBalancerSettings.ProtoReflect.Descriptor instead.
+func (*LoadBalancerSettings) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_destination_rule_proto_rawDescGZIP(), []int{3}
}
-func (*LoadBalancerSettings_Simple) isLoadBalancerSettings_LbPolicy() {}
-func (*LoadBalancerSettings_ConsistentHash) isLoadBalancerSettings_LbPolicy() {}
-
func (m *LoadBalancerSettings) GetLbPolicy() isLoadBalancerSettings_LbPolicy {
if m != nil {
return m.LbPolicy
@@ -876,254 +952,171 @@ func (m *LoadBalancerSettings) GetLbPolicy() isLoadBalancerSettings_LbPolicy {
return nil
}
-func (m *LoadBalancerSettings) GetSimple() LoadBalancerSettings_SimpleLB {
- if x, ok := m.GetLbPolicy().(*LoadBalancerSettings_Simple); ok {
+func (x *LoadBalancerSettings) GetSimple() LoadBalancerSettings_SimpleLB {
+ if x, ok := x.GetLbPolicy().(*LoadBalancerSettings_Simple); ok {
return x.Simple
}
- return LoadBalancerSettings_ROUND_ROBIN
+ return LoadBalancerSettings_UNSPECIFIED
}
-func (m *LoadBalancerSettings) GetConsistentHash() *LoadBalancerSettings_ConsistentHashLB {
- if x, ok := m.GetLbPolicy().(*LoadBalancerSettings_ConsistentHash); ok {
+func (x *LoadBalancerSettings) GetConsistentHash() *LoadBalancerSettings_ConsistentHashLB {
+ if x, ok := x.GetLbPolicy().(*LoadBalancerSettings_ConsistentHash); ok {
return x.ConsistentHash
}
return nil
}
-func (m *LoadBalancerSettings) GetLocalityLbSetting() *LocalityLoadBalancerSetting {
- if m != nil {
- return m.LocalityLbSetting
+func (x *LoadBalancerSettings) GetLocalityLbSetting() *LocalityLoadBalancerSetting {
+ if x != nil {
+ return x.LocalityLbSetting
}
return nil
}
-// XXX_OneofWrappers is for the internal use of the proto package.
-func (*LoadBalancerSettings) XXX_OneofWrappers() []interface{} {
- return []interface{}{
- (*LoadBalancerSettings_Simple)(nil),
- (*LoadBalancerSettings_ConsistentHash)(nil),
+func (x *LoadBalancerSettings) GetWarmupDurationSecs() *duration.Duration {
+ if x != nil {
+ return x.WarmupDurationSecs
}
+ return nil
}
-// Consistent Hash-based load balancing can be used to provide soft
-// session affinity based on HTTP headers, cookies or other
-// properties. The affinity to a particular destination host will be
-// lost when one or more hosts are added/removed from the destination
-// service.
-type LoadBalancerSettings_ConsistentHashLB struct {
- // The hash key to use.
- //
- // Types that are valid to be assigned to HashKey:
- // *LoadBalancerSettings_ConsistentHashLB_HttpHeaderName
- // *LoadBalancerSettings_ConsistentHashLB_HttpCookie
- // *LoadBalancerSettings_ConsistentHashLB_UseSourceIp
- // *LoadBalancerSettings_ConsistentHashLB_HttpQueryParameterName
- HashKey isLoadBalancerSettings_ConsistentHashLB_HashKey `protobuf_oneof:"hash_key"`
- // The minimum number of virtual nodes to use for the hash
- // ring. Defaults to 1024. Larger ring sizes result in more granular
- // load distributions. If the number of hosts in the load balancing
- // pool is larger than the ring size, each host will be assigned a
- // single virtual node.
- MinimumRingSize uint64 `protobuf:"varint,4,opt,name=minimum_ring_size,json=minimumRingSize,proto3" json:"minimum_ring_size,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+type isLoadBalancerSettings_LbPolicy interface {
+ isLoadBalancerSettings_LbPolicy()
}
-func (m *LoadBalancerSettings_ConsistentHashLB) Reset() { *m = LoadBalancerSettings_ConsistentHashLB{} }
-func (m *LoadBalancerSettings_ConsistentHashLB) String() string { return proto.CompactTextString(m) }
-func (*LoadBalancerSettings_ConsistentHashLB) ProtoMessage() {}
-func (*LoadBalancerSettings_ConsistentHashLB) Descriptor() ([]byte, []int) {
- return fileDescriptor_12899beb695152c8, []int{3, 0}
-}
-func (m *LoadBalancerSettings_ConsistentHashLB) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *LoadBalancerSettings_ConsistentHashLB) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *LoadBalancerSettings_ConsistentHashLB) XXX_Merge(src proto.Message) {
- xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB.Merge(m, src)
-}
-func (m *LoadBalancerSettings_ConsistentHashLB) XXX_Size() int {
- return m.Size()
+type LoadBalancerSettings_Simple struct {
+ Simple LoadBalancerSettings_SimpleLB `protobuf:"varint,1,opt,name=simple,proto3,enum=istio.networking.v1alpha3.LoadBalancerSettings_SimpleLB,oneof"`
}
-func (m *LoadBalancerSettings_ConsistentHashLB) XXX_DiscardUnknown() {
- xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB.DiscardUnknown(m)
+
+type LoadBalancerSettings_ConsistentHash struct {
+ ConsistentHash *LoadBalancerSettings_ConsistentHashLB `protobuf:"bytes,2,opt,name=consistent_hash,json=consistentHash,proto3,oneof"`
}
-var xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB proto.InternalMessageInfo
+func (*LoadBalancerSettings_Simple) isLoadBalancerSettings_LbPolicy() {}
-type isLoadBalancerSettings_ConsistentHashLB_HashKey interface {
- isLoadBalancerSettings_ConsistentHashLB_HashKey()
- MarshalTo([]byte) (int, error)
- Size() int
+func (*LoadBalancerSettings_ConsistentHash) isLoadBalancerSettings_LbPolicy() {}
+
+// Connection pool settings for an upstream host. The settings apply to
+// each individual host in the upstream service. See Envoy's [circuit
+// breaker](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/circuit_breaking)
+// for more details. Connection pool settings can be applied at the TCP
+// level as well as at HTTP level.
+//
+// For example, the following rule sets a limit of 100 connections to redis
+// service called myredissrv with a connect timeout of 30ms
+//
+// {{}}
+// {{}}
+// ```yaml
+// apiVersion: networking.istio.io/v1alpha3
+// kind: DestinationRule
+// metadata:
+// name: bookinfo-redis
+// spec:
+// host: myredissrv.prod.svc.cluster.local
+// trafficPolicy:
+// connectionPool:
+// tcp:
+// maxConnections: 100
+// connectTimeout: 30ms
+// tcpKeepalive:
+// time: 7200s
+// interval: 75s
+// ```
+// {{}}
+//
+// {{}}
+// ```yaml
+// apiVersion: networking.istio.io/v1beta1
+// kind: DestinationRule
+// metadata:
+// name: bookinfo-redis
+// spec:
+// host: myredissrv.prod.svc.cluster.local
+// trafficPolicy:
+// connectionPool:
+// tcp:
+// maxConnections: 100
+// connectTimeout: 30ms
+// tcpKeepalive:
+// time: 7200s
+// interval: 75s
+// ```
+// {{}}
+// {{}}
+//
+type ConnectionPoolSettings struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Settings common to both HTTP and TCP upstream connections.
+ Tcp *ConnectionPoolSettings_TCPSettings `protobuf:"bytes,1,opt,name=tcp,proto3" json:"tcp,omitempty"`
+ // HTTP connection pool settings.
+ Http *ConnectionPoolSettings_HTTPSettings `protobuf:"bytes,2,opt,name=http,proto3" json:"http,omitempty"`
}
-type LoadBalancerSettings_ConsistentHashLB_HttpHeaderName struct {
- HttpHeaderName string `protobuf:"bytes,1,opt,name=http_header_name,json=httpHeaderName,proto3,oneof" json:"http_header_name,omitempty"`
+func (x *ConnectionPoolSettings) Reset() {
+ *x = ConnectionPoolSettings{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[4]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
}
-type LoadBalancerSettings_ConsistentHashLB_HttpCookie struct {
- HttpCookie *LoadBalancerSettings_ConsistentHashLB_HTTPCookie `protobuf:"bytes,2,opt,name=http_cookie,json=httpCookie,proto3,oneof" json:"http_cookie,omitempty"`
-}
-type LoadBalancerSettings_ConsistentHashLB_UseSourceIp struct {
- UseSourceIp bool `protobuf:"varint,3,opt,name=use_source_ip,json=useSourceIp,proto3,oneof" json:"use_source_ip,omitempty"`
-}
-type LoadBalancerSettings_ConsistentHashLB_HttpQueryParameterName struct {
- HttpQueryParameterName string `protobuf:"bytes,5,opt,name=http_query_parameter_name,json=httpQueryParameterName,proto3,oneof" json:"http_query_parameter_name,omitempty"`
-}
-
-func (*LoadBalancerSettings_ConsistentHashLB_HttpHeaderName) isLoadBalancerSettings_ConsistentHashLB_HashKey() {
-}
-func (*LoadBalancerSettings_ConsistentHashLB_HttpCookie) isLoadBalancerSettings_ConsistentHashLB_HashKey() {
-}
-func (*LoadBalancerSettings_ConsistentHashLB_UseSourceIp) isLoadBalancerSettings_ConsistentHashLB_HashKey() {
-}
-func (*LoadBalancerSettings_ConsistentHashLB_HttpQueryParameterName) isLoadBalancerSettings_ConsistentHashLB_HashKey() {
-}
-
-func (m *LoadBalancerSettings_ConsistentHashLB) GetHashKey() isLoadBalancerSettings_ConsistentHashLB_HashKey {
- if m != nil {
- return m.HashKey
- }
- return nil
-}
-
-func (m *LoadBalancerSettings_ConsistentHashLB) GetHttpHeaderName() string {
- if x, ok := m.GetHashKey().(*LoadBalancerSettings_ConsistentHashLB_HttpHeaderName); ok {
- return x.HttpHeaderName
- }
- return ""
-}
-
-func (m *LoadBalancerSettings_ConsistentHashLB) GetHttpCookie() *LoadBalancerSettings_ConsistentHashLB_HTTPCookie {
- if x, ok := m.GetHashKey().(*LoadBalancerSettings_ConsistentHashLB_HttpCookie); ok {
- return x.HttpCookie
- }
- return nil
-}
-
-func (m *LoadBalancerSettings_ConsistentHashLB) GetUseSourceIp() bool {
- if x, ok := m.GetHashKey().(*LoadBalancerSettings_ConsistentHashLB_UseSourceIp); ok {
- return x.UseSourceIp
- }
- return false
-}
-
-func (m *LoadBalancerSettings_ConsistentHashLB) GetHttpQueryParameterName() string {
- if x, ok := m.GetHashKey().(*LoadBalancerSettings_ConsistentHashLB_HttpQueryParameterName); ok {
- return x.HttpQueryParameterName
- }
- return ""
-}
-
-func (m *LoadBalancerSettings_ConsistentHashLB) GetMinimumRingSize() uint64 {
- if m != nil {
- return m.MinimumRingSize
- }
- return 0
-}
-
-// XXX_OneofWrappers is for the internal use of the proto package.
-func (*LoadBalancerSettings_ConsistentHashLB) XXX_OneofWrappers() []interface{} {
- return []interface{}{
- (*LoadBalancerSettings_ConsistentHashLB_HttpHeaderName)(nil),
- (*LoadBalancerSettings_ConsistentHashLB_HttpCookie)(nil),
- (*LoadBalancerSettings_ConsistentHashLB_UseSourceIp)(nil),
- (*LoadBalancerSettings_ConsistentHashLB_HttpQueryParameterName)(nil),
- }
+
+func (x *ConnectionPoolSettings) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-// Describes a HTTP cookie that will be used as the hash key for the
-// Consistent Hash load balancer. If the cookie is not present, it will
-// be generated.
-type LoadBalancerSettings_ConsistentHashLB_HTTPCookie struct {
- // Name of the cookie.
- Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- // Path to set for the cookie.
- Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
- // Lifetime of the cookie.
- Ttl *types.Duration `protobuf:"bytes,3,opt,name=ttl,proto3" json:"ttl,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
+func (*ConnectionPoolSettings) ProtoMessage() {}
-func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Reset() {
- *m = LoadBalancerSettings_ConsistentHashLB_HTTPCookie{}
-}
-func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) String() string {
- return proto.CompactTextString(m)
-}
-func (*LoadBalancerSettings_ConsistentHashLB_HTTPCookie) ProtoMessage() {}
-func (*LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Descriptor() ([]byte, []int) {
- return fileDescriptor_12899beb695152c8, []int{3, 0, 0}
-}
-func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB_HTTPCookie.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
+func (x *ConnectionPoolSettings) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[4]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- return b[:n], nil
+ return ms
}
+ return mi.MessageOf(x)
}
-func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) XXX_Merge(src proto.Message) {
- xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB_HTTPCookie.Merge(m, src)
-}
-func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) XXX_Size() int {
- return m.Size()
-}
-func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) XXX_DiscardUnknown() {
- xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB_HTTPCookie.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB_HTTPCookie proto.InternalMessageInfo
-func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) GetName() string {
- if m != nil {
- return m.Name
- }
- return ""
+// Deprecated: Use ConnectionPoolSettings.ProtoReflect.Descriptor instead.
+func (*ConnectionPoolSettings) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_destination_rule_proto_rawDescGZIP(), []int{4}
}
-func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) GetPath() string {
- if m != nil {
- return m.Path
+func (x *ConnectionPoolSettings) GetTcp() *ConnectionPoolSettings_TCPSettings {
+ if x != nil {
+ return x.Tcp
}
- return ""
+ return nil
}
-func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) GetTtl() *types.Duration {
- if m != nil {
- return m.Ttl
+func (x *ConnectionPoolSettings) GetHttp() *ConnectionPoolSettings_HTTPSettings {
+ if x != nil {
+ return x.Http
}
return nil
}
-// Connection pool settings for an upstream host. The settings apply to
-// each individual host in the upstream service. See Envoy's [circuit
-// breaker](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/circuit_breaking)
-// for more details. Connection pool settings can be applied at the TCP
-// level as well as at HTTP level.
+// A Circuit breaker implementation that tracks the status of each
+// individual host in the upstream service. Applicable to both HTTP and
+// TCP services. For HTTP services, hosts that continually return 5xx
+// errors for API calls are ejected from the pool for a pre-defined period
+// of time. For TCP services, connection timeouts or connection
+// failures to a given host counts as an error when measuring the
+// consecutive errors metric. See Envoy's [outlier
+// detection](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/outlier)
+// for more details.
//
-// For example, the following rule sets a limit of 100 connections to redis
-// service called myredissrv with a connect timeout of 30ms
+// The following rule sets a connection pool size of 100 HTTP1 connections
+// with no more than 10 req/connection to the "reviews" service. In addition,
+// it sets a limit of 1000 concurrent HTTP2 requests and configures upstream
+// hosts to be scanned every 5 mins so that any host that fails 7 consecutive
+// times with a 502, 503, or 504 error code will be ejected for 15 minutes.
//
// {{}}
// {{}}
@@ -1131,17 +1124,20 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) GetTtl() *types.Durat
// apiVersion: networking.istio.io/v1alpha3
// kind: DestinationRule
// metadata:
-// name: bookinfo-redis
+// name: reviews-cb-policy
// spec:
-// host: myredissrv.prod.svc.cluster.local
+// host: reviews.prod.svc.cluster.local
// trafficPolicy:
// connectionPool:
// tcp:
// maxConnections: 100
-// connectTimeout: 30ms
-// tcpKeepalive:
-// time: 7200s
-// interval: 75s
+// http:
+// http2MaxRequests: 1000
+// maxRequestsPerConnection: 10
+// outlierDetection:
+// consecutive5xxErrors: 7
+// interval: 5m
+// baseEjectionTime: 15m
// ```
// {{}}
//
@@ -1150,565 +1146,192 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) GetTtl() *types.Durat
// apiVersion: networking.istio.io/v1beta1
// kind: DestinationRule
// metadata:
-// name: bookinfo-redis
+// name: reviews-cb-policy
// spec:
-// host: myredissrv.prod.svc.cluster.local
+// host: reviews.prod.svc.cluster.local
// trafficPolicy:
// connectionPool:
// tcp:
// maxConnections: 100
-// connectTimeout: 30ms
-// tcpKeepalive:
-// time: 7200s
-// interval: 75s
+// http:
+// http2MaxRequests: 1000
+// maxRequestsPerConnection: 10
+// outlierDetection:
+// consecutive5xxErrors: 7
+// interval: 5m
+// baseEjectionTime: 15m
// ```
// {{}}
// {{}}
//
-type ConnectionPoolSettings struct {
- // Settings common to both HTTP and TCP upstream connections.
- Tcp *ConnectionPoolSettings_TCPSettings `protobuf:"bytes,1,opt,name=tcp,proto3" json:"tcp,omitempty"`
- // HTTP connection pool settings.
- Http *ConnectionPoolSettings_HTTPSettings `protobuf:"bytes,2,opt,name=http,proto3" json:"http,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+type OutlierDetection struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Number of errors before a host is ejected from the connection
+ // pool. Defaults to 5. When the upstream host is accessed over HTTP, a
+ // 502, 503, or 504 return code qualifies as an error. When the upstream host
+ // is accessed over an opaque TCP connection, connect timeouts and
+ // connection error/failure events qualify as an error.
+ // $hide_from_docs
+ //
+ // Deprecated: Do not use.
+ ConsecutiveErrors int32 `protobuf:"varint,1,opt,name=consecutive_errors,json=consecutiveErrors,proto3" json:"consecutive_errors,omitempty"`
+ // Determines whether to distinguish local origin failures from external errors. If set to true
+ // consecutive_local_origin_failure is taken into account for outlier detection calculations.
+ // This should be used when you want to derive the outlier detection status based on the errors
+ // seen locally such as failure to connect, timeout while connecting etc. rather than the status code
+ // retuned by upstream service. This is especially useful when the upstream service explicitly returns
+ // a 5xx for some requests and you want to ignore those responses from upstream service while determining
+ // the outlier detection status of a host.
+ // Defaults to false.
+ SplitExternalLocalOriginErrors bool `protobuf:"varint,8,opt,name=split_external_local_origin_errors,json=splitExternalLocalOriginErrors,proto3" json:"split_external_local_origin_errors,omitempty"`
+ // The number of consecutive locally originated failures before ejection
+ // occurs. Defaults to 5. Parameter takes effect only when split_external_local_origin_errors
+ // is set to true.
+ ConsecutiveLocalOriginFailures *wrappers.UInt32Value `protobuf:"bytes,9,opt,name=consecutive_local_origin_failures,json=consecutiveLocalOriginFailures,proto3" json:"consecutive_local_origin_failures,omitempty"`
+ // Number of gateway errors before a host is ejected from the connection pool.
+ // When the upstream host is accessed over HTTP, a 502, 503, or 504 return
+ // code qualifies as a gateway error. When the upstream host is accessed over
+ // an opaque TCP connection, connect timeouts and connection error/failure
+ // events qualify as a gateway error.
+ // This feature is disabled by default or when set to the value 0.
+ //
+ // Note that consecutive_gateway_errors and consecutive_5xx_errors can be
+ // used separately or together. Because the errors counted by
+ // consecutive_gateway_errors are also included in consecutive_5xx_errors,
+ // if the value of consecutive_gateway_errors is greater than or equal to
+ // the value of consecutive_5xx_errors, consecutive_gateway_errors will have
+ // no effect.
+ ConsecutiveGatewayErrors *wrappers.UInt32Value `protobuf:"bytes,6,opt,name=consecutive_gateway_errors,json=consecutiveGatewayErrors,proto3" json:"consecutive_gateway_errors,omitempty"`
+ // Number of 5xx errors before a host is ejected from the connection pool.
+ // When the upstream host is accessed over an opaque TCP connection, connect
+ // timeouts, connection error/failure and request failure events qualify as a
+ // 5xx error.
+ // This feature defaults to 5 but can be disabled by setting the value to 0.
+ //
+ // Note that consecutive_gateway_errors and consecutive_5xx_errors can be
+ // used separately or together. Because the errors counted by
+ // consecutive_gateway_errors are also included in consecutive_5xx_errors,
+ // if the value of consecutive_gateway_errors is greater than or equal to
+ // the value of consecutive_5xx_errors, consecutive_gateway_errors will have
+ // no effect.
+ Consecutive_5XxErrors *wrappers.UInt32Value `protobuf:"bytes,7,opt,name=consecutive_5xx_errors,json=consecutive5xxErrors,proto3" json:"consecutive_5xx_errors,omitempty"`
+ // Time interval between ejection sweep analysis. format:
+ // 1h/1m/1s/1ms. MUST BE >=1ms. Default is 10s.
+ Interval *duration.Duration `protobuf:"bytes,2,opt,name=interval,proto3" json:"interval,omitempty"`
+ // Minimum ejection duration. A host will remain ejected for a period
+ // equal to the product of minimum ejection duration and the number of
+ // times the host has been ejected. This technique allows the system to
+ // automatically increase the ejection period for unhealthy upstream
+ // servers. format: 1h/1m/1s/1ms. MUST BE >=1ms. Default is 30s.
+ BaseEjectionTime *duration.Duration `protobuf:"bytes,3,opt,name=base_ejection_time,json=baseEjectionTime,proto3" json:"base_ejection_time,omitempty"`
+ // Maximum % of hosts in the load balancing pool for the upstream
+ // service that can be ejected. Defaults to 10%.
+ MaxEjectionPercent int32 `protobuf:"varint,4,opt,name=max_ejection_percent,json=maxEjectionPercent,proto3" json:"max_ejection_percent,omitempty"`
+ // Outlier detection will be enabled as long as the associated load balancing
+ // pool has at least min_health_percent hosts in healthy mode. When the
+ // percentage of healthy hosts in the load balancing pool drops below this
+ // threshold, outlier detection will be disabled and the proxy will load balance
+ // across all hosts in the pool (healthy and unhealthy). The threshold can be
+ // disabled by setting it to 0%. The default is 0% as it's not typically
+ // applicable in k8s environments with few pods per service.
+ MinHealthPercent int32 `protobuf:"varint,5,opt,name=min_health_percent,json=minHealthPercent,proto3" json:"min_health_percent,omitempty"`
}
-func (m *ConnectionPoolSettings) Reset() { *m = ConnectionPoolSettings{} }
-func (m *ConnectionPoolSettings) String() string { return proto.CompactTextString(m) }
-func (*ConnectionPoolSettings) ProtoMessage() {}
-func (*ConnectionPoolSettings) Descriptor() ([]byte, []int) {
- return fileDescriptor_12899beb695152c8, []int{4}
-}
-func (m *ConnectionPoolSettings) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *ConnectionPoolSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_ConnectionPoolSettings.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *OutlierDetection) Reset() {
+ *x = OutlierDetection{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[5]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *ConnectionPoolSettings) XXX_Merge(src proto.Message) {
- xxx_messageInfo_ConnectionPoolSettings.Merge(m, src)
-}
-func (m *ConnectionPoolSettings) XXX_Size() int {
- return m.Size()
-}
-func (m *ConnectionPoolSettings) XXX_DiscardUnknown() {
- xxx_messageInfo_ConnectionPoolSettings.DiscardUnknown(m)
+
+func (x *OutlierDetection) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-var xxx_messageInfo_ConnectionPoolSettings proto.InternalMessageInfo
+func (*OutlierDetection) ProtoMessage() {}
-func (m *ConnectionPoolSettings) GetTcp() *ConnectionPoolSettings_TCPSettings {
- if m != nil {
- return m.Tcp
+func (x *OutlierDetection) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[5]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
}
- return nil
+ return mi.MessageOf(x)
}
-func (m *ConnectionPoolSettings) GetHttp() *ConnectionPoolSettings_HTTPSettings {
- if m != nil {
- return m.Http
- }
- return nil
+// Deprecated: Use OutlierDetection.ProtoReflect.Descriptor instead.
+func (*OutlierDetection) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_destination_rule_proto_rawDescGZIP(), []int{5}
}
-// Settings common to both HTTP and TCP upstream connections.
-type ConnectionPoolSettings_TCPSettings struct {
- // Maximum number of HTTP1 /TCP connections to a destination host. Default 2^32-1.
- MaxConnections int32 `protobuf:"varint,1,opt,name=max_connections,json=maxConnections,proto3" json:"max_connections,omitempty"`
- // TCP connection timeout. format:
- // 1h/1m/1s/1ms. MUST BE >=1ms. Default is 10s.
- ConnectTimeout *types.Duration `protobuf:"bytes,2,opt,name=connect_timeout,json=connectTimeout,proto3" json:"connect_timeout,omitempty"`
- // If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
- TcpKeepalive *ConnectionPoolSettings_TCPSettings_TcpKeepalive `protobuf:"bytes,3,opt,name=tcp_keepalive,json=tcpKeepalive,proto3" json:"tcp_keepalive,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+// Deprecated: Do not use.
+func (x *OutlierDetection) GetConsecutiveErrors() int32 {
+ if x != nil {
+ return x.ConsecutiveErrors
+ }
+ return 0
}
-func (m *ConnectionPoolSettings_TCPSettings) Reset() { *m = ConnectionPoolSettings_TCPSettings{} }
-func (m *ConnectionPoolSettings_TCPSettings) String() string { return proto.CompactTextString(m) }
-func (*ConnectionPoolSettings_TCPSettings) ProtoMessage() {}
-func (*ConnectionPoolSettings_TCPSettings) Descriptor() ([]byte, []int) {
- return fileDescriptor_12899beb695152c8, []int{4, 0}
-}
-func (m *ConnectionPoolSettings_TCPSettings) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *ConnectionPoolSettings_TCPSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_ConnectionPoolSettings_TCPSettings.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *OutlierDetection) GetSplitExternalLocalOriginErrors() bool {
+ if x != nil {
+ return x.SplitExternalLocalOriginErrors
}
-}
-func (m *ConnectionPoolSettings_TCPSettings) XXX_Merge(src proto.Message) {
- xxx_messageInfo_ConnectionPoolSettings_TCPSettings.Merge(m, src)
-}
-func (m *ConnectionPoolSettings_TCPSettings) XXX_Size() int {
- return m.Size()
-}
-func (m *ConnectionPoolSettings_TCPSettings) XXX_DiscardUnknown() {
- xxx_messageInfo_ConnectionPoolSettings_TCPSettings.DiscardUnknown(m)
+ return false
}
-var xxx_messageInfo_ConnectionPoolSettings_TCPSettings proto.InternalMessageInfo
-
-func (m *ConnectionPoolSettings_TCPSettings) GetMaxConnections() int32 {
- if m != nil {
- return m.MaxConnections
+func (x *OutlierDetection) GetConsecutiveLocalOriginFailures() *wrappers.UInt32Value {
+ if x != nil {
+ return x.ConsecutiveLocalOriginFailures
}
- return 0
+ return nil
}
-func (m *ConnectionPoolSettings_TCPSettings) GetConnectTimeout() *types.Duration {
- if m != nil {
- return m.ConnectTimeout
+func (x *OutlierDetection) GetConsecutiveGatewayErrors() *wrappers.UInt32Value {
+ if x != nil {
+ return x.ConsecutiveGatewayErrors
}
return nil
}
-func (m *ConnectionPoolSettings_TCPSettings) GetTcpKeepalive() *ConnectionPoolSettings_TCPSettings_TcpKeepalive {
- if m != nil {
- return m.TcpKeepalive
+func (x *OutlierDetection) GetConsecutive_5XxErrors() *wrappers.UInt32Value {
+ if x != nil {
+ return x.Consecutive_5XxErrors
}
return nil
}
-// TCP keepalive.
-type ConnectionPoolSettings_TCPSettings_TcpKeepalive struct {
- // Maximum number of keepalive probes to send without response before
- // deciding the connection is dead. Default is to use the OS level configuration
- // (unless overridden, Linux defaults to 9.)
- Probes uint32 `protobuf:"varint,1,opt,name=probes,proto3" json:"probes,omitempty"`
- // The time duration a connection needs to be idle before keep-alive
- // probes start being sent. Default is to use the OS level configuration
- // (unless overridden, Linux defaults to 7200s (ie 2 hours.)
- Time *types.Duration `protobuf:"bytes,2,opt,name=time,proto3" json:"time,omitempty"`
- // The time duration between keep-alive probes.
- // Default is to use the OS level configuration
- // (unless overridden, Linux defaults to 75s.)
- Interval *types.Duration `protobuf:"bytes,3,opt,name=interval,proto3" json:"interval,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+func (x *OutlierDetection) GetInterval() *duration.Duration {
+ if x != nil {
+ return x.Interval
+ }
+ return nil
}
-func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Reset() {
- *m = ConnectionPoolSettings_TCPSettings_TcpKeepalive{}
-}
-func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) String() string {
- return proto.CompactTextString(m)
-}
-func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) ProtoMessage() {}
-func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) Descriptor() ([]byte, []int) {
- return fileDescriptor_12899beb695152c8, []int{4, 0, 0}
-}
-func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_ConnectionPoolSettings_TCPSettings_TcpKeepalive.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *OutlierDetection) GetBaseEjectionTime() *duration.Duration {
+ if x != nil {
+ return x.BaseEjectionTime
}
+ return nil
}
-func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) XXX_Merge(src proto.Message) {
- xxx_messageInfo_ConnectionPoolSettings_TCPSettings_TcpKeepalive.Merge(m, src)
-}
-func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) XXX_Size() int {
- return m.Size()
-}
-func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) XXX_DiscardUnknown() {
- xxx_messageInfo_ConnectionPoolSettings_TCPSettings_TcpKeepalive.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_ConnectionPoolSettings_TCPSettings_TcpKeepalive proto.InternalMessageInfo
-func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetProbes() uint32 {
- if m != nil {
- return m.Probes
+func (x *OutlierDetection) GetMaxEjectionPercent() int32 {
+ if x != nil {
+ return x.MaxEjectionPercent
}
return 0
}
-func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetTime() *types.Duration {
- if m != nil {
- return m.Time
- }
- return nil
-}
-
-func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetInterval() *types.Duration {
- if m != nil {
- return m.Interval
- }
- return nil
-}
-
-// Settings applicable to HTTP1.1/HTTP2/GRPC connections.
-type ConnectionPoolSettings_HTTPSettings struct {
- // Maximum number of pending HTTP requests to a destination. Default 2^32-1.
- Http1MaxPendingRequests int32 `protobuf:"varint,1,opt,name=http1_max_pending_requests,json=http1MaxPendingRequests,proto3" json:"http1_max_pending_requests,omitempty"`
- // Maximum number of requests to a backend. Default 2^32-1.
- Http2MaxRequests int32 `protobuf:"varint,2,opt,name=http2_max_requests,json=http2MaxRequests,proto3" json:"http2_max_requests,omitempty"`
- // Maximum number of requests per connection to a backend. Setting this
- // parameter to 1 disables keep alive. Default 0, meaning "unlimited",
- // up to 2^29.
- MaxRequestsPerConnection int32 `protobuf:"varint,3,opt,name=max_requests_per_connection,json=maxRequestsPerConnection,proto3" json:"max_requests_per_connection,omitempty"`
- // Maximum number of retries that can be outstanding to all hosts in a
- // cluster at a given time. Defaults to 2^32-1.
- MaxRetries int32 `protobuf:"varint,4,opt,name=max_retries,json=maxRetries,proto3" json:"max_retries,omitempty"`
- // The idle timeout for upstream connection pool connections. The idle timeout
- // is defined as the period in which there are no active requests.
- // If not set, the default is 1 hour. When the idle timeout is reached,
- // the connection will be closed. If the connection is an HTTP/2
- // connection a drain sequence will occur prior to closing the connection.
- // Note that request based timeouts mean that HTTP/2 PINGs will not
- // keep the connection alive. Applies to both HTTP1.1 and HTTP2 connections.
- IdleTimeout *types.Duration `protobuf:"bytes,5,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"`
- // Specify if http1.1 connection should be upgraded to http2 for the associated destination.
- H2UpgradePolicy ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy `protobuf:"varint,6,opt,name=h2_upgrade_policy,json=h2UpgradePolicy,proto3,enum=istio.networking.v1alpha3.ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy" json:"h2_upgrade_policy,omitempty"`
- // If set to true, client protocol will be preserved while initiating connection to backend.
- // Note that when this is set to true, h2_upgrade_policy will be ineffective i.e. the client
- // connections will not be upgraded to http2.
- UseClientProtocol bool `protobuf:"varint,7,opt,name=use_client_protocol,json=useClientProtocol,proto3" json:"use_client_protocol,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *ConnectionPoolSettings_HTTPSettings) Reset() { *m = ConnectionPoolSettings_HTTPSettings{} }
-func (m *ConnectionPoolSettings_HTTPSettings) String() string { return proto.CompactTextString(m) }
-func (*ConnectionPoolSettings_HTTPSettings) ProtoMessage() {}
-func (*ConnectionPoolSettings_HTTPSettings) Descriptor() ([]byte, []int) {
- return fileDescriptor_12899beb695152c8, []int{4, 1}
-}
-func (m *ConnectionPoolSettings_HTTPSettings) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *ConnectionPoolSettings_HTTPSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_ConnectionPoolSettings_HTTPSettings.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *ConnectionPoolSettings_HTTPSettings) XXX_Merge(src proto.Message) {
- xxx_messageInfo_ConnectionPoolSettings_HTTPSettings.Merge(m, src)
-}
-func (m *ConnectionPoolSettings_HTTPSettings) XXX_Size() int {
- return m.Size()
-}
-func (m *ConnectionPoolSettings_HTTPSettings) XXX_DiscardUnknown() {
- xxx_messageInfo_ConnectionPoolSettings_HTTPSettings.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_ConnectionPoolSettings_HTTPSettings proto.InternalMessageInfo
-
-func (m *ConnectionPoolSettings_HTTPSettings) GetHttp1MaxPendingRequests() int32 {
- if m != nil {
- return m.Http1MaxPendingRequests
- }
- return 0
-}
-
-func (m *ConnectionPoolSettings_HTTPSettings) GetHttp2MaxRequests() int32 {
- if m != nil {
- return m.Http2MaxRequests
- }
- return 0
-}
-
-func (m *ConnectionPoolSettings_HTTPSettings) GetMaxRequestsPerConnection() int32 {
- if m != nil {
- return m.MaxRequestsPerConnection
- }
- return 0
-}
-
-func (m *ConnectionPoolSettings_HTTPSettings) GetMaxRetries() int32 {
- if m != nil {
- return m.MaxRetries
- }
- return 0
-}
-
-func (m *ConnectionPoolSettings_HTTPSettings) GetIdleTimeout() *types.Duration {
- if m != nil {
- return m.IdleTimeout
- }
- return nil
-}
-
-func (m *ConnectionPoolSettings_HTTPSettings) GetH2UpgradePolicy() ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy {
- if m != nil {
- return m.H2UpgradePolicy
- }
- return ConnectionPoolSettings_HTTPSettings_DEFAULT
-}
-
-func (m *ConnectionPoolSettings_HTTPSettings) GetUseClientProtocol() bool {
- if m != nil {
- return m.UseClientProtocol
- }
- return false
-}
-
-// A Circuit breaker implementation that tracks the status of each
-// individual host in the upstream service. Applicable to both HTTP and
-// TCP services. For HTTP services, hosts that continually return 5xx
-// errors for API calls are ejected from the pool for a pre-defined period
-// of time. For TCP services, connection timeouts or connection
-// failures to a given host counts as an error when measuring the
-// consecutive errors metric. See Envoy's [outlier
-// detection](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/outlier)
-// for more details.
-//
-// The following rule sets a connection pool size of 100 HTTP1 connections
-// with no more than 10 req/connection to the "reviews" service. In addition,
-// it sets a limit of 1000 concurrent HTTP2 requests and configures upstream
-// hosts to be scanned every 5 mins so that any host that fails 7 consecutive
-// times with a 502, 503, or 504 error code will be ejected for 15 minutes.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: DestinationRule
-// metadata:
-// name: reviews-cb-policy
-// spec:
-// host: reviews.prod.svc.cluster.local
-// trafficPolicy:
-// connectionPool:
-// tcp:
-// maxConnections: 100
-// http:
-// http2MaxRequests: 1000
-// maxRequestsPerConnection: 10
-// outlierDetection:
-// consecutive5xxErrors: 7
-// interval: 5m
-// baseEjectionTime: 15m
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: DestinationRule
-// metadata:
-// name: reviews-cb-policy
-// spec:
-// host: reviews.prod.svc.cluster.local
-// trafficPolicy:
-// connectionPool:
-// tcp:
-// maxConnections: 100
-// http:
-// http2MaxRequests: 1000
-// maxRequestsPerConnection: 10
-// outlierDetection:
-// consecutive5xxErrors: 7
-// interval: 5m
-// baseEjectionTime: 15m
-// ```
-// {{}}
-// {{}}
-//
-type OutlierDetection struct {
- // Number of errors before a host is ejected from the connection
- // pool. Defaults to 5. When the upstream host is accessed over HTTP, a
- // 502, 503, or 504 return code qualifies as an error. When the upstream host
- // is accessed over an opaque TCP connection, connect timeouts and
- // connection error/failure events qualify as an error.
- // $hide_from_docs
- ConsecutiveErrors int32 `protobuf:"varint,1,opt,name=consecutive_errors,json=consecutiveErrors,proto3" json:"consecutive_errors,omitempty"` // Deprecated: Do not use.
- // Determines whether to distinguish local origin failures from external errors. If set to true
- // consecutive_local_origin_failure is taken into account for outlier detection calculations.
- // This should be used when you want to derive the outlier detection status based on the errors
- // seen locally such as failure to connect, timeout while connecting etc. rather than the status code
- // retuned by upstream service. This is especially useful when the upstream service explicitly returns
- // a 5xx for some requests and you want to ignore those responses from upstream service while determining
- // the outlier detection status of a host.
- // Defaults to false.
- SplitExternalLocalOriginErrors bool `protobuf:"varint,8,opt,name=split_external_local_origin_errors,json=splitExternalLocalOriginErrors,proto3" json:"split_external_local_origin_errors,omitempty"`
- // The number of consecutive locally originated failures before ejection
- // occurs. Defaults to 5. Parameter takes effect only when split_external_local_origin_errors
- // is set to true.
- ConsecutiveLocalOriginFailures *types.UInt32Value `protobuf:"bytes,9,opt,name=consecutive_local_origin_failures,json=consecutiveLocalOriginFailures,proto3" json:"consecutive_local_origin_failures,omitempty"`
- // Number of gateway errors before a host is ejected from the connection pool.
- // When the upstream host is accessed over HTTP, a 502, 503, or 504 return
- // code qualifies as a gateway error. When the upstream host is accessed over
- // an opaque TCP connection, connect timeouts and connection error/failure
- // events qualify as a gateway error.
- // This feature is disabled by default or when set to the value 0.
- //
- // Note that consecutive_gateway_errors and consecutive_5xx_errors can be
- // used separately or together. Because the errors counted by
- // consecutive_gateway_errors are also included in consecutive_5xx_errors,
- // if the value of consecutive_gateway_errors is greater than or equal to
- // the value of consecutive_5xx_errors, consecutive_gateway_errors will have
- // no effect.
- ConsecutiveGatewayErrors *types.UInt32Value `protobuf:"bytes,6,opt,name=consecutive_gateway_errors,json=consecutiveGatewayErrors,proto3" json:"consecutive_gateway_errors,omitempty"`
- // Number of 5xx errors before a host is ejected from the connection pool.
- // When the upstream host is accessed over an opaque TCP connection, connect
- // timeouts, connection error/failure and request failure events qualify as a
- // 5xx error.
- // This feature defaults to 5 but can be disabled by setting the value to 0.
- //
- // Note that consecutive_gateway_errors and consecutive_5xx_errors can be
- // used separately or together. Because the errors counted by
- // consecutive_gateway_errors are also included in consecutive_5xx_errors,
- // if the value of consecutive_gateway_errors is greater than or equal to
- // the value of consecutive_5xx_errors, consecutive_gateway_errors will have
- // no effect.
- Consecutive_5XxErrors *types.UInt32Value `protobuf:"bytes,7,opt,name=consecutive_5xx_errors,json=consecutive5xxErrors,proto3" json:"consecutive_5xx_errors,omitempty"`
- // Time interval between ejection sweep analysis. format:
- // 1h/1m/1s/1ms. MUST BE >=1ms. Default is 10s.
- Interval *types.Duration `protobuf:"bytes,2,opt,name=interval,proto3" json:"interval,omitempty"`
- // Minimum ejection duration. A host will remain ejected for a period
- // equal to the product of minimum ejection duration and the number of
- // times the host has been ejected. This technique allows the system to
- // automatically increase the ejection period for unhealthy upstream
- // servers. format: 1h/1m/1s/1ms. MUST BE >=1ms. Default is 30s.
- BaseEjectionTime *types.Duration `protobuf:"bytes,3,opt,name=base_ejection_time,json=baseEjectionTime,proto3" json:"base_ejection_time,omitempty"`
- // Maximum % of hosts in the load balancing pool for the upstream
- // service that can be ejected. Defaults to 10%.
- MaxEjectionPercent int32 `protobuf:"varint,4,opt,name=max_ejection_percent,json=maxEjectionPercent,proto3" json:"max_ejection_percent,omitempty"`
- // Outlier detection will be enabled as long as the associated load balancing
- // pool has at least min_health_percent hosts in healthy mode. When the
- // percentage of healthy hosts in the load balancing pool drops below this
- // threshold, outlier detection will be disabled and the proxy will load balance
- // across all hosts in the pool (healthy and unhealthy). The threshold can be
- // disabled by setting it to 0%. The default is 0% as it's not typically
- // applicable in k8s environments with few pods per service.
- MinHealthPercent int32 `protobuf:"varint,5,opt,name=min_health_percent,json=minHealthPercent,proto3" json:"min_health_percent,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *OutlierDetection) Reset() { *m = OutlierDetection{} }
-func (m *OutlierDetection) String() string { return proto.CompactTextString(m) }
-func (*OutlierDetection) ProtoMessage() {}
-func (*OutlierDetection) Descriptor() ([]byte, []int) {
- return fileDescriptor_12899beb695152c8, []int{5}
-}
-func (m *OutlierDetection) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *OutlierDetection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_OutlierDetection.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *OutlierDetection) XXX_Merge(src proto.Message) {
- xxx_messageInfo_OutlierDetection.Merge(m, src)
-}
-func (m *OutlierDetection) XXX_Size() int {
- return m.Size()
-}
-func (m *OutlierDetection) XXX_DiscardUnknown() {
- xxx_messageInfo_OutlierDetection.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_OutlierDetection proto.InternalMessageInfo
-
-// Deprecated: Do not use.
-func (m *OutlierDetection) GetConsecutiveErrors() int32 {
- if m != nil {
- return m.ConsecutiveErrors
- }
- return 0
-}
-
-func (m *OutlierDetection) GetSplitExternalLocalOriginErrors() bool {
- if m != nil {
- return m.SplitExternalLocalOriginErrors
- }
- return false
-}
-
-func (m *OutlierDetection) GetConsecutiveLocalOriginFailures() *types.UInt32Value {
- if m != nil {
- return m.ConsecutiveLocalOriginFailures
- }
- return nil
-}
-
-func (m *OutlierDetection) GetConsecutiveGatewayErrors() *types.UInt32Value {
- if m != nil {
- return m.ConsecutiveGatewayErrors
- }
- return nil
-}
-
-func (m *OutlierDetection) GetConsecutive_5XxErrors() *types.UInt32Value {
- if m != nil {
- return m.Consecutive_5XxErrors
- }
- return nil
-}
-
-func (m *OutlierDetection) GetInterval() *types.Duration {
- if m != nil {
- return m.Interval
- }
- return nil
-}
-
-func (m *OutlierDetection) GetBaseEjectionTime() *types.Duration {
- if m != nil {
- return m.BaseEjectionTime
- }
- return nil
-}
-
-func (m *OutlierDetection) GetMaxEjectionPercent() int32 {
- if m != nil {
- return m.MaxEjectionPercent
- }
- return 0
-}
-
-func (m *OutlierDetection) GetMinHealthPercent() int32 {
- if m != nil {
- return m.MinHealthPercent
+func (x *OutlierDetection) GetMinHealthPercent() int32 {
+ if x != nil {
+ return x.MinHealthPercent
}
return 0
}
@@ -1823,6 +1446,10 @@ func (m *OutlierDetection) GetMinHealthPercent() int32 {
// {{}}
//
type ClientTLSSettings struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Indicates whether connections to this port should be secured
// using TLS. The value of this field determines how TLS is enforced.
Mode ClientTLSSettings_TLSmode `protobuf:"varint,1,opt,name=mode,proto3,enum=istio.networking.v1alpha3.ClientTLSSettings_TLSmode" json:"mode,omitempty"`
@@ -1851,8 +1478,10 @@ type ClientTLSSettings struct {
// Only one of client certificates and CA certificate
// or credentialName can be specified.
//
- // **NOTE:** This field is currently applicable only at gateways.
- // Sidecars will continue to use the certificate paths.
+ // **NOTE:** This field is applicable at sidecars only if
+ // `DestinationRule` has a `workloadSelector` specified.
+ // Otherwise the field will be applicable only at gateways, and
+ // sidecars will continue to use the certificate paths.
CredentialName string `protobuf:"bytes,7,opt,name=credential_name,json=credentialName,proto3" json:"credential_name,omitempty"`
// A list of alternate names to verify the subject identity in the
// certificate. If specified, the proxy will verify that the server
@@ -1861,6 +1490,9 @@ type ClientTLSSettings struct {
// from the ServiceEntry.
SubjectAltNames []string `protobuf:"bytes,5,rep,name=subject_alt_names,json=subjectAltNames,proto3" json:"subject_alt_names,omitempty"`
// SNI string to present to the server during TLS handshake.
+ // If unspecified, SNI will be automatically set based on downstream HTTP
+ // host/authority header for SIMPLE and MUTUAL TLS modes, provided `ENABLE_AUTO_SNI`
+ // environmental variable is set to `true`.
Sni string `protobuf:"bytes,6,opt,name=sni,proto3" json:"sni,omitempty"`
// InsecureSkipVerify specifies whether the proxy should skip verifying the
// CA signature and SAN for the server certificate corresponding to the host.
@@ -1874,97 +1506,93 @@ type ClientTLSSettings struct {
// `VerifyCertAtClient` is `false` by default in Istio version 1.9 but will
// be `true` by default in a later version where, going forward, it will be
// enabled by default.
- InsecureSkipVerify *types.BoolValue `protobuf:"bytes,8,opt,name=insecure_skip_verify,json=insecureSkipVerify,proto3" json:"insecure_skip_verify,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ InsecureSkipVerify *wrappers.BoolValue `protobuf:"bytes,8,opt,name=insecure_skip_verify,json=insecureSkipVerify,proto3" json:"insecure_skip_verify,omitempty"`
}
-func (m *ClientTLSSettings) Reset() { *m = ClientTLSSettings{} }
-func (m *ClientTLSSettings) String() string { return proto.CompactTextString(m) }
-func (*ClientTLSSettings) ProtoMessage() {}
-func (*ClientTLSSettings) Descriptor() ([]byte, []int) {
- return fileDescriptor_12899beb695152c8, []int{6}
-}
-func (m *ClientTLSSettings) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *ClientTLSSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_ClientTLSSettings.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *ClientTLSSettings) Reset() {
+ *x = ClientTLSSettings{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[6]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *ClientTLSSettings) XXX_Merge(src proto.Message) {
- xxx_messageInfo_ClientTLSSettings.Merge(m, src)
-}
-func (m *ClientTLSSettings) XXX_Size() int {
- return m.Size()
+
+func (x *ClientTLSSettings) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *ClientTLSSettings) XXX_DiscardUnknown() {
- xxx_messageInfo_ClientTLSSettings.DiscardUnknown(m)
+
+func (*ClientTLSSettings) ProtoMessage() {}
+
+func (x *ClientTLSSettings) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[6]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_ClientTLSSettings proto.InternalMessageInfo
+// Deprecated: Use ClientTLSSettings.ProtoReflect.Descriptor instead.
+func (*ClientTLSSettings) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_destination_rule_proto_rawDescGZIP(), []int{6}
+}
-func (m *ClientTLSSettings) GetMode() ClientTLSSettings_TLSmode {
- if m != nil {
- return m.Mode
+func (x *ClientTLSSettings) GetMode() ClientTLSSettings_TLSmode {
+ if x != nil {
+ return x.Mode
}
return ClientTLSSettings_DISABLE
}
-func (m *ClientTLSSettings) GetClientCertificate() string {
- if m != nil {
- return m.ClientCertificate
+func (x *ClientTLSSettings) GetClientCertificate() string {
+ if x != nil {
+ return x.ClientCertificate
}
return ""
}
-func (m *ClientTLSSettings) GetPrivateKey() string {
- if m != nil {
- return m.PrivateKey
+func (x *ClientTLSSettings) GetPrivateKey() string {
+ if x != nil {
+ return x.PrivateKey
}
return ""
}
-func (m *ClientTLSSettings) GetCaCertificates() string {
- if m != nil {
- return m.CaCertificates
+func (x *ClientTLSSettings) GetCaCertificates() string {
+ if x != nil {
+ return x.CaCertificates
}
return ""
}
-func (m *ClientTLSSettings) GetCredentialName() string {
- if m != nil {
- return m.CredentialName
+func (x *ClientTLSSettings) GetCredentialName() string {
+ if x != nil {
+ return x.CredentialName
}
return ""
}
-func (m *ClientTLSSettings) GetSubjectAltNames() []string {
- if m != nil {
- return m.SubjectAltNames
+func (x *ClientTLSSettings) GetSubjectAltNames() []string {
+ if x != nil {
+ return x.SubjectAltNames
}
return nil
}
-func (m *ClientTLSSettings) GetSni() string {
- if m != nil {
- return m.Sni
+func (x *ClientTLSSettings) GetSni() string {
+ if x != nil {
+ return x.Sni
}
return ""
}
-func (m *ClientTLSSettings) GetInsecureSkipVerify() *types.BoolValue {
- if m != nil {
- return m.InsecureSkipVerify
+func (x *ClientTLSSettings) GetInsecureSkipVerify() *wrappers.BoolValue {
+ if x != nil {
+ return x.InsecureSkipVerify
}
return nil
}
@@ -2017,6 +1645,10 @@ func (m *ClientTLSSettings) GetInsecureSkipVerify() *types.BoolValue {
// ```
// Locality load balancing settings.
type LocalityLoadBalancerSetting struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Optional: only one of distribute, failover or failoverPriority can be set.
// Explicitly specify loadbalancing weight across different zones and geographical locations.
// Refer to [Locality weighted load balancing](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/locality_weight)
@@ -2068,5220 +1700,1512 @@ type LocalityLoadBalancerSetting struct {
FailoverPriority []string `protobuf:"bytes,4,rep,name=failover_priority,json=failoverPriority,proto3" json:"failover_priority,omitempty"`
// enable locality load balancing, this is DestinationRule-level and will override mesh wide settings in entirety.
// e.g. true means that turn on locality load balancing for this DestinationRule no matter what mesh wide settings is.
- Enabled *types.BoolValue `protobuf:"bytes,3,opt,name=enabled,proto3" json:"enabled,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Enabled *wrappers.BoolValue `protobuf:"bytes,3,opt,name=enabled,proto3" json:"enabled,omitempty"`
}
-func (m *LocalityLoadBalancerSetting) Reset() { *m = LocalityLoadBalancerSetting{} }
-func (m *LocalityLoadBalancerSetting) String() string { return proto.CompactTextString(m) }
-func (*LocalityLoadBalancerSetting) ProtoMessage() {}
-func (*LocalityLoadBalancerSetting) Descriptor() ([]byte, []int) {
- return fileDescriptor_12899beb695152c8, []int{7}
-}
-func (m *LocalityLoadBalancerSetting) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *LocalityLoadBalancerSetting) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_LocalityLoadBalancerSetting.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *LocalityLoadBalancerSetting) Reset() {
+ *x = LocalityLoadBalancerSetting{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[7]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *LocalityLoadBalancerSetting) XXX_Merge(src proto.Message) {
- xxx_messageInfo_LocalityLoadBalancerSetting.Merge(m, src)
-}
-func (m *LocalityLoadBalancerSetting) XXX_Size() int {
- return m.Size()
+
+func (x *LocalityLoadBalancerSetting) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *LocalityLoadBalancerSetting) XXX_DiscardUnknown() {
- xxx_messageInfo_LocalityLoadBalancerSetting.DiscardUnknown(m)
+
+func (*LocalityLoadBalancerSetting) ProtoMessage() {}
+
+func (x *LocalityLoadBalancerSetting) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[7]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_LocalityLoadBalancerSetting proto.InternalMessageInfo
+// Deprecated: Use LocalityLoadBalancerSetting.ProtoReflect.Descriptor instead.
+func (*LocalityLoadBalancerSetting) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_destination_rule_proto_rawDescGZIP(), []int{7}
+}
-func (m *LocalityLoadBalancerSetting) GetDistribute() []*LocalityLoadBalancerSetting_Distribute {
- if m != nil {
- return m.Distribute
+func (x *LocalityLoadBalancerSetting) GetDistribute() []*LocalityLoadBalancerSetting_Distribute {
+ if x != nil {
+ return x.Distribute
}
return nil
}
-func (m *LocalityLoadBalancerSetting) GetFailover() []*LocalityLoadBalancerSetting_Failover {
- if m != nil {
- return m.Failover
+func (x *LocalityLoadBalancerSetting) GetFailover() []*LocalityLoadBalancerSetting_Failover {
+ if x != nil {
+ return x.Failover
}
return nil
}
-func (m *LocalityLoadBalancerSetting) GetFailoverPriority() []string {
- if m != nil {
- return m.FailoverPriority
+func (x *LocalityLoadBalancerSetting) GetFailoverPriority() []string {
+ if x != nil {
+ return x.FailoverPriority
}
return nil
}
-func (m *LocalityLoadBalancerSetting) GetEnabled() *types.BoolValue {
- if m != nil {
- return m.Enabled
+func (x *LocalityLoadBalancerSetting) GetEnabled() *wrappers.BoolValue {
+ if x != nil {
+ return x.Enabled
}
return nil
}
-// Describes how traffic originating in the 'from' zone or sub-zone is
-// distributed over a set of 'to' zones. Syntax for specifying a zone is
-// {region}/{zone}/{sub-zone} and terminal wildcards are allowed on any
-// segment of the specification. Examples:
-//
-// `*` - matches all localities
-//
-// `us-west/*` - all zones and sub-zones within the us-west region
-//
-// `us-west/zone-1/*` - all sub-zones within us-west/zone-1
-type LocalityLoadBalancerSetting_Distribute struct {
- // Originating locality, '/' separated, e.g. 'region/zone/sub_zone'.
- From string `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"`
- // Map of upstream localities to traffic distribution weights. The sum of
- // all weights should be 100. Any locality not present will
- // receive no traffic.
- To map[string]uint32 `protobuf:"bytes,2,rep,name=to,proto3" json:"to,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+// Traffic policies that apply to specific ports of the service
+type TrafficPolicy_PortTrafficPolicy struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Specifies the number of a port on the destination service
+ // on which this policy is being applied.
+ //
+ Port *PortSelector `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"`
+ // Settings controlling the load balancer algorithms.
+ LoadBalancer *LoadBalancerSettings `protobuf:"bytes,2,opt,name=load_balancer,json=loadBalancer,proto3" json:"load_balancer,omitempty"`
+ // Settings controlling the volume of connections to an upstream service
+ ConnectionPool *ConnectionPoolSettings `protobuf:"bytes,3,opt,name=connection_pool,json=connectionPool,proto3" json:"connection_pool,omitempty"`
+ // Settings controlling eviction of unhealthy hosts from the load balancing pool
+ OutlierDetection *OutlierDetection `protobuf:"bytes,4,opt,name=outlier_detection,json=outlierDetection,proto3" json:"outlier_detection,omitempty"`
+ // TLS related settings for connections to the upstream service.
+ Tls *ClientTLSSettings `protobuf:"bytes,5,opt,name=tls,proto3" json:"tls,omitempty"`
}
-func (m *LocalityLoadBalancerSetting_Distribute) Reset() {
- *m = LocalityLoadBalancerSetting_Distribute{}
+func (x *TrafficPolicy_PortTrafficPolicy) Reset() {
+ *x = TrafficPolicy_PortTrafficPolicy{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[8]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
}
-func (m *LocalityLoadBalancerSetting_Distribute) String() string { return proto.CompactTextString(m) }
-func (*LocalityLoadBalancerSetting_Distribute) ProtoMessage() {}
-func (*LocalityLoadBalancerSetting_Distribute) Descriptor() ([]byte, []int) {
- return fileDescriptor_12899beb695152c8, []int{7, 0}
-}
-func (m *LocalityLoadBalancerSetting_Distribute) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *LocalityLoadBalancerSetting_Distribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_LocalityLoadBalancerSetting_Distribute.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
+
+func (x *TrafficPolicy_PortTrafficPolicy) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TrafficPolicy_PortTrafficPolicy) ProtoMessage() {}
+
+func (x *TrafficPolicy_PortTrafficPolicy) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[8]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- return b[:n], nil
+ return ms
}
+ return mi.MessageOf(x)
}
-func (m *LocalityLoadBalancerSetting_Distribute) XXX_Merge(src proto.Message) {
- xxx_messageInfo_LocalityLoadBalancerSetting_Distribute.Merge(m, src)
+
+// Deprecated: Use TrafficPolicy_PortTrafficPolicy.ProtoReflect.Descriptor instead.
+func (*TrafficPolicy_PortTrafficPolicy) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_destination_rule_proto_rawDescGZIP(), []int{1, 0}
}
-func (m *LocalityLoadBalancerSetting_Distribute) XXX_Size() int {
- return m.Size()
+
+func (x *TrafficPolicy_PortTrafficPolicy) GetPort() *PortSelector {
+ if x != nil {
+ return x.Port
+ }
+ return nil
}
-func (m *LocalityLoadBalancerSetting_Distribute) XXX_DiscardUnknown() {
- xxx_messageInfo_LocalityLoadBalancerSetting_Distribute.DiscardUnknown(m)
+
+func (x *TrafficPolicy_PortTrafficPolicy) GetLoadBalancer() *LoadBalancerSettings {
+ if x != nil {
+ return x.LoadBalancer
+ }
+ return nil
}
-var xxx_messageInfo_LocalityLoadBalancerSetting_Distribute proto.InternalMessageInfo
+func (x *TrafficPolicy_PortTrafficPolicy) GetConnectionPool() *ConnectionPoolSettings {
+ if x != nil {
+ return x.ConnectionPool
+ }
+ return nil
+}
-func (m *LocalityLoadBalancerSetting_Distribute) GetFrom() string {
- if m != nil {
- return m.From
+func (x *TrafficPolicy_PortTrafficPolicy) GetOutlierDetection() *OutlierDetection {
+ if x != nil {
+ return x.OutlierDetection
}
- return ""
+ return nil
}
-func (m *LocalityLoadBalancerSetting_Distribute) GetTo() map[string]uint32 {
- if m != nil {
- return m.To
+func (x *TrafficPolicy_PortTrafficPolicy) GetTls() *ClientTLSSettings {
+ if x != nil {
+ return x.Tls
}
return nil
}
-// Specify the traffic failover policy across regions. Since zone and sub-zone
-// failover is supported by default this only needs to be specified for
-// regions when the operator needs to constrain traffic failover so that
-// the default behavior of failing over to any endpoint globally does not
-// apply. This is useful when failing over traffic across regions would not
-// improve service health or may need to be restricted for other reasons
-// like regulatory controls.
-type LocalityLoadBalancerSetting_Failover struct {
- // Originating region.
- From string `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"`
- // Destination region the traffic will fail over to when endpoints in
- // the 'from' region becomes unhealthy.
- To string `protobuf:"bytes,2,opt,name=to,proto3" json:"to,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+type TrafficPolicy_TunnelSettings struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Specifies which protocol to use for tunneling the downstream connection.
+ // Supported protocols are:
+ // connect - uses HTTP CONNECT;
+ // post - uses HTTP POST.
+ // HTTP version for upstream requests is determined by the service protocol defined for the proxy.
+ Protocol string `protobuf:"bytes,1,opt,name=protocol,proto3" json:"protocol,omitempty"`
+ // Specifies a host to which the downstream connection is tunneled.
+ // Target host must be an FQDN or IP address.
+ TargetHost string `protobuf:"bytes,2,opt,name=target_host,json=targetHost,proto3" json:"target_host,omitempty"`
+ // Specifies a port to which the downstream connection is tunneled.
+ TargetPort uint32 `protobuf:"varint,3,opt,name=target_port,json=targetPort,proto3" json:"target_port,omitempty"`
}
-func (m *LocalityLoadBalancerSetting_Failover) Reset() { *m = LocalityLoadBalancerSetting_Failover{} }
-func (m *LocalityLoadBalancerSetting_Failover) String() string { return proto.CompactTextString(m) }
-func (*LocalityLoadBalancerSetting_Failover) ProtoMessage() {}
-func (*LocalityLoadBalancerSetting_Failover) Descriptor() ([]byte, []int) {
- return fileDescriptor_12899beb695152c8, []int{7, 1}
-}
-func (m *LocalityLoadBalancerSetting_Failover) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *LocalityLoadBalancerSetting_Failover) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_LocalityLoadBalancerSetting_Failover.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *TrafficPolicy_TunnelSettings) Reset() {
+ *x = TrafficPolicy_TunnelSettings{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[9]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *LocalityLoadBalancerSetting_Failover) XXX_Merge(src proto.Message) {
- xxx_messageInfo_LocalityLoadBalancerSetting_Failover.Merge(m, src)
-}
-func (m *LocalityLoadBalancerSetting_Failover) XXX_Size() int {
- return m.Size()
+
+func (x *TrafficPolicy_TunnelSettings) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *LocalityLoadBalancerSetting_Failover) XXX_DiscardUnknown() {
- xxx_messageInfo_LocalityLoadBalancerSetting_Failover.DiscardUnknown(m)
+
+func (*TrafficPolicy_TunnelSettings) ProtoMessage() {}
+
+func (x *TrafficPolicy_TunnelSettings) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[9]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_LocalityLoadBalancerSetting_Failover proto.InternalMessageInfo
+// Deprecated: Use TrafficPolicy_TunnelSettings.ProtoReflect.Descriptor instead.
+func (*TrafficPolicy_TunnelSettings) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_destination_rule_proto_rawDescGZIP(), []int{1, 1}
+}
-func (m *LocalityLoadBalancerSetting_Failover) GetFrom() string {
- if m != nil {
- return m.From
+func (x *TrafficPolicy_TunnelSettings) GetProtocol() string {
+ if x != nil {
+ return x.Protocol
}
return ""
}
-func (m *LocalityLoadBalancerSetting_Failover) GetTo() string {
- if m != nil {
- return m.To
+func (x *TrafficPolicy_TunnelSettings) GetTargetHost() string {
+ if x != nil {
+ return x.TargetHost
}
return ""
}
-func init() {
- proto.RegisterEnum("istio.networking.v1alpha3.LoadBalancerSettings_SimpleLB", LoadBalancerSettings_SimpleLB_name, LoadBalancerSettings_SimpleLB_value)
- proto.RegisterEnum("istio.networking.v1alpha3.ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy", ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy_name, ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy_value)
- proto.RegisterEnum("istio.networking.v1alpha3.ClientTLSSettings_TLSmode", ClientTLSSettings_TLSmode_name, ClientTLSSettings_TLSmode_value)
- proto.RegisterType((*DestinationRule)(nil), "istio.networking.v1alpha3.DestinationRule")
- proto.RegisterType((*TrafficPolicy)(nil), "istio.networking.v1alpha3.TrafficPolicy")
- proto.RegisterType((*TrafficPolicy_PortTrafficPolicy)(nil), "istio.networking.v1alpha3.TrafficPolicy.PortTrafficPolicy")
- proto.RegisterType((*Subset)(nil), "istio.networking.v1alpha3.Subset")
- proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.Subset.LabelsEntry")
- proto.RegisterType((*LoadBalancerSettings)(nil), "istio.networking.v1alpha3.LoadBalancerSettings")
- proto.RegisterType((*LoadBalancerSettings_ConsistentHashLB)(nil), "istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB")
- proto.RegisterType((*LoadBalancerSettings_ConsistentHashLB_HTTPCookie)(nil), "istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.HTTPCookie")
- proto.RegisterType((*ConnectionPoolSettings)(nil), "istio.networking.v1alpha3.ConnectionPoolSettings")
- proto.RegisterType((*ConnectionPoolSettings_TCPSettings)(nil), "istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings")
- proto.RegisterType((*ConnectionPoolSettings_TCPSettings_TcpKeepalive)(nil), "istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive")
- proto.RegisterType((*ConnectionPoolSettings_HTTPSettings)(nil), "istio.networking.v1alpha3.ConnectionPoolSettings.HTTPSettings")
- proto.RegisterType((*OutlierDetection)(nil), "istio.networking.v1alpha3.OutlierDetection")
- proto.RegisterType((*ClientTLSSettings)(nil), "istio.networking.v1alpha3.ClientTLSSettings")
- proto.RegisterType((*LocalityLoadBalancerSetting)(nil), "istio.networking.v1alpha3.LocalityLoadBalancerSetting")
- proto.RegisterType((*LocalityLoadBalancerSetting_Distribute)(nil), "istio.networking.v1alpha3.LocalityLoadBalancerSetting.Distribute")
- proto.RegisterMapType((map[string]uint32)(nil), "istio.networking.v1alpha3.LocalityLoadBalancerSetting.Distribute.ToEntry")
- proto.RegisterType((*LocalityLoadBalancerSetting_Failover)(nil), "istio.networking.v1alpha3.LocalityLoadBalancerSetting.Failover")
-}
-
-func init() {
- proto.RegisterFile("networking/v1alpha3/destination_rule.proto", fileDescriptor_12899beb695152c8)
-}
-
-var fileDescriptor_12899beb695152c8 = []byte{
- // 1941 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0x4b, 0x73, 0xdb, 0xc8,
- 0xf1, 0x17, 0x1f, 0x7a, 0xb0, 0xa9, 0x07, 0x39, 0x56, 0xf9, 0x4f, 0xd3, 0xff, 0xd2, 0x7a, 0x59,
- 0xa9, 0x5a, 0xc7, 0xbb, 0x86, 0x62, 0x7a, 0x9d, 0xda, 0xac, 0xb3, 0x0f, 0x52, 0xa2, 0x4d, 0xad,
- 0x69, 0x91, 0x19, 0x52, 0x5b, 0x89, 0x73, 0x40, 0x0d, 0xc1, 0x11, 0x39, 0x2b, 0x10, 0x83, 0x1d,
- 0x0c, 0x68, 0xd2, 0xe7, 0x9c, 0x52, 0xf9, 0x08, 0xb9, 0xe6, 0x0b, 0xe4, 0x94, 0x6b, 0x6e, 0x39,
- 0x26, 0x95, 0xaa, 0x9c, 0x53, 0x3e, 0xe4, 0x1b, 0xe4, 0x92, 0x53, 0x6a, 0x06, 0x03, 0x12, 0xb2,
- 0x65, 0xca, 0xb6, 0xb2, 0x37, 0xa0, 0xfb, 0xd7, 0xbf, 0x9e, 0xe9, 0xee, 0xe9, 0x69, 0x00, 0xee,
- 0x78, 0x54, 0x3e, 0xe7, 0xe2, 0x8c, 0x79, 0xc3, 0xfd, 0xc9, 0x3d, 0xe2, 0xfa, 0x23, 0x72, 0x7f,
- 0x7f, 0x40, 0x03, 0xc9, 0x3c, 0x22, 0x19, 0xf7, 0x6c, 0x11, 0xba, 0xd4, 0xf2, 0x05, 0x97, 0x1c,
- 0xdd, 0x60, 0x81, 0x64, 0xdc, 0x5a, 0x58, 0x58, 0xb1, 0x45, 0xf9, 0x83, 0x21, 0xe7, 0x43, 0x97,
- 0xee, 0x13, 0x9f, 0xed, 0x9f, 0x32, 0xea, 0x0e, 0xec, 0x3e, 0x1d, 0x91, 0x09, 0xe3, 0x22, 0xb2,
- 0x2d, 0xef, 0x19, 0x80, 0x7e, 0xeb, 0x87, 0xa7, 0xfb, 0x83, 0x50, 0x68, 0x07, 0x6f, 0xd2, 0x3f,
- 0x17, 0xc4, 0xf7, 0xa9, 0x08, 0x8c, 0xfe, 0xc7, 0x17, 0xad, 0x73, 0xc2, 0x84, 0x0c, 0x89, 0x6b,
- 0x07, 0x54, 0x4c, 0x98, 0x63, 0x96, 0x59, 0xde, 0x1d, 0xf2, 0x21, 0xd7, 0x8f, 0xfb, 0xea, 0x29,
- 0x92, 0x56, 0xfe, 0x91, 0x82, 0x9d, 0xc3, 0xc5, 0xbe, 0x70, 0xe8, 0x52, 0x54, 0x82, 0xec, 0x88,
- 0x07, 0xb2, 0x94, 0xba, 0x95, 0xba, 0x9d, 0xab, 0x67, 0x5f, 0xd6, 0x52, 0x69, 0xac, 0x25, 0xa8,
- 0x0d, 0xdb, 0x52, 0x90, 0xd3, 0x53, 0xe6, 0xd8, 0x3e, 0x77, 0x99, 0x33, 0x2b, 0xa5, 0x6f, 0xa5,
- 0x6e, 0xe7, 0xab, 0xb7, 0xad, 0x37, 0xc6, 0xc0, 0xea, 0x45, 0x06, 0x1d, 0x8d, 0xc7, 0x5b, 0x32,
- 0xf9, 0x8a, 0x1e, 0xc2, 0x7a, 0x10, 0xf6, 0x03, 0x2a, 0x83, 0x52, 0xe6, 0x56, 0xe6, 0x76, 0xbe,
- 0xfa, 0xe1, 0x12, 0xa6, 0xae, 0x46, 0xe2, 0xd8, 0x02, 0xdd, 0x84, 0x1c, 0x9d, 0xfa, 0x5c, 0x48,
- 0x5b, 0xf2, 0x52, 0xf6, 0x56, 0xe6, 0x76, 0x0e, 0x6f, 0x44, 0x82, 0x1e, 0xaf, 0xfc, 0x6b, 0x0d,
- 0xb6, 0xce, 0xb9, 0x46, 0x3d, 0xd8, 0x72, 0x39, 0x19, 0xd8, 0x7d, 0xe2, 0x12, 0xcf, 0xa1, 0x42,
- 0xef, 0x2f, 0x5f, 0xdd, 0x5f, 0xe2, 0xb1, 0xc5, 0xc9, 0xa0, 0x6e, 0xe0, 0x5d, 0x2a, 0x25, 0xf3,
- 0x86, 0x01, 0xde, 0x74, 0x13, 0x52, 0xf4, 0x0c, 0x76, 0x1c, 0xee, 0x79, 0xd4, 0xd1, 0x65, 0xe1,
- 0x73, 0xee, 0x9a, 0x98, 0xdc, 0x5b, 0xc2, 0x7b, 0x30, 0xb7, 0xe8, 0x70, 0xee, 0xce, 0x99, 0xb7,
- 0x9d, 0x73, 0x72, 0xf4, 0x4b, 0x28, 0xf2, 0x50, 0xba, 0x8c, 0x0a, 0x7b, 0x40, 0x65, 0xa4, 0x28,
- 0x65, 0x34, 0xfb, 0xc7, 0x4b, 0xd8, 0xdb, 0x91, 0xcd, 0x61, 0x6c, 0x82, 0x0b, 0xfc, 0x15, 0x09,
- 0xfa, 0x12, 0x32, 0xd2, 0x0d, 0x4a, 0x59, 0xcd, 0xf5, 0xc9, 0xb2, 0x95, 0xba, 0x8c, 0x7a, 0xb2,
- 0xd7, 0xea, 0xce, 0x17, 0xa9, 0x0c, 0xd1, 0x77, 0x70, 0x4d, 0x07, 0xde, 0xa5, 0x13, 0xaa, 0x0a,
- 0x2d, 0xd2, 0x95, 0x56, 0x75, 0x0e, 0x3f, 0x7f, 0xdb, 0x6a, 0xb0, 0x3a, 0x2a, 0x57, 0xe7, 0xea,
- 0xa3, 0xa8, 0x68, 0x5b, 0x8a, 0x35, 0x76, 0x58, 0xfe, 0x7d, 0x06, 0x8a, 0xaf, 0x01, 0xd1, 0x43,
- 0xc8, 0x2a, 0xa8, 0x49, 0xe2, 0x47, 0x4b, 0x5c, 0x2a, 0xdb, 0x2e, 0x75, 0xa9, 0x23, 0xb9, 0xc0,
- 0xda, 0xe8, 0xf5, 0x52, 0x48, 0xff, 0x40, 0xa5, 0x90, 0xf9, 0x41, 0x4b, 0x21, 0xfb, 0x3f, 0x2c,
- 0x85, 0xd5, 0xf7, 0x2c, 0x85, 0xca, 0xbf, 0x53, 0xb0, 0x16, 0x9d, 0x4c, 0xd5, 0x38, 0x3c, 0x32,
- 0xa6, 0xe7, 0x1b, 0x87, 0x92, 0xa0, 0x06, 0xac, 0xb9, 0xa4, 0x4f, 0xdd, 0xa0, 0x94, 0xd6, 0x25,
- 0x72, 0xf7, 0xd2, 0x63, 0x6e, 0xb5, 0x34, 0xbe, 0xe1, 0x49, 0x31, 0xc3, 0xc6, 0xf8, 0x82, 0xfe,
- 0x93, 0xb9, 0x52, 0xff, 0x29, 0xff, 0x0c, 0xf2, 0x09, 0x3f, 0xa8, 0x00, 0x99, 0x33, 0x3a, 0x8b,
- 0xd6, 0x8f, 0xd5, 0x23, 0xda, 0x85, 0xd5, 0x09, 0x71, 0x43, 0xaa, 0x2b, 0x24, 0x87, 0xa3, 0x97,
- 0xcf, 0xd3, 0x9f, 0xa5, 0x2a, 0x7f, 0x5b, 0x83, 0xdd, 0x8b, 0x8a, 0x02, 0x61, 0x58, 0x0b, 0xd8,
- 0xd8, 0x77, 0xa3, 0x38, 0x6c, 0x57, 0x3f, 0x7b, 0xc7, 0xaa, 0xb2, 0xba, 0xda, 0xba, 0x55, 0x6f,
- 0xae, 0x60, 0xc3, 0x84, 0xce, 0x74, 0x69, 0x05, 0x2c, 0x90, 0xd4, 0x93, 0xf6, 0x88, 0x04, 0x23,
- 0x53, 0xb2, 0x5f, 0xbf, 0x2b, 0xf9, 0xc1, 0x9c, 0xa6, 0x49, 0x82, 0x91, 0x76, 0xb2, 0xed, 0x9c,
- 0x93, 0xa1, 0x53, 0xb8, 0xe6, 0x72, 0x87, 0xb8, 0x4c, 0xce, 0x6c, 0xb7, 0x1f, 0x9f, 0x6e, 0x13,
- 0xea, 0x9f, 0x2e, 0x75, 0x18, 0x59, 0x5d, 0xe0, 0x18, 0x17, 0x63, 0xca, 0x56, 0xdf, 0x88, 0xca,
- 0x7f, 0xca, 0x40, 0xe1, 0xd5, 0xe5, 0xa0, 0x3b, 0x50, 0x18, 0x49, 0xe9, 0xdb, 0x23, 0x4a, 0x06,
- 0x54, 0xd8, 0x8b, 0x7a, 0x52, 0x0b, 0x55, 0x9a, 0xa6, 0x56, 0x1c, 0xab, 0xaa, 0xf2, 0x20, 0xaf,
- 0xb1, 0x0e, 0xe7, 0x67, 0x8c, 0x9a, 0x88, 0x3c, 0xb9, 0x6a, 0x44, 0xac, 0x66, 0xaf, 0xd7, 0x39,
- 0xd0, 0x94, 0xcd, 0x15, 0x0c, 0xca, 0x43, 0xf4, 0x86, 0x7e, 0x04, 0x5b, 0x61, 0x40, 0xed, 0x80,
- 0x87, 0xc2, 0xa1, 0x36, 0xf3, 0x75, 0x48, 0x36, 0x9a, 0x2b, 0x38, 0x1f, 0x06, 0xb4, 0xab, 0xa5,
- 0x47, 0x3e, 0x7a, 0x08, 0x37, 0xf4, 0xaa, 0xbe, 0x0f, 0xa9, 0x98, 0xd9, 0x3e, 0x11, 0x64, 0x4c,
- 0x65, 0xbc, 0x95, 0x55, 0xb3, 0x95, 0xeb, 0x0a, 0xf2, 0x0b, 0x85, 0xe8, 0xc4, 0x00, 0xbd, 0xa5,
- 0x3b, 0x50, 0x1c, 0x33, 0x8f, 0x8d, 0xc3, 0xb1, 0x2d, 0x98, 0x37, 0xb4, 0x03, 0xf6, 0x82, 0xea,
- 0x73, 0x9e, 0xc5, 0x3b, 0x46, 0x81, 0x99, 0x37, 0xec, 0xb2, 0x17, 0xb4, 0x3c, 0x06, 0x58, 0x2c,
- 0x75, 0xc9, 0xe1, 0x43, 0x90, 0xf5, 0x89, 0x1c, 0x99, 0x12, 0xd6, 0xcf, 0xe8, 0x1e, 0x64, 0xa4,
- 0x8c, 0xfb, 0xd3, 0x0d, 0x2b, 0x1a, 0x33, 0xac, 0x78, 0xcc, 0xb0, 0x0e, 0xcd, 0x18, 0x62, 0x78,
- 0x14, 0xb6, 0x0e, 0xb0, 0xa1, 0x0a, 0xcf, 0x3e, 0xa3, 0xb3, 0x4a, 0x13, 0x36, 0xe2, 0x2a, 0x45,
- 0x3b, 0x90, 0xc7, 0xed, 0x93, 0xe3, 0x43, 0x1b, 0xb7, 0xeb, 0x47, 0xc7, 0x85, 0x15, 0xb4, 0x0d,
- 0xd0, 0x6a, 0xd4, 0xba, 0x3d, 0xfb, 0xa0, 0x7d, 0x7c, 0x5c, 0x48, 0x21, 0x80, 0x35, 0x5c, 0x3b,
- 0x3e, 0x6c, 0x3f, 0x2d, 0xa4, 0x15, 0xb8, 0x53, 0xeb, 0x76, 0x7b, 0x4d, 0xdc, 0x3e, 0x79, 0xdc,
- 0x2c, 0x64, 0xea, 0x79, 0xc8, 0xb9, 0x7d, 0x73, 0x9a, 0x2b, 0x7f, 0xde, 0x80, 0xeb, 0x17, 0x37,
- 0x44, 0xd4, 0x86, 0x8c, 0x74, 0x7c, 0xd3, 0xee, 0xbf, 0x78, 0xe7, 0x86, 0x6a, 0xf5, 0x0e, 0x3a,
- 0x89, 0xbe, 0xe5, 0xf8, 0x08, 0x43, 0x56, 0xe5, 0xc0, 0x54, 0xcd, 0x97, 0xef, 0xce, 0xa8, 0x62,
- 0x3f, 0xa7, 0xd4, 0x5c, 0xe5, 0xff, 0xa4, 0x21, 0x9f, 0x70, 0x84, 0x3e, 0x82, 0x9d, 0x31, 0x99,
- 0xda, 0x8b, 0x5e, 0x1e, 0xe8, 0x0d, 0xac, 0xe2, 0xed, 0x31, 0x99, 0x2e, 0x68, 0x03, 0x54, 0x9f,
- 0x5f, 0x1d, 0xb6, 0x64, 0x63, 0xca, 0x43, 0x69, 0xd6, 0xf5, 0xe6, 0xd4, 0xcc, 0xaf, 0x88, 0x5e,
- 0x64, 0x80, 0x38, 0x6c, 0x49, 0xc7, 0xb7, 0xcf, 0x28, 0xf5, 0x89, 0xcb, 0x26, 0xd4, 0x24, 0xf7,
- 0x9b, 0x2b, 0xc5, 0xca, 0xea, 0x39, 0xfe, 0x93, 0x98, 0x11, 0x6f, 0xca, 0xc4, 0x5b, 0xf9, 0x77,
- 0x29, 0xd8, 0x4c, 0xaa, 0xd1, 0x75, 0x58, 0xf3, 0x05, 0xef, 0xd3, 0x68, 0x97, 0x5b, 0xd8, 0xbc,
- 0xa1, 0xbb, 0x90, 0x55, 0xbb, 0xba, 0x7c, 0x4b, 0x1a, 0x86, 0x1e, 0xc0, 0x06, 0xf3, 0x24, 0x15,
- 0x13, 0x72, 0x79, 0x81, 0xe2, 0x39, 0xb4, 0xfc, 0x9b, 0x2c, 0x6c, 0x26, 0x73, 0x82, 0x1e, 0x42,
- 0x59, 0x65, 0xe5, 0x9e, 0xad, 0x72, 0xe0, 0x53, 0x6f, 0xa0, 0x0e, 0x94, 0xa0, 0xdf, 0x87, 0x34,
- 0x90, 0x71, 0x22, 0xfe, 0x4f, 0x23, 0x9e, 0x92, 0x69, 0x27, 0xd2, 0x63, 0xa3, 0x46, 0x9f, 0x00,
- 0x52, 0xaa, 0xaa, 0x36, 0x9e, 0x1b, 0xa5, 0xb5, 0x91, 0xee, 0x50, 0xd5, 0xa7, 0x64, 0x3a, 0x47,
- 0x7f, 0x01, 0x37, 0x93, 0x38, 0xdb, 0xa7, 0x22, 0x91, 0x75, 0xbd, 0x8b, 0x55, 0x5c, 0x1a, 0x2f,
- 0x2c, 0x3a, 0x54, 0x2c, 0x82, 0x8f, 0x3e, 0x80, 0x7c, 0x64, 0x2e, 0x05, 0xa3, 0xd1, 0x58, 0xb6,
- 0x8a, 0x41, 0xc3, 0xb5, 0x04, 0xfd, 0x1c, 0x36, 0xd9, 0xc0, 0xa5, 0xf3, 0xe2, 0x58, 0xbd, 0x2c,
- 0x2c, 0x79, 0x05, 0x8f, 0x2b, 0xe3, 0x05, 0x14, 0x47, 0x55, 0x3b, 0xf4, 0x87, 0x82, 0x0c, 0x68,
- 0x7c, 0x73, 0xae, 0xe9, 0xcb, 0xe9, 0xf8, 0x6a, 0x75, 0x6f, 0x35, 0xab, 0x27, 0x11, 0xad, 0xb9,
- 0x5f, 0x77, 0x46, 0xe7, 0x05, 0xc8, 0x82, 0x6b, 0xaa, 0x67, 0x3a, 0x7a, 0x78, 0xb0, 0xf5, 0x42,
- 0x1d, 0xee, 0x96, 0xd6, 0x55, 0xe7, 0xc4, 0xc5, 0x30, 0xa0, 0xd1, 0x58, 0xd1, 0x31, 0x8a, 0xca,
- 0x57, 0xb0, 0xf3, 0x0a, 0x27, 0xca, 0xc3, 0xfa, 0x61, 0xe3, 0x51, 0xed, 0xa4, 0xd5, 0x2b, 0xac,
- 0x20, 0x04, 0xdb, 0x87, 0x6d, 0xfb, 0xb8, 0xdd, 0xb3, 0x4f, 0x3a, 0x8f, 0x71, 0xed, 0xb0, 0x51,
- 0x48, 0x29, 0x40, 0xfc, 0x92, 0xae, 0xfc, 0x76, 0x15, 0x0a, 0xaf, 0x8e, 0x3d, 0xe8, 0x1e, 0x20,
- 0x75, 0xc9, 0x51, 0x27, 0x94, 0x6c, 0x42, 0x6d, 0x2a, 0x04, 0x17, 0xa6, 0x04, 0xea, 0xe9, 0x52,
- 0x0a, 0x17, 0x13, 0xda, 0x86, 0x56, 0xa2, 0x6f, 0xa0, 0x12, 0xf8, 0x2e, 0x93, 0x36, 0x9d, 0x4a,
- 0x2a, 0x3c, 0xe2, 0xda, 0xfa, 0x06, 0xb3, 0xb9, 0x60, 0x43, 0xe6, 0xc5, 0x14, 0x1b, 0x7a, 0x1f,
- 0x7b, 0x1a, 0xd9, 0x30, 0x40, 0x7d, 0x0d, 0xb6, 0x35, 0xcc, 0x70, 0x0d, 0xe1, 0xc3, 0xa4, 0xfb,
- 0x73, 0x44, 0xa7, 0x84, 0xb9, 0xa1, 0xa0, 0x41, 0x29, 0xa7, 0x73, 0xfa, 0xff, 0xaf, 0xe5, 0xf4,
- 0xe4, 0xc8, 0x93, 0xf7, 0xab, 0xdf, 0xaa, 0xc1, 0x03, 0xef, 0x25, 0x68, 0x12, 0x6e, 0x1e, 0x19,
- 0x0e, 0xf4, 0x0c, 0xca, 0x49, 0x47, 0x43, 0x22, 0xe9, 0x73, 0x32, 0x8b, 0x17, 0xbb, 0xf6, 0x16,
- 0x1e, 0x4a, 0x09, 0xfb, 0xc7, 0x91, 0xb9, 0xd9, 0x04, 0x86, 0xeb, 0x49, 0xee, 0x07, 0xd3, 0x69,
- 0xcc, 0xbb, 0xfe, 0x16, 0xbc, 0xbb, 0x09, 0xdb, 0x07, 0xd3, 0xa9, 0xe1, 0x4c, 0x1e, 0xf5, 0xf4,
- 0x5b, 0x1f, 0x75, 0xf4, 0x18, 0x50, 0x9f, 0x04, 0xd4, 0xa6, 0xdf, 0x99, 0x61, 0x5b, 0xb7, 0x97,
- 0x4b, 0x7b, 0x45, 0x41, 0x19, 0x35, 0x8c, 0x8d, 0x3a, 0x1c, 0xe8, 0x27, 0xb0, 0xab, 0x0e, 0xde,
- 0x9c, 0xc7, 0xa7, 0xc2, 0xa1, 0x9e, 0x34, 0x27, 0x10, 0x8d, 0xc9, 0x34, 0x86, 0x77, 0x22, 0x8d,
- 0xea, 0x0b, 0x63, 0xe6, 0xa9, 0xf1, 0xc4, 0x95, 0xa3, 0x39, 0x7e, 0x35, 0xea, 0x0b, 0x63, 0xe6,
- 0x35, 0xb5, 0xc2, 0xa0, 0x2b, 0x7f, 0xcf, 0x40, 0xf1, 0xb5, 0xb9, 0x19, 0x1d, 0x43, 0x76, 0xcc,
- 0x07, 0xf1, 0x7c, 0xf8, 0xe9, 0xbb, 0xcc, 0xdc, 0x56, 0xaf, 0xd5, 0x55, 0xb6, 0xf1, 0x05, 0xaf,
- 0x9e, 0xd1, 0x5d, 0x40, 0xe6, 0x7c, 0x39, 0x54, 0x48, 0x76, 0xca, 0x1c, 0x22, 0xe3, 0x89, 0xb5,
- 0x18, 0x69, 0x0e, 0x16, 0x0a, 0xd5, 0x6d, 0x7c, 0xc1, 0x26, 0x44, 0x52, 0x75, 0x97, 0xeb, 0xb0,
- 0xe5, 0x30, 0x18, 0xd1, 0x13, 0x3a, 0x53, 0xd7, 0x96, 0x43, 0x92, 0x5c, 0x51, 0x4b, 0xca, 0xe1,
- 0x6d, 0x87, 0x24, 0x88, 0xf4, 0xfd, 0xe6, 0x08, 0x3a, 0xa0, 0x9e, 0x64, 0xc4, 0x8d, 0x06, 0x9c,
- 0x75, 0x03, 0x9c, 0x8b, 0xe3, 0xb1, 0x26, 0x08, 0xfb, 0x2a, 0x94, 0x36, 0x71, 0xa5, 0x46, 0x46,
- 0x5f, 0x8b, 0x39, 0xbc, 0x63, 0x14, 0x35, 0x57, 0x2a, 0x68, 0xa0, 0x86, 0xf0, 0xc0, 0x63, 0xba,
- 0x58, 0x73, 0x58, 0x3d, 0xa2, 0x16, 0xec, 0x32, 0x5d, 0x3c, 0x82, 0xda, 0xc1, 0x19, 0xf3, 0xed,
- 0x09, 0x15, 0xec, 0x74, 0xa6, 0x0f, 0x5f, 0xbe, 0x5a, 0x7e, 0x2d, 0xe1, 0x75, 0xce, 0xdd, 0xa8,
- 0xea, 0x50, 0x6c, 0xd7, 0x3d, 0x63, 0xfe, 0xb7, 0xda, 0xaa, 0xf2, 0x35, 0xac, 0x9b, 0x20, 0xea,
- 0xce, 0x72, 0xd4, 0xad, 0xd5, 0x5b, 0x8d, 0xc2, 0x8a, 0x1a, 0x53, 0xba, 0x47, 0x4f, 0x3b, 0xad,
- 0x46, 0x34, 0xb2, 0x3c, 0x3d, 0xe9, 0x9d, 0xd4, 0x5a, 0x85, 0x34, 0x2a, 0xc0, 0xe6, 0x51, 0xb7,
- 0x77, 0xd4, 0xb6, 0x8d, 0x24, 0x53, 0xf9, 0x43, 0x16, 0x6e, 0x2e, 0x99, 0x75, 0x11, 0x01, 0x18,
- 0xb0, 0x40, 0x0a, 0xd6, 0x0f, 0xa5, 0xca, 0xb2, 0xfa, 0xe2, 0xa9, 0xbd, 0xdf, 0xdc, 0x6c, 0x1d,
- 0xce, 0x89, 0x70, 0x82, 0x14, 0xfd, 0x1a, 0x36, 0x54, 0xe3, 0xe0, 0x13, 0xfd, 0xf1, 0xaa, 0x1c,
- 0x7c, 0xf5, 0x9e, 0x0e, 0x1e, 0x19, 0x1a, 0x3c, 0x27, 0x44, 0x1f, 0x43, 0x31, 0x7e, 0xb6, 0x7d,
- 0xc1, 0xb8, 0x60, 0x72, 0x66, 0x7e, 0xb0, 0x14, 0x62, 0x45, 0xc7, 0xc8, 0xd1, 0xa7, 0xb0, 0x4e,
- 0x3d, 0xd2, 0x77, 0xe9, 0xc0, 0x1c, 0xc0, 0x65, 0xf9, 0x88, 0xa1, 0xe5, 0x3f, 0xa6, 0x00, 0x16,
- 0x5b, 0x53, 0x23, 0xea, 0xa9, 0xe0, 0x63, 0xf3, 0xe5, 0xa5, 0x9f, 0xd1, 0xaf, 0x20, 0x2d, 0xb9,
- 0xd9, 0xdc, 0xd1, 0x95, 0xa3, 0x67, 0xf5, 0x78, 0xf4, 0x2d, 0x99, 0x96, 0xbc, 0xfc, 0x00, 0xd6,
- 0xcd, 0xeb, 0x65, 0x9f, 0x7c, 0x5b, 0x89, 0x4f, 0xbe, 0xb2, 0x05, 0x1b, 0x71, 0xb4, 0x2e, 0x5c,
- 0xf1, 0xb6, 0x59, 0xb1, 0x92, 0xa4, 0x25, 0xaf, 0x5b, 0x7f, 0x79, 0xb9, 0x97, 0xfa, 0xeb, 0xcb,
- 0xbd, 0xd4, 0x3f, 0x5f, 0xee, 0xa5, 0x9e, 0xdd, 0x8a, 0xb6, 0xc0, 0xb8, 0xfe, 0x1d, 0x78, 0xc1,
- 0x8f, 0xbb, 0xfe, 0x9a, 0x8e, 0xd8, 0xfd, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0x84, 0x57, 0x3b,
- 0x12, 0x7e, 0x14, 0x00, 0x00,
-}
-
-func (m *DestinationRule) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
+func (x *TrafficPolicy_TunnelSettings) GetTargetPort() uint32 {
+ if x != nil {
+ return x.TargetPort
}
- return dAtA[:n], nil
+ return 0
}
-func (m *DestinationRule) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
+// Consistent Hash-based load balancing can be used to provide soft
+// session affinity based on HTTP headers, cookies or other
+// properties. The affinity to a particular destination host will be
+// lost when one or more hosts are added/removed from the destination
+// service.
+type LoadBalancerSettings_ConsistentHashLB struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
-func (m *DestinationRule) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.ExportTo) > 0 {
- for iNdEx := len(m.ExportTo) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.ExportTo[iNdEx])
- copy(dAtA[i:], m.ExportTo[iNdEx])
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.ExportTo[iNdEx])))
- i--
- dAtA[i] = 0x22
- }
- }
- if len(m.Subsets) > 0 {
- for iNdEx := len(m.Subsets) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Subsets[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- }
- if m.TrafficPolicy != nil {
- {
- size, err := m.TrafficPolicy.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- if len(m.Host) > 0 {
- i -= len(m.Host)
- copy(dAtA[i:], m.Host)
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.Host)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
+ // The hash key to use.
+ //
+ // Types that are assignable to HashKey:
+ // *LoadBalancerSettings_ConsistentHashLB_HttpHeaderName
+ // *LoadBalancerSettings_ConsistentHashLB_HttpCookie
+ // *LoadBalancerSettings_ConsistentHashLB_UseSourceIp
+ // *LoadBalancerSettings_ConsistentHashLB_HttpQueryParameterName
+ HashKey isLoadBalancerSettings_ConsistentHashLB_HashKey `protobuf_oneof:"hash_key"`
+ // The minimum number of virtual nodes to use for the hash
+ // ring. Defaults to 1024. Larger ring sizes result in more granular
+ // load distributions. If the number of hosts in the load balancing
+ // pool is larger than the ring size, each host will be assigned a
+ // single virtual node.
+ MinimumRingSize uint64 `protobuf:"varint,4,opt,name=minimum_ring_size,json=minimumRingSize,proto3" json:"minimum_ring_size,omitempty"`
}
-func (m *TrafficPolicy) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
+func (x *LoadBalancerSettings_ConsistentHashLB) Reset() {
+ *x = LoadBalancerSettings_ConsistentHashLB{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[11]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- return dAtA[:n], nil
}
-func (m *TrafficPolicy) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+func (x *LoadBalancerSettings_ConsistentHashLB) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *TrafficPolicy) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.PortLevelSettings) > 0 {
- for iNdEx := len(m.PortLevelSettings) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.PortLevelSettings[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x2a
- }
- }
- if m.Tls != nil {
- {
- size, err := m.Tls.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x22
- }
- if m.OutlierDetection != nil {
- {
- size, err := m.OutlierDetection.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- if m.ConnectionPool != nil {
- {
- size, err := m.ConnectionPool.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- if m.LoadBalancer != nil {
- {
- size, err := m.LoadBalancer.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
+func (*LoadBalancerSettings_ConsistentHashLB) ProtoMessage() {}
+
+func (x *LoadBalancerSettings_ConsistentHashLB) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[11]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- i--
- dAtA[i] = 0xa
+ return ms
}
- return len(dAtA) - i, nil
+ return mi.MessageOf(x)
}
-func (m *TrafficPolicy_PortTrafficPolicy) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
+// Deprecated: Use LoadBalancerSettings_ConsistentHashLB.ProtoReflect.Descriptor instead.
+func (*LoadBalancerSettings_ConsistentHashLB) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_destination_rule_proto_rawDescGZIP(), []int{3, 0}
}
-func (m *TrafficPolicy_PortTrafficPolicy) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+func (m *LoadBalancerSettings_ConsistentHashLB) GetHashKey() isLoadBalancerSettings_ConsistentHashLB_HashKey {
+ if m != nil {
+ return m.HashKey
+ }
+ return nil
}
-func (m *TrafficPolicy_PortTrafficPolicy) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Tls != nil {
- {
- size, err := m.Tls.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x2a
- }
- if m.OutlierDetection != nil {
- {
- size, err := m.OutlierDetection.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x22
- }
- if m.ConnectionPool != nil {
- {
- size, err := m.ConnectionPool.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- if m.LoadBalancer != nil {
- {
- size, err := m.LoadBalancer.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- if m.Port != nil {
- {
- size, err := m.Port.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
+func (x *LoadBalancerSettings_ConsistentHashLB) GetHttpHeaderName() string {
+ if x, ok := x.GetHashKey().(*LoadBalancerSettings_ConsistentHashLB_HttpHeaderName); ok {
+ return x.HttpHeaderName
}
- return len(dAtA) - i, nil
+ return ""
}
-func (m *Subset) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
+func (x *LoadBalancerSettings_ConsistentHashLB) GetHttpCookie() *LoadBalancerSettings_ConsistentHashLB_HTTPCookie {
+ if x, ok := x.GetHashKey().(*LoadBalancerSettings_ConsistentHashLB_HttpCookie); ok {
+ return x.HttpCookie
}
- return dAtA[:n], nil
+ return nil
}
-func (m *Subset) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+func (x *LoadBalancerSettings_ConsistentHashLB) GetUseSourceIp() bool {
+ if x, ok := x.GetHashKey().(*LoadBalancerSettings_ConsistentHashLB_UseSourceIp); ok {
+ return x.UseSourceIp
+ }
+ return false
}
-func (m *Subset) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.TrafficPolicy != nil {
- {
- size, err := m.TrafficPolicy.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- if len(m.Labels) > 0 {
- for k := range m.Labels {
- v := m.Labels[k]
- baseI := i
- i -= len(v)
- copy(dAtA[i:], v)
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(v)))
- i--
- dAtA[i] = 0x12
- i -= len(k)
- copy(dAtA[i:], k)
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(k)))
- i--
- dAtA[i] = 0xa
- i = encodeVarintDestinationRule(dAtA, i, uint64(baseI-i))
- i--
- dAtA[i] = 0x12
- }
- }
- if len(m.Name) > 0 {
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0xa
+func (x *LoadBalancerSettings_ConsistentHashLB) GetHttpQueryParameterName() string {
+ if x, ok := x.GetHashKey().(*LoadBalancerSettings_ConsistentHashLB_HttpQueryParameterName); ok {
+ return x.HttpQueryParameterName
}
- return len(dAtA) - i, nil
+ return ""
}
-func (m *LoadBalancerSettings) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
+func (x *LoadBalancerSettings_ConsistentHashLB) GetMinimumRingSize() uint64 {
+ if x != nil {
+ return x.MinimumRingSize
}
- return dAtA[:n], nil
+ return 0
}
-func (m *LoadBalancerSettings) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+type isLoadBalancerSettings_ConsistentHashLB_HashKey interface {
+ isLoadBalancerSettings_ConsistentHashLB_HashKey()
}
-func (m *LoadBalancerSettings) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.LocalityLbSetting != nil {
- {
- size, err := m.LocalityLbSetting.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- if m.LbPolicy != nil {
- {
- size := m.LbPolicy.Size()
- i -= size
- if _, err := m.LbPolicy.MarshalTo(dAtA[i:]); err != nil {
- return 0, err
- }
- }
- }
- return len(dAtA) - i, nil
+type LoadBalancerSettings_ConsistentHashLB_HttpHeaderName struct {
+ // Hash based on a specific HTTP header.
+ HttpHeaderName string `protobuf:"bytes,1,opt,name=http_header_name,json=httpHeaderName,proto3,oneof"`
}
-func (m *LoadBalancerSettings_Simple) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+type LoadBalancerSettings_ConsistentHashLB_HttpCookie struct {
+ // Hash based on HTTP cookie.
+ HttpCookie *LoadBalancerSettings_ConsistentHashLB_HTTPCookie `protobuf:"bytes,2,opt,name=http_cookie,json=httpCookie,proto3,oneof"`
}
-func (m *LoadBalancerSettings_Simple) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- i = encodeVarintDestinationRule(dAtA, i, uint64(m.Simple))
- i--
- dAtA[i] = 0x8
- return len(dAtA) - i, nil
-}
-func (m *LoadBalancerSettings_ConsistentHash) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+type LoadBalancerSettings_ConsistentHashLB_UseSourceIp struct {
+ // Hash based on the source IP address.
+ // This is applicable for both TCP and HTTP connections.
+ UseSourceIp bool `protobuf:"varint,3,opt,name=use_source_ip,json=useSourceIp,proto3,oneof"`
}
-func (m *LoadBalancerSettings_ConsistentHash) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- if m.ConsistentHash != nil {
- {
- size, err := m.ConsistentHash.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- return len(dAtA) - i, nil
-}
-func (m *LoadBalancerSettings_ConsistentHashLB) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
+type LoadBalancerSettings_ConsistentHashLB_HttpQueryParameterName struct {
+ // Hash based on a specific HTTP query parameter.
+ HttpQueryParameterName string `protobuf:"bytes,5,opt,name=http_query_parameter_name,json=httpQueryParameterName,proto3,oneof"`
}
-func (m *LoadBalancerSettings_ConsistentHashLB) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+func (*LoadBalancerSettings_ConsistentHashLB_HttpHeaderName) isLoadBalancerSettings_ConsistentHashLB_HashKey() {
}
-func (m *LoadBalancerSettings_ConsistentHashLB) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.HashKey != nil {
- {
- size := m.HashKey.Size()
- i -= size
- if _, err := m.HashKey.MarshalTo(dAtA[i:]); err != nil {
- return 0, err
- }
- }
- }
- if m.MinimumRingSize != 0 {
- i = encodeVarintDestinationRule(dAtA, i, uint64(m.MinimumRingSize))
- i--
- dAtA[i] = 0x20
- }
- return len(dAtA) - i, nil
+func (*LoadBalancerSettings_ConsistentHashLB_HttpCookie) isLoadBalancerSettings_ConsistentHashLB_HashKey() {
}
-func (m *LoadBalancerSettings_ConsistentHashLB_HttpHeaderName) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+func (*LoadBalancerSettings_ConsistentHashLB_UseSourceIp) isLoadBalancerSettings_ConsistentHashLB_HashKey() {
}
-func (m *LoadBalancerSettings_ConsistentHashLB_HttpHeaderName) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- i -= len(m.HttpHeaderName)
- copy(dAtA[i:], m.HttpHeaderName)
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.HttpHeaderName)))
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-func (m *LoadBalancerSettings_ConsistentHashLB_HttpCookie) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+func (*LoadBalancerSettings_ConsistentHashLB_HttpQueryParameterName) isLoadBalancerSettings_ConsistentHashLB_HashKey() {
}
-func (m *LoadBalancerSettings_ConsistentHashLB_HttpCookie) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- if m.HttpCookie != nil {
- {
- size, err := m.HttpCookie.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- return len(dAtA) - i, nil
-}
-func (m *LoadBalancerSettings_ConsistentHashLB_UseSourceIp) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+// Describes a HTTP cookie that will be used as the hash key for the
+// Consistent Hash load balancer. If the cookie is not present, it will
+// be generated.
+type LoadBalancerSettings_ConsistentHashLB_HTTPCookie struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Name of the cookie.
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ // Path to set for the cookie.
+ Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
+ // Lifetime of the cookie.
+ Ttl *duration.Duration `protobuf:"bytes,3,opt,name=ttl,proto3" json:"ttl,omitempty"`
}
-func (m *LoadBalancerSettings_ConsistentHashLB_UseSourceIp) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- i--
- if m.UseSourceIp {
- dAtA[i] = 1
- } else {
- dAtA[i] = 0
+func (x *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Reset() {
+ *x = LoadBalancerSettings_ConsistentHashLB_HTTPCookie{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[12]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- i--
- dAtA[i] = 0x18
- return len(dAtA) - i, nil
-}
-func (m *LoadBalancerSettings_ConsistentHashLB_HttpQueryParameterName) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *LoadBalancerSettings_ConsistentHashLB_HttpQueryParameterName) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- i -= len(m.HttpQueryParameterName)
- copy(dAtA[i:], m.HttpQueryParameterName)
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.HttpQueryParameterName)))
- i--
- dAtA[i] = 0x2a
- return len(dAtA) - i, nil
-}
-func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
}
-func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+func (x *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Ttl != nil {
- {
- size, err := m.Ttl.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
+func (*LoadBalancerSettings_ConsistentHashLB_HTTPCookie) ProtoMessage() {}
+
+func (x *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[12]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- i--
- dAtA[i] = 0x1a
- }
- if len(m.Path) > 0 {
- i -= len(m.Path)
- copy(dAtA[i:], m.Path)
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.Path)))
- i--
- dAtA[i] = 0x12
+ return ms
}
- if len(m.Name) > 0 {
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
+ return mi.MessageOf(x)
}
-func (m *ConnectionPoolSettings) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
+// Deprecated: Use LoadBalancerSettings_ConsistentHashLB_HTTPCookie.ProtoReflect.Descriptor instead.
+func (*LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_destination_rule_proto_rawDescGZIP(), []int{3, 0, 0}
}
-func (m *ConnectionPoolSettings) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+func (x *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
}
-func (m *ConnectionPoolSettings) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Http != nil {
- {
- size, err := m.Http.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
+func (x *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) GetPath() string {
+ if x != nil {
+ return x.Path
}
- if m.Tcp != nil {
- {
- size, err := m.Tcp.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
+ return ""
}
-func (m *ConnectionPoolSettings_TCPSettings) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
+func (x *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) GetTtl() *duration.Duration {
+ if x != nil {
+ return x.Ttl
}
- return dAtA[:n], nil
+ return nil
}
-func (m *ConnectionPoolSettings_TCPSettings) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
+// Settings common to both HTTP and TCP upstream connections.
+type ConnectionPoolSettings_TCPSettings struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
-func (m *ConnectionPoolSettings_TCPSettings) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.TcpKeepalive != nil {
- {
- size, err := m.TcpKeepalive.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- if m.ConnectTimeout != nil {
- {
- size, err := m.ConnectTimeout.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- if m.MaxConnections != 0 {
- i = encodeVarintDestinationRule(dAtA, i, uint64(m.MaxConnections))
- i--
- dAtA[i] = 0x8
- }
- return len(dAtA) - i, nil
+ // Maximum number of HTTP1 /TCP connections to a destination host. Default 2^32-1.
+ MaxConnections int32 `protobuf:"varint,1,opt,name=max_connections,json=maxConnections,proto3" json:"max_connections,omitempty"`
+ // TCP connection timeout. format:
+ // 1h/1m/1s/1ms. MUST BE >=1ms. Default is 10s.
+ ConnectTimeout *duration.Duration `protobuf:"bytes,2,opt,name=connect_timeout,json=connectTimeout,proto3" json:"connect_timeout,omitempty"`
+ // If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
+ TcpKeepalive *ConnectionPoolSettings_TCPSettings_TcpKeepalive `protobuf:"bytes,3,opt,name=tcp_keepalive,json=tcpKeepalive,proto3" json:"tcp_keepalive,omitempty"`
}
-func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
+func (x *ConnectionPoolSettings_TCPSettings) Reset() {
+ *x = ConnectionPoolSettings_TCPSettings{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[13]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- return dAtA[:n], nil
}
-func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+func (x *ConnectionPoolSettings_TCPSettings) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Interval != nil {
- {
- size, err := m.Interval.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- if m.Time != nil {
- {
- size, err := m.Time.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
+func (*ConnectionPoolSettings_TCPSettings) ProtoMessage() {}
+
+func (x *ConnectionPoolSettings_TCPSettings) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[13]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- i--
- dAtA[i] = 0x12
- }
- if m.Probes != 0 {
- i = encodeVarintDestinationRule(dAtA, i, uint64(m.Probes))
- i--
- dAtA[i] = 0x8
+ return ms
}
- return len(dAtA) - i, nil
+ return mi.MessageOf(x)
}
-func (m *ConnectionPoolSettings_HTTPSettings) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
+// Deprecated: Use ConnectionPoolSettings_TCPSettings.ProtoReflect.Descriptor instead.
+func (*ConnectionPoolSettings_TCPSettings) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_destination_rule_proto_rawDescGZIP(), []int{4, 0}
}
-func (m *ConnectionPoolSettings_HTTPSettings) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+func (x *ConnectionPoolSettings_TCPSettings) GetMaxConnections() int32 {
+ if x != nil {
+ return x.MaxConnections
+ }
+ return 0
}
-func (m *ConnectionPoolSettings_HTTPSettings) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.UseClientProtocol {
- i--
- if m.UseClientProtocol {
- dAtA[i] = 1
- } else {
- dAtA[i] = 0
- }
- i--
- dAtA[i] = 0x38
- }
- if m.H2UpgradePolicy != 0 {
- i = encodeVarintDestinationRule(dAtA, i, uint64(m.H2UpgradePolicy))
- i--
- dAtA[i] = 0x30
- }
- if m.IdleTimeout != nil {
- {
- size, err := m.IdleTimeout.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x2a
- }
- if m.MaxRetries != 0 {
- i = encodeVarintDestinationRule(dAtA, i, uint64(m.MaxRetries))
- i--
- dAtA[i] = 0x20
- }
- if m.MaxRequestsPerConnection != 0 {
- i = encodeVarintDestinationRule(dAtA, i, uint64(m.MaxRequestsPerConnection))
- i--
- dAtA[i] = 0x18
+func (x *ConnectionPoolSettings_TCPSettings) GetConnectTimeout() *duration.Duration {
+ if x != nil {
+ return x.ConnectTimeout
}
- if m.Http2MaxRequests != 0 {
- i = encodeVarintDestinationRule(dAtA, i, uint64(m.Http2MaxRequests))
- i--
- dAtA[i] = 0x10
- }
- if m.Http1MaxPendingRequests != 0 {
- i = encodeVarintDestinationRule(dAtA, i, uint64(m.Http1MaxPendingRequests))
- i--
- dAtA[i] = 0x8
- }
- return len(dAtA) - i, nil
+ return nil
}
-func (m *OutlierDetection) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
+func (x *ConnectionPoolSettings_TCPSettings) GetTcpKeepalive() *ConnectionPoolSettings_TCPSettings_TcpKeepalive {
+ if x != nil {
+ return x.TcpKeepalive
}
- return dAtA[:n], nil
+ return nil
}
-func (m *OutlierDetection) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
+// Settings applicable to HTTP1.1/HTTP2/GRPC connections.
+type ConnectionPoolSettings_HTTPSettings struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
-func (m *OutlierDetection) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.ConsecutiveLocalOriginFailures != nil {
- {
- size, err := m.ConsecutiveLocalOriginFailures.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x4a
- }
- if m.SplitExternalLocalOriginErrors {
- i--
- if m.SplitExternalLocalOriginErrors {
- dAtA[i] = 1
- } else {
- dAtA[i] = 0
- }
- i--
- dAtA[i] = 0x40
- }
- if m.Consecutive_5XxErrors != nil {
- {
- size, err := m.Consecutive_5XxErrors.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x3a
- }
- if m.ConsecutiveGatewayErrors != nil {
- {
- size, err := m.ConsecutiveGatewayErrors.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x32
- }
- if m.MinHealthPercent != 0 {
- i = encodeVarintDestinationRule(dAtA, i, uint64(m.MinHealthPercent))
- i--
- dAtA[i] = 0x28
- }
- if m.MaxEjectionPercent != 0 {
- i = encodeVarintDestinationRule(dAtA, i, uint64(m.MaxEjectionPercent))
- i--
- dAtA[i] = 0x20
- }
- if m.BaseEjectionTime != nil {
- {
- size, err := m.BaseEjectionTime.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- if m.Interval != nil {
- {
- size, err := m.Interval.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- if m.ConsecutiveErrors != 0 {
- i = encodeVarintDestinationRule(dAtA, i, uint64(m.ConsecutiveErrors))
- i--
- dAtA[i] = 0x8
- }
- return len(dAtA) - i, nil
+ // Maximum number of pending HTTP requests to a destination. Default 2^32-1.
+ Http1MaxPendingRequests int32 `protobuf:"varint,1,opt,name=http1_max_pending_requests,json=http1MaxPendingRequests,proto3" json:"http1_max_pending_requests,omitempty"`
+ // Maximum number of requests to a backend. Default 2^32-1.
+ Http2MaxRequests int32 `protobuf:"varint,2,opt,name=http2_max_requests,json=http2MaxRequests,proto3" json:"http2_max_requests,omitempty"`
+ // Maximum number of requests per connection to a backend. Setting this
+ // parameter to 1 disables keep alive. Default 0, meaning "unlimited",
+ // up to 2^29.
+ MaxRequestsPerConnection int32 `protobuf:"varint,3,opt,name=max_requests_per_connection,json=maxRequestsPerConnection,proto3" json:"max_requests_per_connection,omitempty"`
+ // Maximum number of retries that can be outstanding to all hosts in a
+ // cluster at a given time. Defaults to 2^32-1.
+ MaxRetries int32 `protobuf:"varint,4,opt,name=max_retries,json=maxRetries,proto3" json:"max_retries,omitempty"`
+ // The idle timeout for upstream connection pool connections. The idle timeout
+ // is defined as the period in which there are no active requests.
+ // If not set, the default is 1 hour. When the idle timeout is reached,
+ // the connection will be closed. If the connection is an HTTP/2
+ // connection a drain sequence will occur prior to closing the connection.
+ // Note that request based timeouts mean that HTTP/2 PINGs will not
+ // keep the connection alive. Applies to both HTTP1.1 and HTTP2 connections.
+ IdleTimeout *duration.Duration `protobuf:"bytes,5,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"`
+ // Specify if http1.1 connection should be upgraded to http2 for the associated destination.
+ H2UpgradePolicy ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy `protobuf:"varint,6,opt,name=h2_upgrade_policy,json=h2UpgradePolicy,proto3,enum=istio.networking.v1alpha3.ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy" json:"h2_upgrade_policy,omitempty"`
+ // If set to true, client protocol will be preserved while initiating connection to backend.
+ // Note that when this is set to true, h2_upgrade_policy will be ineffective i.e. the client
+ // connections will not be upgraded to http2.
+ UseClientProtocol bool `protobuf:"varint,7,opt,name=use_client_protocol,json=useClientProtocol,proto3" json:"use_client_protocol,omitempty"`
}
-func (m *ClientTLSSettings) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
+func (x *ConnectionPoolSettings_HTTPSettings) Reset() {
+ *x = ConnectionPoolSettings_HTTPSettings{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[14]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- return dAtA[:n], nil
}
-func (m *ClientTLSSettings) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+func (x *ConnectionPoolSettings_HTTPSettings) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *ClientTLSSettings) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.InsecureSkipVerify != nil {
- {
- size, err := m.InsecureSkipVerify.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x42
- }
- if len(m.CredentialName) > 0 {
- i -= len(m.CredentialName)
- copy(dAtA[i:], m.CredentialName)
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.CredentialName)))
- i--
- dAtA[i] = 0x3a
- }
- if len(m.Sni) > 0 {
- i -= len(m.Sni)
- copy(dAtA[i:], m.Sni)
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.Sni)))
- i--
- dAtA[i] = 0x32
- }
- if len(m.SubjectAltNames) > 0 {
- for iNdEx := len(m.SubjectAltNames) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.SubjectAltNames[iNdEx])
- copy(dAtA[i:], m.SubjectAltNames[iNdEx])
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.SubjectAltNames[iNdEx])))
- i--
- dAtA[i] = 0x2a
+func (*ConnectionPoolSettings_HTTPSettings) ProtoMessage() {}
+
+func (x *ConnectionPoolSettings_HTTPSettings) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[14]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
+ return ms
}
- if len(m.CaCertificates) > 0 {
- i -= len(m.CaCertificates)
- copy(dAtA[i:], m.CaCertificates)
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.CaCertificates)))
- i--
- dAtA[i] = 0x22
- }
- if len(m.PrivateKey) > 0 {
- i -= len(m.PrivateKey)
- copy(dAtA[i:], m.PrivateKey)
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.PrivateKey)))
- i--
- dAtA[i] = 0x1a
- }
- if len(m.ClientCertificate) > 0 {
- i -= len(m.ClientCertificate)
- copy(dAtA[i:], m.ClientCertificate)
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.ClientCertificate)))
- i--
- dAtA[i] = 0x12
- }
- if m.Mode != 0 {
- i = encodeVarintDestinationRule(dAtA, i, uint64(m.Mode))
- i--
- dAtA[i] = 0x8
- }
- return len(dAtA) - i, nil
+ return mi.MessageOf(x)
}
-func (m *LocalityLoadBalancerSetting) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
+// Deprecated: Use ConnectionPoolSettings_HTTPSettings.ProtoReflect.Descriptor instead.
+func (*ConnectionPoolSettings_HTTPSettings) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_destination_rule_proto_rawDescGZIP(), []int{4, 1}
}
-func (m *LocalityLoadBalancerSetting) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+func (x *ConnectionPoolSettings_HTTPSettings) GetHttp1MaxPendingRequests() int32 {
+ if x != nil {
+ return x.Http1MaxPendingRequests
+ }
+ return 0
}
-func (m *LocalityLoadBalancerSetting) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.FailoverPriority) > 0 {
- for iNdEx := len(m.FailoverPriority) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.FailoverPriority[iNdEx])
- copy(dAtA[i:], m.FailoverPriority[iNdEx])
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.FailoverPriority[iNdEx])))
- i--
- dAtA[i] = 0x22
- }
- }
- if m.Enabled != nil {
- {
- size, err := m.Enabled.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- if len(m.Failover) > 0 {
- for iNdEx := len(m.Failover) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Failover[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- }
- if len(m.Distribute) > 0 {
- for iNdEx := len(m.Distribute) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Distribute[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
+func (x *ConnectionPoolSettings_HTTPSettings) GetHttp2MaxRequests() int32 {
+ if x != nil {
+ return x.Http2MaxRequests
}
- return len(dAtA) - i, nil
+ return 0
}
-func (m *LocalityLoadBalancerSetting_Distribute) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
+func (x *ConnectionPoolSettings_HTTPSettings) GetMaxRequestsPerConnection() int32 {
+ if x != nil {
+ return x.MaxRequestsPerConnection
}
- return dAtA[:n], nil
+ return 0
}
-func (m *LocalityLoadBalancerSetting_Distribute) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+func (x *ConnectionPoolSettings_HTTPSettings) GetMaxRetries() int32 {
+ if x != nil {
+ return x.MaxRetries
+ }
+ return 0
}
-func (m *LocalityLoadBalancerSetting_Distribute) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.To) > 0 {
- for k := range m.To {
- v := m.To[k]
- baseI := i
- i = encodeVarintDestinationRule(dAtA, i, uint64(v))
- i--
- dAtA[i] = 0x10
- i -= len(k)
- copy(dAtA[i:], k)
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(k)))
- i--
- dAtA[i] = 0xa
- i = encodeVarintDestinationRule(dAtA, i, uint64(baseI-i))
- i--
- dAtA[i] = 0x12
- }
+func (x *ConnectionPoolSettings_HTTPSettings) GetIdleTimeout() *duration.Duration {
+ if x != nil {
+ return x.IdleTimeout
}
- if len(m.From) > 0 {
- i -= len(m.From)
- copy(dAtA[i:], m.From)
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.From)))
- i--
- dAtA[i] = 0xa
+ return nil
+}
+
+func (x *ConnectionPoolSettings_HTTPSettings) GetH2UpgradePolicy() ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy {
+ if x != nil {
+ return x.H2UpgradePolicy
}
- return len(dAtA) - i, nil
+ return ConnectionPoolSettings_HTTPSettings_DEFAULT
}
-func (m *LocalityLoadBalancerSetting_Failover) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
+func (x *ConnectionPoolSettings_HTTPSettings) GetUseClientProtocol() bool {
+ if x != nil {
+ return x.UseClientProtocol
}
- return dAtA[:n], nil
+ return false
}
-func (m *LocalityLoadBalancerSetting_Failover) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+// TCP keepalive.
+type ConnectionPoolSettings_TCPSettings_TcpKeepalive struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Maximum number of keepalive probes to send without response before
+ // deciding the connection is dead. Default is to use the OS level configuration
+ // (unless overridden, Linux defaults to 9.)
+ Probes uint32 `protobuf:"varint,1,opt,name=probes,proto3" json:"probes,omitempty"`
+ // The time duration a connection needs to be idle before keep-alive
+ // probes start being sent. Default is to use the OS level configuration
+ // (unless overridden, Linux defaults to 7200s (ie 2 hours.)
+ Time *duration.Duration `protobuf:"bytes,2,opt,name=time,proto3" json:"time,omitempty"`
+ // The time duration between keep-alive probes.
+ // Default is to use the OS level configuration
+ // (unless overridden, Linux defaults to 75s.)
+ Interval *duration.Duration `protobuf:"bytes,3,opt,name=interval,proto3" json:"interval,omitempty"`
}
-func (m *LocalityLoadBalancerSetting_Failover) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.To) > 0 {
- i -= len(m.To)
- copy(dAtA[i:], m.To)
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.To)))
- i--
- dAtA[i] = 0x12
+func (x *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Reset() {
+ *x = ConnectionPoolSettings_TCPSettings_TcpKeepalive{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[15]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- if len(m.From) > 0 {
- i -= len(m.From)
- copy(dAtA[i:], m.From)
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.From)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
}
-func encodeVarintDestinationRule(dAtA []byte, offset int, v uint64) int {
- offset -= sovDestinationRule(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
+func (x *ConnectionPoolSettings_TCPSettings_TcpKeepalive) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *DestinationRule) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Host)
- if l > 0 {
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.TrafficPolicy != nil {
- l = m.TrafficPolicy.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if len(m.Subsets) > 0 {
- for _, e := range m.Subsets {
- l = e.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- }
- if len(m.ExportTo) > 0 {
- for _, s := range m.ExportTo {
- l = len(s)
- n += 1 + l + sovDestinationRule(uint64(l))
+
+func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) ProtoMessage() {}
+
+func (x *ConnectionPoolSettings_TCPSettings_TcpKeepalive) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[15]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
+ return ms
}
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
+ return mi.MessageOf(x)
}
-func (m *TrafficPolicy) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.LoadBalancer != nil {
- l = m.LoadBalancer.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.ConnectionPool != nil {
- l = m.ConnectionPool.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.OutlierDetection != nil {
- l = m.OutlierDetection.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.Tls != nil {
- l = m.Tls.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if len(m.PortLevelSettings) > 0 {
- for _, e := range m.PortLevelSettings {
- l = e.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
+// Deprecated: Use ConnectionPoolSettings_TCPSettings_TcpKeepalive.ProtoReflect.Descriptor instead.
+func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_destination_rule_proto_rawDescGZIP(), []int{4, 0, 0}
}
-func (m *TrafficPolicy_PortTrafficPolicy) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Port != nil {
- l = m.Port.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.LoadBalancer != nil {
- l = m.LoadBalancer.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
+func (x *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetProbes() uint32 {
+ if x != nil {
+ return x.Probes
}
- if m.ConnectionPool != nil {
- l = m.ConnectionPool.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.OutlierDetection != nil {
- l = m.OutlierDetection.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.Tls != nil {
- l = m.Tls.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
+ return 0
+}
+
+func (x *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetTime() *duration.Duration {
+ if x != nil {
+ return x.Time
}
- return n
+ return nil
}
-func (m *Subset) Size() (n int) {
- if m == nil {
- return 0
+func (x *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetInterval() *duration.Duration {
+ if x != nil {
+ return x.Interval
}
- var l int
- _ = l
- l = len(m.Name)
- if l > 0 {
- n += 1 + l + sovDestinationRule(uint64(l))
+ return nil
+}
+
+// Describes how traffic originating in the 'from' zone or sub-zone is
+// distributed over a set of 'to' zones. Syntax for specifying a zone is
+// {region}/{zone}/{sub-zone} and terminal wildcards are allowed on any
+// segment of the specification. Examples:
+//
+// `*` - matches all localities
+//
+// `us-west/*` - all zones and sub-zones within the us-west region
+//
+// `us-west/zone-1/*` - all sub-zones within us-west/zone-1
+type LocalityLoadBalancerSetting_Distribute struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Originating locality, '/' separated, e.g. 'region/zone/sub_zone'.
+ From string `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"`
+ // Map of upstream localities to traffic distribution weights. The sum of
+ // all weights should be 100. Any locality not present will
+ // receive no traffic.
+ To map[string]uint32 `protobuf:"bytes,2,rep,name=to,proto3" json:"to,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *LocalityLoadBalancerSetting_Distribute) Reset() {
+ *x = LocalityLoadBalancerSetting_Distribute{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[16]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- if len(m.Labels) > 0 {
- for k, v := range m.Labels {
- _ = k
- _ = v
- mapEntrySize := 1 + len(k) + sovDestinationRule(uint64(len(k))) + 1 + len(v) + sovDestinationRule(uint64(len(v)))
- n += mapEntrySize + 1 + sovDestinationRule(uint64(mapEntrySize))
+}
+
+func (x *LocalityLoadBalancerSetting_Distribute) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LocalityLoadBalancerSetting_Distribute) ProtoMessage() {}
+
+func (x *LocalityLoadBalancerSetting_Distribute) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[16]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
+ return ms
}
- if m.TrafficPolicy != nil {
- l = m.TrafficPolicy.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
+ return mi.MessageOf(x)
}
-func (m *LoadBalancerSettings) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.LbPolicy != nil {
- n += m.LbPolicy.Size()
- }
- if m.LocalityLbSetting != nil {
- l = m.LocalityLbSetting.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
+// Deprecated: Use LocalityLoadBalancerSetting_Distribute.ProtoReflect.Descriptor instead.
+func (*LocalityLoadBalancerSetting_Distribute) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_destination_rule_proto_rawDescGZIP(), []int{7, 0}
}
-func (m *LoadBalancerSettings_Simple) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- n += 1 + sovDestinationRule(uint64(m.Simple))
- return n
-}
-func (m *LoadBalancerSettings_ConsistentHash) Size() (n int) {
- if m == nil {
- return 0
+func (x *LocalityLoadBalancerSetting_Distribute) GetFrom() string {
+ if x != nil {
+ return x.From
}
- var l int
- _ = l
- if m.ConsistentHash != nil {
- l = m.ConsistentHash.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- return n
+ return ""
}
-func (m *LoadBalancerSettings_ConsistentHashLB) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.HashKey != nil {
- n += m.HashKey.Size()
- }
- if m.MinimumRingSize != 0 {
- n += 1 + sovDestinationRule(uint64(m.MinimumRingSize))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
+
+func (x *LocalityLoadBalancerSetting_Distribute) GetTo() map[string]uint32 {
+ if x != nil {
+ return x.To
}
- return n
+ return nil
}
-func (m *LoadBalancerSettings_ConsistentHashLB_HttpHeaderName) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.HttpHeaderName)
- n += 1 + l + sovDestinationRule(uint64(l))
- return n
-}
-func (m *LoadBalancerSettings_ConsistentHashLB_HttpCookie) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.HttpCookie != nil {
- l = m.HttpCookie.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- return n
+// Specify the traffic failover policy across regions. Since zone and sub-zone
+// failover is supported by default this only needs to be specified for
+// regions when the operator needs to constrain traffic failover so that
+// the default behavior of failing over to any endpoint globally does not
+// apply. This is useful when failing over traffic across regions would not
+// improve service health or may need to be restricted for other reasons
+// like regulatory controls.
+type LocalityLoadBalancerSetting_Failover struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Originating region.
+ From string `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"`
+ // Destination region the traffic will fail over to when endpoints in
+ // the 'from' region becomes unhealthy.
+ To string `protobuf:"bytes,2,opt,name=to,proto3" json:"to,omitempty"`
}
-func (m *LoadBalancerSettings_ConsistentHashLB_UseSourceIp) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- n += 2
- return n
-}
-func (m *LoadBalancerSettings_ConsistentHashLB_HttpQueryParameterName) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.HttpQueryParameterName)
- n += 1 + l + sovDestinationRule(uint64(l))
- return n
-}
-func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Name)
- if l > 0 {
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- l = len(m.Path)
- if l > 0 {
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.Ttl != nil {
- l = m.Ttl.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
+
+func (x *LocalityLoadBalancerSetting_Failover) Reset() {
+ *x = LocalityLoadBalancerSetting_Failover{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[17]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- return n
}
-func (m *ConnectionPoolSettings) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Tcp != nil {
- l = m.Tcp.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.Http != nil {
- l = m.Http.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
+func (x *LocalityLoadBalancerSetting_Failover) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *ConnectionPoolSettings_TCPSettings) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.MaxConnections != 0 {
- n += 1 + sovDestinationRule(uint64(m.MaxConnections))
- }
- if m.ConnectTimeout != nil {
- l = m.ConnectTimeout.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.TcpKeepalive != nil {
- l = m.TcpKeepalive.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
+func (*LocalityLoadBalancerSetting_Failover) ProtoMessage() {}
+
+func (x *LocalityLoadBalancerSetting_Failover) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[17]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
}
- return n
+ return mi.MessageOf(x)
}
-func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Probes != 0 {
- n += 1 + sovDestinationRule(uint64(m.Probes))
- }
- if m.Time != nil {
- l = m.Time.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.Interval != nil {
- l = m.Interval.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
+// Deprecated: Use LocalityLoadBalancerSetting_Failover.ProtoReflect.Descriptor instead.
+func (*LocalityLoadBalancerSetting_Failover) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_destination_rule_proto_rawDescGZIP(), []int{7, 1}
}
-func (m *ConnectionPoolSettings_HTTPSettings) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Http1MaxPendingRequests != 0 {
- n += 1 + sovDestinationRule(uint64(m.Http1MaxPendingRequests))
- }
- if m.Http2MaxRequests != 0 {
- n += 1 + sovDestinationRule(uint64(m.Http2MaxRequests))
- }
- if m.MaxRequestsPerConnection != 0 {
- n += 1 + sovDestinationRule(uint64(m.MaxRequestsPerConnection))
- }
- if m.MaxRetries != 0 {
- n += 1 + sovDestinationRule(uint64(m.MaxRetries))
+func (x *LocalityLoadBalancerSetting_Failover) GetFrom() string {
+ if x != nil {
+ return x.From
}
- if m.IdleTimeout != nil {
- l = m.IdleTimeout.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.H2UpgradePolicy != 0 {
- n += 1 + sovDestinationRule(uint64(m.H2UpgradePolicy))
- }
- if m.UseClientProtocol {
- n += 2
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
+ return ""
}
-func (m *OutlierDetection) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.ConsecutiveErrors != 0 {
- n += 1 + sovDestinationRule(uint64(m.ConsecutiveErrors))
- }
- if m.Interval != nil {
- l = m.Interval.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.BaseEjectionTime != nil {
- l = m.BaseEjectionTime.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
+func (x *LocalityLoadBalancerSetting_Failover) GetTo() string {
+ if x != nil {
+ return x.To
}
- if m.MaxEjectionPercent != 0 {
- n += 1 + sovDestinationRule(uint64(m.MaxEjectionPercent))
- }
- if m.MinHealthPercent != 0 {
- n += 1 + sovDestinationRule(uint64(m.MinHealthPercent))
- }
- if m.ConsecutiveGatewayErrors != nil {
- l = m.ConsecutiveGatewayErrors.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.Consecutive_5XxErrors != nil {
- l = m.Consecutive_5XxErrors.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.SplitExternalLocalOriginErrors {
- n += 2
- }
- if m.ConsecutiveLocalOriginFailures != nil {
- l = m.ConsecutiveLocalOriginFailures.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *ClientTLSSettings) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Mode != 0 {
- n += 1 + sovDestinationRule(uint64(m.Mode))
- }
- l = len(m.ClientCertificate)
- if l > 0 {
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- l = len(m.PrivateKey)
- if l > 0 {
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- l = len(m.CaCertificates)
- if l > 0 {
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if len(m.SubjectAltNames) > 0 {
- for _, s := range m.SubjectAltNames {
- l = len(s)
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- }
- l = len(m.Sni)
- if l > 0 {
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- l = len(m.CredentialName)
- if l > 0 {
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.InsecureSkipVerify != nil {
- l = m.InsecureSkipVerify.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *LocalityLoadBalancerSetting) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if len(m.Distribute) > 0 {
- for _, e := range m.Distribute {
- l = e.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- }
- if len(m.Failover) > 0 {
- for _, e := range m.Failover {
- l = e.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- }
- if m.Enabled != nil {
- l = m.Enabled.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if len(m.FailoverPriority) > 0 {
- for _, s := range m.FailoverPriority {
- l = len(s)
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *LocalityLoadBalancerSetting_Distribute) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.From)
- if l > 0 {
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if len(m.To) > 0 {
- for k, v := range m.To {
- _ = k
- _ = v
- mapEntrySize := 1 + len(k) + sovDestinationRule(uint64(len(k))) + 1 + sovDestinationRule(uint64(v))
- n += mapEntrySize + 1 + sovDestinationRule(uint64(mapEntrySize))
- }
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *LocalityLoadBalancerSetting_Failover) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.From)
- if l > 0 {
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- l = len(m.To)
- if l > 0 {
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func sovDestinationRule(x uint64) (n int) {
- return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozDestinationRule(x uint64) (n int) {
- return sovDestinationRule(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (m *DestinationRule) 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 ErrIntOverflowDestinationRule
- }
- 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: DestinationRule: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: DestinationRule: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Host", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- 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 ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Host = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field TrafficPolicy", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.TrafficPolicy == nil {
- m.TrafficPolicy = &TrafficPolicy{}
- }
- if err := m.TrafficPolicy.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Subsets", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Subsets = append(m.Subsets, &Subset{})
- if err := m.Subsets[len(m.Subsets)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ExportTo", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- 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 ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.ExportTo = append(m.ExportTo, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipDestinationRule(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *TrafficPolicy) 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 ErrIntOverflowDestinationRule
- }
- 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: TrafficPolicy: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: TrafficPolicy: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field LoadBalancer", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.LoadBalancer == nil {
- m.LoadBalancer = &LoadBalancerSettings{}
- }
- if err := m.LoadBalancer.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ConnectionPool", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.ConnectionPool == nil {
- m.ConnectionPool = &ConnectionPoolSettings{}
- }
- if err := m.ConnectionPool.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field OutlierDetection", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.OutlierDetection == nil {
- m.OutlierDetection = &OutlierDetection{}
- }
- if err := m.OutlierDetection.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Tls", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Tls == nil {
- m.Tls = &ClientTLSSettings{}
- }
- if err := m.Tls.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field PortLevelSettings", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.PortLevelSettings = append(m.PortLevelSettings, &TrafficPolicy_PortTrafficPolicy{})
- if err := m.PortLevelSettings[len(m.PortLevelSettings)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipDestinationRule(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *TrafficPolicy_PortTrafficPolicy) 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 ErrIntOverflowDestinationRule
- }
- 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: PortTrafficPolicy: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: PortTrafficPolicy: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Port", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Port == nil {
- m.Port = &PortSelector{}
- }
- if err := m.Port.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field LoadBalancer", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.LoadBalancer == nil {
- m.LoadBalancer = &LoadBalancerSettings{}
- }
- if err := m.LoadBalancer.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ConnectionPool", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.ConnectionPool == nil {
- m.ConnectionPool = &ConnectionPoolSettings{}
- }
- if err := m.ConnectionPool.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field OutlierDetection", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.OutlierDetection == nil {
- m.OutlierDetection = &OutlierDetection{}
- }
- if err := m.OutlierDetection.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Tls", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Tls == nil {
- m.Tls = &ClientTLSSettings{}
- }
- if err := m.Tls.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipDestinationRule(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *Subset) 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 ErrIntOverflowDestinationRule
- }
- 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: Subset: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Subset: 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 ErrIntOverflowDestinationRule
- }
- 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 ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- 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 Labels", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Labels == nil {
- m.Labels = make(map[string]string)
- }
- var mapkey string
- var mapvalue string
- for iNdEx < postIndex {
- entryPreIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- if fieldNum == 1 {
- var stringLenmapkey uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapkey |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapkey := int(stringLenmapkey)
- if intStringLenmapkey < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postStringIndexmapkey := iNdEx + intStringLenmapkey
- if postStringIndexmapkey < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postStringIndexmapkey > l {
- return io.ErrUnexpectedEOF
- }
- mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
- iNdEx = postStringIndexmapkey
- } else if fieldNum == 2 {
- var stringLenmapvalue uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapvalue |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapvalue := int(stringLenmapvalue)
- if intStringLenmapvalue < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postStringIndexmapvalue := iNdEx + intStringLenmapvalue
- if postStringIndexmapvalue < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postStringIndexmapvalue > l {
- return io.ErrUnexpectedEOF
- }
- mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue])
- iNdEx = postStringIndexmapvalue
- } else {
- iNdEx = entryPreIndex
- skippy, err := skipDestinationRule(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if (iNdEx + skippy) > postIndex {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- m.Labels[mapkey] = mapvalue
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field TrafficPolicy", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.TrafficPolicy == nil {
- m.TrafficPolicy = &TrafficPolicy{}
- }
- if err := m.TrafficPolicy.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipDestinationRule(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *LoadBalancerSettings) 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 ErrIntOverflowDestinationRule
- }
- 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: LoadBalancerSettings: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: LoadBalancerSettings: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Simple", wireType)
- }
- var v LoadBalancerSettings_SimpleLB
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= LoadBalancerSettings_SimpleLB(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.LbPolicy = &LoadBalancerSettings_Simple{v}
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ConsistentHash", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- v := &LoadBalancerSettings_ConsistentHashLB{}
- if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- m.LbPolicy = &LoadBalancerSettings_ConsistentHash{v}
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field LocalityLbSetting", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.LocalityLbSetting == nil {
- m.LocalityLbSetting = &LocalityLoadBalancerSetting{}
- }
- if err := m.LocalityLbSetting.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipDestinationRule(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *LoadBalancerSettings_ConsistentHashLB) 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 ErrIntOverflowDestinationRule
- }
- 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: ConsistentHashLB: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ConsistentHashLB: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field HttpHeaderName", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- 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 ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.HashKey = &LoadBalancerSettings_ConsistentHashLB_HttpHeaderName{string(dAtA[iNdEx:postIndex])}
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field HttpCookie", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- v := &LoadBalancerSettings_ConsistentHashLB_HTTPCookie{}
- if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- m.HashKey = &LoadBalancerSettings_ConsistentHashLB_HttpCookie{v}
- iNdEx = postIndex
- case 3:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field UseSourceIp", wireType)
- }
- var v int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- b := bool(v != 0)
- m.HashKey = &LoadBalancerSettings_ConsistentHashLB_UseSourceIp{b}
- case 4:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field MinimumRingSize", wireType)
- }
- m.MinimumRingSize = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.MinimumRingSize |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field HttpQueryParameterName", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- 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 ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.HashKey = &LoadBalancerSettings_ConsistentHashLB_HttpQueryParameterName{string(dAtA[iNdEx:postIndex])}
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipDestinationRule(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) 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 ErrIntOverflowDestinationRule
- }
- 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: HTTPCookie: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: HTTPCookie: 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 ErrIntOverflowDestinationRule
- }
- 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 ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- 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 Path", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- 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 ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Path = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Ttl", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Ttl == nil {
- m.Ttl = &types.Duration{}
- }
- if err := m.Ttl.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipDestinationRule(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *ConnectionPoolSettings) 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 ErrIntOverflowDestinationRule
- }
- 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: ConnectionPoolSettings: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ConnectionPoolSettings: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Tcp", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Tcp == nil {
- m.Tcp = &ConnectionPoolSettings_TCPSettings{}
- }
- if err := m.Tcp.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Http", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Http == nil {
- m.Http = &ConnectionPoolSettings_HTTPSettings{}
- }
- if err := m.Http.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipDestinationRule(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *ConnectionPoolSettings_TCPSettings) 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 ErrIntOverflowDestinationRule
- }
- 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: TCPSettings: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: TCPSettings: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field MaxConnections", wireType)
- }
- m.MaxConnections = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.MaxConnections |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ConnectTimeout", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.ConnectTimeout == nil {
- m.ConnectTimeout = &types.Duration{}
- }
- if err := m.ConnectTimeout.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field TcpKeepalive", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.TcpKeepalive == nil {
- m.TcpKeepalive = &ConnectionPoolSettings_TCPSettings_TcpKeepalive{}
- }
- if err := m.TcpKeepalive.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipDestinationRule(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) 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 ErrIntOverflowDestinationRule
- }
- 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: TcpKeepalive: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: TcpKeepalive: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Probes", wireType)
- }
- m.Probes = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Probes |= uint32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Time", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Time == nil {
- m.Time = &types.Duration{}
- }
- if err := m.Time.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Interval", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Interval == nil {
- m.Interval = &types.Duration{}
- }
- if err := m.Interval.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipDestinationRule(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *ConnectionPoolSettings_HTTPSettings) 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 ErrIntOverflowDestinationRule
- }
- 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: HTTPSettings: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: HTTPSettings: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Http1MaxPendingRequests", wireType)
- }
- m.Http1MaxPendingRequests = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Http1MaxPendingRequests |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 2:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Http2MaxRequests", wireType)
- }
- m.Http2MaxRequests = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Http2MaxRequests |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 3:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field MaxRequestsPerConnection", wireType)
- }
- m.MaxRequestsPerConnection = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.MaxRequestsPerConnection |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 4:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field MaxRetries", wireType)
- }
- m.MaxRetries = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.MaxRetries |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field IdleTimeout", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.IdleTimeout == nil {
- m.IdleTimeout = &types.Duration{}
- }
- if err := m.IdleTimeout.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 6:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field H2UpgradePolicy", wireType)
- }
- m.H2UpgradePolicy = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.H2UpgradePolicy |= ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 7:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field UseClientProtocol", wireType)
- }
- var v int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.UseClientProtocol = bool(v != 0)
- default:
- iNdEx = preIndex
- skippy, err := skipDestinationRule(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *OutlierDetection) 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 ErrIntOverflowDestinationRule
- }
- 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: OutlierDetection: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: OutlierDetection: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field ConsecutiveErrors", wireType)
- }
- m.ConsecutiveErrors = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.ConsecutiveErrors |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Interval", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Interval == nil {
- m.Interval = &types.Duration{}
- }
- if err := m.Interval.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field BaseEjectionTime", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.BaseEjectionTime == nil {
- m.BaseEjectionTime = &types.Duration{}
- }
- if err := m.BaseEjectionTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field MaxEjectionPercent", wireType)
- }
- m.MaxEjectionPercent = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.MaxEjectionPercent |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 5:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field MinHealthPercent", wireType)
- }
- m.MinHealthPercent = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.MinHealthPercent |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 6:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ConsecutiveGatewayErrors", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.ConsecutiveGatewayErrors == nil {
- m.ConsecutiveGatewayErrors = &types.UInt32Value{}
- }
- if err := m.ConsecutiveGatewayErrors.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 7:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Consecutive_5XxErrors", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Consecutive_5XxErrors == nil {
- m.Consecutive_5XxErrors = &types.UInt32Value{}
- }
- if err := m.Consecutive_5XxErrors.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 8:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field SplitExternalLocalOriginErrors", wireType)
- }
- var v int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.SplitExternalLocalOriginErrors = bool(v != 0)
- case 9:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ConsecutiveLocalOriginFailures", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.ConsecutiveLocalOriginFailures == nil {
- m.ConsecutiveLocalOriginFailures = &types.UInt32Value{}
- }
- if err := m.ConsecutiveLocalOriginFailures.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipDestinationRule(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *ClientTLSSettings) 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 ErrIntOverflowDestinationRule
- }
- 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: ClientTLSSettings: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ClientTLSSettings: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Mode", wireType)
- }
- m.Mode = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Mode |= ClientTLSSettings_TLSmode(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ClientCertificate", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- 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 ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.ClientCertificate = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field PrivateKey", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- 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 ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.PrivateKey = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field CaCertificates", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- 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 ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.CaCertificates = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field SubjectAltNames", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- 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 ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.SubjectAltNames = append(m.SubjectAltNames, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 6:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Sni", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- 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 ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Sni = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 7:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field CredentialName", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- 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 ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.CredentialName = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 8:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field InsecureSkipVerify", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.InsecureSkipVerify == nil {
- m.InsecureSkipVerify = &types.BoolValue{}
- }
- if err := m.InsecureSkipVerify.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipDestinationRule(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
+ return ""
}
-func (m *LocalityLoadBalancerSetting) 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 ErrIntOverflowDestinationRule
- }
- 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: LocalityLoadBalancerSetting: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: LocalityLoadBalancerSetting: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Distribute", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Distribute = append(m.Distribute, &LocalityLoadBalancerSetting_Distribute{})
- if err := m.Distribute[len(m.Distribute)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Failover", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Failover = append(m.Failover, &LocalityLoadBalancerSetting_Failover{})
- if err := m.Failover[len(m.Failover)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Enabled", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Enabled == nil {
- m.Enabled = &types.BoolValue{}
- }
- if err := m.Enabled.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field FailoverPriority", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- 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 ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.FailoverPriority = append(m.FailoverPriority, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipDestinationRule(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
+var File_networking_v1alpha3_destination_rule_proto protoreflect.FileDescriptor
+
+var file_networking_v1alpha3_destination_rule_proto_rawDesc = []byte{
+ 0x0a, 0x2a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x61,
+ 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x69, 0x73,
+ 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76,
+ 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
+ 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69,
+ 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65,
+ 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
+ 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2f, 0x76, 0x69,
+ 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
+ 0x31, 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xa9, 0x02, 0x0a, 0x0f, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x52, 0x75, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x4f,
+ 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e,
+ 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
+ 0x61, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
+ 0x52, 0x0d, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12,
+ 0x3b, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x21, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
+ 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x53, 0x75, 0x62,
+ 0x73, 0x65, 0x74, 0x52, 0x07, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09,
+ 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x74, 0x6f, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52,
+ 0x08, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x6f, 0x12, 0x51, 0x0a, 0x11, 0x77, 0x6f, 0x72,
+ 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x74, 0x79, 0x70,
+ 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f,
+ 0x61, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x10, 0x77, 0x6f, 0x72, 0x6b,
+ 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0xba, 0x08, 0x0a,
+ 0x0d, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x54,
+ 0x0a, 0x0d, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65,
+ 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
+ 0x33, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x53, 0x65,
+ 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x0c, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61,
+ 0x6e, 0x63, 0x65, 0x72, 0x12, 0x5a, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e,
+ 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67,
+ 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
+ 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73,
+ 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c,
+ 0x12, 0x58, 0x0a, 0x11, 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x65,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x73,
+ 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76,
+ 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44,
+ 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65,
+ 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x03, 0x74, 0x6c,
+ 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e,
+ 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
+ 0x68, 0x61, 0x33, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x4c, 0x53, 0x53, 0x65, 0x74,
+ 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x12, 0x6a, 0x0a, 0x13, 0x70, 0x6f,
+ 0x72, 0x74, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
+ 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e,
+ 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
+ 0x68, 0x61, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x50, 0x6f, 0x6c, 0x69, 0x63,
+ 0x79, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x50, 0x6f, 0x6c,
+ 0x69, 0x63, 0x79, 0x52, 0x11, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x53, 0x65,
+ 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4f, 0x0a, 0x06, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e,
+ 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
+ 0x61, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
+ 0x2e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52,
+ 0x06, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x1a, 0x9c, 0x03, 0x0a, 0x11, 0x50, 0x6f, 0x72, 0x74,
+ 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3b, 0x0a,
+ 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x69, 0x73,
+ 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76,
+ 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x6c, 0x65,
+ 0x63, 0x74, 0x6f, 0x72, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x54, 0x0a, 0x0d, 0x6c, 0x6f,
+ 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x2f, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
+ 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x4c, 0x6f,
+ 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e,
+ 0x67, 0x73, 0x52, 0x0c, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72,
+ 0x12, 0x5a, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70,
+ 0x6f, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x73, 0x74, 0x69,
+ 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61,
+ 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x0e, 0x63, 0x6f,
+ 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x58, 0x0a, 0x11,
+ 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f,
+ 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e,
+ 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
+ 0x68, 0x61, 0x33, 0x2e, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63,
+ 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74,
+ 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77,
+ 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e,
+ 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x4c, 0x53, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
+ 0x73, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x1a, 0x80, 0x01, 0x0a, 0x0e, 0x54, 0x75, 0x6e, 0x6e, 0x65,
+ 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x20, 0x0a, 0x08, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x04, 0xe2, 0x41, 0x01,
+ 0x02, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x25, 0x0a, 0x0b, 0x74,
+ 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+ 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x6f,
+ 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x72,
+ 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x0a, 0x74,
+ 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x22, 0xf5, 0x01, 0x0a, 0x06, 0x53, 0x75,
+ 0x62, 0x73, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x45,
+ 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d,
+ 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e,
+ 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x65,
+ 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c,
+ 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x4f, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63,
+ 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e,
+ 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67,
+ 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69,
+ 0x63, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63,
+ 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
+ 0x01, 0x22, 0xc6, 0x07, 0x0a, 0x14, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63,
+ 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x52, 0x0a, 0x06, 0x73, 0x69,
+ 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x69, 0x73, 0x74,
+ 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31,
+ 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e,
+ 0x63, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x53, 0x69, 0x6d, 0x70,
+ 0x6c, 0x65, 0x4c, 0x42, 0x48, 0x00, 0x52, 0x06, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x6b,
+ 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73,
+ 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e,
+ 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
+ 0x68, 0x61, 0x33, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72,
+ 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74,
+ 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x4c, 0x42, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x6f, 0x6e,
+ 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x66, 0x0a, 0x13, 0x6c,
+ 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6c, 0x62, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69,
+ 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f,
+ 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c,
+ 0x70, 0x68, 0x61, 0x33, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x6f, 0x61,
+ 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
+ 0x52, 0x11, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x62, 0x53, 0x65, 0x74, 0x74,
+ 0x69, 0x6e, 0x67, 0x12, 0x4b, 0x0a, 0x14, 0x77, 0x61, 0x72, 0x6d, 0x75, 0x70, 0x5f, 0x64, 0x75,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x77, 0x61,
+ 0x72, 0x6d, 0x75, 0x70, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x73,
+ 0x1a, 0xb8, 0x03, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x48,
+ 0x61, 0x73, 0x68, 0x4c, 0x42, 0x12, 0x2a, 0x0a, 0x10, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x68, 0x65,
+ 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48,
+ 0x00, 0x52, 0x0e, 0x68, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d,
+ 0x65, 0x12, 0x6e, 0x0a, 0x0b, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e,
+ 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
+ 0x61, 0x33, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x53,
+ 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65,
+ 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x4c, 0x42, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x43, 0x6f, 0x6f,
+ 0x6b, 0x69, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x68, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6f, 0x6b, 0x69,
+ 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f,
+ 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x53,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x70, 0x12, 0x3b, 0x0a, 0x19, 0x68, 0x74, 0x74, 0x70, 0x5f,
+ 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f,
+ 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x16, 0x68, 0x74,
+ 0x74, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72,
+ 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f,
+ 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52,
+ 0x0f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x52, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x7a, 0x65,
+ 0x1a, 0x6d, 0x0a, 0x0a, 0x48, 0x54, 0x54, 0x50, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x18,
+ 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x04, 0xe2, 0x41,
+ 0x01, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x31, 0x0a, 0x03,
+ 0x74, 0x74, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x42,
+ 0x0a, 0x0a, 0x08, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x22, 0x70, 0x0a, 0x08, 0x53,
+ 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x4c, 0x42, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45,
+ 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0a, 0x4c, 0x45, 0x41, 0x53,
+ 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x10, 0x01, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0a, 0x0a, 0x06,
+ 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x41, 0x53, 0x53,
+ 0x54, 0x48, 0x52, 0x4f, 0x55, 0x47, 0x48, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x4f, 0x55,
+ 0x4e, 0x44, 0x5f, 0x52, 0x4f, 0x42, 0x49, 0x4e, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x45,
+ 0x41, 0x53, 0x54, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x05, 0x42, 0x0b, 0x0a,
+ 0x09, 0x6c, 0x62, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xc1, 0x08, 0x0a, 0x16, 0x43,
+ 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x65, 0x74,
+ 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4f, 0x0a, 0x03, 0x74, 0x63, 0x70, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f,
+ 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x43,
+ 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x65, 0x74,
+ 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x54, 0x43, 0x50, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
+ 0x73, 0x52, 0x03, 0x74, 0x63, 0x70, 0x12, 0x52, 0x0a, 0x04, 0x68, 0x74, 0x74, 0x70, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74,
+ 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33,
+ 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x53,
+ 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x53, 0x65, 0x74, 0x74,
+ 0x69, 0x6e, 0x67, 0x73, 0x52, 0x04, 0x68, 0x74, 0x74, 0x70, 0x1a, 0xfa, 0x02, 0x0a, 0x0b, 0x54,
+ 0x43, 0x50, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61,
+ 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x73, 0x12, 0x42, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x74,
+ 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44,
+ 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
+ 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x6f, 0x0a, 0x0d, 0x74, 0x63, 0x70, 0x5f, 0x6b,
+ 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a,
+ 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e,
+ 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
+ 0x73, 0x2e, 0x54, 0x43, 0x50, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x54, 0x63,
+ 0x70, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x52, 0x0c, 0x74, 0x63, 0x70, 0x4b,
+ 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x1a, 0x8c, 0x01, 0x0a, 0x0c, 0x54, 0x63, 0x70,
+ 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x6f,
+ 0x62, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x72, 0x6f, 0x62, 0x65,
+ 0x73, 0x12, 0x2d, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65,
+ 0x12, 0x35, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x69,
+ 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x1a, 0x84, 0x04, 0x0a, 0x0c, 0x48, 0x54, 0x54, 0x50,
+ 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x68, 0x74, 0x74, 0x70,
+ 0x31, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x17, 0x68, 0x74,
+ 0x74, 0x70, 0x31, 0x4d, 0x61, 0x78, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x68, 0x74, 0x74, 0x70, 0x32, 0x5f, 0x6d,
+ 0x61, 0x78, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x10, 0x68, 0x74, 0x74, 0x70, 0x32, 0x4d, 0x61, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x73, 0x12, 0x3d, 0x0a, 0x1b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x18, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x73, 0x50, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65,
+ 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x74, 0x72,
+ 0x69, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65,
+ 0x6f, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x69, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75,
+ 0x74, 0x12, 0x7a, 0x0a, 0x11, 0x68, 0x32, 0x5f, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x5f,
+ 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4e, 0x2e, 0x69,
+ 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e,
+ 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e,
+ 0x48, 0x54, 0x54, 0x50, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x48, 0x32, 0x55,
+ 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0f, 0x68, 0x32,
+ 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2e, 0x0a,
+ 0x13, 0x75, 0x73, 0x65, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x75, 0x73, 0x65, 0x43,
+ 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x22, 0x3f, 0x0a,
+ 0x0f, 0x48, 0x32, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
+ 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x12, 0x0a,
+ 0x0e, 0x44, 0x4f, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x55, 0x50, 0x47, 0x52, 0x41, 0x44, 0x45, 0x10,
+ 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x50, 0x47, 0x52, 0x41, 0x44, 0x45, 0x10, 0x02, 0x22, 0x8a,
+ 0x05, 0x0a, 0x10, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69,
+ 0x76, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42,
+ 0x02, 0x18, 0x01, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65,
+ 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x4a, 0x0a, 0x22, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x5f,
+ 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6f,
+ 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x1e, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61,
+ 0x6c, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x45, 0x72, 0x72, 0x6f,
+ 0x72, 0x73, 0x12, 0x67, 0x0a, 0x21, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76,
+ 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x66,
+ 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1e, 0x63, 0x6f, 0x6e,
+ 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4f, 0x72, 0x69,
+ 0x67, 0x69, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x12, 0x5a, 0x0a, 0x1a, 0x63,
+ 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77,
+ 0x61, 0x79, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x18, 0x63,
+ 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61,
+ 0x79, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x52, 0x0a, 0x16, 0x63, 0x6f, 0x6e, 0x73, 0x65,
+ 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x35, 0x78, 0x78, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72,
+ 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32,
+ 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69,
+ 0x76, 0x65, 0x35, 0x78, 0x78, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x69,
+ 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76,
+ 0x61, 0x6c, 0x12, 0x47, 0x0a, 0x12, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x65, 0x6a, 0x65, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x62, 0x61, 0x73, 0x65, 0x45,
+ 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x6d,
+ 0x61, 0x78, 0x5f, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x63,
+ 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x45, 0x6a,
+ 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x2c, 0x0a,
+ 0x12, 0x6d, 0x69, 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x70, 0x65, 0x72, 0x63,
+ 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x48, 0x65,
+ 0x61, 0x6c, 0x74, 0x68, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x22, 0xd3, 0x03, 0x0a, 0x11,
+ 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x4c, 0x53, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
+ 0x73, 0x12, 0x4e, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
+ 0x34, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69,
+ 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x43, 0x6c, 0x69, 0x65,
+ 0x6e, 0x74, 0x54, 0x4c, 0x53, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x54, 0x4c,
+ 0x53, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x04, 0x6d, 0x6f, 0x64,
+ 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74,
+ 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63,
+ 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65,
+ 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x61, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63,
+ 0x61, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x61, 0x43, 0x65,
+ 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x72,
+ 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4e,
+ 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61,
+ 0x6c, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f,
+ 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12,
+ 0x10, 0x0a, 0x03, 0x73, 0x6e, 0x69, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x6e,
+ 0x69, 0x12, 0x4c, 0x0a, 0x14, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x6b,
+ 0x69, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x69, 0x6e, 0x73,
+ 0x65, 0x63, 0x75, 0x72, 0x65, 0x53, 0x6b, 0x69, 0x70, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x22,
+ 0x40, 0x0a, 0x07, 0x54, 0x4c, 0x53, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x49,
+ 0x53, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x49, 0x4d, 0x50, 0x4c,
+ 0x45, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x55, 0x54, 0x55, 0x41, 0x4c, 0x10, 0x02, 0x12,
+ 0x10, 0x0a, 0x0c, 0x49, 0x53, 0x54, 0x49, 0x4f, 0x5f, 0x4d, 0x55, 0x54, 0x55, 0x41, 0x4c, 0x10,
+ 0x03, 0x22, 0xa5, 0x04, 0x0a, 0x1b, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x6f,
+ 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e,
+ 0x67, 0x12, 0x61, 0x0a, 0x0a, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18,
+ 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65,
+ 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
+ 0x33, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61,
+ 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x44, 0x69,
+ 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69,
+ 0x62, 0x75, 0x74, 0x65, 0x12, 0x5b, 0x0a, 0x08, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72,
+ 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e,
+ 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
+ 0x61, 0x33, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x6f, 0x61, 0x64, 0x42,
+ 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x46,
+ 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x08, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65,
+ 0x72, 0x12, 0x2b, 0x0a, 0x11, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x72,
+ 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x66, 0x61,
+ 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x34,
+ 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x65, 0x6e, 0x61,
+ 0x62, 0x6c, 0x65, 0x64, 0x1a, 0xb2, 0x01, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62,
+ 0x75, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x59, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x02, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77,
+ 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e,
+ 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61,
+ 0x6e, 0x63, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x44, 0x69, 0x73, 0x74,
+ 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x54, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x02,
+ 0x74, 0x6f, 0x1a, 0x35, 0x0a, 0x07, 0x54, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
+ 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
+ 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x2e, 0x0a, 0x08, 0x46, 0x61, 0x69,
+ 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x6f, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x74, 0x6f, 0x42, 0x22, 0x5a, 0x20, 0x69, 0x73, 0x74,
+ 0x69, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
+ 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
-func (m *LocalityLoadBalancerSetting_Distribute) 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 ErrIntOverflowDestinationRule
- }
- 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: Distribute: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Distribute: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field From", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- 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 ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.From = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field To", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.To == nil {
- m.To = make(map[string]uint32)
- }
- var mapkey string
- var mapvalue uint32
- for iNdEx < postIndex {
- entryPreIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- if fieldNum == 1 {
- var stringLenmapkey uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapkey |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapkey := int(stringLenmapkey)
- if intStringLenmapkey < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postStringIndexmapkey := iNdEx + intStringLenmapkey
- if postStringIndexmapkey < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postStringIndexmapkey > l {
- return io.ErrUnexpectedEOF
- }
- mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
- iNdEx = postStringIndexmapkey
- } else if fieldNum == 2 {
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- mapvalue |= uint32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- } else {
- iNdEx = entryPreIndex
- skippy, err := skipDestinationRule(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if (iNdEx + skippy) > postIndex {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- m.To[mapkey] = mapvalue
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipDestinationRule(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *LocalityLoadBalancerSetting_Failover) 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 ErrIntOverflowDestinationRule
- }
- 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: Failover: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Failover: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field From", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- 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 ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.From = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field To", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- 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 ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.To = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipDestinationRule(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
+var (
+ file_networking_v1alpha3_destination_rule_proto_rawDescOnce sync.Once
+ file_networking_v1alpha3_destination_rule_proto_rawDescData = file_networking_v1alpha3_destination_rule_proto_rawDesc
+)
- if iNdEx > l {
- return io.ErrUnexpectedEOF
+func file_networking_v1alpha3_destination_rule_proto_rawDescGZIP() []byte {
+ file_networking_v1alpha3_destination_rule_proto_rawDescOnce.Do(func() {
+ file_networking_v1alpha3_destination_rule_proto_rawDescData = protoimpl.X.CompressGZIP(file_networking_v1alpha3_destination_rule_proto_rawDescData)
+ })
+ return file_networking_v1alpha3_destination_rule_proto_rawDescData
+}
+
+var file_networking_v1alpha3_destination_rule_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
+var file_networking_v1alpha3_destination_rule_proto_msgTypes = make([]protoimpl.MessageInfo, 19)
+var file_networking_v1alpha3_destination_rule_proto_goTypes = []interface{}{
+ (LoadBalancerSettings_SimpleLB)(0), // 0: istio.networking.v1alpha3.LoadBalancerSettings.SimpleLB
+ (ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy)(0), // 1: istio.networking.v1alpha3.ConnectionPoolSettings.HTTPSettings.H2UpgradePolicy
+ (ClientTLSSettings_TLSmode)(0), // 2: istio.networking.v1alpha3.ClientTLSSettings.TLSmode
+ (*DestinationRule)(nil), // 3: istio.networking.v1alpha3.DestinationRule
+ (*TrafficPolicy)(nil), // 4: istio.networking.v1alpha3.TrafficPolicy
+ (*Subset)(nil), // 5: istio.networking.v1alpha3.Subset
+ (*LoadBalancerSettings)(nil), // 6: istio.networking.v1alpha3.LoadBalancerSettings
+ (*ConnectionPoolSettings)(nil), // 7: istio.networking.v1alpha3.ConnectionPoolSettings
+ (*OutlierDetection)(nil), // 8: istio.networking.v1alpha3.OutlierDetection
+ (*ClientTLSSettings)(nil), // 9: istio.networking.v1alpha3.ClientTLSSettings
+ (*LocalityLoadBalancerSetting)(nil), // 10: istio.networking.v1alpha3.LocalityLoadBalancerSetting
+ (*TrafficPolicy_PortTrafficPolicy)(nil), // 11: istio.networking.v1alpha3.TrafficPolicy.PortTrafficPolicy
+ (*TrafficPolicy_TunnelSettings)(nil), // 12: istio.networking.v1alpha3.TrafficPolicy.TunnelSettings
+ nil, // 13: istio.networking.v1alpha3.Subset.LabelsEntry
+ (*LoadBalancerSettings_ConsistentHashLB)(nil), // 14: istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB
+ (*LoadBalancerSettings_ConsistentHashLB_HTTPCookie)(nil), // 15: istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.HTTPCookie
+ (*ConnectionPoolSettings_TCPSettings)(nil), // 16: istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings
+ (*ConnectionPoolSettings_HTTPSettings)(nil), // 17: istio.networking.v1alpha3.ConnectionPoolSettings.HTTPSettings
+ (*ConnectionPoolSettings_TCPSettings_TcpKeepalive)(nil), // 18: istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive
+ (*LocalityLoadBalancerSetting_Distribute)(nil), // 19: istio.networking.v1alpha3.LocalityLoadBalancerSetting.Distribute
+ (*LocalityLoadBalancerSetting_Failover)(nil), // 20: istio.networking.v1alpha3.LocalityLoadBalancerSetting.Failover
+ nil, // 21: istio.networking.v1alpha3.LocalityLoadBalancerSetting.Distribute.ToEntry
+ (*v1beta1.WorkloadSelector)(nil), // 22: istio.type.v1beta1.WorkloadSelector
+ (*duration.Duration)(nil), // 23: google.protobuf.Duration
+ (*wrappers.UInt32Value)(nil), // 24: google.protobuf.UInt32Value
+ (*wrappers.BoolValue)(nil), // 25: google.protobuf.BoolValue
+ (*PortSelector)(nil), // 26: istio.networking.v1alpha3.PortSelector
+}
+var file_networking_v1alpha3_destination_rule_proto_depIdxs = []int32{
+ 4, // 0: istio.networking.v1alpha3.DestinationRule.traffic_policy:type_name -> istio.networking.v1alpha3.TrafficPolicy
+ 5, // 1: istio.networking.v1alpha3.DestinationRule.subsets:type_name -> istio.networking.v1alpha3.Subset
+ 22, // 2: istio.networking.v1alpha3.DestinationRule.workload_selector:type_name -> istio.type.v1beta1.WorkloadSelector
+ 6, // 3: istio.networking.v1alpha3.TrafficPolicy.load_balancer:type_name -> istio.networking.v1alpha3.LoadBalancerSettings
+ 7, // 4: istio.networking.v1alpha3.TrafficPolicy.connection_pool:type_name -> istio.networking.v1alpha3.ConnectionPoolSettings
+ 8, // 5: istio.networking.v1alpha3.TrafficPolicy.outlier_detection:type_name -> istio.networking.v1alpha3.OutlierDetection
+ 9, // 6: istio.networking.v1alpha3.TrafficPolicy.tls:type_name -> istio.networking.v1alpha3.ClientTLSSettings
+ 11, // 7: istio.networking.v1alpha3.TrafficPolicy.port_level_settings:type_name -> istio.networking.v1alpha3.TrafficPolicy.PortTrafficPolicy
+ 12, // 8: istio.networking.v1alpha3.TrafficPolicy.tunnel:type_name -> istio.networking.v1alpha3.TrafficPolicy.TunnelSettings
+ 13, // 9: istio.networking.v1alpha3.Subset.labels:type_name -> istio.networking.v1alpha3.Subset.LabelsEntry
+ 4, // 10: istio.networking.v1alpha3.Subset.traffic_policy:type_name -> istio.networking.v1alpha3.TrafficPolicy
+ 0, // 11: istio.networking.v1alpha3.LoadBalancerSettings.simple:type_name -> istio.networking.v1alpha3.LoadBalancerSettings.SimpleLB
+ 14, // 12: istio.networking.v1alpha3.LoadBalancerSettings.consistent_hash:type_name -> istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB
+ 10, // 13: istio.networking.v1alpha3.LoadBalancerSettings.locality_lb_setting:type_name -> istio.networking.v1alpha3.LocalityLoadBalancerSetting
+ 23, // 14: istio.networking.v1alpha3.LoadBalancerSettings.warmup_duration_secs:type_name -> google.protobuf.Duration
+ 16, // 15: istio.networking.v1alpha3.ConnectionPoolSettings.tcp:type_name -> istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings
+ 17, // 16: istio.networking.v1alpha3.ConnectionPoolSettings.http:type_name -> istio.networking.v1alpha3.ConnectionPoolSettings.HTTPSettings
+ 24, // 17: istio.networking.v1alpha3.OutlierDetection.consecutive_local_origin_failures:type_name -> google.protobuf.UInt32Value
+ 24, // 18: istio.networking.v1alpha3.OutlierDetection.consecutive_gateway_errors:type_name -> google.protobuf.UInt32Value
+ 24, // 19: istio.networking.v1alpha3.OutlierDetection.consecutive_5xx_errors:type_name -> google.protobuf.UInt32Value
+ 23, // 20: istio.networking.v1alpha3.OutlierDetection.interval:type_name -> google.protobuf.Duration
+ 23, // 21: istio.networking.v1alpha3.OutlierDetection.base_ejection_time:type_name -> google.protobuf.Duration
+ 2, // 22: istio.networking.v1alpha3.ClientTLSSettings.mode:type_name -> istio.networking.v1alpha3.ClientTLSSettings.TLSmode
+ 25, // 23: istio.networking.v1alpha3.ClientTLSSettings.insecure_skip_verify:type_name -> google.protobuf.BoolValue
+ 19, // 24: istio.networking.v1alpha3.LocalityLoadBalancerSetting.distribute:type_name -> istio.networking.v1alpha3.LocalityLoadBalancerSetting.Distribute
+ 20, // 25: istio.networking.v1alpha3.LocalityLoadBalancerSetting.failover:type_name -> istio.networking.v1alpha3.LocalityLoadBalancerSetting.Failover
+ 25, // 26: istio.networking.v1alpha3.LocalityLoadBalancerSetting.enabled:type_name -> google.protobuf.BoolValue
+ 26, // 27: istio.networking.v1alpha3.TrafficPolicy.PortTrafficPolicy.port:type_name -> istio.networking.v1alpha3.PortSelector
+ 6, // 28: istio.networking.v1alpha3.TrafficPolicy.PortTrafficPolicy.load_balancer:type_name -> istio.networking.v1alpha3.LoadBalancerSettings
+ 7, // 29: istio.networking.v1alpha3.TrafficPolicy.PortTrafficPolicy.connection_pool:type_name -> istio.networking.v1alpha3.ConnectionPoolSettings
+ 8, // 30: istio.networking.v1alpha3.TrafficPolicy.PortTrafficPolicy.outlier_detection:type_name -> istio.networking.v1alpha3.OutlierDetection
+ 9, // 31: istio.networking.v1alpha3.TrafficPolicy.PortTrafficPolicy.tls:type_name -> istio.networking.v1alpha3.ClientTLSSettings
+ 15, // 32: istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.http_cookie:type_name -> istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.HTTPCookie
+ 23, // 33: istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.HTTPCookie.ttl:type_name -> google.protobuf.Duration
+ 23, // 34: istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.connect_timeout:type_name -> google.protobuf.Duration
+ 18, // 35: istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.tcp_keepalive:type_name -> istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive
+ 23, // 36: istio.networking.v1alpha3.ConnectionPoolSettings.HTTPSettings.idle_timeout:type_name -> google.protobuf.Duration
+ 1, // 37: istio.networking.v1alpha3.ConnectionPoolSettings.HTTPSettings.h2_upgrade_policy:type_name -> istio.networking.v1alpha3.ConnectionPoolSettings.HTTPSettings.H2UpgradePolicy
+ 23, // 38: istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive.time:type_name -> google.protobuf.Duration
+ 23, // 39: istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive.interval:type_name -> google.protobuf.Duration
+ 21, // 40: istio.networking.v1alpha3.LocalityLoadBalancerSetting.Distribute.to:type_name -> istio.networking.v1alpha3.LocalityLoadBalancerSetting.Distribute.ToEntry
+ 41, // [41:41] is the sub-list for method output_type
+ 41, // [41:41] is the sub-list for method input_type
+ 41, // [41:41] is the sub-list for extension type_name
+ 41, // [41:41] is the sub-list for extension extendee
+ 0, // [0:41] is the sub-list for field type_name
+}
+
+func init() { file_networking_v1alpha3_destination_rule_proto_init() }
+func file_networking_v1alpha3_destination_rule_proto_init() {
+ if File_networking_v1alpha3_destination_rule_proto != nil {
+ return
+ }
+ file_networking_v1alpha3_virtual_service_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_networking_v1alpha3_destination_rule_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DestinationRule); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_destination_rule_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TrafficPolicy); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_destination_rule_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Subset); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_destination_rule_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LoadBalancerSettings); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_destination_rule_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ConnectionPoolSettings); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_destination_rule_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*OutlierDetection); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_destination_rule_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClientTLSSettings); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_destination_rule_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LocalityLoadBalancerSetting); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_destination_rule_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TrafficPolicy_PortTrafficPolicy); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_destination_rule_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TrafficPolicy_TunnelSettings); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_destination_rule_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LoadBalancerSettings_ConsistentHashLB); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_destination_rule_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LoadBalancerSettings_ConsistentHashLB_HTTPCookie); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_destination_rule_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ConnectionPoolSettings_TCPSettings); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_destination_rule_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ConnectionPoolSettings_HTTPSettings); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_destination_rule_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ConnectionPoolSettings_TCPSettings_TcpKeepalive); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_destination_rule_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LocalityLoadBalancerSetting_Distribute); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_destination_rule_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LocalityLoadBalancerSetting_Failover); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_networking_v1alpha3_destination_rule_proto_msgTypes[3].OneofWrappers = []interface{}{
+ (*LoadBalancerSettings_Simple)(nil),
+ (*LoadBalancerSettings_ConsistentHash)(nil),
}
- return nil
-}
-func skipDestinationRule(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowDestinationRule
- }
- 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, ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLengthDestinationRule
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroupDestinationRule
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLengthDestinationRule
- }
- if depth == 0 {
- return iNdEx, nil
- }
+ file_networking_v1alpha3_destination_rule_proto_msgTypes[11].OneofWrappers = []interface{}{
+ (*LoadBalancerSettings_ConsistentHashLB_HttpHeaderName)(nil),
+ (*LoadBalancerSettings_ConsistentHashLB_HttpCookie)(nil),
+ (*LoadBalancerSettings_ConsistentHashLB_UseSourceIp)(nil),
+ (*LoadBalancerSettings_ConsistentHashLB_HttpQueryParameterName)(nil),
}
- return 0, io.ErrUnexpectedEOF
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_networking_v1alpha3_destination_rule_proto_rawDesc,
+ NumEnums: 3,
+ NumMessages: 19,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_networking_v1alpha3_destination_rule_proto_goTypes,
+ DependencyIndexes: file_networking_v1alpha3_destination_rule_proto_depIdxs,
+ EnumInfos: file_networking_v1alpha3_destination_rule_proto_enumTypes,
+ MessageInfos: file_networking_v1alpha3_destination_rule_proto_msgTypes,
+ }.Build()
+ File_networking_v1alpha3_destination_rule_proto = out.File
+ file_networking_v1alpha3_destination_rule_proto_rawDesc = nil
+ file_networking_v1alpha3_destination_rule_proto_goTypes = nil
+ file_networking_v1alpha3_destination_rule_proto_depIdxs = nil
}
-
-var (
- ErrInvalidLengthDestinationRule = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflowDestinationRule = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroupDestinationRule = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/vendor/istio.io/api/networking/v1alpha3/destination_rule.proto b/vendor/istio.io/api/networking/v1alpha3/destination_rule.proto
index 57e72c321..d38029e8b 100644
--- a/vendor/istio.io/api/networking/v1alpha3/destination_rule.proto
+++ b/vendor/istio.io/api/networking/v1alpha3/destination_rule.proto
@@ -17,7 +17,7 @@ import "google/api/field_behavior.proto";
import "google/protobuf/duration.proto";
import "google/protobuf/wrappers.proto";
import "networking/v1alpha3/virtual_service.proto";
-import "gogoproto/gogo.proto";
+import "type/v1beta1/selector.proto";
// $schema: istio.networking.v1alpha3.DestinationRule
// $title: Destination Rule
@@ -43,7 +43,7 @@ import "gogoproto/gogo.proto";
// host: ratings.prod.svc.cluster.local
// trafficPolicy:
// loadBalancer:
-// simple: LEAST_CONN
+// simple: LEAST_REQUEST
// ```
// {{}}
//
@@ -57,7 +57,7 @@ import "gogoproto/gogo.proto";
// host: ratings.prod.svc.cluster.local
// trafficPolicy:
// loadBalancer:
-// simple: LEAST_CONN
+// simple: LEAST_REQUEST
// ```
// {{}}
// {{}}
@@ -79,7 +79,7 @@ import "gogoproto/gogo.proto";
// host: ratings.prod.svc.cluster.local
// trafficPolicy:
// loadBalancer:
-// simple: LEAST_CONN
+// simple: LEAST_REQUEST
// subsets:
// - name: testversion
// labels:
@@ -100,7 +100,7 @@ import "gogoproto/gogo.proto";
// host: ratings.prod.svc.cluster.local
// trafficPolicy:
// loadBalancer:
-// simple: LEAST_CONN
+// simple: LEAST_REQUEST
// subsets:
// - name: testversion
// labels:
@@ -134,7 +134,7 @@ import "gogoproto/gogo.proto";
// - port:
// number: 80
// loadBalancer:
-// simple: LEAST_CONN
+// simple: LEAST_REQUEST
// - port:
// number: 9080
// loadBalancer:
@@ -155,13 +155,61 @@ import "gogoproto/gogo.proto";
// - port:
// number: 80
// loadBalancer:
-// simple: LEAST_CONN
+// simple: LEAST_REQUEST
// - port:
// number: 9080
// loadBalancer:
// simple: ROUND_ROBIN
// ```
// {{}}
+//
+// Destination Rules can be customized to specific workloads as well.
+// The following example shows how a destination rule can be applied to a
+// specific workload using the workloadSelector configuration.
+//
+// {{}}
+// {{}}
+// ```yaml
+// apiVersion: networking.istio.io/v1alpha3
+// kind: DestinationRule
+// metadata:
+// name: configure-client-mtls-dr-with-workloadselector
+// spec:
+// workloadSelector:
+// matchLabels:
+// app: ratings
+// trafficPolicy:
+// loadBalancer:
+// simple: ROUND_ROBIN
+// portLevelSettings:
+// - port:
+// number: 31443
+// tls:
+// credentialName: client-credential
+// mode: MUTUAL
+// ```
+// {{}}
+// {{}}
+// ```yaml
+// apiVersion: networking.istio.io/v1beta1
+// kind: DestinationRule
+// metadata:
+// name: configure-client-mtls-dr-with-workloadselector
+// spec:
+// workloadSelector:
+// matchLabels:
+// app: ratings
+// trafficPolicy:
+// loadBalancer:
+// simple: ROUND_ROBIN
+// portLevelSettings:
+// - port:
+// number: 31443
+// tls:
+// credentialName: client-credential
+// mode: MUTUAL
+// ```
+// {{}}
// {{}}
//
package istio.networking.v1alpha3;
@@ -239,6 +287,16 @@ message DestinationRule {
// the destination rule is declared in. Similarly, the value "*" is reserved and
// defines an export to all namespaces.
repeated string export_to = 4;
+ //
+ // Criteria used to select the specific set of pods/VMs on which this
+ // `DestinationRule` configuration should be applied. If specified, the `DestinationRule`
+ // configuration will be applied only to the workload instances matching the workload selector
+ // label in the same namespace. Workload selectors do not apply across namespace boundaries.
+ // If omitted, the `DestinationRule` falls back to its default behavior.
+ // For example, if specific sidecars need to have egress TLS settings for services outside
+ // of the mesh, instead of every sidecar in the mesh needing to have the
+ // configuration (which is the default behaviour), a workload selector can be specified.
+ istio.type.v1beta1.WorkloadSelector workload_selector = 5;
}
// Traffic policies to apply for a specific destination, across all
@@ -282,6 +340,27 @@ message TrafficPolicy {
// overridden by port-level settings, i.e. default values will be applied
// to fields omitted in port-level traffic policies.
repeated PortTrafficPolicy port_level_settings = 5;
+
+ message TunnelSettings {
+ // Specifies which protocol to use for tunneling the downstream connection.
+ // Supported protocols are:
+ // connect - uses HTTP CONNECT;
+ // post - uses HTTP POST.
+ // HTTP version for upstream requests is determined by the service protocol defined for the proxy.
+ string protocol = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Specifies a host to which the downstream connection is tunneled.
+ // Target host must be an FQDN or IP address.
+ string target_host = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Specifies a port to which the downstream connection is tunneled.
+ uint32 target_port = 3 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // Configuration of tunneling TCP over other transport or application layers
+ // for the host configured in the DestinationRule.
+ // Tunnel settings can be applied to TCP or TLS routes and can't be applied to HTTP routes.
+ TunnelSettings tunnel = 6;
}
// A subset of endpoints of a service. Subsets can be used for scenarios
@@ -304,7 +383,7 @@ message TrafficPolicy {
// host: ratings.prod.svc.cluster.local
// trafficPolicy:
// loadBalancer:
-// simple: LEAST_CONN
+// simple: LEAST_REQUEST
// subsets:
// - name: testversion
// labels:
@@ -325,7 +404,7 @@ message TrafficPolicy {
// host: ratings.prod.svc.cluster.local
// trafficPolicy:
// loadBalancer:
-// simple: LEAST_CONN
+// simple: LEAST_REQUEST
// subsets:
// - name: testversion
// labels:
@@ -442,13 +521,12 @@ message Subset {
message LoadBalancerSettings {
// Standard load balancing algorithms that require no tuning.
enum SimpleLB {
- // Round Robin policy. Default
- ROUND_ROBIN = 0;
+ // No load balancing algorithm has been specified by the user. Istio
+ // will select an appropriate default.
+ UNSPECIFIED = 0;
- // The least request load balancer uses an O(1) algorithm which selects
- // two random healthy hosts and picks the host which has fewer active
- // requests.
- LEAST_CONN = 1;
+ // Deprecated. Use LEAST_REQUEST instead.
+ LEAST_CONN = 1 [deprecated=true];
// The random load balancer selects a random healthy host. The random
// load balancer generally performs better than round robin if no health
@@ -461,6 +539,18 @@ message LoadBalancerSettings {
// advanced use cases. Refer to Original Destination load balancer in
// Envoy for further details.
PASSTHROUGH = 3;
+
+ // A basic round robin load balancing policy. This is generally unsafe
+ // for many scenarios (e.g. when enpoint weighting is used) as it can
+ // overburden endpoints. In general, prefer to use LEAST_REQUEST as a
+ // drop-in replacement for ROUND_ROBIN.
+ ROUND_ROBIN = 4;
+
+ // The least request load balancer spreads load across endpoints, favoring
+ // endpoints with the least outstanding requests. This is generally safer
+ // and outperforms ROUND_ROBIN in nearly all cases. Prefer to use
+ // LEAST_REQUEST as a drop-in replacement for ROUND_ROBIN.
+ LEAST_REQUEST = 5;
};
// Consistent Hash-based load balancing can be used to provide soft
@@ -518,6 +608,13 @@ message LoadBalancerSettings {
// Locality load balancer settings, this will override mesh wide settings in entirety, meaning no merging would be performed
// between this object and the object one in MeshConfig
LocalityLoadBalancerSetting locality_lb_setting = 3;
+
+ // Represents the warmup duration of Service. If set, the newly created endpoint of service
+ // remains in warmup mode starting from its creation time for the duration of this window and
+ // Istio progressively increases amount of traffic for that endpoint instead of sending proportional amount of traffic.
+ // This should be enabled for services that require warm up time to serve full production load with reasonable latency.
+ // Currently this is only supported for ROUND_ROBIN and LEAST_CONN load balancers.
+ google.protobuf.Duration warmup_duration_secs = 4;
}
// Connection pool settings for an upstream host. The settings apply to
@@ -955,8 +1052,10 @@ message ClientTLSSettings {
// Only one of client certificates and CA certificate
// or credentialName can be specified.
//
- // **NOTE:** This field is currently applicable only at gateways.
- // Sidecars will continue to use the certificate paths.
+ // **NOTE:** This field is applicable at sidecars only if
+ // `DestinationRule` has a `workloadSelector` specified.
+ // Otherwise the field will be applicable only at gateways, and
+ // sidecars will continue to use the certificate paths.
string credential_name = 7;
// A list of alternate names to verify the subject identity in the
@@ -967,6 +1066,9 @@ message ClientTLSSettings {
repeated string subject_alt_names = 5;
// SNI string to present to the server during TLS handshake.
+ // If unspecified, SNI will be automatically set based on downstream HTTP
+ // host/authority header for SIMPLE and MUTUAL TLS modes, provided `ENABLE_AUTO_SNI`
+ // environmental variable is set to `true`.
string sni = 6;
// InsecureSkipVerify specifies whether the proxy should skip verifying the
diff --git a/vendor/istio.io/api/networking/v1alpha3/destination_rule_deepcopy.gen.go b/vendor/istio.io/api/networking/v1alpha3/destination_rule_deepcopy.gen.go
index f3fa5ccdf..c61c9f48a 100644
--- a/vendor/istio.io/api/networking/v1alpha3/destination_rule_deepcopy.gen.go
+++ b/vendor/istio.io/api/networking/v1alpha3/destination_rule_deepcopy.gen.go
@@ -1,162 +1,10 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: networking/v1alpha3/destination_rule.proto
-
-// `DestinationRule` defines policies that apply to traffic intended for a
-// service after routing has occurred. These rules specify configuration
-// for load balancing, connection pool size from the sidecar, and outlier
-// detection settings to detect and evict unhealthy hosts from the load
-// balancing pool. For example, a simple load balancing policy for the
-// ratings service would look as follows:
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: DestinationRule
-// metadata:
-// name: bookinfo-ratings
-// spec:
-// host: ratings.prod.svc.cluster.local
-// trafficPolicy:
-// loadBalancer:
-// simple: LEAST_CONN
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: DestinationRule
-// metadata:
-// name: bookinfo-ratings
-// spec:
-// host: ratings.prod.svc.cluster.local
-// trafficPolicy:
-// loadBalancer:
-// simple: LEAST_CONN
-// ```
-// {{}}
-// {{}}
-//
-// Version specific policies can be specified by defining a named
-// `subset` and overriding the settings specified at the service level. The
-// following rule uses a round robin load balancing policy for all traffic
-// going to a subset named testversion that is composed of endpoints (e.g.,
-// pods) with labels (version:v3).
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: DestinationRule
-// metadata:
-// name: bookinfo-ratings
-// spec:
-// host: ratings.prod.svc.cluster.local
-// trafficPolicy:
-// loadBalancer:
-// simple: LEAST_CONN
-// subsets:
-// - name: testversion
-// labels:
-// version: v3
-// trafficPolicy:
-// loadBalancer:
-// simple: ROUND_ROBIN
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: DestinationRule
-// metadata:
-// name: bookinfo-ratings
-// spec:
-// host: ratings.prod.svc.cluster.local
-// trafficPolicy:
-// loadBalancer:
-// simple: LEAST_CONN
-// subsets:
-// - name: testversion
-// labels:
-// version: v3
-// trafficPolicy:
-// loadBalancer:
-// simple: ROUND_ROBIN
-// ```
-// {{}}
-// {{}}
-//
-// **Note:** Policies specified for subsets will not take effect until
-// a route rule explicitly sends traffic to this subset.
-//
-// Traffic policies can be customized to specific ports as well. The
-// following rule uses the least connection load balancing policy for all
-// traffic to port 80, while uses a round robin load balancing setting for
-// traffic to the port 9080.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: DestinationRule
-// metadata:
-// name: bookinfo-ratings-port
-// spec:
-// host: ratings.prod.svc.cluster.local
-// trafficPolicy: # Apply to all ports
-// portLevelSettings:
-// - port:
-// number: 80
-// loadBalancer:
-// simple: LEAST_CONN
-// - port:
-// number: 9080
-// loadBalancer:
-// simple: ROUND_ROBIN
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: DestinationRule
-// metadata:
-// name: bookinfo-ratings-port
-// spec:
-// host: ratings.prod.svc.cluster.local
-// trafficPolicy: # Apply to all ports
-// portLevelSettings:
-// - port:
-// number: 80
-// loadBalancer:
-// simple: LEAST_CONN
-// - port:
-// number: 9080
-// loadBalancer:
-// simple: ROUND_ROBIN
-// ```
-// {{}}
-// {{}}
-//
-
+// Code generated by protoc-gen-deepcopy. DO NOT EDIT.
package v1alpha3
import (
- fmt "fmt"
- _ "github.com/gogo/protobuf/gogoproto"
- proto "github.com/gogo/protobuf/proto"
- _ "github.com/gogo/protobuf/types"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
+ proto "github.com/golang/protobuf/proto"
)
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
// DeepCopyInto supports using DestinationRule within kubernetes types, where deepcopy-gen is used.
func (in *DestinationRule) DeepCopyInto(out *DestinationRule) {
p := proto.Clone(in).(*DestinationRule)
@@ -220,6 +68,27 @@ func (in *TrafficPolicy_PortTrafficPolicy) DeepCopyInterface() interface{} {
return in.DeepCopy()
}
+// DeepCopyInto supports using TrafficPolicy_TunnelSettings within kubernetes types, where deepcopy-gen is used.
+func (in *TrafficPolicy_TunnelSettings) DeepCopyInto(out *TrafficPolicy_TunnelSettings) {
+ p := proto.Clone(in).(*TrafficPolicy_TunnelSettings)
+ *out = *p
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficPolicy_TunnelSettings. Required by controller-gen.
+func (in *TrafficPolicy_TunnelSettings) DeepCopy() *TrafficPolicy_TunnelSettings {
+ if in == nil {
+ return nil
+ }
+ out := new(TrafficPolicy_TunnelSettings)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new TrafficPolicy_TunnelSettings. Required by controller-gen.
+func (in *TrafficPolicy_TunnelSettings) DeepCopyInterface() interface{} {
+ return in.DeepCopy()
+}
+
// DeepCopyInto supports using Subset within kubernetes types, where deepcopy-gen is used.
func (in *Subset) DeepCopyInto(out *Subset) {
p := proto.Clone(in).(*Subset)
diff --git a/vendor/istio.io/api/networking/v1alpha3/destination_rule_json.gen.go b/vendor/istio.io/api/networking/v1alpha3/destination_rule_json.gen.go
index 76a7466a4..0748cfe35 100644
--- a/vendor/istio.io/api/networking/v1alpha3/destination_rule_json.gen.go
+++ b/vendor/istio.io/api/networking/v1alpha3/destination_rule_json.gen.go
@@ -1,164 +1,11 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: networking/v1alpha3/destination_rule.proto
-
-// `DestinationRule` defines policies that apply to traffic intended for a
-// service after routing has occurred. These rules specify configuration
-// for load balancing, connection pool size from the sidecar, and outlier
-// detection settings to detect and evict unhealthy hosts from the load
-// balancing pool. For example, a simple load balancing policy for the
-// ratings service would look as follows:
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: DestinationRule
-// metadata:
-// name: bookinfo-ratings
-// spec:
-// host: ratings.prod.svc.cluster.local
-// trafficPolicy:
-// loadBalancer:
-// simple: LEAST_CONN
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: DestinationRule
-// metadata:
-// name: bookinfo-ratings
-// spec:
-// host: ratings.prod.svc.cluster.local
-// trafficPolicy:
-// loadBalancer:
-// simple: LEAST_CONN
-// ```
-// {{}}
-// {{}}
-//
-// Version specific policies can be specified by defining a named
-// `subset` and overriding the settings specified at the service level. The
-// following rule uses a round robin load balancing policy for all traffic
-// going to a subset named testversion that is composed of endpoints (e.g.,
-// pods) with labels (version:v3).
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: DestinationRule
-// metadata:
-// name: bookinfo-ratings
-// spec:
-// host: ratings.prod.svc.cluster.local
-// trafficPolicy:
-// loadBalancer:
-// simple: LEAST_CONN
-// subsets:
-// - name: testversion
-// labels:
-// version: v3
-// trafficPolicy:
-// loadBalancer:
-// simple: ROUND_ROBIN
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: DestinationRule
-// metadata:
-// name: bookinfo-ratings
-// spec:
-// host: ratings.prod.svc.cluster.local
-// trafficPolicy:
-// loadBalancer:
-// simple: LEAST_CONN
-// subsets:
-// - name: testversion
-// labels:
-// version: v3
-// trafficPolicy:
-// loadBalancer:
-// simple: ROUND_ROBIN
-// ```
-// {{}}
-// {{}}
-//
-// **Note:** Policies specified for subsets will not take effect until
-// a route rule explicitly sends traffic to this subset.
-//
-// Traffic policies can be customized to specific ports as well. The
-// following rule uses the least connection load balancing policy for all
-// traffic to port 80, while uses a round robin load balancing setting for
-// traffic to the port 9080.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: DestinationRule
-// metadata:
-// name: bookinfo-ratings-port
-// spec:
-// host: ratings.prod.svc.cluster.local
-// trafficPolicy: # Apply to all ports
-// portLevelSettings:
-// - port:
-// number: 80
-// loadBalancer:
-// simple: LEAST_CONN
-// - port:
-// number: 9080
-// loadBalancer:
-// simple: ROUND_ROBIN
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: DestinationRule
-// metadata:
-// name: bookinfo-ratings-port
-// spec:
-// host: ratings.prod.svc.cluster.local
-// trafficPolicy: # Apply to all ports
-// portLevelSettings:
-// - port:
-// number: 80
-// loadBalancer:
-// simple: LEAST_CONN
-// - port:
-// number: 9080
-// loadBalancer:
-// simple: ROUND_ROBIN
-// ```
-// {{}}
-// {{}}
-//
-
+// Code generated by protoc-gen-jsonshim. DO NOT EDIT.
package v1alpha3
import (
bytes "bytes"
- fmt "fmt"
- _ "github.com/gogo/protobuf/gogoproto"
- github_com_gogo_protobuf_jsonpb "github.com/gogo/protobuf/jsonpb"
- proto "github.com/gogo/protobuf/proto"
- _ "github.com/gogo/protobuf/types"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
+ jsonpb "github.com/golang/protobuf/jsonpb"
)
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
// MarshalJSON is a custom marshaler for DestinationRule
func (this *DestinationRule) MarshalJSON() ([]byte, error) {
str, err := DestinationRuleMarshaler.MarshalToString(this)
@@ -192,6 +39,17 @@ func (this *TrafficPolicy_PortTrafficPolicy) UnmarshalJSON(b []byte) error {
return DestinationRuleUnmarshaler.Unmarshal(bytes.NewReader(b), this)
}
+// MarshalJSON is a custom marshaler for TrafficPolicy_TunnelSettings
+func (this *TrafficPolicy_TunnelSettings) MarshalJSON() ([]byte, error) {
+ str, err := DestinationRuleMarshaler.MarshalToString(this)
+ return []byte(str), err
+}
+
+// UnmarshalJSON is a custom unmarshaler for TrafficPolicy_TunnelSettings
+func (this *TrafficPolicy_TunnelSettings) UnmarshalJSON(b []byte) error {
+ return DestinationRuleUnmarshaler.Unmarshal(bytes.NewReader(b), this)
+}
+
// MarshalJSON is a custom marshaler for Subset
func (this *Subset) MarshalJSON() ([]byte, error) {
str, err := DestinationRuleMarshaler.MarshalToString(this)
@@ -336,6 +194,6 @@ func (this *LocalityLoadBalancerSetting_Failover) UnmarshalJSON(b []byte) error
}
var (
- DestinationRuleMarshaler = &github_com_gogo_protobuf_jsonpb.Marshaler{}
- DestinationRuleUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{AllowUnknownFields: true}
+ DestinationRuleMarshaler = &jsonpb.Marshaler{}
+ DestinationRuleUnmarshaler = &jsonpb.Unmarshaler{AllowUnknownFields: true}
)
diff --git a/vendor/istio.io/api/networking/v1alpha3/envoy_filter.gen.json b/vendor/istio.io/api/networking/v1alpha3/envoy_filter.gen.json
index 051828fdf..fb245651f 100644
--- a/vendor/istio.io/api/networking/v1alpha3/envoy_filter.gen.json
+++ b/vendor/istio.io/api/networking/v1alpha3/envoy_filter.gen.json
@@ -363,7 +363,7 @@
}
},
"istio.networking.v1alpha3.WorkloadSelector": {
- "description": "`WorkloadSelector` specifies the criteria used to determine if the `Gateway`, `Sidecar`, `EnvoyFilter`, or `ServiceEntry` configuration can be applied to a proxy. The matching criteria includes the metadata associated with a proxy, workload instance info such as labels attached to the pod/VM, or any other info that the proxy provides to Istio during the initial handshake. If multiple conditions are specified, all conditions need to match in order for the workload instance to be selected. Currently, only label based selection mechanism is supported.",
+ "description": "`WorkloadSelector` specifies the criteria used to determine if the `Gateway`, `Sidecar`, `EnvoyFilter`, `ServiceEntry`, or `DestinationRule` configuration can be applied to a proxy. The matching criteria includes the metadata associated with a proxy, workload instance info such as labels attached to the pod/VM, or any other info that the proxy provides to Istio during the initial handshake. If multiple conditions are specified, all conditions need to match in order for the workload instance to be selected. Currently, only label based selection mechanism is supported.",
"type": "object",
"properties": {
"labels": {
diff --git a/vendor/istio.io/api/networking/v1alpha3/envoy_filter.pb.go b/vendor/istio.io/api/networking/v1alpha3/envoy_filter.pb.go
index 828951e8d..471972042 100644
--- a/vendor/istio.io/api/networking/v1alpha3/envoy_filter.pb.go
+++ b/vendor/istio.io/api/networking/v1alpha3/envoy_filter.pb.go
@@ -1,6 +1,29 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
+// Copyright Istio 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-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.27.1
+// protoc (unknown)
// source: networking/v1alpha3/envoy_filter.proto
+// $schema: istio.networking.v1alpha3.EnvoyFilter
+// $title: Envoy Filter
+// $description: Customizing Envoy configuration generated by Istio.
+// $location: https://istio.io/docs/reference/config/networking/envoy-filter.html
+// $aliases: [/docs/reference/config/networking/v1alpha3/envoy-filter]
+
// `EnvoyFilter` provides a mechanism to customize the Envoy
// configuration generated by Istio Pilot. Use EnvoyFilter to modify
// values for certain fields, add specific filters, or even add
@@ -112,7 +135,7 @@
// patch:
// operation: INSERT_BEFORE
// value: # lua filter specification
-// name: envoy.lua
+// name: envoy.filters.http.lua
// typed_config:
// "@type": "type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua"
// inlineCode: |
@@ -331,16 +354,20 @@
// # The second patch instructs to apply the above Wasm filter to the listener/http connection manager.
// - applyTo: HTTP_FILTER
// match:
-// context: SIDECAR_INBOUND
+// listener:
+// filterChain:
+// filter:
+// name: envoy.filters.network.http_connection_manager
+// subFilter:
+// name: envoy.filters.http.router
// patch:
-// operation: ADD
-// filterClass: AUTHZ # This filter will run *after* the Istio authz filter.
+// operation: INSERT_BEFORE
// value:
// name: my-wasm-extension # This must match the name above
// config_discovery:
// config_source:
// ads: {}
-// type_urls: ["envoy.extensions.filters.http.wasm.v3.Wasm"]
+// type_urls: ["type.googleapis.com/envoy.extensions.filters.http.wasm.v3.Wasm"]
// ```
//
// The following example adds a Wasm service extension for all proxies using a locally available Wasm file.
@@ -381,25 +408,20 @@
package v1alpha3
import (
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- types "github.com/gogo/protobuf/types"
- io "io"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
- math_bits "math/bits"
+ _struct "github.com/golang/protobuf/ptypes/struct"
+ _ "google.golang.org/genproto/googleapis/api/annotations"
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
)
-// 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.GoGoProtoPackageIsVersion3 // please upgrade the proto package
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
// `ApplyTo` specifies where in the Envoy configuration, the given patch should be applied.
type EnvoyFilter_ApplyTo int32
@@ -436,40 +458,61 @@ const (
EnvoyFilter_BOOTSTRAP EnvoyFilter_ApplyTo = 10
)
-var EnvoyFilter_ApplyTo_name = map[int32]string{
- 0: "INVALID",
- 1: "LISTENER",
- 2: "FILTER_CHAIN",
- 3: "NETWORK_FILTER",
- 4: "HTTP_FILTER",
- 5: "ROUTE_CONFIGURATION",
- 6: "VIRTUAL_HOST",
- 7: "HTTP_ROUTE",
- 8: "CLUSTER",
- 9: "EXTENSION_CONFIG",
- 10: "BOOTSTRAP",
-}
-
-var EnvoyFilter_ApplyTo_value = map[string]int32{
- "INVALID": 0,
- "LISTENER": 1,
- "FILTER_CHAIN": 2,
- "NETWORK_FILTER": 3,
- "HTTP_FILTER": 4,
- "ROUTE_CONFIGURATION": 5,
- "VIRTUAL_HOST": 6,
- "HTTP_ROUTE": 7,
- "CLUSTER": 8,
- "EXTENSION_CONFIG": 9,
- "BOOTSTRAP": 10,
+// Enum value maps for EnvoyFilter_ApplyTo.
+var (
+ EnvoyFilter_ApplyTo_name = map[int32]string{
+ 0: "INVALID",
+ 1: "LISTENER",
+ 2: "FILTER_CHAIN",
+ 3: "NETWORK_FILTER",
+ 4: "HTTP_FILTER",
+ 5: "ROUTE_CONFIGURATION",
+ 6: "VIRTUAL_HOST",
+ 7: "HTTP_ROUTE",
+ 8: "CLUSTER",
+ 9: "EXTENSION_CONFIG",
+ 10: "BOOTSTRAP",
+ }
+ EnvoyFilter_ApplyTo_value = map[string]int32{
+ "INVALID": 0,
+ "LISTENER": 1,
+ "FILTER_CHAIN": 2,
+ "NETWORK_FILTER": 3,
+ "HTTP_FILTER": 4,
+ "ROUTE_CONFIGURATION": 5,
+ "VIRTUAL_HOST": 6,
+ "HTTP_ROUTE": 7,
+ "CLUSTER": 8,
+ "EXTENSION_CONFIG": 9,
+ "BOOTSTRAP": 10,
+ }
+)
+
+func (x EnvoyFilter_ApplyTo) Enum() *EnvoyFilter_ApplyTo {
+ p := new(EnvoyFilter_ApplyTo)
+ *p = x
+ return p
}
func (x EnvoyFilter_ApplyTo) String() string {
- return proto.EnumName(EnvoyFilter_ApplyTo_name, int32(x))
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (EnvoyFilter_ApplyTo) Descriptor() protoreflect.EnumDescriptor {
+ return file_networking_v1alpha3_envoy_filter_proto_enumTypes[0].Descriptor()
+}
+
+func (EnvoyFilter_ApplyTo) Type() protoreflect.EnumType {
+ return &file_networking_v1alpha3_envoy_filter_proto_enumTypes[0]
+}
+
+func (x EnvoyFilter_ApplyTo) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
}
+// Deprecated: Use EnvoyFilter_ApplyTo.Descriptor instead.
func (EnvoyFilter_ApplyTo) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_16d9b2922bd3e4a9, []int{0, 0}
+ return file_networking_v1alpha3_envoy_filter_proto_rawDescGZIP(), []int{0, 0}
}
// PatchContext selects a class of configurations based on the
@@ -487,26 +530,47 @@ const (
EnvoyFilter_GATEWAY EnvoyFilter_PatchContext = 3
)
-var EnvoyFilter_PatchContext_name = map[int32]string{
- 0: "ANY",
- 1: "SIDECAR_INBOUND",
- 2: "SIDECAR_OUTBOUND",
- 3: "GATEWAY",
-}
+// Enum value maps for EnvoyFilter_PatchContext.
+var (
+ EnvoyFilter_PatchContext_name = map[int32]string{
+ 0: "ANY",
+ 1: "SIDECAR_INBOUND",
+ 2: "SIDECAR_OUTBOUND",
+ 3: "GATEWAY",
+ }
+ EnvoyFilter_PatchContext_value = map[string]int32{
+ "ANY": 0,
+ "SIDECAR_INBOUND": 1,
+ "SIDECAR_OUTBOUND": 2,
+ "GATEWAY": 3,
+ }
+)
-var EnvoyFilter_PatchContext_value = map[string]int32{
- "ANY": 0,
- "SIDECAR_INBOUND": 1,
- "SIDECAR_OUTBOUND": 2,
- "GATEWAY": 3,
+func (x EnvoyFilter_PatchContext) Enum() *EnvoyFilter_PatchContext {
+ p := new(EnvoyFilter_PatchContext)
+ *p = x
+ return p
}
func (x EnvoyFilter_PatchContext) String() string {
- return proto.EnumName(EnvoyFilter_PatchContext_name, int32(x))
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (EnvoyFilter_PatchContext) Descriptor() protoreflect.EnumDescriptor {
+ return file_networking_v1alpha3_envoy_filter_proto_enumTypes[1].Descriptor()
+}
+
+func (EnvoyFilter_PatchContext) Type() protoreflect.EnumType {
+ return &file_networking_v1alpha3_envoy_filter_proto_enumTypes[1]
+}
+
+func (x EnvoyFilter_PatchContext) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
}
+// Deprecated: Use EnvoyFilter_PatchContext.Descriptor instead.
func (EnvoyFilter_PatchContext) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_16d9b2922bd3e4a9, []int{0, 1}
+ return file_networking_v1alpha3_envoy_filter_proto_rawDescGZIP(), []int{0, 1}
}
// Action refers to the route action taken by Envoy when a http route matches.
@@ -523,26 +587,47 @@ const (
EnvoyFilter_RouteConfigurationMatch_RouteMatch_DIRECT_RESPONSE EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action = 3
)
-var EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action_name = map[int32]string{
- 0: "ANY",
- 1: "ROUTE",
- 2: "REDIRECT",
- 3: "DIRECT_RESPONSE",
-}
+// Enum value maps for EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action.
+var (
+ EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action_name = map[int32]string{
+ 0: "ANY",
+ 1: "ROUTE",
+ 2: "REDIRECT",
+ 3: "DIRECT_RESPONSE",
+ }
+ EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action_value = map[string]int32{
+ "ANY": 0,
+ "ROUTE": 1,
+ "REDIRECT": 2,
+ "DIRECT_RESPONSE": 3,
+ }
+)
-var EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action_value = map[string]int32{
- "ANY": 0,
- "ROUTE": 1,
- "REDIRECT": 2,
- "DIRECT_RESPONSE": 3,
+func (x EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action) Enum() *EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action {
+ p := new(EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action)
+ *p = x
+ return p
}
func (x EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action) String() string {
- return proto.EnumName(EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action_name, int32(x))
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action) Descriptor() protoreflect.EnumDescriptor {
+ return file_networking_v1alpha3_envoy_filter_proto_enumTypes[2].Descriptor()
+}
+
+func (EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action) Type() protoreflect.EnumType {
+ return &file_networking_v1alpha3_envoy_filter_proto_enumTypes[2]
+}
+
+func (x EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
}
+// Deprecated: Use EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action.Descriptor instead.
func (EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_16d9b2922bd3e4a9, []int{0, 2, 0, 0}
+ return file_networking_v1alpha3_envoy_filter_proto_rawDescGZIP(), []int{0, 2, 0, 0}
}
// Operation denotes how the patch should be applied to the selected
@@ -603,34 +688,55 @@ const (
EnvoyFilter_Patch_REPLACE EnvoyFilter_Patch_Operation = 7
)
-var EnvoyFilter_Patch_Operation_name = map[int32]string{
- 0: "INVALID",
- 1: "MERGE",
- 2: "ADD",
- 3: "REMOVE",
- 4: "INSERT_BEFORE",
- 5: "INSERT_AFTER",
- 6: "INSERT_FIRST",
- 7: "REPLACE",
-}
+// Enum value maps for EnvoyFilter_Patch_Operation.
+var (
+ EnvoyFilter_Patch_Operation_name = map[int32]string{
+ 0: "INVALID",
+ 1: "MERGE",
+ 2: "ADD",
+ 3: "REMOVE",
+ 4: "INSERT_BEFORE",
+ 5: "INSERT_AFTER",
+ 6: "INSERT_FIRST",
+ 7: "REPLACE",
+ }
+ EnvoyFilter_Patch_Operation_value = map[string]int32{
+ "INVALID": 0,
+ "MERGE": 1,
+ "ADD": 2,
+ "REMOVE": 3,
+ "INSERT_BEFORE": 4,
+ "INSERT_AFTER": 5,
+ "INSERT_FIRST": 6,
+ "REPLACE": 7,
+ }
+)
-var EnvoyFilter_Patch_Operation_value = map[string]int32{
- "INVALID": 0,
- "MERGE": 1,
- "ADD": 2,
- "REMOVE": 3,
- "INSERT_BEFORE": 4,
- "INSERT_AFTER": 5,
- "INSERT_FIRST": 6,
- "REPLACE": 7,
+func (x EnvoyFilter_Patch_Operation) Enum() *EnvoyFilter_Patch_Operation {
+ p := new(EnvoyFilter_Patch_Operation)
+ *p = x
+ return p
}
func (x EnvoyFilter_Patch_Operation) String() string {
- return proto.EnumName(EnvoyFilter_Patch_Operation_name, int32(x))
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (EnvoyFilter_Patch_Operation) Descriptor() protoreflect.EnumDescriptor {
+ return file_networking_v1alpha3_envoy_filter_proto_enumTypes[3].Descriptor()
+}
+
+func (EnvoyFilter_Patch_Operation) Type() protoreflect.EnumType {
+ return &file_networking_v1alpha3_envoy_filter_proto_enumTypes[3]
+}
+
+func (x EnvoyFilter_Patch_Operation) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
}
+// Deprecated: Use EnvoyFilter_Patch_Operation.Descriptor instead.
func (EnvoyFilter_Patch_Operation) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_16d9b2922bd3e4a9, []int{0, 4, 0}
+ return file_networking_v1alpha3_envoy_filter_proto_rawDescGZIP(), []int{0, 4, 0}
}
// FilterClass determines the filter insertion point in the filter chain
@@ -656,26 +762,47 @@ const (
EnvoyFilter_Patch_STATS EnvoyFilter_Patch_FilterClass = 3
)
-var EnvoyFilter_Patch_FilterClass_name = map[int32]string{
- 0: "UNSPECIFIED",
- 1: "AUTHN",
- 2: "AUTHZ",
- 3: "STATS",
-}
+// Enum value maps for EnvoyFilter_Patch_FilterClass.
+var (
+ EnvoyFilter_Patch_FilterClass_name = map[int32]string{
+ 0: "UNSPECIFIED",
+ 1: "AUTHN",
+ 2: "AUTHZ",
+ 3: "STATS",
+ }
+ EnvoyFilter_Patch_FilterClass_value = map[string]int32{
+ "UNSPECIFIED": 0,
+ "AUTHN": 1,
+ "AUTHZ": 2,
+ "STATS": 3,
+ }
+)
-var EnvoyFilter_Patch_FilterClass_value = map[string]int32{
- "UNSPECIFIED": 0,
- "AUTHN": 1,
- "AUTHZ": 2,
- "STATS": 3,
+func (x EnvoyFilter_Patch_FilterClass) Enum() *EnvoyFilter_Patch_FilterClass {
+ p := new(EnvoyFilter_Patch_FilterClass)
+ *p = x
+ return p
}
func (x EnvoyFilter_Patch_FilterClass) String() string {
- return proto.EnumName(EnvoyFilter_Patch_FilterClass_name, int32(x))
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (EnvoyFilter_Patch_FilterClass) Descriptor() protoreflect.EnumDescriptor {
+ return file_networking_v1alpha3_envoy_filter_proto_enumTypes[4].Descriptor()
+}
+
+func (EnvoyFilter_Patch_FilterClass) Type() protoreflect.EnumType {
+ return &file_networking_v1alpha3_envoy_filter_proto_enumTypes[4]
+}
+
+func (x EnvoyFilter_Patch_FilterClass) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
}
+// Deprecated: Use EnvoyFilter_Patch_FilterClass.Descriptor instead.
func (EnvoyFilter_Patch_FilterClass) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_16d9b2922bd3e4a9, []int{0, 4, 1}
+ return file_networking_v1alpha3_envoy_filter_proto_rawDescGZIP(), []int{0, 4, 1}
}
// EnvoyFilter provides a mechanism to customize the Envoy configuration
@@ -700,6 +827,10 @@ func (EnvoyFilter_Patch_FilterClass) EnumDescriptor() ([]byte, []int) {
// +k8s:deepcopy-gen=true
// -->
type EnvoyFilter struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Criteria used to select the specific set of pods/VMs on which
// this patch configuration should be applied. If omitted, the set
// of patches in this configuration will be applied to all workload
@@ -727,68 +858,68 @@ type EnvoyFilter struct {
//
// Patch sets are sorted in the following ascending key order:
// priority, creation time, fully qualified resource name.
- Priority int32 `protobuf:"varint,5,opt,name=priority,proto3" json:"priority,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Priority int32 `protobuf:"varint,5,opt,name=priority,proto3" json:"priority,omitempty"`
}
-func (m *EnvoyFilter) Reset() { *m = EnvoyFilter{} }
-func (m *EnvoyFilter) String() string { return proto.CompactTextString(m) }
-func (*EnvoyFilter) ProtoMessage() {}
-func (*EnvoyFilter) Descriptor() ([]byte, []int) {
- return fileDescriptor_16d9b2922bd3e4a9, []int{0}
-}
-func (m *EnvoyFilter) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *EnvoyFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_EnvoyFilter.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *EnvoyFilter) Reset() {
+ *x = EnvoyFilter{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_envoy_filter_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *EnvoyFilter) XXX_Merge(src proto.Message) {
- xxx_messageInfo_EnvoyFilter.Merge(m, src)
-}
-func (m *EnvoyFilter) XXX_Size() int {
- return m.Size()
+
+func (x *EnvoyFilter) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *EnvoyFilter) XXX_DiscardUnknown() {
- xxx_messageInfo_EnvoyFilter.DiscardUnknown(m)
+
+func (*EnvoyFilter) ProtoMessage() {}
+
+func (x *EnvoyFilter) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_envoy_filter_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_EnvoyFilter proto.InternalMessageInfo
+// Deprecated: Use EnvoyFilter.ProtoReflect.Descriptor instead.
+func (*EnvoyFilter) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_envoy_filter_proto_rawDescGZIP(), []int{0}
+}
-func (m *EnvoyFilter) GetWorkloadSelector() *WorkloadSelector {
- if m != nil {
- return m.WorkloadSelector
+func (x *EnvoyFilter) GetWorkloadSelector() *WorkloadSelector {
+ if x != nil {
+ return x.WorkloadSelector
}
return nil
}
-func (m *EnvoyFilter) GetConfigPatches() []*EnvoyFilter_EnvoyConfigObjectPatch {
- if m != nil {
- return m.ConfigPatches
+func (x *EnvoyFilter) GetConfigPatches() []*EnvoyFilter_EnvoyConfigObjectPatch {
+ if x != nil {
+ return x.ConfigPatches
}
return nil
}
-func (m *EnvoyFilter) GetPriority() int32 {
- if m != nil {
- return m.Priority
+func (x *EnvoyFilter) GetPriority() int32 {
+ if x != nil {
+ return x.Priority
}
return 0
}
// One or more properties of the proxy to match on.
type EnvoyFilter_ProxyMatch struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// A regular expression in golang regex format (RE2) that can be
// used to select proxies using a specific version of istio
// proxy. The Istio version for a given proxy is obtained from the
@@ -804,55 +935,51 @@ type EnvoyFilter_ProxyMatch struct {
// Pilot. All keys specified in the metadata must match with exact
// values. The match will fail if any of the specified keys are
// absent or the values fail to match.
- Metadata map[string]string `protobuf:"bytes,2,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Metadata map[string]string `protobuf:"bytes,2,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
-func (m *EnvoyFilter_ProxyMatch) Reset() { *m = EnvoyFilter_ProxyMatch{} }
-func (m *EnvoyFilter_ProxyMatch) String() string { return proto.CompactTextString(m) }
-func (*EnvoyFilter_ProxyMatch) ProtoMessage() {}
-func (*EnvoyFilter_ProxyMatch) Descriptor() ([]byte, []int) {
- return fileDescriptor_16d9b2922bd3e4a9, []int{0, 0}
-}
-func (m *EnvoyFilter_ProxyMatch) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *EnvoyFilter_ProxyMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_EnvoyFilter_ProxyMatch.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *EnvoyFilter_ProxyMatch) Reset() {
+ *x = EnvoyFilter_ProxyMatch{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_envoy_filter_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *EnvoyFilter_ProxyMatch) XXX_Merge(src proto.Message) {
- xxx_messageInfo_EnvoyFilter_ProxyMatch.Merge(m, src)
-}
-func (m *EnvoyFilter_ProxyMatch) XXX_Size() int {
- return m.Size()
+
+func (x *EnvoyFilter_ProxyMatch) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *EnvoyFilter_ProxyMatch) XXX_DiscardUnknown() {
- xxx_messageInfo_EnvoyFilter_ProxyMatch.DiscardUnknown(m)
+
+func (*EnvoyFilter_ProxyMatch) ProtoMessage() {}
+
+func (x *EnvoyFilter_ProxyMatch) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_envoy_filter_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_EnvoyFilter_ProxyMatch proto.InternalMessageInfo
+// Deprecated: Use EnvoyFilter_ProxyMatch.ProtoReflect.Descriptor instead.
+func (*EnvoyFilter_ProxyMatch) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_envoy_filter_proto_rawDescGZIP(), []int{0, 0}
+}
-func (m *EnvoyFilter_ProxyMatch) GetProxyVersion() string {
- if m != nil {
- return m.ProxyVersion
+func (x *EnvoyFilter_ProxyMatch) GetProxyVersion() string {
+ if x != nil {
+ return x.ProxyVersion
}
return ""
}
-func (m *EnvoyFilter_ProxyMatch) GetMetadata() map[string]string {
- if m != nil {
- return m.Metadata
+func (x *EnvoyFilter_ProxyMatch) GetMetadata() map[string]string {
+ if x != nil {
+ return x.Metadata
}
return nil
}
@@ -860,6 +987,10 @@ func (m *EnvoyFilter_ProxyMatch) GetMetadata() map[string]string {
// Conditions specified in `ClusterMatch` must be met for the patch
// to be applied to a cluster.
type EnvoyFilter_ClusterMatch struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// The service port for which this cluster was generated. If
// omitted, applies to clusters for any port.
// **Note:** for inbound cluster, it is the service target port.
@@ -877,69 +1008,65 @@ type EnvoyFilter_ClusterMatch struct {
// cluster by name, such as the internally generated `Passthrough`
// cluster, leave all fields in clusterMatch empty, except the
// name.
- Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
}
-func (m *EnvoyFilter_ClusterMatch) Reset() { *m = EnvoyFilter_ClusterMatch{} }
-func (m *EnvoyFilter_ClusterMatch) String() string { return proto.CompactTextString(m) }
-func (*EnvoyFilter_ClusterMatch) ProtoMessage() {}
-func (*EnvoyFilter_ClusterMatch) Descriptor() ([]byte, []int) {
- return fileDescriptor_16d9b2922bd3e4a9, []int{0, 1}
-}
-func (m *EnvoyFilter_ClusterMatch) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *EnvoyFilter_ClusterMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_EnvoyFilter_ClusterMatch.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *EnvoyFilter_ClusterMatch) Reset() {
+ *x = EnvoyFilter_ClusterMatch{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_envoy_filter_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *EnvoyFilter_ClusterMatch) XXX_Merge(src proto.Message) {
- xxx_messageInfo_EnvoyFilter_ClusterMatch.Merge(m, src)
-}
-func (m *EnvoyFilter_ClusterMatch) XXX_Size() int {
- return m.Size()
+
+func (x *EnvoyFilter_ClusterMatch) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *EnvoyFilter_ClusterMatch) XXX_DiscardUnknown() {
- xxx_messageInfo_EnvoyFilter_ClusterMatch.DiscardUnknown(m)
+
+func (*EnvoyFilter_ClusterMatch) ProtoMessage() {}
+
+func (x *EnvoyFilter_ClusterMatch) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_envoy_filter_proto_msgTypes[2]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_EnvoyFilter_ClusterMatch proto.InternalMessageInfo
+// Deprecated: Use EnvoyFilter_ClusterMatch.ProtoReflect.Descriptor instead.
+func (*EnvoyFilter_ClusterMatch) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_envoy_filter_proto_rawDescGZIP(), []int{0, 1}
+}
-func (m *EnvoyFilter_ClusterMatch) GetPortNumber() uint32 {
- if m != nil {
- return m.PortNumber
+func (x *EnvoyFilter_ClusterMatch) GetPortNumber() uint32 {
+ if x != nil {
+ return x.PortNumber
}
return 0
}
-func (m *EnvoyFilter_ClusterMatch) GetService() string {
- if m != nil {
- return m.Service
+func (x *EnvoyFilter_ClusterMatch) GetService() string {
+ if x != nil {
+ return x.Service
}
return ""
}
-func (m *EnvoyFilter_ClusterMatch) GetSubset() string {
- if m != nil {
- return m.Subset
+func (x *EnvoyFilter_ClusterMatch) GetSubset() string {
+ if x != nil {
+ return x.Subset
}
return ""
}
-func (m *EnvoyFilter_ClusterMatch) GetName() string {
- if m != nil {
- return m.Name
+func (x *EnvoyFilter_ClusterMatch) GetName() string {
+ if x != nil {
+ return x.Name
}
return ""
}
@@ -948,6 +1075,10 @@ func (m *EnvoyFilter_ClusterMatch) GetName() string {
// the patch to be applied to a route configuration object or a
// specific virtual host within the route configuration.
type EnvoyFilter_RouteConfigurationMatch struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// The service port number or gateway server port number for which
// this route configuration was generated. If omitted, applies to
// route configurations for all ports.
@@ -968,214 +1099,84 @@ type EnvoyFilter_RouteConfigurationMatch struct {
// Route configuration name to match on. Can be used to match a
// specific route configuration by name, such as the internally
// generated `http_proxy` route configuration for all sidecars.
- Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *EnvoyFilter_RouteConfigurationMatch) Reset() { *m = EnvoyFilter_RouteConfigurationMatch{} }
-func (m *EnvoyFilter_RouteConfigurationMatch) String() string { return proto.CompactTextString(m) }
-func (*EnvoyFilter_RouteConfigurationMatch) ProtoMessage() {}
-func (*EnvoyFilter_RouteConfigurationMatch) Descriptor() ([]byte, []int) {
- return fileDescriptor_16d9b2922bd3e4a9, []int{0, 2}
-}
-func (m *EnvoyFilter_RouteConfigurationMatch) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *EnvoyFilter_RouteConfigurationMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_EnvoyFilter_RouteConfigurationMatch.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *EnvoyFilter_RouteConfigurationMatch) XXX_Merge(src proto.Message) {
- xxx_messageInfo_EnvoyFilter_RouteConfigurationMatch.Merge(m, src)
-}
-func (m *EnvoyFilter_RouteConfigurationMatch) XXX_Size() int {
- return m.Size()
-}
-func (m *EnvoyFilter_RouteConfigurationMatch) XXX_DiscardUnknown() {
- xxx_messageInfo_EnvoyFilter_RouteConfigurationMatch.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_EnvoyFilter_RouteConfigurationMatch proto.InternalMessageInfo
-
-func (m *EnvoyFilter_RouteConfigurationMatch) GetPortNumber() uint32 {
- if m != nil {
- return m.PortNumber
- }
- return 0
+ Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
}
-func (m *EnvoyFilter_RouteConfigurationMatch) GetPortName() string {
- if m != nil {
- return m.PortName
+func (x *EnvoyFilter_RouteConfigurationMatch) Reset() {
+ *x = EnvoyFilter_RouteConfigurationMatch{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_envoy_filter_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- return ""
}
-func (m *EnvoyFilter_RouteConfigurationMatch) GetGateway() string {
- if m != nil {
- return m.Gateway
- }
- return ""
+func (x *EnvoyFilter_RouteConfigurationMatch) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *EnvoyFilter_RouteConfigurationMatch) GetVhost() *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch {
- if m != nil {
- return m.Vhost
- }
- return nil
-}
+func (*EnvoyFilter_RouteConfigurationMatch) ProtoMessage() {}
-func (m *EnvoyFilter_RouteConfigurationMatch) GetName() string {
- if m != nil {
- return m.Name
+func (x *EnvoyFilter_RouteConfigurationMatch) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_envoy_filter_proto_msgTypes[3]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
}
- return ""
+ return mi.MessageOf(x)
}
-// Match a specific route inside a virtual host in a route configuration.
-type EnvoyFilter_RouteConfigurationMatch_RouteMatch struct {
- // The Route objects generated by default are named as
- // default. Route objects generated using a virtual service
- // will carry the name used in the virtual service's HTTP
- // routes.
- Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- // Match a route with specific action type.
- Action EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action `protobuf:"varint,2,opt,name=action,proto3,enum=istio.networking.v1alpha3.EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action" json:"action,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+// Deprecated: Use EnvoyFilter_RouteConfigurationMatch.ProtoReflect.Descriptor instead.
+func (*EnvoyFilter_RouteConfigurationMatch) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_envoy_filter_proto_rawDescGZIP(), []int{0, 2}
}
-func (m *EnvoyFilter_RouteConfigurationMatch_RouteMatch) Reset() {
- *m = EnvoyFilter_RouteConfigurationMatch_RouteMatch{}
-}
-func (m *EnvoyFilter_RouteConfigurationMatch_RouteMatch) String() string {
- return proto.CompactTextString(m)
-}
-func (*EnvoyFilter_RouteConfigurationMatch_RouteMatch) ProtoMessage() {}
-func (*EnvoyFilter_RouteConfigurationMatch_RouteMatch) Descriptor() ([]byte, []int) {
- return fileDescriptor_16d9b2922bd3e4a9, []int{0, 2, 0}
-}
-func (m *EnvoyFilter_RouteConfigurationMatch_RouteMatch) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *EnvoyFilter_RouteConfigurationMatch_RouteMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_EnvoyFilter_RouteConfigurationMatch_RouteMatch.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *EnvoyFilter_RouteConfigurationMatch) GetPortNumber() uint32 {
+ if x != nil {
+ return x.PortNumber
}
-}
-func (m *EnvoyFilter_RouteConfigurationMatch_RouteMatch) XXX_Merge(src proto.Message) {
- xxx_messageInfo_EnvoyFilter_RouteConfigurationMatch_RouteMatch.Merge(m, src)
-}
-func (m *EnvoyFilter_RouteConfigurationMatch_RouteMatch) XXX_Size() int {
- return m.Size()
-}
-func (m *EnvoyFilter_RouteConfigurationMatch_RouteMatch) XXX_DiscardUnknown() {
- xxx_messageInfo_EnvoyFilter_RouteConfigurationMatch_RouteMatch.DiscardUnknown(m)
+ return 0
}
-var xxx_messageInfo_EnvoyFilter_RouteConfigurationMatch_RouteMatch proto.InternalMessageInfo
-
-func (m *EnvoyFilter_RouteConfigurationMatch_RouteMatch) GetName() string {
- if m != nil {
- return m.Name
+func (x *EnvoyFilter_RouteConfigurationMatch) GetPortName() string {
+ if x != nil {
+ return x.PortName
}
return ""
}
-func (m *EnvoyFilter_RouteConfigurationMatch_RouteMatch) GetAction() EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action {
- if m != nil {
- return m.Action
+func (x *EnvoyFilter_RouteConfigurationMatch) GetGateway() string {
+ if x != nil {
+ return x.Gateway
}
- return EnvoyFilter_RouteConfigurationMatch_RouteMatch_ANY
-}
-
-// Match a specific virtual host inside a route configuration.
-type EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch struct {
- // The VirtualHosts objects generated by Istio are named as
- // host:port, where the host typically corresponds to the
- // VirtualService's host field or the hostname of a service in the
- // registry.
- Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- // Match a specific route within the virtual host.
- Route *EnvoyFilter_RouteConfigurationMatch_RouteMatch `protobuf:"bytes,2,opt,name=route,proto3" json:"route,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ return ""
}
-func (m *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) Reset() {
- *m = EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch{}
-}
-func (m *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) String() string {
- return proto.CompactTextString(m)
-}
-func (*EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) ProtoMessage() {}
-func (*EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) Descriptor() ([]byte, []int) {
- return fileDescriptor_16d9b2922bd3e4a9, []int{0, 2, 1}
-}
-func (m *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *EnvoyFilter_RouteConfigurationMatch) GetVhost() *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch {
+ if x != nil {
+ return x.Vhost
}
-}
-func (m *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) XXX_Merge(src proto.Message) {
- xxx_messageInfo_EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch.Merge(m, src)
-}
-func (m *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) XXX_Size() int {
- return m.Size()
-}
-func (m *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) XXX_DiscardUnknown() {
- xxx_messageInfo_EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch.DiscardUnknown(m)
+ return nil
}
-var xxx_messageInfo_EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch proto.InternalMessageInfo
-
-func (m *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) GetName() string {
- if m != nil {
- return m.Name
+func (x *EnvoyFilter_RouteConfigurationMatch) GetName() string {
+ if x != nil {
+ return x.Name
}
return ""
}
-func (m *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) GetRoute() *EnvoyFilter_RouteConfigurationMatch_RouteMatch {
- if m != nil {
- return m.Route
- }
- return nil
-}
-
// Conditions specified in a listener match must be met for the
// patch to be applied to a specific listener across all filter
// chains, or a specific filter chain inside the listener.
type EnvoyFilter_ListenerMatch struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// The service port/gateway port to which traffic is being
// sent/received. If not specified, matches all listeners. Even though
// inbound listeners are generated for the instance/pod ports, only
@@ -1194,374 +1195,133 @@ type EnvoyFilter_ListenerMatch struct {
FilterChain *EnvoyFilter_ListenerMatch_FilterChainMatch `protobuf:"bytes,3,opt,name=filter_chain,json=filterChain,proto3" json:"filter_chain,omitempty"`
// Match a specific listener by its name. The listeners generated
// by Pilot are typically named as IP:Port.
- Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
}
-func (m *EnvoyFilter_ListenerMatch) Reset() { *m = EnvoyFilter_ListenerMatch{} }
-func (m *EnvoyFilter_ListenerMatch) String() string { return proto.CompactTextString(m) }
-func (*EnvoyFilter_ListenerMatch) ProtoMessage() {}
-func (*EnvoyFilter_ListenerMatch) Descriptor() ([]byte, []int) {
- return fileDescriptor_16d9b2922bd3e4a9, []int{0, 3}
-}
-func (m *EnvoyFilter_ListenerMatch) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *EnvoyFilter_ListenerMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_EnvoyFilter_ListenerMatch.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *EnvoyFilter_ListenerMatch) Reset() {
+ *x = EnvoyFilter_ListenerMatch{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_envoy_filter_proto_msgTypes[4]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *EnvoyFilter_ListenerMatch) XXX_Merge(src proto.Message) {
- xxx_messageInfo_EnvoyFilter_ListenerMatch.Merge(m, src)
-}
-func (m *EnvoyFilter_ListenerMatch) XXX_Size() int {
- return m.Size()
+
+func (x *EnvoyFilter_ListenerMatch) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *EnvoyFilter_ListenerMatch) XXX_DiscardUnknown() {
- xxx_messageInfo_EnvoyFilter_ListenerMatch.DiscardUnknown(m)
+
+func (*EnvoyFilter_ListenerMatch) ProtoMessage() {}
+
+func (x *EnvoyFilter_ListenerMatch) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_envoy_filter_proto_msgTypes[4]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_EnvoyFilter_ListenerMatch proto.InternalMessageInfo
+// Deprecated: Use EnvoyFilter_ListenerMatch.ProtoReflect.Descriptor instead.
+func (*EnvoyFilter_ListenerMatch) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_envoy_filter_proto_rawDescGZIP(), []int{0, 3}
+}
-func (m *EnvoyFilter_ListenerMatch) GetPortNumber() uint32 {
- if m != nil {
- return m.PortNumber
+func (x *EnvoyFilter_ListenerMatch) GetPortNumber() uint32 {
+ if x != nil {
+ return x.PortNumber
}
return 0
}
-func (m *EnvoyFilter_ListenerMatch) GetPortName() string {
- if m != nil {
- return m.PortName
+func (x *EnvoyFilter_ListenerMatch) GetPortName() string {
+ if x != nil {
+ return x.PortName
}
return ""
}
-func (m *EnvoyFilter_ListenerMatch) GetFilterChain() *EnvoyFilter_ListenerMatch_FilterChainMatch {
- if m != nil {
- return m.FilterChain
+func (x *EnvoyFilter_ListenerMatch) GetFilterChain() *EnvoyFilter_ListenerMatch_FilterChainMatch {
+ if x != nil {
+ return x.FilterChain
}
return nil
}
-func (m *EnvoyFilter_ListenerMatch) GetName() string {
- if m != nil {
- return m.Name
+func (x *EnvoyFilter_ListenerMatch) GetName() string {
+ if x != nil {
+ return x.Name
}
return ""
}
-// For listeners with multiple filter chains (e.g., inbound
-// listeners on sidecars with permissive mTLS, gateway listeners
-// with multiple SNI matches), the filter chain match can be used
-// to select a specific filter chain to patch.
-type EnvoyFilter_ListenerMatch_FilterChainMatch struct {
- // The name assigned to the filter chain.
- Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- // The SNI value used by a filter chain's match condition. This
- // condition will evaluate to false if the filter chain has no
- // sni match.
- Sni string `protobuf:"bytes,2,opt,name=sni,proto3" json:"sni,omitempty"`
- // Applies only to `SIDECAR_INBOUND` context. If non-empty, a
- // transport protocol to consider when determining a filter
- // chain match. This value will be compared against the
- // transport protocol of a new connection, when it's detected by
- // the `tls_inspector` listener filter.
- //
- // Accepted values include:
- //
- // * `raw_buffer` - default, used when no transport protocol is detected.
- // * `tls` - set when TLS protocol is detected by the TLS inspector.
- TransportProtocol string `protobuf:"bytes,3,opt,name=transport_protocol,json=transportProtocol,proto3" json:"transport_protocol,omitempty"`
- // Applies only to sidecars. If non-empty, a comma separated set
- // of application protocols to consider when determining a
- // filter chain match. This value will be compared against the
- // application protocols of a new connection, when it's detected
- // by one of the listener filters such as the `http_inspector`.
- //
- // Accepted values include: h2, http/1.1, http/1.0
- ApplicationProtocols string `protobuf:"bytes,4,opt,name=application_protocols,json=applicationProtocols,proto3" json:"application_protocols,omitempty"`
- // The name of a specific filter to apply the patch to. Set this
- // to `envoy.filters.network.http_connection_manager` to add a filter or apply a
- // patch to the HTTP connection manager.
- Filter *EnvoyFilter_ListenerMatch_FilterMatch `protobuf:"bytes,5,opt,name=filter,proto3" json:"filter,omitempty"`
- // The destination_port value used by a filter chain's match condition.
- // This condition will evaluate to false if the filter chain has no destination_port match.
- DestinationPort uint32 `protobuf:"varint,6,opt,name=destination_port,json=destinationPort,proto3" json:"destination_port,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+// Patch specifies how the selected object should be modified.
+type EnvoyFilter_Patch struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Determines how the patch should be applied.
+ Operation EnvoyFilter_Patch_Operation `protobuf:"varint,1,opt,name=operation,proto3,enum=istio.networking.v1alpha3.EnvoyFilter_Patch_Operation" json:"operation,omitempty"`
+ // The JSON config of the object being patched. This will be merged using
+ // proto merge semantics with the existing proto in the path.
+ Value *_struct.Struct `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
+ // Determines the filter insertion order.
+ FilterClass EnvoyFilter_Patch_FilterClass `protobuf:"varint,3,opt,name=filter_class,json=filterClass,proto3,enum=istio.networking.v1alpha3.EnvoyFilter_Patch_FilterClass" json:"filter_class,omitempty"`
}
-func (m *EnvoyFilter_ListenerMatch_FilterChainMatch) Reset() {
- *m = EnvoyFilter_ListenerMatch_FilterChainMatch{}
+func (x *EnvoyFilter_Patch) Reset() {
+ *x = EnvoyFilter_Patch{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_envoy_filter_proto_msgTypes[5]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
}
-func (m *EnvoyFilter_ListenerMatch_FilterChainMatch) String() string {
- return proto.CompactTextString(m)
+
+func (x *EnvoyFilter_Patch) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (*EnvoyFilter_ListenerMatch_FilterChainMatch) ProtoMessage() {}
-func (*EnvoyFilter_ListenerMatch_FilterChainMatch) Descriptor() ([]byte, []int) {
- return fileDescriptor_16d9b2922bd3e4a9, []int{0, 3, 0}
-}
-func (m *EnvoyFilter_ListenerMatch_FilterChainMatch) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *EnvoyFilter_ListenerMatch_FilterChainMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_EnvoyFilter_ListenerMatch_FilterChainMatch.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
+
+func (*EnvoyFilter_Patch) ProtoMessage() {}
+
+func (x *EnvoyFilter_Patch) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_envoy_filter_proto_msgTypes[5]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- return b[:n], nil
+ return ms
}
-}
-func (m *EnvoyFilter_ListenerMatch_FilterChainMatch) XXX_Merge(src proto.Message) {
- xxx_messageInfo_EnvoyFilter_ListenerMatch_FilterChainMatch.Merge(m, src)
-}
-func (m *EnvoyFilter_ListenerMatch_FilterChainMatch) XXX_Size() int {
- return m.Size()
-}
-func (m *EnvoyFilter_ListenerMatch_FilterChainMatch) XXX_DiscardUnknown() {
- xxx_messageInfo_EnvoyFilter_ListenerMatch_FilterChainMatch.DiscardUnknown(m)
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_EnvoyFilter_ListenerMatch_FilterChainMatch proto.InternalMessageInfo
+// Deprecated: Use EnvoyFilter_Patch.ProtoReflect.Descriptor instead.
+func (*EnvoyFilter_Patch) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_envoy_filter_proto_rawDescGZIP(), []int{0, 4}
+}
-func (m *EnvoyFilter_ListenerMatch_FilterChainMatch) GetName() string {
- if m != nil {
- return m.Name
+func (x *EnvoyFilter_Patch) GetOperation() EnvoyFilter_Patch_Operation {
+ if x != nil {
+ return x.Operation
}
- return ""
+ return EnvoyFilter_Patch_INVALID
}
-func (m *EnvoyFilter_ListenerMatch_FilterChainMatch) GetSni() string {
- if m != nil {
- return m.Sni
- }
- return ""
-}
-
-func (m *EnvoyFilter_ListenerMatch_FilterChainMatch) GetTransportProtocol() string {
- if m != nil {
- return m.TransportProtocol
- }
- return ""
-}
-
-func (m *EnvoyFilter_ListenerMatch_FilterChainMatch) GetApplicationProtocols() string {
- if m != nil {
- return m.ApplicationProtocols
- }
- return ""
-}
-
-func (m *EnvoyFilter_ListenerMatch_FilterChainMatch) GetFilter() *EnvoyFilter_ListenerMatch_FilterMatch {
- if m != nil {
- return m.Filter
- }
- return nil
-}
-
-func (m *EnvoyFilter_ListenerMatch_FilterChainMatch) GetDestinationPort() uint32 {
- if m != nil {
- return m.DestinationPort
- }
- return 0
-}
-
-// Conditions to match a specific filter within a filter chain.
-type EnvoyFilter_ListenerMatch_FilterMatch struct {
- // The filter name to match on.
- // For standard Envoy filters, [canonical filter](https://www.envoyproxy.io/docs/envoy/latest/version_history/v1.14.0#deprecated)
- // names should be used.
- Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- // The next level filter within this filter to match
- // upon. Typically used for HTTP Connection Manager filters and
- // Thrift filters.
- SubFilter *EnvoyFilter_ListenerMatch_SubFilterMatch `protobuf:"bytes,2,opt,name=sub_filter,json=subFilter,proto3" json:"sub_filter,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *EnvoyFilter_ListenerMatch_FilterMatch) Reset() { *m = EnvoyFilter_ListenerMatch_FilterMatch{} }
-func (m *EnvoyFilter_ListenerMatch_FilterMatch) String() string { return proto.CompactTextString(m) }
-func (*EnvoyFilter_ListenerMatch_FilterMatch) ProtoMessage() {}
-func (*EnvoyFilter_ListenerMatch_FilterMatch) Descriptor() ([]byte, []int) {
- return fileDescriptor_16d9b2922bd3e4a9, []int{0, 3, 1}
-}
-func (m *EnvoyFilter_ListenerMatch_FilterMatch) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *EnvoyFilter_ListenerMatch_FilterMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_EnvoyFilter_ListenerMatch_FilterMatch.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *EnvoyFilter_ListenerMatch_FilterMatch) XXX_Merge(src proto.Message) {
- xxx_messageInfo_EnvoyFilter_ListenerMatch_FilterMatch.Merge(m, src)
-}
-func (m *EnvoyFilter_ListenerMatch_FilterMatch) XXX_Size() int {
- return m.Size()
-}
-func (m *EnvoyFilter_ListenerMatch_FilterMatch) XXX_DiscardUnknown() {
- xxx_messageInfo_EnvoyFilter_ListenerMatch_FilterMatch.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_EnvoyFilter_ListenerMatch_FilterMatch proto.InternalMessageInfo
-
-func (m *EnvoyFilter_ListenerMatch_FilterMatch) GetName() string {
- if m != nil {
- return m.Name
- }
- return ""
-}
-
-func (m *EnvoyFilter_ListenerMatch_FilterMatch) GetSubFilter() *EnvoyFilter_ListenerMatch_SubFilterMatch {
- if m != nil {
- return m.SubFilter
- }
- return nil
-}
-
-// Conditions to match a specific filter within another
-// filter. This field is typically useful to match a HTTP filter
-// inside the `envoy.filters.network.http_connection_manager` network filter.
-// This could also be applicable for thrift filters.
-type EnvoyFilter_ListenerMatch_SubFilterMatch struct {
- // The filter name to match on.
- Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *EnvoyFilter_ListenerMatch_SubFilterMatch) Reset() {
- *m = EnvoyFilter_ListenerMatch_SubFilterMatch{}
-}
-func (m *EnvoyFilter_ListenerMatch_SubFilterMatch) String() string { return proto.CompactTextString(m) }
-func (*EnvoyFilter_ListenerMatch_SubFilterMatch) ProtoMessage() {}
-func (*EnvoyFilter_ListenerMatch_SubFilterMatch) Descriptor() ([]byte, []int) {
- return fileDescriptor_16d9b2922bd3e4a9, []int{0, 3, 2}
-}
-func (m *EnvoyFilter_ListenerMatch_SubFilterMatch) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *EnvoyFilter_ListenerMatch_SubFilterMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_EnvoyFilter_ListenerMatch_SubFilterMatch.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *EnvoyFilter_ListenerMatch_SubFilterMatch) XXX_Merge(src proto.Message) {
- xxx_messageInfo_EnvoyFilter_ListenerMatch_SubFilterMatch.Merge(m, src)
-}
-func (m *EnvoyFilter_ListenerMatch_SubFilterMatch) XXX_Size() int {
- return m.Size()
-}
-func (m *EnvoyFilter_ListenerMatch_SubFilterMatch) XXX_DiscardUnknown() {
- xxx_messageInfo_EnvoyFilter_ListenerMatch_SubFilterMatch.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_EnvoyFilter_ListenerMatch_SubFilterMatch proto.InternalMessageInfo
-
-func (m *EnvoyFilter_ListenerMatch_SubFilterMatch) GetName() string {
- if m != nil {
- return m.Name
- }
- return ""
-}
-
-// Patch specifies how the selected object should be modified.
-type EnvoyFilter_Patch struct {
- // Determines how the patch should be applied.
- Operation EnvoyFilter_Patch_Operation `protobuf:"varint,1,opt,name=operation,proto3,enum=istio.networking.v1alpha3.EnvoyFilter_Patch_Operation" json:"operation,omitempty"`
- // The JSON config of the object being patched. This will be merged using
- // proto merge semantics with the existing proto in the path.
- Value *types.Struct `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
- // Determines the filter insertion order.
- FilterClass EnvoyFilter_Patch_FilterClass `protobuf:"varint,3,opt,name=filter_class,json=filterClass,proto3,enum=istio.networking.v1alpha3.EnvoyFilter_Patch_FilterClass" json:"filter_class,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *EnvoyFilter_Patch) Reset() { *m = EnvoyFilter_Patch{} }
-func (m *EnvoyFilter_Patch) String() string { return proto.CompactTextString(m) }
-func (*EnvoyFilter_Patch) ProtoMessage() {}
-func (*EnvoyFilter_Patch) Descriptor() ([]byte, []int) {
- return fileDescriptor_16d9b2922bd3e4a9, []int{0, 4}
-}
-func (m *EnvoyFilter_Patch) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *EnvoyFilter_Patch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_EnvoyFilter_Patch.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *EnvoyFilter_Patch) XXX_Merge(src proto.Message) {
- xxx_messageInfo_EnvoyFilter_Patch.Merge(m, src)
-}
-func (m *EnvoyFilter_Patch) XXX_Size() int {
- return m.Size()
-}
-func (m *EnvoyFilter_Patch) XXX_DiscardUnknown() {
- xxx_messageInfo_EnvoyFilter_Patch.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_EnvoyFilter_Patch proto.InternalMessageInfo
-
-func (m *EnvoyFilter_Patch) GetOperation() EnvoyFilter_Patch_Operation {
- if m != nil {
- return m.Operation
- }
- return EnvoyFilter_Patch_INVALID
-}
-
-func (m *EnvoyFilter_Patch) GetValue() *types.Struct {
- if m != nil {
- return m.Value
+func (x *EnvoyFilter_Patch) GetValue() *_struct.Struct {
+ if x != nil {
+ return x.Value
}
return nil
}
-func (m *EnvoyFilter_Patch) GetFilterClass() EnvoyFilter_Patch_FilterClass {
- if m != nil {
- return m.FilterClass
+func (x *EnvoyFilter_Patch) GetFilterClass() EnvoyFilter_Patch_FilterClass {
+ if x != nil {
+ return x.FilterClass
}
return EnvoyFilter_Patch_UNSPECIFIED
}
@@ -1569,131 +1329,131 @@ func (m *EnvoyFilter_Patch) GetFilterClass() EnvoyFilter_Patch_FilterClass {
// One or more match conditions to be met before a patch is applied
// to the generated configuration for a given proxy.
type EnvoyFilter_EnvoyConfigObjectMatch struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// The specific config generation context to match on. Istio Pilot
// generates envoy configuration in the context of a gateway,
// inbound traffic to sidecar and outbound traffic from sidecar.
Context EnvoyFilter_PatchContext `protobuf:"varint,1,opt,name=context,proto3,enum=istio.networking.v1alpha3.EnvoyFilter_PatchContext" json:"context,omitempty"`
// Match on properties associated with a proxy.
Proxy *EnvoyFilter_ProxyMatch `protobuf:"bytes,2,opt,name=proxy,proto3" json:"proxy,omitempty"`
- // Types that are valid to be assigned to ObjectTypes:
+ // Types that are assignable to ObjectTypes:
// *EnvoyFilter_EnvoyConfigObjectMatch_Listener
// *EnvoyFilter_EnvoyConfigObjectMatch_RouteConfiguration
// *EnvoyFilter_EnvoyConfigObjectMatch_Cluster
- ObjectTypes isEnvoyFilter_EnvoyConfigObjectMatch_ObjectTypes `protobuf_oneof:"object_types"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ ObjectTypes isEnvoyFilter_EnvoyConfigObjectMatch_ObjectTypes `protobuf_oneof:"object_types"`
}
-func (m *EnvoyFilter_EnvoyConfigObjectMatch) Reset() { *m = EnvoyFilter_EnvoyConfigObjectMatch{} }
-func (m *EnvoyFilter_EnvoyConfigObjectMatch) String() string { return proto.CompactTextString(m) }
-func (*EnvoyFilter_EnvoyConfigObjectMatch) ProtoMessage() {}
-func (*EnvoyFilter_EnvoyConfigObjectMatch) Descriptor() ([]byte, []int) {
- return fileDescriptor_16d9b2922bd3e4a9, []int{0, 5}
-}
-func (m *EnvoyFilter_EnvoyConfigObjectMatch) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *EnvoyFilter_EnvoyConfigObjectMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_EnvoyFilter_EnvoyConfigObjectMatch.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *EnvoyFilter_EnvoyConfigObjectMatch) Reset() {
+ *x = EnvoyFilter_EnvoyConfigObjectMatch{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_envoy_filter_proto_msgTypes[6]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *EnvoyFilter_EnvoyConfigObjectMatch) XXX_Merge(src proto.Message) {
- xxx_messageInfo_EnvoyFilter_EnvoyConfigObjectMatch.Merge(m, src)
-}
-func (m *EnvoyFilter_EnvoyConfigObjectMatch) XXX_Size() int {
- return m.Size()
-}
-func (m *EnvoyFilter_EnvoyConfigObjectMatch) XXX_DiscardUnknown() {
- xxx_messageInfo_EnvoyFilter_EnvoyConfigObjectMatch.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_EnvoyFilter_EnvoyConfigObjectMatch proto.InternalMessageInfo
-type isEnvoyFilter_EnvoyConfigObjectMatch_ObjectTypes interface {
- isEnvoyFilter_EnvoyConfigObjectMatch_ObjectTypes()
- MarshalTo([]byte) (int, error)
- Size() int
+func (x *EnvoyFilter_EnvoyConfigObjectMatch) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-type EnvoyFilter_EnvoyConfigObjectMatch_Listener struct {
- Listener *EnvoyFilter_ListenerMatch `protobuf:"bytes,3,opt,name=listener,proto3,oneof" json:"listener,omitempty"`
-}
-type EnvoyFilter_EnvoyConfigObjectMatch_RouteConfiguration struct {
- RouteConfiguration *EnvoyFilter_RouteConfigurationMatch `protobuf:"bytes,4,opt,name=route_configuration,json=routeConfiguration,proto3,oneof" json:"route_configuration,omitempty"`
-}
-type EnvoyFilter_EnvoyConfigObjectMatch_Cluster struct {
- Cluster *EnvoyFilter_ClusterMatch `protobuf:"bytes,5,opt,name=cluster,proto3,oneof" json:"cluster,omitempty"`
-}
+func (*EnvoyFilter_EnvoyConfigObjectMatch) ProtoMessage() {}
-func (*EnvoyFilter_EnvoyConfigObjectMatch_Listener) isEnvoyFilter_EnvoyConfigObjectMatch_ObjectTypes() {
-}
-func (*EnvoyFilter_EnvoyConfigObjectMatch_RouteConfiguration) isEnvoyFilter_EnvoyConfigObjectMatch_ObjectTypes() {
+func (x *EnvoyFilter_EnvoyConfigObjectMatch) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_envoy_filter_proto_msgTypes[6]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-func (*EnvoyFilter_EnvoyConfigObjectMatch_Cluster) isEnvoyFilter_EnvoyConfigObjectMatch_ObjectTypes() {
+
+// Deprecated: Use EnvoyFilter_EnvoyConfigObjectMatch.ProtoReflect.Descriptor instead.
+func (*EnvoyFilter_EnvoyConfigObjectMatch) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_envoy_filter_proto_rawDescGZIP(), []int{0, 5}
}
-func (m *EnvoyFilter_EnvoyConfigObjectMatch) GetObjectTypes() isEnvoyFilter_EnvoyConfigObjectMatch_ObjectTypes {
- if m != nil {
- return m.ObjectTypes
+func (x *EnvoyFilter_EnvoyConfigObjectMatch) GetContext() EnvoyFilter_PatchContext {
+ if x != nil {
+ return x.Context
}
- return nil
+ return EnvoyFilter_ANY
}
-func (m *EnvoyFilter_EnvoyConfigObjectMatch) GetContext() EnvoyFilter_PatchContext {
- if m != nil {
- return m.Context
+func (x *EnvoyFilter_EnvoyConfigObjectMatch) GetProxy() *EnvoyFilter_ProxyMatch {
+ if x != nil {
+ return x.Proxy
}
- return EnvoyFilter_ANY
+ return nil
}
-func (m *EnvoyFilter_EnvoyConfigObjectMatch) GetProxy() *EnvoyFilter_ProxyMatch {
+func (m *EnvoyFilter_EnvoyConfigObjectMatch) GetObjectTypes() isEnvoyFilter_EnvoyConfigObjectMatch_ObjectTypes {
if m != nil {
- return m.Proxy
+ return m.ObjectTypes
}
return nil
}
-func (m *EnvoyFilter_EnvoyConfigObjectMatch) GetListener() *EnvoyFilter_ListenerMatch {
- if x, ok := m.GetObjectTypes().(*EnvoyFilter_EnvoyConfigObjectMatch_Listener); ok {
+func (x *EnvoyFilter_EnvoyConfigObjectMatch) GetListener() *EnvoyFilter_ListenerMatch {
+ if x, ok := x.GetObjectTypes().(*EnvoyFilter_EnvoyConfigObjectMatch_Listener); ok {
return x.Listener
}
return nil
}
-func (m *EnvoyFilter_EnvoyConfigObjectMatch) GetRouteConfiguration() *EnvoyFilter_RouteConfigurationMatch {
- if x, ok := m.GetObjectTypes().(*EnvoyFilter_EnvoyConfigObjectMatch_RouteConfiguration); ok {
+func (x *EnvoyFilter_EnvoyConfigObjectMatch) GetRouteConfiguration() *EnvoyFilter_RouteConfigurationMatch {
+ if x, ok := x.GetObjectTypes().(*EnvoyFilter_EnvoyConfigObjectMatch_RouteConfiguration); ok {
return x.RouteConfiguration
}
return nil
}
-func (m *EnvoyFilter_EnvoyConfigObjectMatch) GetCluster() *EnvoyFilter_ClusterMatch {
- if x, ok := m.GetObjectTypes().(*EnvoyFilter_EnvoyConfigObjectMatch_Cluster); ok {
+func (x *EnvoyFilter_EnvoyConfigObjectMatch) GetCluster() *EnvoyFilter_ClusterMatch {
+ if x, ok := x.GetObjectTypes().(*EnvoyFilter_EnvoyConfigObjectMatch_Cluster); ok {
return x.Cluster
}
return nil
}
-// XXX_OneofWrappers is for the internal use of the proto package.
-func (*EnvoyFilter_EnvoyConfigObjectMatch) XXX_OneofWrappers() []interface{} {
- return []interface{}{
- (*EnvoyFilter_EnvoyConfigObjectMatch_Listener)(nil),
- (*EnvoyFilter_EnvoyConfigObjectMatch_RouteConfiguration)(nil),
- (*EnvoyFilter_EnvoyConfigObjectMatch_Cluster)(nil),
- }
+type isEnvoyFilter_EnvoyConfigObjectMatch_ObjectTypes interface {
+ isEnvoyFilter_EnvoyConfigObjectMatch_ObjectTypes()
+}
+
+type EnvoyFilter_EnvoyConfigObjectMatch_Listener struct {
+ // Match on envoy listener attributes.
+ Listener *EnvoyFilter_ListenerMatch `protobuf:"bytes,3,opt,name=listener,proto3,oneof"`
+}
+
+type EnvoyFilter_EnvoyConfigObjectMatch_RouteConfiguration struct {
+ // Match on envoy HTTP route configuration attributes.
+ RouteConfiguration *EnvoyFilter_RouteConfigurationMatch `protobuf:"bytes,4,opt,name=route_configuration,json=routeConfiguration,proto3,oneof"`
+}
+
+type EnvoyFilter_EnvoyConfigObjectMatch_Cluster struct {
+ // Match on envoy cluster attributes.
+ Cluster *EnvoyFilter_ClusterMatch `protobuf:"bytes,5,opt,name=cluster,proto3,oneof"`
+}
+
+func (*EnvoyFilter_EnvoyConfigObjectMatch_Listener) isEnvoyFilter_EnvoyConfigObjectMatch_ObjectTypes() {
+}
+
+func (*EnvoyFilter_EnvoyConfigObjectMatch_RouteConfiguration) isEnvoyFilter_EnvoyConfigObjectMatch_ObjectTypes() {
+}
+
+func (*EnvoyFilter_EnvoyConfigObjectMatch_Cluster) isEnvoyFilter_EnvoyConfigObjectMatch_ObjectTypes() {
}
// Changes to be made to various envoy config objects.
type EnvoyFilter_EnvoyConfigObjectPatch struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Specifies where in the Envoy configuration, the patch should be
// applied. The match is expected to select the appropriate
// object based on applyTo. For example, an applyTo with
@@ -1707,3397 +1467,891 @@ type EnvoyFilter_EnvoyConfigObjectPatch struct {
// Match on listener/route configuration/cluster.
Match *EnvoyFilter_EnvoyConfigObjectMatch `protobuf:"bytes,2,opt,name=match,proto3" json:"match,omitempty"`
// The patch to apply along with the operation.
- Patch *EnvoyFilter_Patch `protobuf:"bytes,3,opt,name=patch,proto3" json:"patch,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Patch *EnvoyFilter_Patch `protobuf:"bytes,3,opt,name=patch,proto3" json:"patch,omitempty"`
}
-func (m *EnvoyFilter_EnvoyConfigObjectPatch) Reset() { *m = EnvoyFilter_EnvoyConfigObjectPatch{} }
-func (m *EnvoyFilter_EnvoyConfigObjectPatch) String() string { return proto.CompactTextString(m) }
-func (*EnvoyFilter_EnvoyConfigObjectPatch) ProtoMessage() {}
-func (*EnvoyFilter_EnvoyConfigObjectPatch) Descriptor() ([]byte, []int) {
- return fileDescriptor_16d9b2922bd3e4a9, []int{0, 6}
-}
-func (m *EnvoyFilter_EnvoyConfigObjectPatch) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *EnvoyFilter_EnvoyConfigObjectPatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_EnvoyFilter_EnvoyConfigObjectPatch.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *EnvoyFilter_EnvoyConfigObjectPatch) Reset() {
+ *x = EnvoyFilter_EnvoyConfigObjectPatch{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_envoy_filter_proto_msgTypes[7]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *EnvoyFilter_EnvoyConfigObjectPatch) XXX_Merge(src proto.Message) {
- xxx_messageInfo_EnvoyFilter_EnvoyConfigObjectPatch.Merge(m, src)
-}
-func (m *EnvoyFilter_EnvoyConfigObjectPatch) XXX_Size() int {
- return m.Size()
+
+func (x *EnvoyFilter_EnvoyConfigObjectPatch) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *EnvoyFilter_EnvoyConfigObjectPatch) XXX_DiscardUnknown() {
- xxx_messageInfo_EnvoyFilter_EnvoyConfigObjectPatch.DiscardUnknown(m)
+
+func (*EnvoyFilter_EnvoyConfigObjectPatch) ProtoMessage() {}
+
+func (x *EnvoyFilter_EnvoyConfigObjectPatch) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_envoy_filter_proto_msgTypes[7]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_EnvoyFilter_EnvoyConfigObjectPatch proto.InternalMessageInfo
+// Deprecated: Use EnvoyFilter_EnvoyConfigObjectPatch.ProtoReflect.Descriptor instead.
+func (*EnvoyFilter_EnvoyConfigObjectPatch) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_envoy_filter_proto_rawDescGZIP(), []int{0, 6}
+}
-func (m *EnvoyFilter_EnvoyConfigObjectPatch) GetApplyTo() EnvoyFilter_ApplyTo {
- if m != nil {
- return m.ApplyTo
+func (x *EnvoyFilter_EnvoyConfigObjectPatch) GetApplyTo() EnvoyFilter_ApplyTo {
+ if x != nil {
+ return x.ApplyTo
}
return EnvoyFilter_INVALID
}
-func (m *EnvoyFilter_EnvoyConfigObjectPatch) GetMatch() *EnvoyFilter_EnvoyConfigObjectMatch {
- if m != nil {
- return m.Match
+func (x *EnvoyFilter_EnvoyConfigObjectPatch) GetMatch() *EnvoyFilter_EnvoyConfigObjectMatch {
+ if x != nil {
+ return x.Match
}
return nil
}
-func (m *EnvoyFilter_EnvoyConfigObjectPatch) GetPatch() *EnvoyFilter_Patch {
- if m != nil {
- return m.Patch
+func (x *EnvoyFilter_EnvoyConfigObjectPatch) GetPatch() *EnvoyFilter_Patch {
+ if x != nil {
+ return x.Patch
}
return nil
}
-func init() {
- proto.RegisterEnum("istio.networking.v1alpha3.EnvoyFilter_ApplyTo", EnvoyFilter_ApplyTo_name, EnvoyFilter_ApplyTo_value)
- proto.RegisterEnum("istio.networking.v1alpha3.EnvoyFilter_PatchContext", EnvoyFilter_PatchContext_name, EnvoyFilter_PatchContext_value)
- proto.RegisterEnum("istio.networking.v1alpha3.EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action", EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action_name, EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action_value)
- proto.RegisterEnum("istio.networking.v1alpha3.EnvoyFilter_Patch_Operation", EnvoyFilter_Patch_Operation_name, EnvoyFilter_Patch_Operation_value)
- proto.RegisterEnum("istio.networking.v1alpha3.EnvoyFilter_Patch_FilterClass", EnvoyFilter_Patch_FilterClass_name, EnvoyFilter_Patch_FilterClass_value)
- proto.RegisterType((*EnvoyFilter)(nil), "istio.networking.v1alpha3.EnvoyFilter")
- proto.RegisterType((*EnvoyFilter_ProxyMatch)(nil), "istio.networking.v1alpha3.EnvoyFilter.ProxyMatch")
- proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.EnvoyFilter.ProxyMatch.MetadataEntry")
- proto.RegisterType((*EnvoyFilter_ClusterMatch)(nil), "istio.networking.v1alpha3.EnvoyFilter.ClusterMatch")
- proto.RegisterType((*EnvoyFilter_RouteConfigurationMatch)(nil), "istio.networking.v1alpha3.EnvoyFilter.RouteConfigurationMatch")
- proto.RegisterType((*EnvoyFilter_RouteConfigurationMatch_RouteMatch)(nil), "istio.networking.v1alpha3.EnvoyFilter.RouteConfigurationMatch.RouteMatch")
- proto.RegisterType((*EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch)(nil), "istio.networking.v1alpha3.EnvoyFilter.RouteConfigurationMatch.VirtualHostMatch")
- proto.RegisterType((*EnvoyFilter_ListenerMatch)(nil), "istio.networking.v1alpha3.EnvoyFilter.ListenerMatch")
- proto.RegisterType((*EnvoyFilter_ListenerMatch_FilterChainMatch)(nil), "istio.networking.v1alpha3.EnvoyFilter.ListenerMatch.FilterChainMatch")
- proto.RegisterType((*EnvoyFilter_ListenerMatch_FilterMatch)(nil), "istio.networking.v1alpha3.EnvoyFilter.ListenerMatch.FilterMatch")
- proto.RegisterType((*EnvoyFilter_ListenerMatch_SubFilterMatch)(nil), "istio.networking.v1alpha3.EnvoyFilter.ListenerMatch.SubFilterMatch")
- proto.RegisterType((*EnvoyFilter_Patch)(nil), "istio.networking.v1alpha3.EnvoyFilter.Patch")
- proto.RegisterType((*EnvoyFilter_EnvoyConfigObjectMatch)(nil), "istio.networking.v1alpha3.EnvoyFilter.EnvoyConfigObjectMatch")
- proto.RegisterType((*EnvoyFilter_EnvoyConfigObjectPatch)(nil), "istio.networking.v1alpha3.EnvoyFilter.EnvoyConfigObjectPatch")
-}
-
-func init() {
- proto.RegisterFile("networking/v1alpha3/envoy_filter.proto", fileDescriptor_16d9b2922bd3e4a9)
-}
-
-var fileDescriptor_16d9b2922bd3e4a9 = []byte{
- // 1395 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0x4f, 0x6f, 0xdb, 0x46,
- 0x16, 0x37, 0xf5, 0x5f, 0x4f, 0xb2, 0x3c, 0x19, 0x67, 0x13, 0x45, 0xbb, 0x48, 0xbc, 0xde, 0xc5,
- 0xc2, 0x8b, 0xdd, 0xc8, 0x88, 0x5c, 0x14, 0x41, 0x8b, 0x36, 0xa5, 0x65, 0xda, 0x62, 0x6a, 0x93,
- 0xc2, 0x90, 0x72, 0xfe, 0x1d, 0x08, 0x4a, 0x1e, 0xdb, 0x4c, 0x68, 0x52, 0x25, 0x47, 0x4e, 0x04,
- 0xf4, 0x5a, 0xf4, 0x53, 0xf4, 0xd0, 0x5b, 0x3f, 0x48, 0x0f, 0x01, 0x7a, 0xe9, 0xb1, 0xc7, 0xc2,
- 0x9f, 0xa3, 0x87, 0x82, 0x33, 0x43, 0x49, 0x4e, 0x94, 0x40, 0x4e, 0x7a, 0x9b, 0x79, 0x6f, 0xde,
- 0x8f, 0xbf, 0x37, 0xef, 0xcf, 0x3c, 0xc2, 0x7f, 0x02, 0xca, 0x5e, 0x86, 0xd1, 0x0b, 0x2f, 0x38,
- 0xd9, 0x3c, 0xbf, 0xe7, 0xfa, 0xc3, 0x53, 0x77, 0x6b, 0x93, 0x06, 0xe7, 0xe1, 0xd8, 0x39, 0xf6,
- 0x7c, 0x46, 0xa3, 0xe6, 0x30, 0x0a, 0x59, 0x88, 0x6f, 0x79, 0x31, 0xf3, 0xc2, 0xe6, 0xf4, 0x74,
- 0x33, 0x3d, 0xdd, 0xb8, 0x73, 0x12, 0x86, 0x27, 0x3e, 0xdd, 0x74, 0x87, 0xde, 0xe6, 0xb1, 0x47,
- 0xfd, 0x23, 0xa7, 0x4f, 0x4f, 0xdd, 0x73, 0x2f, 0x94, 0xb6, 0x8d, 0x7f, 0xc8, 0x03, 0x7c, 0xd7,
- 0x1f, 0x1d, 0x6f, 0xc6, 0x2c, 0x1a, 0x0d, 0x98, 0xd4, 0xfe, 0x73, 0x1e, 0x83, 0xd8, 0x3b, 0xa2,
- 0x03, 0x57, 0x02, 0xac, 0x5f, 0xdc, 0x82, 0x8a, 0x96, 0x70, 0xda, 0xe5, 0x94, 0xf0, 0x63, 0xb8,
- 0x96, 0x58, 0xf8, 0xa1, 0x7b, 0xe4, 0xc4, 0xd4, 0xa7, 0x03, 0x16, 0x46, 0xf5, 0xec, 0x9a, 0xb2,
- 0x51, 0x69, 0xfd, 0xaf, 0xf9, 0x4e, 0xa2, 0xcd, 0x47, 0xd2, 0xc6, 0x92, 0x26, 0x04, 0xbd, 0x7c,
- 0x43, 0x82, 0x9f, 0x43, 0x6d, 0x10, 0x06, 0xc7, 0xde, 0x89, 0x33, 0x74, 0xd9, 0xe0, 0x94, 0xc6,
- 0xf5, 0xdc, 0x5a, 0x76, 0xa3, 0xd2, 0xfa, 0xe2, 0x3d, 0xb0, 0x33, 0xcc, 0xc4, 0xba, 0xcd, 0x11,
- 0xcc, 0xfe, 0x73, 0x3a, 0x60, 0xdd, 0x04, 0x66, 0x3b, 0x77, 0xa1, 0x2a, 0x19, 0xb2, 0x2c, 0xa0,
- 0xbb, 0x02, 0x19, 0x37, 0xa0, 0x34, 0x8c, 0xbc, 0x30, 0xf2, 0xd8, 0xb8, 0x9e, 0x5f, 0x53, 0x36,
- 0xf2, 0x64, 0xb2, 0x6f, 0xfc, 0xa2, 0x00, 0x74, 0xa3, 0xf0, 0xd5, 0xf8, 0x20, 0x39, 0x8c, 0xff,
- 0x05, 0xcb, 0xc3, 0x64, 0xe7, 0x9c, 0xd3, 0x28, 0xf6, 0xc2, 0xa0, 0xae, 0xac, 0x29, 0x1b, 0x65,
- 0x52, 0xe5, 0xc2, 0x43, 0x21, 0xc3, 0xcf, 0xa0, 0x74, 0x46, 0x99, 0x7b, 0xe4, 0x32, 0xb7, 0x9e,
- 0xe1, 0xac, 0x1f, 0x2c, 0xc8, 0x7a, 0xfa, 0xa5, 0xe6, 0x81, 0x44, 0xd0, 0x02, 0x16, 0x8d, 0xc9,
- 0x04, 0xb0, 0xf1, 0x39, 0x2c, 0x5f, 0x52, 0x61, 0x04, 0xd9, 0x17, 0x74, 0x2c, 0x89, 0x24, 0x4b,
- 0x7c, 0x1d, 0xf2, 0xe7, 0xae, 0x3f, 0xa2, 0xf5, 0x0c, 0x97, 0x89, 0xcd, 0x67, 0x99, 0xfb, 0x4a,
- 0x63, 0x04, 0xd5, 0xb6, 0x3f, 0x8a, 0x19, 0x8d, 0x84, 0x3b, 0x77, 0xa0, 0x32, 0x0c, 0x23, 0xe6,
- 0x04, 0xa3, 0xb3, 0x3e, 0x8d, 0x38, 0xc6, 0x32, 0x81, 0x44, 0x64, 0x70, 0x09, 0xae, 0x43, 0x31,
- 0xa6, 0xd1, 0xb9, 0x37, 0x48, 0xc1, 0xd2, 0x2d, 0xbe, 0x01, 0x85, 0x78, 0xd4, 0x8f, 0x29, 0xe3,
- 0xf1, 0x2e, 0x13, 0xb9, 0xc3, 0x18, 0x72, 0x81, 0x7b, 0x46, 0xeb, 0x39, 0x2e, 0xe5, 0xeb, 0xc6,
- 0xcf, 0x39, 0xb8, 0x49, 0xc2, 0x11, 0xa3, 0x22, 0x20, 0xa3, 0xc8, 0x65, 0x5e, 0x18, 0x2c, 0x48,
- 0xe1, 0xef, 0x50, 0x16, 0x07, 0x12, 0x54, 0x41, 0xa2, 0xc4, 0xd5, 0xee, 0x19, 0x4d, 0xf8, 0x9d,
- 0xb8, 0x8c, 0xbe, 0x74, 0xc7, 0x92, 0x46, 0xba, 0xc5, 0x14, 0xf2, 0xe7, 0xa7, 0x61, 0xcc, 0x38,
- 0x91, 0x4a, 0xcb, 0x5c, 0x30, 0x02, 0xef, 0xa0, 0xd9, 0x3c, 0xf4, 0x22, 0x36, 0x72, 0xfd, 0x4e,
- 0x18, 0x33, 0x2e, 0x20, 0x02, 0x7d, 0xe2, 0x6e, 0x7e, 0xc6, 0xdd, 0x24, 0x67, 0x38, 0x8e, 0xf0,
- 0x30, 0x3d, 0xa2, 0x4c, 0x8f, 0xe0, 0x53, 0x28, 0xb8, 0x83, 0x04, 0x9d, 0x7b, 0x54, 0x6b, 0x75,
- 0x3f, 0x92, 0xde, 0xf4, 0x73, 0x4d, 0x95, 0xe3, 0x12, 0x89, 0xbf, 0xfe, 0x00, 0x0a, 0x42, 0x82,
- 0x8b, 0x90, 0x55, 0x8d, 0x27, 0x68, 0x09, 0x97, 0x21, 0x4f, 0xcc, 0x9e, 0xad, 0x21, 0x05, 0x57,
- 0xa1, 0x44, 0xb4, 0x1d, 0x9d, 0x68, 0x6d, 0x1b, 0x65, 0xf0, 0x2a, 0xac, 0x88, 0xb5, 0x43, 0x34,
- 0xab, 0x6b, 0x1a, 0x96, 0x86, 0xb2, 0x8d, 0xef, 0x15, 0x40, 0x6f, 0x7a, 0x3f, 0xd7, 0x27, 0x07,
- 0xf2, 0x51, 0x42, 0x83, 0xbb, 0x54, 0x69, 0xe9, 0x7f, 0x99, 0x4b, 0x44, 0xe0, 0x36, 0x7e, 0xc8,
- 0xc3, 0xf2, 0xbe, 0x17, 0x33, 0x1a, 0x2c, 0x9c, 0xbf, 0xef, 0x4d, 0x9e, 0x53, 0xa8, 0x8a, 0xd6,
- 0xea, 0x0c, 0x4e, 0x5d, 0x2f, 0x90, 0x8d, 0x4b, 0x5b, 0x90, 0xf7, 0x25, 0x26, 0x4d, 0x21, 0x6c,
- 0x27, 0x38, 0x82, 0x73, 0xe5, 0x78, 0x2a, 0x99, 0x5b, 0x14, 0x3f, 0x66, 0x00, 0xbd, 0x69, 0x35,
- 0xf7, 0x5e, 0x11, 0x64, 0xe3, 0xc0, 0x93, 0xec, 0x93, 0x25, 0xbe, 0x0b, 0x98, 0x45, 0x6e, 0x10,
- 0x73, 0xd7, 0x78, 0x67, 0x1e, 0x84, 0xbe, 0x2c, 0x80, 0x6b, 0x13, 0x4d, 0x57, 0x2a, 0xf0, 0x16,
- 0xfc, 0xcd, 0x1d, 0x0e, 0x7d, 0x6f, 0xc0, 0x6f, 0x77, 0x62, 0x10, 0x4b, 0x3a, 0xd7, 0x67, 0x94,
- 0xa9, 0x4d, 0x8c, 0x1f, 0x43, 0x41, 0x78, 0xc0, 0x53, 0xbb, 0xd2, 0xfa, 0xea, 0x23, 0xae, 0x45,
- 0xdc, 0x88, 0xc4, 0xc3, 0xff, 0x05, 0x74, 0x44, 0x63, 0xe6, 0x05, 0x92, 0x4e, 0x18, 0xb1, 0x7a,
- 0x81, 0x47, 0x6e, 0x65, 0x46, 0xde, 0x0d, 0x23, 0xd6, 0xf8, 0x4e, 0x81, 0xca, 0x0c, 0xc4, 0xdc,
- 0xeb, 0xe9, 0x03, 0xc4, 0xa3, 0xbe, 0x7c, 0x24, 0x65, 0xee, 0xb5, 0x3f, 0x88, 0xac, 0x35, 0xea,
- 0xcf, 0xf2, 0x2d, 0xc7, 0xe9, 0xbe, 0xf1, 0x6f, 0xa8, 0x5d, 0x56, 0xce, 0x63, 0xd2, 0xf8, 0x29,
- 0x0b, 0x79, 0xfe, 0xa6, 0x60, 0x1b, 0xca, 0xe1, 0x90, 0x8a, 0x6c, 0xe6, 0x47, 0x6a, 0xad, 0x4f,
- 0x17, 0x7d, 0x02, 0x38, 0x15, 0x33, 0xb5, 0x26, 0x53, 0x20, 0x7c, 0x77, 0xb6, 0xaf, 0x57, 0x5a,
- 0x37, 0x9b, 0xe2, 0x39, 0x6f, 0xa6, 0xcf, 0x79, 0xd3, 0xe2, 0xcf, 0xb9, 0x6c, 0xf8, 0xf8, 0xd9,
- 0x34, 0xbd, 0x7d, 0x37, 0x8e, 0x79, 0x7e, 0xd4, 0x5a, 0xf7, 0xaf, 0xc4, 0x43, 0x26, 0x68, 0x62,
- 0x3f, 0xc9, 0xe8, 0x64, 0xb3, 0xfe, 0x2d, 0x94, 0x27, 0x1c, 0x71, 0x05, 0x8a, 0xba, 0x71, 0xa8,
- 0xee, 0xeb, 0x3b, 0xa2, 0xbb, 0x1c, 0x68, 0x64, 0x2f, 0xe9, 0x2e, 0x49, 0xc7, 0xd9, 0xd9, 0x41,
- 0x19, 0x0c, 0x50, 0x20, 0xda, 0x81, 0x79, 0xa8, 0xa1, 0x2c, 0xbe, 0x06, 0xcb, 0xba, 0x61, 0x69,
- 0xc4, 0x76, 0xb6, 0xb5, 0x5d, 0x93, 0x68, 0x28, 0x87, 0x11, 0x54, 0xa5, 0x48, 0xdd, 0xb5, 0x35,
- 0x82, 0xf2, 0x33, 0x92, 0x5d, 0x9d, 0x58, 0x36, 0x2a, 0x24, 0xdf, 0x20, 0x5a, 0x77, 0x5f, 0x6d,
- 0x6b, 0xa8, 0xb8, 0xfe, 0x20, 0x4d, 0x0b, 0x4e, 0x06, 0xaf, 0x40, 0xa5, 0x67, 0x58, 0x5d, 0xad,
- 0xad, 0xef, 0xea, 0x9a, 0xe4, 0xa0, 0xf6, 0xec, 0x8e, 0x81, 0x94, 0x74, 0xf9, 0x14, 0x65, 0x92,
- 0xa5, 0x65, 0xab, 0xb6, 0x85, 0xb2, 0x8d, 0xdf, 0xb2, 0x70, 0xe3, 0xad, 0x11, 0x41, 0x44, 0xf6,
- 0x00, 0x8a, 0x83, 0x30, 0x60, 0xf4, 0x15, 0x93, 0x91, 0xdb, 0xba, 0xca, 0x8d, 0xb5, 0x85, 0x29,
- 0x49, 0x31, 0xf0, 0x1e, 0xe4, 0xf9, 0x70, 0x20, 0x83, 0x76, 0xef, 0xca, 0x93, 0x00, 0x11, 0xf6,
- 0x98, 0x40, 0xc9, 0x97, 0xe9, 0x2a, 0x3b, 0xd5, 0x27, 0x1f, 0x92, 0xe5, 0x9d, 0x25, 0x32, 0xc1,
- 0xc1, 0xdf, 0xc0, 0x2a, 0x6f, 0xad, 0xce, 0x60, 0xb6, 0xff, 0xca, 0x27, 0xf3, 0xcb, 0x8f, 0x6b,
- 0xe0, 0x9d, 0x25, 0x82, 0xa3, 0xb7, 0x54, 0xd8, 0x84, 0xe2, 0x40, 0x8c, 0x20, 0xb2, 0xb1, 0x2c,
- 0x7a, 0xbd, 0xb3, 0x83, 0x4b, 0x67, 0x89, 0xa4, 0x28, 0xdb, 0x35, 0xa8, 0x86, 0x3c, 0x7c, 0x0e,
- 0x1b, 0x0f, 0x69, 0xdc, 0xf8, 0x43, 0x99, 0x13, 0x5a, 0x51, 0x96, 0x3a, 0x94, 0x92, 0x5e, 0x37,
- 0x76, 0x58, 0x28, 0x63, 0xdb, 0x5c, 0xf0, 0xe3, 0x6a, 0x62, 0x66, 0x87, 0xa4, 0xe8, 0x8a, 0x05,
- 0xb6, 0x20, 0x7f, 0x96, 0x60, 0xca, 0xb0, 0x7e, 0xf0, 0x58, 0x2a, 0x43, 0xcc, 0xb1, 0xf0, 0x36,
- 0xe4, 0xf9, 0xb4, 0x2b, 0xe3, 0xfb, 0xff, 0xab, 0x24, 0x1e, 0x11, 0xa6, 0xeb, 0xaf, 0x15, 0x28,
- 0x4a, 0xb6, 0x97, 0xeb, 0xb2, 0x0a, 0xa5, 0x7d, 0xdd, 0xb2, 0x35, 0x43, 0x23, 0x48, 0x49, 0x0a,
- 0x6c, 0x57, 0xdf, 0xb7, 0x35, 0xe2, 0xb4, 0x3b, 0xaa, 0x6e, 0xa0, 0x0c, 0xc6, 0x50, 0x33, 0x34,
- 0xfb, 0x91, 0x49, 0xbe, 0x76, 0x84, 0x06, 0x65, 0x93, 0xc2, 0xea, 0xd8, 0x76, 0x37, 0x15, 0xe4,
- 0xf0, 0x4d, 0x58, 0xe5, 0xa3, 0x83, 0xd3, 0x36, 0x8d, 0x5d, 0x7d, 0xaf, 0x47, 0x54, 0x5b, 0x37,
- 0x0d, 0x51, 0xb0, 0x87, 0x3a, 0xb1, 0x7b, 0xea, 0xbe, 0xd3, 0x31, 0x79, 0xc1, 0xd6, 0x00, 0xb8,
- 0xad, 0x18, 0x35, 0x8a, 0x09, 0x99, 0xf6, 0x7e, 0xcf, 0x4a, 0x70, 0x4a, 0xf8, 0x3a, 0x20, 0xed,
- 0xb1, 0xad, 0x19, 0x96, 0x6e, 0x1a, 0x12, 0x0b, 0x95, 0xf1, 0x32, 0x94, 0xb7, 0x4d, 0xd3, 0xb6,
- 0x6c, 0xa2, 0x76, 0x11, 0xac, 0x9b, 0x50, 0x9d, 0xad, 0xa9, 0xe9, 0x00, 0xb3, 0x0a, 0x2b, 0x96,
- 0xbe, 0xa3, 0xb5, 0x55, 0xe2, 0xe8, 0xc6, 0xb6, 0xd9, 0x33, 0x76, 0x90, 0x92, 0x40, 0xa6, 0x42,
- 0xb3, 0x67, 0x0b, 0x69, 0x26, 0xf9, 0xea, 0x9e, 0x6a, 0x6b, 0x8f, 0xd4, 0x27, 0x28, 0xfb, 0x30,
- 0x57, 0x52, 0x50, 0xe6, 0x61, 0xae, 0x94, 0x41, 0x59, 0x52, 0x14, 0xdd, 0x2c, 0x26, 0x2b, 0x93,
- 0x3f, 0x18, 0xdf, 0xed, 0x53, 0x3f, 0xde, 0x6e, 0xbe, 0xbe, 0xb8, 0xad, 0xfc, 0x7a, 0x71, 0x5b,
- 0xf9, 0xfd, 0xe2, 0xb6, 0xf2, 0x74, 0x4d, 0xc4, 0xc0, 0x0b, 0xf9, 0x6f, 0xd5, 0x9c, 0x5f, 0xa4,
- 0x7e, 0x81, 0xf7, 0xdf, 0xad, 0x3f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x6c, 0x52, 0xc2, 0x55, 0xc2,
- 0x0d, 0x00, 0x00,
-}
-
-func (m *EnvoyFilter) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
+// Match a specific route inside a virtual host in a route configuration.
+type EnvoyFilter_RouteConfigurationMatch_RouteMatch struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
-func (m *EnvoyFilter) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+ // The Route objects generated by default are named as
+ // default. Route objects generated using a virtual service
+ // will carry the name used in the virtual service's HTTP
+ // routes.
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ // Match a route with specific action type.
+ Action EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action `protobuf:"varint,2,opt,name=action,proto3,enum=istio.networking.v1alpha3.EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action" json:"action,omitempty"`
}
-func (m *EnvoyFilter) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
+func (x *EnvoyFilter_RouteConfigurationMatch_RouteMatch) Reset() {
+ *x = EnvoyFilter_RouteConfigurationMatch_RouteMatch{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_envoy_filter_proto_msgTypes[9]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- if m.Priority != 0 {
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(m.Priority))
- i--
- dAtA[i] = 0x28
- }
- if len(m.ConfigPatches) > 0 {
- for iNdEx := len(m.ConfigPatches) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.ConfigPatches[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x22
- }
- }
- if m.WorkloadSelector != nil {
- {
- size, err := m.WorkloadSelector.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- return len(dAtA) - i, nil
}
-func (m *EnvoyFilter_ProxyMatch) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
+func (x *EnvoyFilter_RouteConfigurationMatch_RouteMatch) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *EnvoyFilter_ProxyMatch) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
+func (*EnvoyFilter_RouteConfigurationMatch_RouteMatch) ProtoMessage() {}
-func (m *EnvoyFilter_ProxyMatch) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Metadata) > 0 {
- for k := range m.Metadata {
- v := m.Metadata[k]
- baseI := i
- i -= len(v)
- copy(dAtA[i:], v)
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(len(v)))
- i--
- dAtA[i] = 0x12
- i -= len(k)
- copy(dAtA[i:], k)
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(len(k)))
- i--
- dAtA[i] = 0xa
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(baseI-i))
- i--
- dAtA[i] = 0x12
+func (x *EnvoyFilter_RouteConfigurationMatch_RouteMatch) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_envoy_filter_proto_msgTypes[9]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
+ return ms
}
- if len(m.ProxyVersion) > 0 {
- i -= len(m.ProxyVersion)
- copy(dAtA[i:], m.ProxyVersion)
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(len(m.ProxyVersion)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func (m *EnvoyFilter_ClusterMatch) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *EnvoyFilter_ClusterMatch) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+ return mi.MessageOf(x)
}
-func (m *EnvoyFilter_ClusterMatch) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Name) > 0 {
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0x22
- }
- if len(m.Subset) > 0 {
- i -= len(m.Subset)
- copy(dAtA[i:], m.Subset)
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(len(m.Subset)))
- i--
- dAtA[i] = 0x1a
- }
- if len(m.Service) > 0 {
- i -= len(m.Service)
- copy(dAtA[i:], m.Service)
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(len(m.Service)))
- i--
- dAtA[i] = 0x12
- }
- if m.PortNumber != 0 {
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(m.PortNumber))
- i--
- dAtA[i] = 0x8
- }
- return len(dAtA) - i, nil
+// Deprecated: Use EnvoyFilter_RouteConfigurationMatch_RouteMatch.ProtoReflect.Descriptor instead.
+func (*EnvoyFilter_RouteConfigurationMatch_RouteMatch) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_envoy_filter_proto_rawDescGZIP(), []int{0, 2, 0}
}
-func (m *EnvoyFilter_RouteConfigurationMatch) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
+func (x *EnvoyFilter_RouteConfigurationMatch_RouteMatch) GetName() string {
+ if x != nil {
+ return x.Name
}
- return dAtA[:n], nil
-}
-
-func (m *EnvoyFilter_RouteConfigurationMatch) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+ return ""
}
-func (m *EnvoyFilter_RouteConfigurationMatch) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Name) > 0 {
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0x2a
- }
- if m.Vhost != nil {
- {
- size, err := m.Vhost.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x22
- }
- if len(m.Gateway) > 0 {
- i -= len(m.Gateway)
- copy(dAtA[i:], m.Gateway)
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(len(m.Gateway)))
- i--
- dAtA[i] = 0x1a
- }
- if len(m.PortName) > 0 {
- i -= len(m.PortName)
- copy(dAtA[i:], m.PortName)
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(len(m.PortName)))
- i--
- dAtA[i] = 0x12
+func (x *EnvoyFilter_RouteConfigurationMatch_RouteMatch) GetAction() EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action {
+ if x != nil {
+ return x.Action
}
- if m.PortNumber != 0 {
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(m.PortNumber))
- i--
- dAtA[i] = 0x8
- }
- return len(dAtA) - i, nil
+ return EnvoyFilter_RouteConfigurationMatch_RouteMatch_ANY
}
-func (m *EnvoyFilter_RouteConfigurationMatch_RouteMatch) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
+// Match a specific virtual host inside a route configuration.
+type EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
-func (m *EnvoyFilter_RouteConfigurationMatch_RouteMatch) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+ // The VirtualHosts objects generated by Istio are named as
+ // host:port, where the host typically corresponds to the
+ // VirtualService's host field or the hostname of a service in the
+ // registry.
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ // Match a specific route within the virtual host.
+ Route *EnvoyFilter_RouteConfigurationMatch_RouteMatch `protobuf:"bytes,2,opt,name=route,proto3" json:"route,omitempty"`
}
-func (m *EnvoyFilter_RouteConfigurationMatch_RouteMatch) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
+func (x *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) Reset() {
+ *x = EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_envoy_filter_proto_msgTypes[10]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- if m.Action != 0 {
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(m.Action))
- i--
- dAtA[i] = 0x10
- }
- if len(m.Name) > 0 {
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
}
-func (m *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
+func (x *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
+func (*EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) ProtoMessage() {}
-func (m *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Route != nil {
- {
- size, err := m.Route.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(size))
+func (x *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_envoy_filter_proto_msgTypes[10]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- i--
- dAtA[i] = 0x12
- }
- if len(m.Name) > 0 {
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0xa
+ return ms
}
- return len(dAtA) - i, nil
+ return mi.MessageOf(x)
}
-func (m *EnvoyFilter_ListenerMatch) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *EnvoyFilter_ListenerMatch) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+// Deprecated: Use EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch.ProtoReflect.Descriptor instead.
+func (*EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_envoy_filter_proto_rawDescGZIP(), []int{0, 2, 1}
}
-func (m *EnvoyFilter_ListenerMatch) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
+func (x *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) GetName() string {
+ if x != nil {
+ return x.Name
}
- if len(m.Name) > 0 {
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0x22
- }
- if m.FilterChain != nil {
- {
- size, err := m.FilterChain.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- if len(m.PortName) > 0 {
- i -= len(m.PortName)
- copy(dAtA[i:], m.PortName)
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(len(m.PortName)))
- i--
- dAtA[i] = 0x12
- }
- if m.PortNumber != 0 {
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(m.PortNumber))
- i--
- dAtA[i] = 0x8
- }
- return len(dAtA) - i, nil
+ return ""
}
-func (m *EnvoyFilter_ListenerMatch_FilterChainMatch) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
+func (x *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) GetRoute() *EnvoyFilter_RouteConfigurationMatch_RouteMatch {
+ if x != nil {
+ return x.Route
}
- return dAtA[:n], nil
+ return nil
}
-func (m *EnvoyFilter_ListenerMatch_FilterChainMatch) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
+// For listeners with multiple filter chains (e.g., inbound
+// listeners on sidecars with permissive mTLS, gateway listeners
+// with multiple SNI matches), the filter chain match can be used
+// to select a specific filter chain to patch.
+type EnvoyFilter_ListenerMatch_FilterChainMatch struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
-func (m *EnvoyFilter_ListenerMatch_FilterChainMatch) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.DestinationPort != 0 {
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(m.DestinationPort))
- i--
- dAtA[i] = 0x30
- }
- if m.Filter != nil {
- {
- size, err := m.Filter.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x2a
- }
- if len(m.ApplicationProtocols) > 0 {
- i -= len(m.ApplicationProtocols)
- copy(dAtA[i:], m.ApplicationProtocols)
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(len(m.ApplicationProtocols)))
- i--
- dAtA[i] = 0x22
- }
- if len(m.TransportProtocol) > 0 {
- i -= len(m.TransportProtocol)
- copy(dAtA[i:], m.TransportProtocol)
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(len(m.TransportProtocol)))
- i--
- dAtA[i] = 0x1a
- }
- if len(m.Sni) > 0 {
- i -= len(m.Sni)
- copy(dAtA[i:], m.Sni)
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(len(m.Sni)))
- i--
- dAtA[i] = 0x12
- }
- if len(m.Name) > 0 {
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
+ // The name assigned to the filter chain.
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ // The SNI value used by a filter chain's match condition. This
+ // condition will evaluate to false if the filter chain has no
+ // sni match.
+ Sni string `protobuf:"bytes,2,opt,name=sni,proto3" json:"sni,omitempty"`
+ // Applies only to `SIDECAR_INBOUND` context. If non-empty, a
+ // transport protocol to consider when determining a filter
+ // chain match. This value will be compared against the
+ // transport protocol of a new connection, when it's detected by
+ // the `tls_inspector` listener filter.
+ //
+ // Accepted values include:
+ //
+ // * `raw_buffer` - default, used when no transport protocol is detected.
+ // * `tls` - set when TLS protocol is detected by the TLS inspector.
+ TransportProtocol string `protobuf:"bytes,3,opt,name=transport_protocol,json=transportProtocol,proto3" json:"transport_protocol,omitempty"`
+ // Applies only to sidecars. If non-empty, a comma separated set
+ // of application protocols to consider when determining a
+ // filter chain match. This value will be compared against the
+ // application protocols of a new connection, when it's detected
+ // by one of the listener filters such as the `http_inspector`.
+ //
+ // Accepted values include: h2, http/1.1, http/1.0
+ ApplicationProtocols string `protobuf:"bytes,4,opt,name=application_protocols,json=applicationProtocols,proto3" json:"application_protocols,omitempty"`
+ // The name of a specific filter to apply the patch to. Set this
+ // to `envoy.filters.network.http_connection_manager` to add a filter or apply a
+ // patch to the HTTP connection manager.
+ Filter *EnvoyFilter_ListenerMatch_FilterMatch `protobuf:"bytes,5,opt,name=filter,proto3" json:"filter,omitempty"`
+ // The destination_port value used by a filter chain's match condition.
+ // This condition will evaluate to false if the filter chain has no destination_port match.
+ DestinationPort uint32 `protobuf:"varint,6,opt,name=destination_port,json=destinationPort,proto3" json:"destination_port,omitempty"`
}
-func (m *EnvoyFilter_ListenerMatch_FilterMatch) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
+func (x *EnvoyFilter_ListenerMatch_FilterChainMatch) Reset() {
+ *x = EnvoyFilter_ListenerMatch_FilterChainMatch{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_envoy_filter_proto_msgTypes[11]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- return dAtA[:n], nil
}
-func (m *EnvoyFilter_ListenerMatch_FilterMatch) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+func (x *EnvoyFilter_ListenerMatch_FilterChainMatch) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *EnvoyFilter_ListenerMatch_FilterMatch) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.SubFilter != nil {
- {
- size, err := m.SubFilter.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- if len(m.Name) > 0 {
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
+func (*EnvoyFilter_ListenerMatch_FilterChainMatch) ProtoMessage() {}
-func (m *EnvoyFilter_ListenerMatch_SubFilterMatch) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
+func (x *EnvoyFilter_ListenerMatch_FilterChainMatch) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_envoy_filter_proto_msgTypes[11]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
}
- return dAtA[:n], nil
-}
-
-func (m *EnvoyFilter_ListenerMatch_SubFilterMatch) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+ return mi.MessageOf(x)
}
-func (m *EnvoyFilter_ListenerMatch_SubFilterMatch) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Name) > 0 {
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
+// Deprecated: Use EnvoyFilter_ListenerMatch_FilterChainMatch.ProtoReflect.Descriptor instead.
+func (*EnvoyFilter_ListenerMatch_FilterChainMatch) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_envoy_filter_proto_rawDescGZIP(), []int{0, 3, 0}
}
-func (m *EnvoyFilter_Patch) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
+func (x *EnvoyFilter_ListenerMatch_FilterChainMatch) GetName() string {
+ if x != nil {
+ return x.Name
}
- return dAtA[:n], nil
-}
-
-func (m *EnvoyFilter_Patch) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+ return ""
}
-func (m *EnvoyFilter_Patch) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.FilterClass != 0 {
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(m.FilterClass))
- i--
- dAtA[i] = 0x18
- }
- if m.Value != nil {
- {
- size, err := m.Value.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
+func (x *EnvoyFilter_ListenerMatch_FilterChainMatch) GetSni() string {
+ if x != nil {
+ return x.Sni
}
- if m.Operation != 0 {
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(m.Operation))
- i--
- dAtA[i] = 0x8
- }
- return len(dAtA) - i, nil
+ return ""
}
-func (m *EnvoyFilter_EnvoyConfigObjectMatch) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
+func (x *EnvoyFilter_ListenerMatch_FilterChainMatch) GetTransportProtocol() string {
+ if x != nil {
+ return x.TransportProtocol
}
- return dAtA[:n], nil
-}
-
-func (m *EnvoyFilter_EnvoyConfigObjectMatch) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+ return ""
}
-func (m *EnvoyFilter_EnvoyConfigObjectMatch) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.ObjectTypes != nil {
- {
- size := m.ObjectTypes.Size()
- i -= size
- if _, err := m.ObjectTypes.MarshalTo(dAtA[i:]); err != nil {
- return 0, err
- }
- }
- }
- if m.Proxy != nil {
- {
- size, err := m.Proxy.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- if m.Context != 0 {
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(m.Context))
- i--
- dAtA[i] = 0x8
+func (x *EnvoyFilter_ListenerMatch_FilterChainMatch) GetApplicationProtocols() string {
+ if x != nil {
+ return x.ApplicationProtocols
}
- return len(dAtA) - i, nil
-}
-
-func (m *EnvoyFilter_EnvoyConfigObjectMatch_Listener) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+ return ""
}
-func (m *EnvoyFilter_EnvoyConfigObjectMatch_Listener) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- if m.Listener != nil {
- {
- size, err := m.Listener.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
+func (x *EnvoyFilter_ListenerMatch_FilterChainMatch) GetFilter() *EnvoyFilter_ListenerMatch_FilterMatch {
+ if x != nil {
+ return x.Filter
}
- return len(dAtA) - i, nil
-}
-func (m *EnvoyFilter_EnvoyConfigObjectMatch_RouteConfiguration) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+ return nil
}
-func (m *EnvoyFilter_EnvoyConfigObjectMatch_RouteConfiguration) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- if m.RouteConfiguration != nil {
- {
- size, err := m.RouteConfiguration.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x22
+func (x *EnvoyFilter_ListenerMatch_FilterChainMatch) GetDestinationPort() uint32 {
+ if x != nil {
+ return x.DestinationPort
}
- return len(dAtA) - i, nil
-}
-func (m *EnvoyFilter_EnvoyConfigObjectMatch_Cluster) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+ return 0
}
-func (m *EnvoyFilter_EnvoyConfigObjectMatch_Cluster) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- if m.Cluster != nil {
- {
- size, err := m.Cluster.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x2a
- }
- return len(dAtA) - i, nil
-}
-func (m *EnvoyFilter_EnvoyConfigObjectPatch) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
+// Conditions to match a specific filter within a filter chain.
+type EnvoyFilter_ListenerMatch_FilterMatch struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
-func (m *EnvoyFilter_EnvoyConfigObjectPatch) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+ // The filter name to match on.
+ // For standard Envoy filters, [canonical filter](https://www.envoyproxy.io/docs/envoy/latest/version_history/v1.14.0#deprecated)
+ // names should be used.
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ // The next level filter within this filter to match
+ // upon. Typically used for HTTP Connection Manager filters and
+ // Thrift filters.
+ SubFilter *EnvoyFilter_ListenerMatch_SubFilterMatch `protobuf:"bytes,2,opt,name=sub_filter,json=subFilter,proto3" json:"sub_filter,omitempty"`
}
-func (m *EnvoyFilter_EnvoyConfigObjectPatch) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Patch != nil {
- {
- size, err := m.Patch.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- if m.Match != nil {
- {
- size, err := m.Match.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- if m.ApplyTo != 0 {
- i = encodeVarintEnvoyFilter(dAtA, i, uint64(m.ApplyTo))
- i--
- dAtA[i] = 0x8
+func (x *EnvoyFilter_ListenerMatch_FilterMatch) Reset() {
+ *x = EnvoyFilter_ListenerMatch_FilterMatch{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_envoy_filter_proto_msgTypes[12]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- return len(dAtA) - i, nil
}
-func encodeVarintEnvoyFilter(dAtA []byte, offset int, v uint64) int {
- offset -= sovEnvoyFilter(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
-func (m *EnvoyFilter) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.WorkloadSelector != nil {
- l = m.WorkloadSelector.Size()
- n += 1 + l + sovEnvoyFilter(uint64(l))
- }
- if len(m.ConfigPatches) > 0 {
- for _, e := range m.ConfigPatches {
- l = e.Size()
- n += 1 + l + sovEnvoyFilter(uint64(l))
- }
- }
- if m.Priority != 0 {
- n += 1 + sovEnvoyFilter(uint64(m.Priority))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
+func (x *EnvoyFilter_ListenerMatch_FilterMatch) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *EnvoyFilter_ProxyMatch) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.ProxyVersion)
- if l > 0 {
- n += 1 + l + sovEnvoyFilter(uint64(l))
- }
- if len(m.Metadata) > 0 {
- for k, v := range m.Metadata {
- _ = k
- _ = v
- mapEntrySize := 1 + len(k) + sovEnvoyFilter(uint64(len(k))) + 1 + len(v) + sovEnvoyFilter(uint64(len(v)))
- n += mapEntrySize + 1 + sovEnvoyFilter(uint64(mapEntrySize))
+func (*EnvoyFilter_ListenerMatch_FilterMatch) ProtoMessage() {}
+
+func (x *EnvoyFilter_ListenerMatch_FilterMatch) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_envoy_filter_proto_msgTypes[12]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
+ return ms
}
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
+ return mi.MessageOf(x)
}
-func (m *EnvoyFilter_ClusterMatch) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.PortNumber != 0 {
- n += 1 + sovEnvoyFilter(uint64(m.PortNumber))
- }
- l = len(m.Service)
- if l > 0 {
- n += 1 + l + sovEnvoyFilter(uint64(l))
- }
- l = len(m.Subset)
- if l > 0 {
- n += 1 + l + sovEnvoyFilter(uint64(l))
- }
- l = len(m.Name)
- if l > 0 {
- n += 1 + l + sovEnvoyFilter(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
+// Deprecated: Use EnvoyFilter_ListenerMatch_FilterMatch.ProtoReflect.Descriptor instead.
+func (*EnvoyFilter_ListenerMatch_FilterMatch) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_envoy_filter_proto_rawDescGZIP(), []int{0, 3, 1}
}
-func (m *EnvoyFilter_RouteConfigurationMatch) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.PortNumber != 0 {
- n += 1 + sovEnvoyFilter(uint64(m.PortNumber))
- }
- l = len(m.PortName)
- if l > 0 {
- n += 1 + l + sovEnvoyFilter(uint64(l))
- }
- l = len(m.Gateway)
- if l > 0 {
- n += 1 + l + sovEnvoyFilter(uint64(l))
+func (x *EnvoyFilter_ListenerMatch_FilterMatch) GetName() string {
+ if x != nil {
+ return x.Name
}
- if m.Vhost != nil {
- l = m.Vhost.Size()
- n += 1 + l + sovEnvoyFilter(uint64(l))
- }
- l = len(m.Name)
- if l > 0 {
- n += 1 + l + sovEnvoyFilter(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
+ return ""
}
-func (m *EnvoyFilter_RouteConfigurationMatch_RouteMatch) Size() (n int) {
- if m == nil {
- return 0
+func (x *EnvoyFilter_ListenerMatch_FilterMatch) GetSubFilter() *EnvoyFilter_ListenerMatch_SubFilterMatch {
+ if x != nil {
+ return x.SubFilter
}
- var l int
- _ = l
- l = len(m.Name)
- if l > 0 {
- n += 1 + l + sovEnvoyFilter(uint64(l))
- }
- if m.Action != 0 {
- n += 1 + sovEnvoyFilter(uint64(m.Action))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
+ return nil
}
-func (m *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Name)
- if l > 0 {
- n += 1 + l + sovEnvoyFilter(uint64(l))
- }
- if m.Route != nil {
- l = m.Route.Size()
- n += 1 + l + sovEnvoyFilter(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
+// Conditions to match a specific filter within another
+// filter. This field is typically useful to match a HTTP filter
+// inside the `envoy.filters.network.http_connection_manager` network filter.
+// This could also be applicable for thrift filters.
+type EnvoyFilter_ListenerMatch_SubFilterMatch struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
-func (m *EnvoyFilter_ListenerMatch) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.PortNumber != 0 {
- n += 1 + sovEnvoyFilter(uint64(m.PortNumber))
- }
- l = len(m.PortName)
- if l > 0 {
- n += 1 + l + sovEnvoyFilter(uint64(l))
- }
- if m.FilterChain != nil {
- l = m.FilterChain.Size()
- n += 1 + l + sovEnvoyFilter(uint64(l))
- }
- l = len(m.Name)
- if l > 0 {
- n += 1 + l + sovEnvoyFilter(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
+ // The filter name to match on.
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
-func (m *EnvoyFilter_ListenerMatch_FilterChainMatch) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Name)
- if l > 0 {
- n += 1 + l + sovEnvoyFilter(uint64(l))
- }
- l = len(m.Sni)
- if l > 0 {
- n += 1 + l + sovEnvoyFilter(uint64(l))
+func (x *EnvoyFilter_ListenerMatch_SubFilterMatch) Reset() {
+ *x = EnvoyFilter_ListenerMatch_SubFilterMatch{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_envoy_filter_proto_msgTypes[13]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- l = len(m.TransportProtocol)
- if l > 0 {
- n += 1 + l + sovEnvoyFilter(uint64(l))
- }
- l = len(m.ApplicationProtocols)
- if l > 0 {
- n += 1 + l + sovEnvoyFilter(uint64(l))
- }
- if m.Filter != nil {
- l = m.Filter.Size()
- n += 1 + l + sovEnvoyFilter(uint64(l))
- }
- if m.DestinationPort != 0 {
- n += 1 + sovEnvoyFilter(uint64(m.DestinationPort))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
}
-func (m *EnvoyFilter_ListenerMatch_FilterMatch) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Name)
- if l > 0 {
- n += 1 + l + sovEnvoyFilter(uint64(l))
- }
- if m.SubFilter != nil {
- l = m.SubFilter.Size()
- n += 1 + l + sovEnvoyFilter(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
+func (x *EnvoyFilter_ListenerMatch_SubFilterMatch) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *EnvoyFilter_ListenerMatch_SubFilterMatch) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Name)
- if l > 0 {
- n += 1 + l + sovEnvoyFilter(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
+func (*EnvoyFilter_ListenerMatch_SubFilterMatch) ProtoMessage() {}
-func (m *EnvoyFilter_Patch) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Operation != 0 {
- n += 1 + sovEnvoyFilter(uint64(m.Operation))
- }
- if m.Value != nil {
- l = m.Value.Size()
- n += 1 + l + sovEnvoyFilter(uint64(l))
- }
- if m.FilterClass != 0 {
- n += 1 + sovEnvoyFilter(uint64(m.FilterClass))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
+func (x *EnvoyFilter_ListenerMatch_SubFilterMatch) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_envoy_filter_proto_msgTypes[13]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
}
- return n
+ return mi.MessageOf(x)
}
-func (m *EnvoyFilter_EnvoyConfigObjectMatch) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Context != 0 {
- n += 1 + sovEnvoyFilter(uint64(m.Context))
- }
- if m.Proxy != nil {
- l = m.Proxy.Size()
- n += 1 + l + sovEnvoyFilter(uint64(l))
- }
- if m.ObjectTypes != nil {
- n += m.ObjectTypes.Size()
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
+// Deprecated: Use EnvoyFilter_ListenerMatch_SubFilterMatch.ProtoReflect.Descriptor instead.
+func (*EnvoyFilter_ListenerMatch_SubFilterMatch) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_envoy_filter_proto_rawDescGZIP(), []int{0, 3, 2}
}
-func (m *EnvoyFilter_EnvoyConfigObjectMatch_Listener) Size() (n int) {
- if m == nil {
- return 0
+func (x *EnvoyFilter_ListenerMatch_SubFilterMatch) GetName() string {
+ if x != nil {
+ return x.Name
}
- var l int
- _ = l
- if m.Listener != nil {
- l = m.Listener.Size()
- n += 1 + l + sovEnvoyFilter(uint64(l))
- }
- return n
-}
-func (m *EnvoyFilter_EnvoyConfigObjectMatch_RouteConfiguration) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.RouteConfiguration != nil {
- l = m.RouteConfiguration.Size()
- n += 1 + l + sovEnvoyFilter(uint64(l))
- }
- return n
-}
-func (m *EnvoyFilter_EnvoyConfigObjectMatch_Cluster) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Cluster != nil {
- l = m.Cluster.Size()
- n += 1 + l + sovEnvoyFilter(uint64(l))
- }
- return n
-}
-func (m *EnvoyFilter_EnvoyConfigObjectPatch) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.ApplyTo != 0 {
- n += 1 + sovEnvoyFilter(uint64(m.ApplyTo))
- }
- if m.Match != nil {
- l = m.Match.Size()
- n += 1 + l + sovEnvoyFilter(uint64(l))
- }
- if m.Patch != nil {
- l = m.Patch.Size()
- n += 1 + l + sovEnvoyFilter(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
+ return ""
}
-func sovEnvoyFilter(x uint64) (n int) {
- return (math_bits.Len64(x|1) + 6) / 7
+var File_networking_v1alpha3_envoy_filter_proto protoreflect.FileDescriptor
+
+var file_networking_v1alpha3_envoy_filter_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x61,
+ 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x66, 0x69, 0x6c, 0x74,
+ 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e,
+ 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
+ 0x68, 0x61, 0x33, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f,
+ 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x21, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76,
+ 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2f, 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe2, 0x19, 0x0a, 0x0b, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x46,
+ 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x58, 0x0a, 0x11, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61,
+ 0x64, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x2b, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
+ 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x57, 0x6f, 0x72,
+ 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x10, 0x77,
+ 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12,
+ 0x6a, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x65,
+ 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e,
+ 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
+ 0x68, 0x61, 0x33, 0x2e, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e,
+ 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63,
+ 0x74, 0x50, 0x61, 0x74, 0x63, 0x68, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x0d, 0x63, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x50, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70,
+ 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70,
+ 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x1a, 0xcb, 0x01, 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x78,
+ 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f,
+ 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70,
+ 0x72, 0x6f, 0x78, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x5b, 0x0a, 0x08, 0x6d,
+ 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e,
+ 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67,
+ 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x46,
+ 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68,
+ 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08,
+ 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61,
+ 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x75, 0x0a, 0x0c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
+ 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x75,
+ 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6f, 0x72, 0x74,
+ 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
+ 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x06, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0xc4, 0x04, 0x0a,
+ 0x17, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x72, 0x74,
+ 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70,
+ 0x6f, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6f, 0x72,
+ 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f,
+ 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61,
+ 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79,
+ 0x12, 0x65, 0x0a, 0x05, 0x76, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x4f, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69,
+ 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x45, 0x6e, 0x76, 0x6f,
+ 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e,
+ 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x48, 0x6f, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68,
+ 0x52, 0x05, 0x76, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0xcb, 0x01, 0x0a, 0x0a,
+ 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
+ 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x68,
+ 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x50,
+ 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e,
+ 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x45, 0x6e, 0x76, 0x6f, 0x79,
+ 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x52,
+ 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3f, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4e, 0x59, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x52,
+ 0x4f, 0x55, 0x54, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x44, 0x49, 0x52, 0x45,
+ 0x43, 0x54, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x5f, 0x52,
+ 0x45, 0x53, 0x50, 0x4f, 0x4e, 0x53, 0x45, 0x10, 0x03, 0x1a, 0x87, 0x01, 0x0a, 0x10, 0x56, 0x69,
+ 0x72, 0x74, 0x75, 0x61, 0x6c, 0x48, 0x6f, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x12,
+ 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
+ 0x6d, 0x65, 0x12, 0x5f, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x49, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
+ 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x45, 0x6e,
+ 0x76, 0x6f, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63,
+ 0x68, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x05, 0x72, 0x6f,
+ 0x75, 0x74, 0x65, 0x1a, 0x9d, 0x05, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72,
+ 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x75,
+ 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6f, 0x72, 0x74,
+ 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6e,
+ 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x72, 0x74, 0x4e,
+ 0x61, 0x6d, 0x65, 0x12, 0x68, 0x0a, 0x0c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x68,
+ 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x69, 0x73, 0x74, 0x69,
+ 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61,
+ 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65,
+ 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e,
+ 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68,
+ 0x52, 0x0b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x12, 0x0a,
+ 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
+ 0x65, 0x1a, 0xa1, 0x02, 0x0a, 0x10, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69,
+ 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x6e,
+ 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x6e, 0x69, 0x12, 0x2d, 0x0a, 0x12,
+ 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
+ 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70,
+ 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x33, 0x0a, 0x15, 0x61,
+ 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x61, 0x70, 0x70, 0x6c,
+ 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73,
+ 0x12, 0x58, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x40, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
+ 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x45, 0x6e, 0x76,
+ 0x6f, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65,
+ 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x74,
+ 0x63, 0x68, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65,
+ 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x1a, 0x85, 0x01, 0x0a, 0x0b, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
+ 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x62, 0x0a, 0x0a, 0x73, 0x75, 0x62,
+ 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e,
+ 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67,
+ 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x46,
+ 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4d, 0x61,
+ 0x74, 0x63, 0x68, 0x2e, 0x53, 0x75, 0x62, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x74,
+ 0x63, 0x68, 0x52, 0x09, 0x73, 0x75, 0x62, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x1a, 0x24, 0x0a,
+ 0x0e, 0x53, 0x75, 0x62, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12,
+ 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
+ 0x61, 0x6d, 0x65, 0x1a, 0xa8, 0x03, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x54, 0x0a,
+ 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
+ 0x32, 0x36, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
+ 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x45, 0x6e, 0x76,
+ 0x6f, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x4f,
+ 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x12, 0x5b, 0x0a, 0x0c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x61,
+ 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f,
+ 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c,
+ 0x70, 0x68, 0x61, 0x33, 0x2e, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
+ 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x61,
+ 0x73, 0x73, 0x52, 0x0b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x22,
+ 0x7c, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0b, 0x0a, 0x07,
+ 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x45, 0x52,
+ 0x47, 0x45, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x44, 0x44, 0x10, 0x02, 0x12, 0x0a, 0x0a,
+ 0x06, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x49, 0x4e, 0x53,
+ 0x45, 0x52, 0x54, 0x5f, 0x42, 0x45, 0x46, 0x4f, 0x52, 0x45, 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c,
+ 0x49, 0x4e, 0x53, 0x45, 0x52, 0x54, 0x5f, 0x41, 0x46, 0x54, 0x45, 0x52, 0x10, 0x05, 0x12, 0x10,
+ 0x0a, 0x0c, 0x49, 0x4e, 0x53, 0x45, 0x52, 0x54, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x10, 0x06,
+ 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, 0x07, 0x22, 0x3f, 0x0a,
+ 0x0b, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x0f, 0x0a, 0x0b,
+ 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a,
+ 0x05, 0x41, 0x55, 0x54, 0x48, 0x4e, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x55, 0x54, 0x48,
+ 0x5a, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x54, 0x41, 0x54, 0x53, 0x10, 0x03, 0x1a, 0xd8,
+ 0x03, 0x0a, 0x16, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4f, 0x62,
+ 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x4d, 0x0a, 0x07, 0x63, 0x6f, 0x6e,
+ 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x69, 0x73, 0x74,
+ 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31,
+ 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x46, 0x69, 0x6c, 0x74,
+ 0x65, 0x72, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52,
+ 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x47, 0x0a, 0x05, 0x70, 0x72, 0x6f, 0x78,
+ 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e,
+ 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
+ 0x68, 0x61, 0x33, 0x2e, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e,
+ 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x05, 0x70, 0x72, 0x6f, 0x78,
+ 0x79, 0x12, 0x52, 0x0a, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77,
+ 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e,
+ 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74,
+ 0x65, 0x6e, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x00, 0x52, 0x08, 0x6c, 0x69, 0x73,
+ 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x71, 0x0a, 0x13, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f,
+ 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x45,
+ 0x6e, 0x76, 0x6f, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65,
+ 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74,
+ 0x63, 0x68, 0x48, 0x00, 0x52, 0x12, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4f, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73,
+ 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x73, 0x74, 0x69,
+ 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61,
+ 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65,
+ 0x72, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x00,
+ 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x6f, 0x62, 0x6a,
+ 0x65, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x1a, 0xfc, 0x01, 0x0a, 0x16, 0x45, 0x6e,
+ 0x76, 0x6f, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50,
+ 0x61, 0x74, 0x63, 0x68, 0x12, 0x49, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x74, 0x6f,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e,
+ 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
+ 0x61, 0x33, 0x2e, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x41,
+ 0x70, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x52, 0x07, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x12,
+ 0x53, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d,
+ 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e,
+ 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x45, 0x6e, 0x76, 0x6f, 0x79,
+ 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x43, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x05, 0x6d,
+ 0x61, 0x74, 0x63, 0x68, 0x12, 0x42, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77,
+ 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e,
+ 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x74, 0x63,
+ 0x68, 0x52, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x22, 0xc8, 0x01, 0x0a, 0x07, 0x41, 0x70, 0x70,
+ 0x6c, 0x79, 0x54, 0x6f, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10,
+ 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x4c, 0x49, 0x53, 0x54, 0x45, 0x4e, 0x45, 0x52, 0x10, 0x01, 0x12,
+ 0x10, 0x0a, 0x0c, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x10,
+ 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x46, 0x49, 0x4c,
+ 0x54, 0x45, 0x52, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x46, 0x49,
+ 0x4c, 0x54, 0x45, 0x52, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f,
+ 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x55, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x05, 0x12,
+ 0x10, 0x0a, 0x0c, 0x56, 0x49, 0x52, 0x54, 0x55, 0x41, 0x4c, 0x5f, 0x48, 0x4f, 0x53, 0x54, 0x10,
+ 0x06, 0x12, 0x0e, 0x0a, 0x0a, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x10,
+ 0x07, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x10, 0x08, 0x12, 0x14,
+ 0x0a, 0x10, 0x45, 0x58, 0x54, 0x45, 0x4e, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x46,
+ 0x49, 0x47, 0x10, 0x09, 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x4f, 0x4f, 0x54, 0x53, 0x54, 0x52, 0x41,
+ 0x50, 0x10, 0x0a, 0x22, 0x4f, 0x0a, 0x0c, 0x50, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x74,
+ 0x65, 0x78, 0x74, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4e, 0x59, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f,
+ 0x53, 0x49, 0x44, 0x45, 0x43, 0x41, 0x52, 0x5f, 0x49, 0x4e, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x10,
+ 0x01, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x49, 0x44, 0x45, 0x43, 0x41, 0x52, 0x5f, 0x4f, 0x55, 0x54,
+ 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x47, 0x41, 0x54, 0x45, 0x57,
+ 0x41, 0x59, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03,
+ 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x52, 0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x6c,
+ 0x6f, 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x42, 0x22, 0x5a, 0x20, 0x69, 0x73,
+ 0x74, 0x69, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f,
+ 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
-func sozEnvoyFilter(x uint64) (n int) {
- return sovEnvoyFilter(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (m *EnvoyFilter) 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 ErrIntOverflowEnvoyFilter
- }
- 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: EnvoyFilter: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: EnvoyFilter: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field WorkloadSelector", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.WorkloadSelector == nil {
- m.WorkloadSelector = &WorkloadSelector{}
- }
- if err := m.WorkloadSelector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ConfigPatches", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.ConfigPatches = append(m.ConfigPatches, &EnvoyFilter_EnvoyConfigObjectPatch{})
- if err := m.ConfigPatches[len(m.ConfigPatches)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 5:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Priority", wireType)
- }
- m.Priority = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Priority |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- default:
- iNdEx = preIndex
- skippy, err := skipEnvoyFilter(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *EnvoyFilter_ProxyMatch) 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 ErrIntOverflowEnvoyFilter
- }
- 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: ProxyMatch: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ProxyMatch: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ProxyVersion", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- 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 ErrInvalidLengthEnvoyFilter
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.ProxyVersion = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Metadata == nil {
- m.Metadata = make(map[string]string)
- }
- var mapkey string
- var mapvalue string
- for iNdEx < postIndex {
- entryPreIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- if fieldNum == 1 {
- var stringLenmapkey uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapkey |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapkey := int(stringLenmapkey)
- if intStringLenmapkey < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- postStringIndexmapkey := iNdEx + intStringLenmapkey
- if postStringIndexmapkey < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if postStringIndexmapkey > l {
- return io.ErrUnexpectedEOF
- }
- mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
- iNdEx = postStringIndexmapkey
- } else if fieldNum == 2 {
- var stringLenmapvalue uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapvalue |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapvalue := int(stringLenmapvalue)
- if intStringLenmapvalue < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- postStringIndexmapvalue := iNdEx + intStringLenmapvalue
- if postStringIndexmapvalue < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if postStringIndexmapvalue > l {
- return io.ErrUnexpectedEOF
- }
- mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue])
- iNdEx = postStringIndexmapvalue
- } else {
- iNdEx = entryPreIndex
- skippy, err := skipEnvoyFilter(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if (iNdEx + skippy) > postIndex {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- m.Metadata[mapkey] = mapvalue
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipEnvoyFilter(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
+var (
+ file_networking_v1alpha3_envoy_filter_proto_rawDescOnce sync.Once
+ file_networking_v1alpha3_envoy_filter_proto_rawDescData = file_networking_v1alpha3_envoy_filter_proto_rawDesc
+)
- if iNdEx > l {
- return io.ErrUnexpectedEOF
+func file_networking_v1alpha3_envoy_filter_proto_rawDescGZIP() []byte {
+ file_networking_v1alpha3_envoy_filter_proto_rawDescOnce.Do(func() {
+ file_networking_v1alpha3_envoy_filter_proto_rawDescData = protoimpl.X.CompressGZIP(file_networking_v1alpha3_envoy_filter_proto_rawDescData)
+ })
+ return file_networking_v1alpha3_envoy_filter_proto_rawDescData
+}
+
+var file_networking_v1alpha3_envoy_filter_proto_enumTypes = make([]protoimpl.EnumInfo, 5)
+var file_networking_v1alpha3_envoy_filter_proto_msgTypes = make([]protoimpl.MessageInfo, 14)
+var file_networking_v1alpha3_envoy_filter_proto_goTypes = []interface{}{
+ (EnvoyFilter_ApplyTo)(0), // 0: istio.networking.v1alpha3.EnvoyFilter.ApplyTo
+ (EnvoyFilter_PatchContext)(0), // 1: istio.networking.v1alpha3.EnvoyFilter.PatchContext
+ (EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action)(0), // 2: istio.networking.v1alpha3.EnvoyFilter.RouteConfigurationMatch.RouteMatch.Action
+ (EnvoyFilter_Patch_Operation)(0), // 3: istio.networking.v1alpha3.EnvoyFilter.Patch.Operation
+ (EnvoyFilter_Patch_FilterClass)(0), // 4: istio.networking.v1alpha3.EnvoyFilter.Patch.FilterClass
+ (*EnvoyFilter)(nil), // 5: istio.networking.v1alpha3.EnvoyFilter
+ (*EnvoyFilter_ProxyMatch)(nil), // 6: istio.networking.v1alpha3.EnvoyFilter.ProxyMatch
+ (*EnvoyFilter_ClusterMatch)(nil), // 7: istio.networking.v1alpha3.EnvoyFilter.ClusterMatch
+ (*EnvoyFilter_RouteConfigurationMatch)(nil), // 8: istio.networking.v1alpha3.EnvoyFilter.RouteConfigurationMatch
+ (*EnvoyFilter_ListenerMatch)(nil), // 9: istio.networking.v1alpha3.EnvoyFilter.ListenerMatch
+ (*EnvoyFilter_Patch)(nil), // 10: istio.networking.v1alpha3.EnvoyFilter.Patch
+ (*EnvoyFilter_EnvoyConfigObjectMatch)(nil), // 11: istio.networking.v1alpha3.EnvoyFilter.EnvoyConfigObjectMatch
+ (*EnvoyFilter_EnvoyConfigObjectPatch)(nil), // 12: istio.networking.v1alpha3.EnvoyFilter.EnvoyConfigObjectPatch
+ nil, // 13: istio.networking.v1alpha3.EnvoyFilter.ProxyMatch.MetadataEntry
+ (*EnvoyFilter_RouteConfigurationMatch_RouteMatch)(nil), // 14: istio.networking.v1alpha3.EnvoyFilter.RouteConfigurationMatch.RouteMatch
+ (*EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch)(nil), // 15: istio.networking.v1alpha3.EnvoyFilter.RouteConfigurationMatch.VirtualHostMatch
+ (*EnvoyFilter_ListenerMatch_FilterChainMatch)(nil), // 16: istio.networking.v1alpha3.EnvoyFilter.ListenerMatch.FilterChainMatch
+ (*EnvoyFilter_ListenerMatch_FilterMatch)(nil), // 17: istio.networking.v1alpha3.EnvoyFilter.ListenerMatch.FilterMatch
+ (*EnvoyFilter_ListenerMatch_SubFilterMatch)(nil), // 18: istio.networking.v1alpha3.EnvoyFilter.ListenerMatch.SubFilterMatch
+ (*WorkloadSelector)(nil), // 19: istio.networking.v1alpha3.WorkloadSelector
+ (*_struct.Struct)(nil), // 20: google.protobuf.Struct
+}
+var file_networking_v1alpha3_envoy_filter_proto_depIdxs = []int32{
+ 19, // 0: istio.networking.v1alpha3.EnvoyFilter.workload_selector:type_name -> istio.networking.v1alpha3.WorkloadSelector
+ 12, // 1: istio.networking.v1alpha3.EnvoyFilter.config_patches:type_name -> istio.networking.v1alpha3.EnvoyFilter.EnvoyConfigObjectPatch
+ 13, // 2: istio.networking.v1alpha3.EnvoyFilter.ProxyMatch.metadata:type_name -> istio.networking.v1alpha3.EnvoyFilter.ProxyMatch.MetadataEntry
+ 15, // 3: istio.networking.v1alpha3.EnvoyFilter.RouteConfigurationMatch.vhost:type_name -> istio.networking.v1alpha3.EnvoyFilter.RouteConfigurationMatch.VirtualHostMatch
+ 16, // 4: istio.networking.v1alpha3.EnvoyFilter.ListenerMatch.filter_chain:type_name -> istio.networking.v1alpha3.EnvoyFilter.ListenerMatch.FilterChainMatch
+ 3, // 5: istio.networking.v1alpha3.EnvoyFilter.Patch.operation:type_name -> istio.networking.v1alpha3.EnvoyFilter.Patch.Operation
+ 20, // 6: istio.networking.v1alpha3.EnvoyFilter.Patch.value:type_name -> google.protobuf.Struct
+ 4, // 7: istio.networking.v1alpha3.EnvoyFilter.Patch.filter_class:type_name -> istio.networking.v1alpha3.EnvoyFilter.Patch.FilterClass
+ 1, // 8: istio.networking.v1alpha3.EnvoyFilter.EnvoyConfigObjectMatch.context:type_name -> istio.networking.v1alpha3.EnvoyFilter.PatchContext
+ 6, // 9: istio.networking.v1alpha3.EnvoyFilter.EnvoyConfigObjectMatch.proxy:type_name -> istio.networking.v1alpha3.EnvoyFilter.ProxyMatch
+ 9, // 10: istio.networking.v1alpha3.EnvoyFilter.EnvoyConfigObjectMatch.listener:type_name -> istio.networking.v1alpha3.EnvoyFilter.ListenerMatch
+ 8, // 11: istio.networking.v1alpha3.EnvoyFilter.EnvoyConfigObjectMatch.route_configuration:type_name -> istio.networking.v1alpha3.EnvoyFilter.RouteConfigurationMatch
+ 7, // 12: istio.networking.v1alpha3.EnvoyFilter.EnvoyConfigObjectMatch.cluster:type_name -> istio.networking.v1alpha3.EnvoyFilter.ClusterMatch
+ 0, // 13: istio.networking.v1alpha3.EnvoyFilter.EnvoyConfigObjectPatch.apply_to:type_name -> istio.networking.v1alpha3.EnvoyFilter.ApplyTo
+ 11, // 14: istio.networking.v1alpha3.EnvoyFilter.EnvoyConfigObjectPatch.match:type_name -> istio.networking.v1alpha3.EnvoyFilter.EnvoyConfigObjectMatch
+ 10, // 15: istio.networking.v1alpha3.EnvoyFilter.EnvoyConfigObjectPatch.patch:type_name -> istio.networking.v1alpha3.EnvoyFilter.Patch
+ 2, // 16: istio.networking.v1alpha3.EnvoyFilter.RouteConfigurationMatch.RouteMatch.action:type_name -> istio.networking.v1alpha3.EnvoyFilter.RouteConfigurationMatch.RouteMatch.Action
+ 14, // 17: istio.networking.v1alpha3.EnvoyFilter.RouteConfigurationMatch.VirtualHostMatch.route:type_name -> istio.networking.v1alpha3.EnvoyFilter.RouteConfigurationMatch.RouteMatch
+ 17, // 18: istio.networking.v1alpha3.EnvoyFilter.ListenerMatch.FilterChainMatch.filter:type_name -> istio.networking.v1alpha3.EnvoyFilter.ListenerMatch.FilterMatch
+ 18, // 19: istio.networking.v1alpha3.EnvoyFilter.ListenerMatch.FilterMatch.sub_filter:type_name -> istio.networking.v1alpha3.EnvoyFilter.ListenerMatch.SubFilterMatch
+ 20, // [20:20] is the sub-list for method output_type
+ 20, // [20:20] is the sub-list for method input_type
+ 20, // [20:20] is the sub-list for extension type_name
+ 20, // [20:20] is the sub-list for extension extendee
+ 0, // [0:20] is the sub-list for field type_name
+}
+
+func init() { file_networking_v1alpha3_envoy_filter_proto_init() }
+func file_networking_v1alpha3_envoy_filter_proto_init() {
+ if File_networking_v1alpha3_envoy_filter_proto != nil {
+ return
+ }
+ file_networking_v1alpha3_sidecar_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_networking_v1alpha3_envoy_filter_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnvoyFilter); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_envoy_filter_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnvoyFilter_ProxyMatch); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_envoy_filter_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnvoyFilter_ClusterMatch); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_envoy_filter_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnvoyFilter_RouteConfigurationMatch); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_envoy_filter_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnvoyFilter_ListenerMatch); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_envoy_filter_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnvoyFilter_Patch); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_envoy_filter_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnvoyFilter_EnvoyConfigObjectMatch); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_envoy_filter_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnvoyFilter_EnvoyConfigObjectPatch); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_envoy_filter_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnvoyFilter_RouteConfigurationMatch_RouteMatch); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_envoy_filter_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_envoy_filter_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnvoyFilter_ListenerMatch_FilterChainMatch); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_envoy_filter_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnvoyFilter_ListenerMatch_FilterMatch); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_envoy_filter_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnvoyFilter_ListenerMatch_SubFilterMatch); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_networking_v1alpha3_envoy_filter_proto_msgTypes[6].OneofWrappers = []interface{}{
+ (*EnvoyFilter_EnvoyConfigObjectMatch_Listener)(nil),
+ (*EnvoyFilter_EnvoyConfigObjectMatch_RouteConfiguration)(nil),
+ (*EnvoyFilter_EnvoyConfigObjectMatch_Cluster)(nil),
}
- return nil
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_networking_v1alpha3_envoy_filter_proto_rawDesc,
+ NumEnums: 5,
+ NumMessages: 14,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_networking_v1alpha3_envoy_filter_proto_goTypes,
+ DependencyIndexes: file_networking_v1alpha3_envoy_filter_proto_depIdxs,
+ EnumInfos: file_networking_v1alpha3_envoy_filter_proto_enumTypes,
+ MessageInfos: file_networking_v1alpha3_envoy_filter_proto_msgTypes,
+ }.Build()
+ File_networking_v1alpha3_envoy_filter_proto = out.File
+ file_networking_v1alpha3_envoy_filter_proto_rawDesc = nil
+ file_networking_v1alpha3_envoy_filter_proto_goTypes = nil
+ file_networking_v1alpha3_envoy_filter_proto_depIdxs = nil
}
-func (m *EnvoyFilter_ClusterMatch) 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 ErrIntOverflowEnvoyFilter
- }
- 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: ClusterMatch: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ClusterMatch: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field PortNumber", wireType)
- }
- m.PortNumber = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.PortNumber |= uint32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Service", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- 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 ErrInvalidLengthEnvoyFilter
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Service = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Subset", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- 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 ErrInvalidLengthEnvoyFilter
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Subset = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 4:
- 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 ErrIntOverflowEnvoyFilter
- }
- 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 ErrInvalidLengthEnvoyFilter
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Name = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipEnvoyFilter(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *EnvoyFilter_RouteConfigurationMatch) 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 ErrIntOverflowEnvoyFilter
- }
- 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: RouteConfigurationMatch: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: RouteConfigurationMatch: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field PortNumber", wireType)
- }
- m.PortNumber = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.PortNumber |= uint32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field PortName", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- 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 ErrInvalidLengthEnvoyFilter
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.PortName = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Gateway", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- 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 ErrInvalidLengthEnvoyFilter
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Gateway = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Vhost", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Vhost == nil {
- m.Vhost = &EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch{}
- }
- if err := m.Vhost.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 5:
- 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 ErrIntOverflowEnvoyFilter
- }
- 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 ErrInvalidLengthEnvoyFilter
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Name = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipEnvoyFilter(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *EnvoyFilter_RouteConfigurationMatch_RouteMatch) 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 ErrIntOverflowEnvoyFilter
- }
- 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: RouteMatch: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: RouteMatch: 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 ErrIntOverflowEnvoyFilter
- }
- 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 ErrInvalidLengthEnvoyFilter
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Name = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Action", wireType)
- }
- m.Action = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Action |= EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- default:
- iNdEx = preIndex
- skippy, err := skipEnvoyFilter(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) 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 ErrIntOverflowEnvoyFilter
- }
- 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: VirtualHostMatch: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: VirtualHostMatch: 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 ErrIntOverflowEnvoyFilter
- }
- 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 ErrInvalidLengthEnvoyFilter
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- 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 Route", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Route == nil {
- m.Route = &EnvoyFilter_RouteConfigurationMatch_RouteMatch{}
- }
- if err := m.Route.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipEnvoyFilter(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *EnvoyFilter_ListenerMatch) 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 ErrIntOverflowEnvoyFilter
- }
- 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: ListenerMatch: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ListenerMatch: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field PortNumber", wireType)
- }
- m.PortNumber = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.PortNumber |= uint32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field PortName", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- 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 ErrInvalidLengthEnvoyFilter
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.PortName = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field FilterChain", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.FilterChain == nil {
- m.FilterChain = &EnvoyFilter_ListenerMatch_FilterChainMatch{}
- }
- if err := m.FilterChain.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- 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 ErrIntOverflowEnvoyFilter
- }
- 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 ErrInvalidLengthEnvoyFilter
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Name = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipEnvoyFilter(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *EnvoyFilter_ListenerMatch_FilterChainMatch) 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 ErrIntOverflowEnvoyFilter
- }
- 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: FilterChainMatch: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: FilterChainMatch: 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 ErrIntOverflowEnvoyFilter
- }
- 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 ErrInvalidLengthEnvoyFilter
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- 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 Sni", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- 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 ErrInvalidLengthEnvoyFilter
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Sni = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field TransportProtocol", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- 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 ErrInvalidLengthEnvoyFilter
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.TransportProtocol = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ApplicationProtocols", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- 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 ErrInvalidLengthEnvoyFilter
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.ApplicationProtocols = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Filter", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Filter == nil {
- m.Filter = &EnvoyFilter_ListenerMatch_FilterMatch{}
- }
- if err := m.Filter.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 6:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field DestinationPort", wireType)
- }
- m.DestinationPort = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.DestinationPort |= uint32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- default:
- iNdEx = preIndex
- skippy, err := skipEnvoyFilter(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *EnvoyFilter_ListenerMatch_FilterMatch) 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 ErrIntOverflowEnvoyFilter
- }
- 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: FilterMatch: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: FilterMatch: 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 ErrIntOverflowEnvoyFilter
- }
- 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 ErrInvalidLengthEnvoyFilter
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- 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 SubFilter", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.SubFilter == nil {
- m.SubFilter = &EnvoyFilter_ListenerMatch_SubFilterMatch{}
- }
- if err := m.SubFilter.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipEnvoyFilter(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *EnvoyFilter_ListenerMatch_SubFilterMatch) 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 ErrIntOverflowEnvoyFilter
- }
- 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: SubFilterMatch: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: SubFilterMatch: 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 ErrIntOverflowEnvoyFilter
- }
- 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 ErrInvalidLengthEnvoyFilter
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Name = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipEnvoyFilter(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *EnvoyFilter_Patch) 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 ErrIntOverflowEnvoyFilter
- }
- 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: Patch: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Patch: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Operation", wireType)
- }
- m.Operation = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Operation |= EnvoyFilter_Patch_Operation(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Value == nil {
- m.Value = &types.Struct{}
- }
- if err := m.Value.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field FilterClass", wireType)
- }
- m.FilterClass = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.FilterClass |= EnvoyFilter_Patch_FilterClass(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- default:
- iNdEx = preIndex
- skippy, err := skipEnvoyFilter(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *EnvoyFilter_EnvoyConfigObjectMatch) 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 ErrIntOverflowEnvoyFilter
- }
- 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: EnvoyConfigObjectMatch: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: EnvoyConfigObjectMatch: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Context", wireType)
- }
- m.Context = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Context |= EnvoyFilter_PatchContext(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Proxy", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Proxy == nil {
- m.Proxy = &EnvoyFilter_ProxyMatch{}
- }
- if err := m.Proxy.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Listener", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- v := &EnvoyFilter_ListenerMatch{}
- if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- m.ObjectTypes = &EnvoyFilter_EnvoyConfigObjectMatch_Listener{v}
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field RouteConfiguration", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- v := &EnvoyFilter_RouteConfigurationMatch{}
- if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- m.ObjectTypes = &EnvoyFilter_EnvoyConfigObjectMatch_RouteConfiguration{v}
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Cluster", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- v := &EnvoyFilter_ClusterMatch{}
- if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- m.ObjectTypes = &EnvoyFilter_EnvoyConfigObjectMatch_Cluster{v}
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipEnvoyFilter(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *EnvoyFilter_EnvoyConfigObjectPatch) 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 ErrIntOverflowEnvoyFilter
- }
- 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: EnvoyConfigObjectPatch: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: EnvoyConfigObjectPatch: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field ApplyTo", wireType)
- }
- m.ApplyTo = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.ApplyTo |= EnvoyFilter_ApplyTo(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Match", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Match == nil {
- m.Match = &EnvoyFilter_EnvoyConfigObjectMatch{}
- }
- if err := m.Match.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Patch", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowEnvoyFilter
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Patch == nil {
- m.Patch = &EnvoyFilter_Patch{}
- }
- if err := m.Patch.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipEnvoyFilter(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthEnvoyFilter
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func skipEnvoyFilter(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowEnvoyFilter
- }
- 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, ErrIntOverflowEnvoyFilter
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowEnvoyFilter
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLengthEnvoyFilter
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroupEnvoyFilter
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLengthEnvoyFilter
- }
- if depth == 0 {
- return iNdEx, nil
- }
- }
- return 0, io.ErrUnexpectedEOF
-}
-
-var (
- ErrInvalidLengthEnvoyFilter = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflowEnvoyFilter = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroupEnvoyFilter = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/vendor/istio.io/api/networking/v1alpha3/envoy_filter.proto b/vendor/istio.io/api/networking/v1alpha3/envoy_filter.proto
index f10fac5d7..1d5c9c215 100644
--- a/vendor/istio.io/api/networking/v1alpha3/envoy_filter.proto
+++ b/vendor/istio.io/api/networking/v1alpha3/envoy_filter.proto
@@ -135,7 +135,7 @@ import "networking/v1alpha3/sidecar.proto";
// patch:
// operation: INSERT_BEFORE
// value: # lua filter specification
-// name: envoy.lua
+// name: envoy.filters.http.lua
// typed_config:
// "@type": "type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua"
// inlineCode: |
@@ -354,16 +354,20 @@ import "networking/v1alpha3/sidecar.proto";
// # The second patch instructs to apply the above Wasm filter to the listener/http connection manager.
// - applyTo: HTTP_FILTER
// match:
-// context: SIDECAR_INBOUND
+// listener:
+// filterChain:
+// filter:
+// name: envoy.filters.network.http_connection_manager
+// subFilter:
+// name: envoy.filters.http.router
// patch:
-// operation: ADD
-// filterClass: AUTHZ # This filter will run *after* the Istio authz filter.
+// operation: INSERT_BEFORE
// value:
// name: my-wasm-extension # This must match the name above
// config_discovery:
// config_source:
// ads: {}
-// type_urls: ["envoy.extensions.filters.http.wasm.v3.Wasm"]
+// type_urls: ["type.googleapis.com/envoy.extensions.filters.http.wasm.v3.Wasm"]
// ```
//
// The following example adds a Wasm service extension for all proxies using a locally available Wasm file.
diff --git a/vendor/istio.io/api/networking/v1alpha3/envoy_filter_deepcopy.gen.go b/vendor/istio.io/api/networking/v1alpha3/envoy_filter_deepcopy.gen.go
index 8ed6601e0..61f9bd197 100644
--- a/vendor/istio.io/api/networking/v1alpha3/envoy_filter_deepcopy.gen.go
+++ b/vendor/istio.io/api/networking/v1alpha3/envoy_filter_deepcopy.gen.go
@@ -1,398 +1,10 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: networking/v1alpha3/envoy_filter.proto
-
-// `EnvoyFilter` provides a mechanism to customize the Envoy
-// configuration generated by Istio Pilot. Use EnvoyFilter to modify
-// values for certain fields, add specific filters, or even add
-// entirely new listeners, clusters, etc. This feature must be used
-// with care, as incorrect configurations could potentially
-// destabilize the entire mesh. Unlike other Istio networking objects,
-// EnvoyFilters are additively applied. Any number of EnvoyFilters can
-// exist for a given workload in a specific namespace. The order of
-// application of these EnvoyFilters is as follows: all EnvoyFilters
-// in the config [root
-// namespace](https://istio.io/docs/reference/config/istio.mesh.v1alpha1/#MeshConfig),
-// followed by all matching EnvoyFilters in the workload's namespace.
-//
-// **NOTE 1**: Some aspects of this API are deeply tied to the internal
-// implementation in Istio networking subsystem as well as Envoy's XDS
-// API. While the EnvoyFilter API by itself will maintain backward
-// compatibility, any envoy configuration provided through this
-// mechanism should be carefully monitored across Istio proxy version
-// upgrades, to ensure that deprecated fields are removed and replaced
-// appropriately.
-//
-// **NOTE 2**: When multiple EnvoyFilters are bound to the same
-// workload in a given namespace, all patches will be processed
-// sequentially in order of creation time. The behavior is undefined
-// if multiple EnvoyFilter configurations conflict with each other.
-//
-// **NOTE 3**: To apply an EnvoyFilter resource to all workloads
-// (sidecars and gateways) in the system, define the resource in the
-// config [root
-// namespace](https://istio.io/docs/reference/config/istio.mesh.v1alpha1/#MeshConfig),
-// without a workloadSelector.
-//
-// The example below declares a global default EnvoyFilter resource in
-// the root namespace called `istio-config`, that adds a custom
-// protocol filter on all sidecars in the system, for outbound port
-// 9307. The filter should be added before the terminating tcp_proxy
-// filter to take effect. In addition, it sets a 30s idle timeout for
-// all HTTP connections in both gateways and sidecars.
-//
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: EnvoyFilter
-// metadata:
-// name: custom-protocol
-// namespace: istio-config # as defined in meshConfig resource.
-// spec:
-// configPatches:
-// - applyTo: NETWORK_FILTER
-// match:
-// context: SIDECAR_OUTBOUND # will match outbound listeners in all sidecars
-// listener:
-// portNumber: 9307
-// filterChain:
-// filter:
-// name: "envoy.filters.network.tcp_proxy"
-// patch:
-// operation: INSERT_BEFORE
-// value:
-// # This is the full filter config including the name and typed_config section.
-// name: "envoy.config.filter.network.custom_protocol"
-// typed_config:
-// ...
-// - applyTo: NETWORK_FILTER # http connection manager is a filter in Envoy
-// match:
-// # context omitted so that this applies to both sidecars and gateways
-// listener:
-// filterChain:
-// filter:
-// name: "envoy.filters.network.http_connection_manager"
-// patch:
-// operation: MERGE
-// value:
-// name: "envoy.filters.network.http_connection_manager"
-// typed_config:
-// "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager"
-// common_http_protocol_options:
-// idle_timeout: 30s
-// ```
-//
-// The following example enables Envoy's Lua filter for all inbound
-// HTTP calls arriving at service port 8080 of the reviews service pod
-// with labels "app: reviews", in the bookinfo namespace. The lua
-// filter calls out to an external service internal.org.net:8888 that
-// requires a special cluster definition in envoy. The cluster is also
-// added to the sidecar as part of this configuration.
-//
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: EnvoyFilter
-// metadata:
-// name: reviews-lua
-// namespace: bookinfo
-// spec:
-// workloadSelector:
-// labels:
-// app: reviews
-// configPatches:
-// # The first patch adds the lua filter to the listener/http connection manager
-// - applyTo: HTTP_FILTER
-// match:
-// context: SIDECAR_INBOUND
-// listener:
-// portNumber: 8080
-// filterChain:
-// filter:
-// name: "envoy.filters.network.http_connection_manager"
-// subFilter:
-// name: "envoy.filters.http.router"
-// patch:
-// operation: INSERT_BEFORE
-// value: # lua filter specification
-// name: envoy.lua
-// typed_config:
-// "@type": "type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua"
-// inlineCode: |
-// function envoy_on_request(request_handle)
-// -- Make an HTTP call to an upstream host with the following headers, body, and timeout.
-// local headers, body = request_handle:httpCall(
-// "lua_cluster",
-// {
-// [":method"] = "POST",
-// [":path"] = "/acl",
-// [":authority"] = "internal.org.net"
-// },
-// "authorize call",
-// 5000)
-// end
-// # The second patch adds the cluster that is referenced by the lua code
-// # cds match is omitted as a new cluster is being added
-// - applyTo: CLUSTER
-// match:
-// context: SIDECAR_OUTBOUND
-// patch:
-// operation: ADD
-// value: # cluster specification
-// name: "lua_cluster"
-// type: STRICT_DNS
-// connect_timeout: 0.5s
-// lb_policy: ROUND_ROBIN
-// load_assignment:
-// cluster_name: lua_cluster
-// endpoints:
-// - lb_endpoints:
-// - endpoint:
-// address:
-// socket_address:
-// protocol: TCP
-// address: "internal.org.net"
-// port_value: 8888
-// ```
-//
-// The following example overwrites certain fields (HTTP idle timeout
-// and X-Forward-For trusted hops) in the HTTP connection manager in a
-// listener on the ingress gateway in istio-system namespace for the
-// SNI host app.example.com:
-//
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: EnvoyFilter
-// metadata:
-// name: hcm-tweaks
-// namespace: istio-system
-// spec:
-// workloadSelector:
-// labels:
-// istio: ingressgateway
-// configPatches:
-// - applyTo: NETWORK_FILTER # http connection manager is a filter in Envoy
-// match:
-// context: GATEWAY
-// listener:
-// filterChain:
-// sni: app.example.com
-// filter:
-// name: "envoy.filters.network.http_connection_manager"
-// patch:
-// operation: MERGE
-// value:
-// typed_config:
-// "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager"
-// xff_num_trusted_hops: 5
-// common_http_protocol_options:
-// idle_timeout: 30s
-// ```
-//
-// The following example inserts an attributegen filter
-// that produces `istio_operationId` attribute which is consumed
-// by the istio.stats fiter. `filterClass: STATS` encodes this dependency.
-//
-//
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: EnvoyFilter
-// metadata:
-// name: reviews-request-operation
-// namespace: myns
-// spec:
-// workloadSelector:
-// labels:
-// app: reviews
-// configPatches:
-// - applyTo: HTTP_FILTER
-// match:
-// context: SIDECAR_INBOUND
-// patch:
-// operation: ADD
-// filterClass: STATS # This filter will run *before* the Istio stats filter.
-// value:
-// name: istio.request_operation
-// typed_config:
-// "@type": type.googleapis.com/udpa.type.v1.TypedStruct
-// type_url: type.googleapis.com/envoy.extensions.filters.http.wasm.v3.Wasm
-// value:
-// config:
-// configuration: |
-// {
-// "attributes": [
-// {
-// "output_attribute": "istio_operationId",
-// "match": [
-// {
-// "value": "ListReviews",
-// "condition": "request.url_path == '/reviews' && request.method == 'GET'"
-// }]
-// }]
-// }
-// vm_config:
-// runtime: envoy.wasm.runtime.null
-// code:
-// local: { inline_string: "envoy.wasm.attributegen" }
-// ```
-//
-// The following example inserts an http ext_authz filter in the `myns` namespace.
-//
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: EnvoyFilter
-// metadata:
-// name: myns-ext-authz
-// namespace: myns
-// spec:
-// configPatches:
-// - applyTo: HTTP_FILTER
-// match:
-// context: SIDECAR_INBOUND
-// patch:
-// operation: ADD
-// filterClass: AUTHZ # This filter will run *after* the Istio authz filter.
-// value:
-// name: envoy.filters.http.ext_authz
-// typed_config:
-// "@type": type.googleapis.com/envoy.extensions.filters.http.ext_authz.v3.ExtAuthz
-// grpc_service:
-// envoy_grpc:
-// cluster_name: acme-ext-authz
-// initial_metadata:
-// - key: foo
-// value: myauth.acme # required by local ext auth server.
-// ```
-//
-// A workload in the `myns` namespace needs to access a different ext_auth server
-// that does not accept initial metadata. Since proto merge cannot remove fields, the
-// following configuration uses the `REPLACE` operation. If you do not need to inherit
-// fields, REPLACE is preferred over MERGE.
-//
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: EnvoyFilter
-// metadata:
-// name: mysvc-ext-authz
-// namespace: myns
-// spec:
-// workloadSelector:
-// labels:
-// app: mysvc
-// configPatches:
-// - applyTo: HTTP_FILTER
-// match:
-// context: SIDECAR_INBOUND
-// patch:
-// operation: REPLACE
-// value:
-// name: envoy.filters.http.ext_authz
-// typed_config:
-// "@type": type.googleapis.com/envoy.extensions.filters.http.ext_authz.v3.ExtAuthz
-// grpc_service:
-// envoy_grpc:
-// cluster_name: acme-ext-authz-alt
-// ```
-//
-// The following example deploys a Wasm extension for all inbound sidecar HTTP requests.
-//
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: EnvoyFilter
-// metadata:
-// name: wasm-example
-// namespace: myns
-// spec:
-// configPatches:
-// # The first patch defines a named Wasm extension and provides a URL to fetch Wasm binary from,
-// # and the binary configuration. It should come before the next patch that applies it.
-// # This resource is visible to all proxies in the namespace "myns". It is possible to provide
-// # multiple definitions for the same name "my-wasm-extension" in multiple namespaces. We recommend that:
-// # - if overriding is desired, then the root level definition can be overriden per namespace with REPLACE.
-// # - if overriding is not desired, then the name should be qualified with the namespace "myns/my-wasm-extension",
-// # to avoid accidental name collisions.
-// - applyTo: EXTENSION_CONFIG
-// patch:
-// operation: ADD # REPLACE is also supported, and would override a cluster level resource with the same name.
-// value:
-// name: my-wasm-extension
-// typed_config:
-// "@type": type.googleapis.com/envoy.extensions.filters.http.wasm.v3.Wasm
-// config:
-// root_id: my-wasm-root-id
-// vm_config:
-// vm_id: my-wasm-vm-id
-// runtime: envoy.wasm.runtime.v8
-// code:
-// remote:
-// http_uri:
-// uri: http://my-wasm-binary-uri
-// configuration:
-// "@type": "type.googleapis.com/google.protobuf.StringValue"
-// value: |
-// {}
-// # The second patch instructs to apply the above Wasm filter to the listener/http connection manager.
-// - applyTo: HTTP_FILTER
-// match:
-// context: SIDECAR_INBOUND
-// patch:
-// operation: ADD
-// filterClass: AUTHZ # This filter will run *after* the Istio authz filter.
-// value:
-// name: my-wasm-extension # This must match the name above
-// config_discovery:
-// config_source:
-// ads: {}
-// type_urls: ["envoy.extensions.filters.http.wasm.v3.Wasm"]
-// ```
-//
-// The following example adds a Wasm service extension for all proxies using a locally available Wasm file.
-// The singleton Wasm extension is used to maintain a shared state between workers executing Wasm filters.
-// For example, a local rate limit extension would rely on a singleton to limit requests across all workers.
-// As another example, an authorization Wasm extension can use a singleton to maintain a database of accounts.
-//
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: EnvoyFilter
-// metadata:
-// name: wasm-service
-// namespace: myns
-// spec:
-// configPatches:
-// - applyTo: BOOTSTRAP
-// patch:
-// operation: MERGE
-// value:
-// bootstrap_extensions:
-// - name: envoy.bootstrap.wasm
-// typed_config:
-// "@type": type.googleapis.com/envoy.extensions.wasm.v3.WasmService
-// singleton: true
-// config:
-// name: my_plugin
-// configuration:
-// "@type": type.googleapis.com/google.protobuf.StringValue
-// value: |
-// {}
-// vm_config:
-// runtime: "envoy.wasm.runtime.v8"
-// code:
-// local:
-// filename: "/etc/envoy_filter_http_wasm_example.wasm"
-// ```
-
+// Code generated by protoc-gen-deepcopy. DO NOT EDIT.
package v1alpha3
import (
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- _ "github.com/gogo/protobuf/types"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
+ proto "github.com/golang/protobuf/proto"
)
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
// DeepCopyInto supports using EnvoyFilter within kubernetes types, where deepcopy-gen is used.
func (in *EnvoyFilter) DeepCopyInto(out *EnvoyFilter) {
p := proto.Clone(in).(*EnvoyFilter)
diff --git a/vendor/istio.io/api/networking/v1alpha3/envoy_filter_json.gen.go b/vendor/istio.io/api/networking/v1alpha3/envoy_filter_json.gen.go
index 85aec215a..24c1268e5 100644
--- a/vendor/istio.io/api/networking/v1alpha3/envoy_filter_json.gen.go
+++ b/vendor/istio.io/api/networking/v1alpha3/envoy_filter_json.gen.go
@@ -1,400 +1,11 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: networking/v1alpha3/envoy_filter.proto
-
-// `EnvoyFilter` provides a mechanism to customize the Envoy
-// configuration generated by Istio Pilot. Use EnvoyFilter to modify
-// values for certain fields, add specific filters, or even add
-// entirely new listeners, clusters, etc. This feature must be used
-// with care, as incorrect configurations could potentially
-// destabilize the entire mesh. Unlike other Istio networking objects,
-// EnvoyFilters are additively applied. Any number of EnvoyFilters can
-// exist for a given workload in a specific namespace. The order of
-// application of these EnvoyFilters is as follows: all EnvoyFilters
-// in the config [root
-// namespace](https://istio.io/docs/reference/config/istio.mesh.v1alpha1/#MeshConfig),
-// followed by all matching EnvoyFilters in the workload's namespace.
-//
-// **NOTE 1**: Some aspects of this API are deeply tied to the internal
-// implementation in Istio networking subsystem as well as Envoy's XDS
-// API. While the EnvoyFilter API by itself will maintain backward
-// compatibility, any envoy configuration provided through this
-// mechanism should be carefully monitored across Istio proxy version
-// upgrades, to ensure that deprecated fields are removed and replaced
-// appropriately.
-//
-// **NOTE 2**: When multiple EnvoyFilters are bound to the same
-// workload in a given namespace, all patches will be processed
-// sequentially in order of creation time. The behavior is undefined
-// if multiple EnvoyFilter configurations conflict with each other.
-//
-// **NOTE 3**: To apply an EnvoyFilter resource to all workloads
-// (sidecars and gateways) in the system, define the resource in the
-// config [root
-// namespace](https://istio.io/docs/reference/config/istio.mesh.v1alpha1/#MeshConfig),
-// without a workloadSelector.
-//
-// The example below declares a global default EnvoyFilter resource in
-// the root namespace called `istio-config`, that adds a custom
-// protocol filter on all sidecars in the system, for outbound port
-// 9307. The filter should be added before the terminating tcp_proxy
-// filter to take effect. In addition, it sets a 30s idle timeout for
-// all HTTP connections in both gateways and sidecars.
-//
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: EnvoyFilter
-// metadata:
-// name: custom-protocol
-// namespace: istio-config # as defined in meshConfig resource.
-// spec:
-// configPatches:
-// - applyTo: NETWORK_FILTER
-// match:
-// context: SIDECAR_OUTBOUND # will match outbound listeners in all sidecars
-// listener:
-// portNumber: 9307
-// filterChain:
-// filter:
-// name: "envoy.filters.network.tcp_proxy"
-// patch:
-// operation: INSERT_BEFORE
-// value:
-// # This is the full filter config including the name and typed_config section.
-// name: "envoy.config.filter.network.custom_protocol"
-// typed_config:
-// ...
-// - applyTo: NETWORK_FILTER # http connection manager is a filter in Envoy
-// match:
-// # context omitted so that this applies to both sidecars and gateways
-// listener:
-// filterChain:
-// filter:
-// name: "envoy.filters.network.http_connection_manager"
-// patch:
-// operation: MERGE
-// value:
-// name: "envoy.filters.network.http_connection_manager"
-// typed_config:
-// "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager"
-// common_http_protocol_options:
-// idle_timeout: 30s
-// ```
-//
-// The following example enables Envoy's Lua filter for all inbound
-// HTTP calls arriving at service port 8080 of the reviews service pod
-// with labels "app: reviews", in the bookinfo namespace. The lua
-// filter calls out to an external service internal.org.net:8888 that
-// requires a special cluster definition in envoy. The cluster is also
-// added to the sidecar as part of this configuration.
-//
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: EnvoyFilter
-// metadata:
-// name: reviews-lua
-// namespace: bookinfo
-// spec:
-// workloadSelector:
-// labels:
-// app: reviews
-// configPatches:
-// # The first patch adds the lua filter to the listener/http connection manager
-// - applyTo: HTTP_FILTER
-// match:
-// context: SIDECAR_INBOUND
-// listener:
-// portNumber: 8080
-// filterChain:
-// filter:
-// name: "envoy.filters.network.http_connection_manager"
-// subFilter:
-// name: "envoy.filters.http.router"
-// patch:
-// operation: INSERT_BEFORE
-// value: # lua filter specification
-// name: envoy.lua
-// typed_config:
-// "@type": "type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua"
-// inlineCode: |
-// function envoy_on_request(request_handle)
-// -- Make an HTTP call to an upstream host with the following headers, body, and timeout.
-// local headers, body = request_handle:httpCall(
-// "lua_cluster",
-// {
-// [":method"] = "POST",
-// [":path"] = "/acl",
-// [":authority"] = "internal.org.net"
-// },
-// "authorize call",
-// 5000)
-// end
-// # The second patch adds the cluster that is referenced by the lua code
-// # cds match is omitted as a new cluster is being added
-// - applyTo: CLUSTER
-// match:
-// context: SIDECAR_OUTBOUND
-// patch:
-// operation: ADD
-// value: # cluster specification
-// name: "lua_cluster"
-// type: STRICT_DNS
-// connect_timeout: 0.5s
-// lb_policy: ROUND_ROBIN
-// load_assignment:
-// cluster_name: lua_cluster
-// endpoints:
-// - lb_endpoints:
-// - endpoint:
-// address:
-// socket_address:
-// protocol: TCP
-// address: "internal.org.net"
-// port_value: 8888
-// ```
-//
-// The following example overwrites certain fields (HTTP idle timeout
-// and X-Forward-For trusted hops) in the HTTP connection manager in a
-// listener on the ingress gateway in istio-system namespace for the
-// SNI host app.example.com:
-//
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: EnvoyFilter
-// metadata:
-// name: hcm-tweaks
-// namespace: istio-system
-// spec:
-// workloadSelector:
-// labels:
-// istio: ingressgateway
-// configPatches:
-// - applyTo: NETWORK_FILTER # http connection manager is a filter in Envoy
-// match:
-// context: GATEWAY
-// listener:
-// filterChain:
-// sni: app.example.com
-// filter:
-// name: "envoy.filters.network.http_connection_manager"
-// patch:
-// operation: MERGE
-// value:
-// typed_config:
-// "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager"
-// xff_num_trusted_hops: 5
-// common_http_protocol_options:
-// idle_timeout: 30s
-// ```
-//
-// The following example inserts an attributegen filter
-// that produces `istio_operationId` attribute which is consumed
-// by the istio.stats fiter. `filterClass: STATS` encodes this dependency.
-//
-//
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: EnvoyFilter
-// metadata:
-// name: reviews-request-operation
-// namespace: myns
-// spec:
-// workloadSelector:
-// labels:
-// app: reviews
-// configPatches:
-// - applyTo: HTTP_FILTER
-// match:
-// context: SIDECAR_INBOUND
-// patch:
-// operation: ADD
-// filterClass: STATS # This filter will run *before* the Istio stats filter.
-// value:
-// name: istio.request_operation
-// typed_config:
-// "@type": type.googleapis.com/udpa.type.v1.TypedStruct
-// type_url: type.googleapis.com/envoy.extensions.filters.http.wasm.v3.Wasm
-// value:
-// config:
-// configuration: |
-// {
-// "attributes": [
-// {
-// "output_attribute": "istio_operationId",
-// "match": [
-// {
-// "value": "ListReviews",
-// "condition": "request.url_path == '/reviews' && request.method == 'GET'"
-// }]
-// }]
-// }
-// vm_config:
-// runtime: envoy.wasm.runtime.null
-// code:
-// local: { inline_string: "envoy.wasm.attributegen" }
-// ```
-//
-// The following example inserts an http ext_authz filter in the `myns` namespace.
-//
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: EnvoyFilter
-// metadata:
-// name: myns-ext-authz
-// namespace: myns
-// spec:
-// configPatches:
-// - applyTo: HTTP_FILTER
-// match:
-// context: SIDECAR_INBOUND
-// patch:
-// operation: ADD
-// filterClass: AUTHZ # This filter will run *after* the Istio authz filter.
-// value:
-// name: envoy.filters.http.ext_authz
-// typed_config:
-// "@type": type.googleapis.com/envoy.extensions.filters.http.ext_authz.v3.ExtAuthz
-// grpc_service:
-// envoy_grpc:
-// cluster_name: acme-ext-authz
-// initial_metadata:
-// - key: foo
-// value: myauth.acme # required by local ext auth server.
-// ```
-//
-// A workload in the `myns` namespace needs to access a different ext_auth server
-// that does not accept initial metadata. Since proto merge cannot remove fields, the
-// following configuration uses the `REPLACE` operation. If you do not need to inherit
-// fields, REPLACE is preferred over MERGE.
-//
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: EnvoyFilter
-// metadata:
-// name: mysvc-ext-authz
-// namespace: myns
-// spec:
-// workloadSelector:
-// labels:
-// app: mysvc
-// configPatches:
-// - applyTo: HTTP_FILTER
-// match:
-// context: SIDECAR_INBOUND
-// patch:
-// operation: REPLACE
-// value:
-// name: envoy.filters.http.ext_authz
-// typed_config:
-// "@type": type.googleapis.com/envoy.extensions.filters.http.ext_authz.v3.ExtAuthz
-// grpc_service:
-// envoy_grpc:
-// cluster_name: acme-ext-authz-alt
-// ```
-//
-// The following example deploys a Wasm extension for all inbound sidecar HTTP requests.
-//
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: EnvoyFilter
-// metadata:
-// name: wasm-example
-// namespace: myns
-// spec:
-// configPatches:
-// # The first patch defines a named Wasm extension and provides a URL to fetch Wasm binary from,
-// # and the binary configuration. It should come before the next patch that applies it.
-// # This resource is visible to all proxies in the namespace "myns". It is possible to provide
-// # multiple definitions for the same name "my-wasm-extension" in multiple namespaces. We recommend that:
-// # - if overriding is desired, then the root level definition can be overriden per namespace with REPLACE.
-// # - if overriding is not desired, then the name should be qualified with the namespace "myns/my-wasm-extension",
-// # to avoid accidental name collisions.
-// - applyTo: EXTENSION_CONFIG
-// patch:
-// operation: ADD # REPLACE is also supported, and would override a cluster level resource with the same name.
-// value:
-// name: my-wasm-extension
-// typed_config:
-// "@type": type.googleapis.com/envoy.extensions.filters.http.wasm.v3.Wasm
-// config:
-// root_id: my-wasm-root-id
-// vm_config:
-// vm_id: my-wasm-vm-id
-// runtime: envoy.wasm.runtime.v8
-// code:
-// remote:
-// http_uri:
-// uri: http://my-wasm-binary-uri
-// configuration:
-// "@type": "type.googleapis.com/google.protobuf.StringValue"
-// value: |
-// {}
-// # The second patch instructs to apply the above Wasm filter to the listener/http connection manager.
-// - applyTo: HTTP_FILTER
-// match:
-// context: SIDECAR_INBOUND
-// patch:
-// operation: ADD
-// filterClass: AUTHZ # This filter will run *after* the Istio authz filter.
-// value:
-// name: my-wasm-extension # This must match the name above
-// config_discovery:
-// config_source:
-// ads: {}
-// type_urls: ["envoy.extensions.filters.http.wasm.v3.Wasm"]
-// ```
-//
-// The following example adds a Wasm service extension for all proxies using a locally available Wasm file.
-// The singleton Wasm extension is used to maintain a shared state between workers executing Wasm filters.
-// For example, a local rate limit extension would rely on a singleton to limit requests across all workers.
-// As another example, an authorization Wasm extension can use a singleton to maintain a database of accounts.
-//
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: EnvoyFilter
-// metadata:
-// name: wasm-service
-// namespace: myns
-// spec:
-// configPatches:
-// - applyTo: BOOTSTRAP
-// patch:
-// operation: MERGE
-// value:
-// bootstrap_extensions:
-// - name: envoy.bootstrap.wasm
-// typed_config:
-// "@type": type.googleapis.com/envoy.extensions.wasm.v3.WasmService
-// singleton: true
-// config:
-// name: my_plugin
-// configuration:
-// "@type": type.googleapis.com/google.protobuf.StringValue
-// value: |
-// {}
-// vm_config:
-// runtime: "envoy.wasm.runtime.v8"
-// code:
-// local:
-// filename: "/etc/envoy_filter_http_wasm_example.wasm"
-// ```
-
+// Code generated by protoc-gen-jsonshim. DO NOT EDIT.
package v1alpha3
import (
bytes "bytes"
- fmt "fmt"
- github_com_gogo_protobuf_jsonpb "github.com/gogo/protobuf/jsonpb"
- proto "github.com/gogo/protobuf/proto"
- _ "github.com/gogo/protobuf/types"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
+ jsonpb "github.com/golang/protobuf/jsonpb"
)
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
// MarshalJSON is a custom marshaler for EnvoyFilter
func (this *EnvoyFilter) MarshalJSON() ([]byte, error) {
str, err := EnvoyFilterMarshaler.MarshalToString(this)
@@ -539,6 +150,6 @@ func (this *EnvoyFilter_EnvoyConfigObjectPatch) UnmarshalJSON(b []byte) error {
}
var (
- EnvoyFilterMarshaler = &github_com_gogo_protobuf_jsonpb.Marshaler{}
- EnvoyFilterUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{AllowUnknownFields: true}
+ EnvoyFilterMarshaler = &jsonpb.Marshaler{}
+ EnvoyFilterUnmarshaler = &jsonpb.Unmarshaler{AllowUnknownFields: true}
)
diff --git a/vendor/istio.io/api/networking/v1alpha3/gateway.pb.go b/vendor/istio.io/api/networking/v1alpha3/gateway.pb.go
index 830c03e51..fb82827c7 100644
--- a/vendor/istio.io/api/networking/v1alpha3/gateway.pb.go
+++ b/vendor/istio.io/api/networking/v1alpha3/gateway.pb.go
@@ -1,6 +1,29 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
+// Copyright 2017 Istio 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-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.27.1
+// protoc (unknown)
// source: networking/v1alpha3/gateway.proto
+// $schema: istio.networking.v1alpha3.Gateway
+// $title: Gateway
+// $description: Configuration affecting edge load balancer.
+// $location: https://istio.io/docs/reference/config/networking/gateway.html
+// $aliases: [/docs/reference/config/networking/v1alpha3/gateway]
+
// `Gateway` describes a load balancer operating at the edge of the mesh
// receiving incoming or outgoing HTTP/TCP connections. The specification
// describes a set of ports that should be exposed, the type of protocol to
@@ -330,24 +353,19 @@
package v1alpha3
import (
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- io "io"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
- math_bits "math/bits"
+ _ "google.golang.org/genproto/googleapis/api/annotations"
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
)
-// 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.GoGoProtoPackageIsVersion3 // please upgrade the proto package
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
// TLS modes enforced by the proxy
type ServerTLSSettings_TLSmode int32
@@ -383,28 +401,49 @@ const (
ServerTLSSettings_ISTIO_MUTUAL ServerTLSSettings_TLSmode = 4
)
-var ServerTLSSettings_TLSmode_name = map[int32]string{
- 0: "PASSTHROUGH",
- 1: "SIMPLE",
- 2: "MUTUAL",
- 3: "AUTO_PASSTHROUGH",
- 4: "ISTIO_MUTUAL",
-}
+// Enum value maps for ServerTLSSettings_TLSmode.
+var (
+ ServerTLSSettings_TLSmode_name = map[int32]string{
+ 0: "PASSTHROUGH",
+ 1: "SIMPLE",
+ 2: "MUTUAL",
+ 3: "AUTO_PASSTHROUGH",
+ 4: "ISTIO_MUTUAL",
+ }
+ ServerTLSSettings_TLSmode_value = map[string]int32{
+ "PASSTHROUGH": 0,
+ "SIMPLE": 1,
+ "MUTUAL": 2,
+ "AUTO_PASSTHROUGH": 3,
+ "ISTIO_MUTUAL": 4,
+ }
+)
-var ServerTLSSettings_TLSmode_value = map[string]int32{
- "PASSTHROUGH": 0,
- "SIMPLE": 1,
- "MUTUAL": 2,
- "AUTO_PASSTHROUGH": 3,
- "ISTIO_MUTUAL": 4,
+func (x ServerTLSSettings_TLSmode) Enum() *ServerTLSSettings_TLSmode {
+ p := new(ServerTLSSettings_TLSmode)
+ *p = x
+ return p
}
func (x ServerTLSSettings_TLSmode) String() string {
- return proto.EnumName(ServerTLSSettings_TLSmode_name, int32(x))
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ServerTLSSettings_TLSmode) Descriptor() protoreflect.EnumDescriptor {
+ return file_networking_v1alpha3_gateway_proto_enumTypes[0].Descriptor()
+}
+
+func (ServerTLSSettings_TLSmode) Type() protoreflect.EnumType {
+ return &file_networking_v1alpha3_gateway_proto_enumTypes[0]
}
+func (x ServerTLSSettings_TLSmode) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ServerTLSSettings_TLSmode.Descriptor instead.
func (ServerTLSSettings_TLSmode) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_067d98d02f84cc0b, []int{3, 0}
+ return file_networking_v1alpha3_gateway_proto_rawDescGZIP(), []int{3, 0}
}
// TLS protocol versions.
@@ -423,28 +462,49 @@ const (
ServerTLSSettings_TLSV1_3 ServerTLSSettings_TLSProtocol = 4
)
-var ServerTLSSettings_TLSProtocol_name = map[int32]string{
- 0: "TLS_AUTO",
- 1: "TLSV1_0",
- 2: "TLSV1_1",
- 3: "TLSV1_2",
- 4: "TLSV1_3",
-}
+// Enum value maps for ServerTLSSettings_TLSProtocol.
+var (
+ ServerTLSSettings_TLSProtocol_name = map[int32]string{
+ 0: "TLS_AUTO",
+ 1: "TLSV1_0",
+ 2: "TLSV1_1",
+ 3: "TLSV1_2",
+ 4: "TLSV1_3",
+ }
+ ServerTLSSettings_TLSProtocol_value = map[string]int32{
+ "TLS_AUTO": 0,
+ "TLSV1_0": 1,
+ "TLSV1_1": 2,
+ "TLSV1_2": 3,
+ "TLSV1_3": 4,
+ }
+)
-var ServerTLSSettings_TLSProtocol_value = map[string]int32{
- "TLS_AUTO": 0,
- "TLSV1_0": 1,
- "TLSV1_1": 2,
- "TLSV1_2": 3,
- "TLSV1_3": 4,
+func (x ServerTLSSettings_TLSProtocol) Enum() *ServerTLSSettings_TLSProtocol {
+ p := new(ServerTLSSettings_TLSProtocol)
+ *p = x
+ return p
}
func (x ServerTLSSettings_TLSProtocol) String() string {
- return proto.EnumName(ServerTLSSettings_TLSProtocol_name, int32(x))
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
+func (ServerTLSSettings_TLSProtocol) Descriptor() protoreflect.EnumDescriptor {
+ return file_networking_v1alpha3_gateway_proto_enumTypes[1].Descriptor()
+}
+
+func (ServerTLSSettings_TLSProtocol) Type() protoreflect.EnumType {
+ return &file_networking_v1alpha3_gateway_proto_enumTypes[1]
+}
+
+func (x ServerTLSSettings_TLSProtocol) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ServerTLSSettings_TLSProtocol.Descriptor instead.
func (ServerTLSSettings_TLSProtocol) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_067d98d02f84cc0b, []int{3, 1}
+ return file_networking_v1alpha3_gateway_proto_rawDescGZIP(), []int{3, 1}
}
// Gateway describes a load balancer operating at the edge of the mesh
@@ -472,6 +532,10 @@ func (ServerTLSSettings_TLSProtocol) EnumDescriptor() ([]byte, []int) {
// +istio.io/sync-start
// -->
type Gateway struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// A list of server specifications.
Servers []*Server `protobuf:"bytes,1,rep,name=servers,proto3" json:"servers,omitempty"`
// One or more labels that indicate a specific set of pods/VMs
@@ -486,55 +550,51 @@ type Gateway struct {
// resource must reside in the same namespace as the gateway workload
// instance.
// If selector is nil, the Gateway will be applied to all workloads.
- Selector map[string]string `protobuf:"bytes,2,rep,name=selector,proto3" json:"selector,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Selector map[string]string `protobuf:"bytes,2,rep,name=selector,proto3" json:"selector,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
-func (m *Gateway) Reset() { *m = Gateway{} }
-func (m *Gateway) String() string { return proto.CompactTextString(m) }
-func (*Gateway) ProtoMessage() {}
-func (*Gateway) Descriptor() ([]byte, []int) {
- return fileDescriptor_067d98d02f84cc0b, []int{0}
+func (x *Gateway) Reset() {
+ *x = Gateway{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_gateway_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
}
-func (m *Gateway) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
+
+func (x *Gateway) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *Gateway) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Gateway.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
+
+func (*Gateway) ProtoMessage() {}
+
+func (x *Gateway) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_gateway_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- return b[:n], nil
+ return ms
}
-}
-func (m *Gateway) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Gateway.Merge(m, src)
-}
-func (m *Gateway) XXX_Size() int {
- return m.Size()
-}
-func (m *Gateway) XXX_DiscardUnknown() {
- xxx_messageInfo_Gateway.DiscardUnknown(m)
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_Gateway proto.InternalMessageInfo
+// Deprecated: Use Gateway.ProtoReflect.Descriptor instead.
+func (*Gateway) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_gateway_proto_rawDescGZIP(), []int{0}
+}
-func (m *Gateway) GetServers() []*Server {
- if m != nil {
- return m.Servers
+func (x *Gateway) GetServers() []*Server {
+ if x != nil {
+ return x.Servers
}
return nil
}
-func (m *Gateway) GetSelector() map[string]string {
- if m != nil {
- return m.Selector
+func (x *Gateway) GetSelector() map[string]string {
+ if x != nil {
+ return x.Selector
}
return nil
}
@@ -645,8 +705,7 @@ func (m *Gateway) GetSelector() map[string]string {
// - "*"
// tls:
// mode: SIMPLE
-// serverCertificate: /etc/certs/server.pem
-// privateKey: /etc/certs/privatekey.pem
+// credentialName: tls-cert
// ```
// {{}}
//
@@ -668,13 +727,16 @@ func (m *Gateway) GetSelector() map[string]string {
// - "*"
// tls:
// mode: SIMPLE
-// serverCertificate: /etc/certs/server.pem
-// privateKey: /etc/certs/privatekey.pem
+// credentialName: tls-cert
// ```
// {{}}
// {{}}
//
type Server struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// The Port on which the proxy should listen for incoming
// connections.
Port *Port `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"`
@@ -730,89 +792,89 @@ type Server struct {
// An optional name of the server, when set must be unique across all servers.
// This will be used for variety of purposes like prefixing stats generated with
// this name etc.
- Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
}
-func (m *Server) Reset() { *m = Server{} }
-func (m *Server) String() string { return proto.CompactTextString(m) }
-func (*Server) ProtoMessage() {}
-func (*Server) Descriptor() ([]byte, []int) {
- return fileDescriptor_067d98d02f84cc0b, []int{1}
+func (x *Server) Reset() {
+ *x = Server{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_gateway_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
}
-func (m *Server) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
+
+func (x *Server) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *Server) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Server.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
+
+func (*Server) ProtoMessage() {}
+
+func (x *Server) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_gateway_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- return b[:n], nil
+ return ms
}
-}
-func (m *Server) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Server.Merge(m, src)
-}
-func (m *Server) XXX_Size() int {
- return m.Size()
-}
-func (m *Server) XXX_DiscardUnknown() {
- xxx_messageInfo_Server.DiscardUnknown(m)
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_Server proto.InternalMessageInfo
+// Deprecated: Use Server.ProtoReflect.Descriptor instead.
+func (*Server) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_gateway_proto_rawDescGZIP(), []int{1}
+}
-func (m *Server) GetPort() *Port {
- if m != nil {
- return m.Port
+func (x *Server) GetPort() *Port {
+ if x != nil {
+ return x.Port
}
return nil
}
-func (m *Server) GetBind() string {
- if m != nil {
- return m.Bind
+func (x *Server) GetBind() string {
+ if x != nil {
+ return x.Bind
}
return ""
}
-func (m *Server) GetHosts() []string {
- if m != nil {
- return m.Hosts
+func (x *Server) GetHosts() []string {
+ if x != nil {
+ return x.Hosts
}
return nil
}
-func (m *Server) GetTls() *ServerTLSSettings {
- if m != nil {
- return m.Tls
+func (x *Server) GetTls() *ServerTLSSettings {
+ if x != nil {
+ return x.Tls
}
return nil
}
-func (m *Server) GetDefaultEndpoint() string {
- if m != nil {
- return m.DefaultEndpoint
+func (x *Server) GetDefaultEndpoint() string {
+ if x != nil {
+ return x.DefaultEndpoint
}
return ""
}
-func (m *Server) GetName() string {
- if m != nil {
- return m.Name
+func (x *Server) GetName() string {
+ if x != nil {
+ return x.Name
}
return ""
}
// Port describes the properties of a specific port of a service.
type Port struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// A valid non-negative integer port number.
Number uint32 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"`
// The protocol exposed on the port.
@@ -824,74 +886,74 @@ type Port struct {
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
// The port number on the endpoint where the traffic will be
// received. Applicable only when used with ServiceEntries.
- TargetPort uint32 `protobuf:"varint,4,opt,name=target_port,json=targetPort,proto3" json:"target_port,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ TargetPort uint32 `protobuf:"varint,4,opt,name=target_port,json=targetPort,proto3" json:"target_port,omitempty"`
}
-func (m *Port) Reset() { *m = Port{} }
-func (m *Port) String() string { return proto.CompactTextString(m) }
-func (*Port) ProtoMessage() {}
-func (*Port) Descriptor() ([]byte, []int) {
- return fileDescriptor_067d98d02f84cc0b, []int{2}
+func (x *Port) Reset() {
+ *x = Port{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_gateway_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
}
-func (m *Port) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
+
+func (x *Port) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *Port) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Port.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
+
+func (*Port) ProtoMessage() {}
+
+func (x *Port) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_gateway_proto_msgTypes[2]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- return b[:n], nil
+ return ms
}
-}
-func (m *Port) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Port.Merge(m, src)
-}
-func (m *Port) XXX_Size() int {
- return m.Size()
-}
-func (m *Port) XXX_DiscardUnknown() {
- xxx_messageInfo_Port.DiscardUnknown(m)
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_Port proto.InternalMessageInfo
+// Deprecated: Use Port.ProtoReflect.Descriptor instead.
+func (*Port) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_gateway_proto_rawDescGZIP(), []int{2}
+}
-func (m *Port) GetNumber() uint32 {
- if m != nil {
- return m.Number
+func (x *Port) GetNumber() uint32 {
+ if x != nil {
+ return x.Number
}
return 0
}
-func (m *Port) GetProtocol() string {
- if m != nil {
- return m.Protocol
+func (x *Port) GetProtocol() string {
+ if x != nil {
+ return x.Protocol
}
return ""
}
-func (m *Port) GetName() string {
- if m != nil {
- return m.Name
+func (x *Port) GetName() string {
+ if x != nil {
+ return x.Name
}
return ""
}
-func (m *Port) GetTargetPort() uint32 {
- if m != nil {
- return m.TargetPort
+func (x *Port) GetTargetPort() uint32 {
+ if x != nil {
+ return x.TargetPort
}
return 0
}
type ServerTLSSettings struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// If set to true, the load balancer will send a 301 redirect for
// all http connections, asking the clients to use HTTPS.
HttpsRedirect bool `protobuf:"varint,1,opt,name=https_redirect,json=httpsRedirect,proto3" json:"https_redirect,omitempty"`
@@ -943,1755 +1005,342 @@ type ServerTLSSettings struct {
MaxProtocolVersion ServerTLSSettings_TLSProtocol `protobuf:"varint,8,opt,name=max_protocol_version,json=maxProtocolVersion,proto3,enum=istio.networking.v1alpha3.ServerTLSSettings_TLSProtocol" json:"max_protocol_version,omitempty"`
// Optional: If specified, only support the specified cipher list.
// Otherwise default to the default cipher list supported by Envoy.
- CipherSuites []string `protobuf:"bytes,9,rep,name=cipher_suites,json=cipherSuites,proto3" json:"cipher_suites,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ CipherSuites []string `protobuf:"bytes,9,rep,name=cipher_suites,json=cipherSuites,proto3" json:"cipher_suites,omitempty"`
}
-func (m *ServerTLSSettings) Reset() { *m = ServerTLSSettings{} }
-func (m *ServerTLSSettings) String() string { return proto.CompactTextString(m) }
-func (*ServerTLSSettings) ProtoMessage() {}
-func (*ServerTLSSettings) Descriptor() ([]byte, []int) {
- return fileDescriptor_067d98d02f84cc0b, []int{3}
+func (x *ServerTLSSettings) Reset() {
+ *x = ServerTLSSettings{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_gateway_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
}
-func (m *ServerTLSSettings) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
+
+func (x *ServerTLSSettings) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *ServerTLSSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_ServerTLSSettings.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
+
+func (*ServerTLSSettings) ProtoMessage() {}
+
+func (x *ServerTLSSettings) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_gateway_proto_msgTypes[3]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- return b[:n], nil
+ return ms
}
-}
-func (m *ServerTLSSettings) XXX_Merge(src proto.Message) {
- xxx_messageInfo_ServerTLSSettings.Merge(m, src)
-}
-func (m *ServerTLSSettings) XXX_Size() int {
- return m.Size()
-}
-func (m *ServerTLSSettings) XXX_DiscardUnknown() {
- xxx_messageInfo_ServerTLSSettings.DiscardUnknown(m)
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_ServerTLSSettings proto.InternalMessageInfo
+// Deprecated: Use ServerTLSSettings.ProtoReflect.Descriptor instead.
+func (*ServerTLSSettings) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_gateway_proto_rawDescGZIP(), []int{3}
+}
-func (m *ServerTLSSettings) GetHttpsRedirect() bool {
- if m != nil {
- return m.HttpsRedirect
+func (x *ServerTLSSettings) GetHttpsRedirect() bool {
+ if x != nil {
+ return x.HttpsRedirect
}
return false
}
-func (m *ServerTLSSettings) GetMode() ServerTLSSettings_TLSmode {
- if m != nil {
- return m.Mode
+func (x *ServerTLSSettings) GetMode() ServerTLSSettings_TLSmode {
+ if x != nil {
+ return x.Mode
}
return ServerTLSSettings_PASSTHROUGH
}
-func (m *ServerTLSSettings) GetServerCertificate() string {
- if m != nil {
- return m.ServerCertificate
+func (x *ServerTLSSettings) GetServerCertificate() string {
+ if x != nil {
+ return x.ServerCertificate
}
return ""
}
-func (m *ServerTLSSettings) GetPrivateKey() string {
- if m != nil {
- return m.PrivateKey
+func (x *ServerTLSSettings) GetPrivateKey() string {
+ if x != nil {
+ return x.PrivateKey
}
return ""
}
-func (m *ServerTLSSettings) GetCaCertificates() string {
- if m != nil {
- return m.CaCertificates
+func (x *ServerTLSSettings) GetCaCertificates() string {
+ if x != nil {
+ return x.CaCertificates
}
return ""
}
-func (m *ServerTLSSettings) GetCredentialName() string {
- if m != nil {
- return m.CredentialName
+func (x *ServerTLSSettings) GetCredentialName() string {
+ if x != nil {
+ return x.CredentialName
}
return ""
}
-func (m *ServerTLSSettings) GetSubjectAltNames() []string {
- if m != nil {
- return m.SubjectAltNames
+func (x *ServerTLSSettings) GetSubjectAltNames() []string {
+ if x != nil {
+ return x.SubjectAltNames
}
return nil
}
-func (m *ServerTLSSettings) GetVerifyCertificateSpki() []string {
- if m != nil {
- return m.VerifyCertificateSpki
+func (x *ServerTLSSettings) GetVerifyCertificateSpki() []string {
+ if x != nil {
+ return x.VerifyCertificateSpki
}
return nil
}
-func (m *ServerTLSSettings) GetVerifyCertificateHash() []string {
- if m != nil {
- return m.VerifyCertificateHash
+func (x *ServerTLSSettings) GetVerifyCertificateHash() []string {
+ if x != nil {
+ return x.VerifyCertificateHash
}
return nil
}
-func (m *ServerTLSSettings) GetMinProtocolVersion() ServerTLSSettings_TLSProtocol {
- if m != nil {
- return m.MinProtocolVersion
+func (x *ServerTLSSettings) GetMinProtocolVersion() ServerTLSSettings_TLSProtocol {
+ if x != nil {
+ return x.MinProtocolVersion
}
return ServerTLSSettings_TLS_AUTO
}
-func (m *ServerTLSSettings) GetMaxProtocolVersion() ServerTLSSettings_TLSProtocol {
- if m != nil {
- return m.MaxProtocolVersion
+func (x *ServerTLSSettings) GetMaxProtocolVersion() ServerTLSSettings_TLSProtocol {
+ if x != nil {
+ return x.MaxProtocolVersion
}
return ServerTLSSettings_TLS_AUTO
}
-func (m *ServerTLSSettings) GetCipherSuites() []string {
- if m != nil {
- return m.CipherSuites
+func (x *ServerTLSSettings) GetCipherSuites() []string {
+ if x != nil {
+ return x.CipherSuites
}
return nil
}
-func init() {
- proto.RegisterEnum("istio.networking.v1alpha3.ServerTLSSettings_TLSmode", ServerTLSSettings_TLSmode_name, ServerTLSSettings_TLSmode_value)
- proto.RegisterEnum("istio.networking.v1alpha3.ServerTLSSettings_TLSProtocol", ServerTLSSettings_TLSProtocol_name, ServerTLSSettings_TLSProtocol_value)
- proto.RegisterType((*Gateway)(nil), "istio.networking.v1alpha3.Gateway")
- proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.Gateway.SelectorEntry")
- proto.RegisterType((*Server)(nil), "istio.networking.v1alpha3.Server")
- proto.RegisterType((*Port)(nil), "istio.networking.v1alpha3.Port")
- proto.RegisterType((*ServerTLSSettings)(nil), "istio.networking.v1alpha3.ServerTLSSettings")
-}
-
-func init() { proto.RegisterFile("networking/v1alpha3/gateway.proto", fileDescriptor_067d98d02f84cc0b) }
-
-var fileDescriptor_067d98d02f84cc0b = []byte{
- // 790 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x55, 0x5d, 0x6f, 0x1b, 0x45,
- 0x14, 0xed, 0xda, 0x1b, 0xc7, 0xb9, 0x8e, 0x93, 0xcd, 0x28, 0x88, 0x25, 0x42, 0x49, 0x6a, 0x84,
- 0x28, 0x08, 0x36, 0x4d, 0x82, 0x50, 0x01, 0x09, 0xc9, 0x45, 0x51, 0x13, 0xe1, 0x12, 0x6b, 0xd7,
- 0xee, 0x43, 0x5f, 0x46, 0xe3, 0xf5, 0xd8, 0x3b, 0xf5, 0x7a, 0x67, 0x35, 0x33, 0x76, 0xeb, 0x47,
- 0xfe, 0x1d, 0x8f, 0xfc, 0x01, 0x24, 0xe4, 0x67, 0x9e, 0xf8, 0x05, 0x68, 0x3e, 0x5c, 0x1b, 0x4a,
- 0x8a, 0xaa, 0xbe, 0xcd, 0x9c, 0xb9, 0xe7, 0xdc, 0x7b, 0xcf, 0xbd, 0xf6, 0xc2, 0xfd, 0x82, 0xaa,
- 0x97, 0x5c, 0x4c, 0x58, 0x31, 0x3e, 0x9b, 0x9f, 0x93, 0xbc, 0xcc, 0xc8, 0xe5, 0xd9, 0x98, 0x28,
- 0xfa, 0x92, 0x2c, 0xa2, 0x52, 0x70, 0xc5, 0xd1, 0x47, 0x4c, 0x2a, 0xc6, 0xa3, 0x75, 0x60, 0xb4,
- 0x0a, 0x3c, 0x3a, 0x19, 0x73, 0x3e, 0xce, 0xe9, 0x19, 0x29, 0xd9, 0xd9, 0x88, 0xd1, 0x7c, 0x88,
- 0x07, 0x34, 0x23, 0x73, 0xc6, 0x85, 0xe5, 0xb6, 0x7e, 0xf7, 0x60, 0xfb, 0x89, 0x55, 0x43, 0x6d,
- 0xd8, 0x96, 0x54, 0xcc, 0xa9, 0x90, 0xa1, 0x77, 0x5a, 0x7d, 0xd0, 0xb8, 0xb8, 0x1f, 0xdd, 0xa9,
- 0x1c, 0x25, 0x26, 0xf2, 0xb1, 0xbf, 0x6c, 0x7b, 0x95, 0x78, 0xc5, 0x43, 0x31, 0xd4, 0x25, 0xcd,
- 0x69, 0xaa, 0xb8, 0x08, 0x2b, 0x46, 0xe3, 0xe1, 0x5b, 0x34, 0x5c, 0xe2, 0x28, 0x71, 0x94, 0xab,
- 0x42, 0x89, 0x85, 0x93, 0x7c, 0xad, 0x73, 0xf4, 0x3d, 0x34, 0xff, 0x11, 0x80, 0x02, 0xa8, 0x4e,
- 0xe8, 0x22, 0xf4, 0x4e, 0xbd, 0x07, 0x3b, 0xb1, 0x3e, 0xa2, 0x43, 0xd8, 0x9a, 0x93, 0x7c, 0x46,
- 0xc3, 0x8a, 0xc1, 0xec, 0xe5, 0xbb, 0xca, 0x23, 0xaf, 0xf5, 0x97, 0x07, 0x35, 0x5b, 0x2a, 0xfa,
- 0x16, 0xfc, 0x92, 0x0b, 0x65, 0x78, 0x8d, 0x8b, 0x93, 0xb7, 0xd4, 0xd5, 0xe5, 0x42, 0xb9, 0x32,
- 0x0c, 0x05, 0x21, 0xf0, 0x07, 0xac, 0x18, 0x86, 0xbe, 0x91, 0x37, 0x67, 0x74, 0x04, 0x5b, 0x19,
- 0x97, 0x4a, 0x9a, 0x3e, 0x77, 0x5c, 0xb8, 0x85, 0xd0, 0x0f, 0x50, 0x55, 0xb9, 0x0c, 0xab, 0x26,
- 0xd3, 0x97, 0xff, 0xeb, 0x62, 0xaf, 0x93, 0x24, 0x54, 0x29, 0x56, 0x8c, 0x65, 0xac, 0x89, 0xe8,
- 0x73, 0x08, 0x86, 0x74, 0x44, 0x66, 0xb9, 0xc2, 0xb4, 0x18, 0x96, 0x9c, 0x15, 0x2a, 0xdc, 0x32,
- 0xb9, 0xf7, 0x1d, 0x7e, 0xe5, 0x60, 0x5d, 0x5a, 0x41, 0xa6, 0x34, 0xac, 0xd9, 0xd2, 0xf4, 0xb9,
- 0xf5, 0x8b, 0x07, 0xbe, 0xee, 0x01, 0x7d, 0x0c, 0xb5, 0x62, 0x36, 0x1d, 0x50, 0x61, 0x9a, 0x6e,
- 0xba, 0x22, 0x1d, 0x86, 0x4e, 0xa1, 0x6e, 0x96, 0x20, 0xe5, 0xb9, 0x35, 0x6e, 0x65, 0xfd, 0x0a,
- 0x45, 0xa1, 0x13, 0xaf, 0x6e, 0xbc, 0x1a, 0x04, 0x9d, 0x40, 0x43, 0x11, 0x31, 0xa6, 0x0a, 0x1b,
- 0x4f, 0xb5, 0x31, 0xcd, 0x18, 0x2c, 0xa4, 0x53, 0xb7, 0xfe, 0xac, 0xc1, 0xc1, 0x1b, 0xdd, 0xa1,
- 0x4f, 0x61, 0x2f, 0x53, 0xaa, 0x94, 0x58, 0xd0, 0x21, 0x13, 0x34, 0xb5, 0xd3, 0xa8, 0xc7, 0x4d,
- 0x83, 0xc6, 0x0e, 0x44, 0xd7, 0xe0, 0x4f, 0xf9, 0xd0, 0x8e, 0x73, 0xef, 0xe2, 0xeb, 0x77, 0x31,
- 0x30, 0xea, 0x75, 0x12, 0xcd, 0x8d, 0x8d, 0x02, 0xfa, 0x0a, 0x90, 0xdd, 0x4d, 0x9c, 0x52, 0xa1,
- 0xd8, 0x88, 0xa5, 0x44, 0xb9, 0x7e, 0xe2, 0x03, 0xfb, 0xf2, 0xe3, 0xfa, 0x41, 0xb7, 0x55, 0x0a,
- 0x36, 0x27, 0x8a, 0x62, 0xbd, 0x62, 0x76, 0xde, 0xe0, 0xa0, 0x9f, 0xe8, 0x02, 0x7d, 0x06, 0xfb,
- 0x29, 0xd9, 0xd4, 0x92, 0x6e, 0x30, 0x7b, 0x29, 0xd9, 0x10, 0x92, 0x26, 0x50, 0xd0, 0x21, 0x2d,
- 0x14, 0x23, 0x39, 0x36, 0x2e, 0x82, 0x0b, 0x7c, 0x0d, 0xff, 0xac, 0x9d, 0xfc, 0x02, 0x0e, 0xe4,
- 0x6c, 0xf0, 0x82, 0xa6, 0x0a, 0x93, 0x5c, 0x99, 0x48, 0x19, 0xd6, 0xf4, 0x4e, 0xc5, 0xfb, 0xee,
- 0xa1, 0x9d, 0x2b, 0x1d, 0x2a, 0xd1, 0x37, 0xf0, 0xe1, 0x9c, 0x0a, 0x36, 0x5a, 0x6c, 0x56, 0x80,
- 0x65, 0x39, 0x61, 0x61, 0xc3, 0x30, 0x3e, 0xb0, 0xcf, 0x1b, 0x95, 0x24, 0xe5, 0x84, 0xdd, 0xc1,
- 0xcb, 0x88, 0xcc, 0xc2, 0xdd, 0x3b, 0x78, 0xd7, 0x44, 0x66, 0xe8, 0x05, 0x1c, 0x4e, 0x59, 0x81,
- 0x57, 0xfb, 0x80, 0xf5, 0x6f, 0x9c, 0xf1, 0x22, 0xdc, 0x36, 0x73, 0x79, 0xf4, 0xae, 0x73, 0xe9,
- 0x3a, 0x9d, 0x18, 0x4d, 0x59, 0xb1, 0xba, 0x3c, 0xb3, 0x9a, 0x26, 0x17, 0x79, 0xf5, 0x66, 0xae,
- 0xfa, 0x7b, 0xe7, 0x22, 0xaf, 0xfe, 0x9d, 0xeb, 0x13, 0x68, 0xa6, 0xac, 0xcc, 0xa8, 0xc0, 0x72,
- 0xc6, 0xf4, 0x0c, 0x77, 0x8c, 0x0b, 0xbb, 0x16, 0x4c, 0x0c, 0xd6, 0x7a, 0x0e, 0xdb, 0x6e, 0x97,
- 0xd0, 0x3e, 0x34, 0xba, 0xed, 0x24, 0xe9, 0x5d, 0xc7, 0xb7, 0xfd, 0x27, 0xd7, 0xc1, 0x3d, 0x04,
- 0x50, 0x4b, 0x6e, 0x9e, 0x76, 0x3b, 0x57, 0x81, 0xa7, 0xcf, 0x4f, 0xfb, 0xbd, 0x7e, 0xbb, 0x13,
- 0x54, 0xd0, 0x21, 0x04, 0xed, 0x7e, 0xef, 0x16, 0x6f, 0x46, 0x57, 0x51, 0x00, 0xbb, 0x37, 0x49,
- 0xef, 0xe6, 0x16, 0xbb, 0x38, 0xbf, 0x75, 0x0b, 0x8d, 0x8d, 0x1a, 0xd1, 0x2e, 0xd4, 0x7b, 0x9d,
- 0x04, 0x6b, 0x6a, 0x70, 0x0f, 0x35, 0x4c, 0xe2, 0x67, 0xe7, 0xf8, 0x61, 0xe0, 0xad, 0x2f, 0xe7,
- 0x41, 0x65, 0x7d, 0xb9, 0x08, 0xaa, 0xeb, 0xcb, 0x65, 0xe0, 0x3f, 0x8e, 0x7e, 0x5d, 0x1e, 0x7b,
- 0xbf, 0x2d, 0x8f, 0xbd, 0x3f, 0x96, 0xc7, 0xde, 0xf3, 0x53, 0x6b, 0x16, 0xe3, 0xe6, 0x8f, 0xff,
- 0x3f, 0xbe, 0x20, 0x83, 0x9a, 0xf1, 0xf9, 0xf2, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x75, 0x04,
- 0x41, 0xab, 0x5f, 0x06, 0x00, 0x00,
-}
-
-func (m *Gateway) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *Gateway) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Gateway) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Selector) > 0 {
- for k := range m.Selector {
- v := m.Selector[k]
- baseI := i
- i -= len(v)
- copy(dAtA[i:], v)
- i = encodeVarintGateway(dAtA, i, uint64(len(v)))
- i--
- dAtA[i] = 0x12
- i -= len(k)
- copy(dAtA[i:], k)
- i = encodeVarintGateway(dAtA, i, uint64(len(k)))
- i--
- dAtA[i] = 0xa
- i = encodeVarintGateway(dAtA, i, uint64(baseI-i))
- i--
- dAtA[i] = 0x12
- }
- }
- if len(m.Servers) > 0 {
- for iNdEx := len(m.Servers) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Servers[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGateway(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- }
- return len(dAtA) - i, nil
-}
-
-func (m *Server) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *Server) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+var File_networking_v1alpha3_gateway_proto protoreflect.FileDescriptor
+
+var file_networking_v1alpha3_gateway_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x61,
+ 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f,
+ 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x1a, 0x1f,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64,
+ 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xdd, 0x01, 0x0a, 0x07, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x12, 0x41, 0x0a, 0x07, 0x73,
+ 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x69,
+ 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e,
+ 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42,
+ 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x52,
+ 0x0a, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x30, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
+ 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x47, 0x61, 0x74,
+ 0x65, 0x77, 0x61, 0x79, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x1a, 0x3b, 0x0a, 0x0d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22,
+ 0xf2, 0x01, 0x0a, 0x06, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x04, 0x70, 0x6f,
+ 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f,
+ 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c,
+ 0x70, 0x68, 0x61, 0x33, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52,
+ 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x69, 0x6e, 0x64, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x69, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x05, 0x68, 0x6f, 0x73,
+ 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x05,
+ 0x68, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x3e, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f,
+ 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x53,
+ 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x4c, 0x53, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73,
+ 0x52, 0x03, 0x74, 0x6c, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
+ 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
+ 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
+ 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x81, 0x01, 0x0a, 0x04, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x0a,
+ 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x04, 0xe2,
+ 0x41, 0x01, 0x02, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x08, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x04, 0xe2,
+ 0x41, 0x01, 0x02, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x18, 0x0a,
+ 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x04, 0xe2, 0x41, 0x01,
+ 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65,
+ 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x61,
+ 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x22, 0xec, 0x06, 0x0a, 0x11, 0x53, 0x65, 0x72,
+ 0x76, 0x65, 0x72, 0x54, 0x4c, 0x53, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x25,
+ 0x0a, 0x0e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x68, 0x74, 0x74, 0x70, 0x73, 0x52, 0x65, 0x64,
+ 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x48, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77,
+ 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e,
+ 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x4c, 0x53, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
+ 0x73, 0x2e, 0x54, 0x4c, 0x53, 0x6d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12,
+ 0x2d, 0x0a, 0x12, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66,
+ 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x65, 0x72,
+ 0x76, 0x65, 0x72, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x1f,
+ 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12,
+ 0x27, 0x0a, 0x0f, 0x63, 0x61, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
+ 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x61, 0x43, 0x65, 0x72, 0x74,
+ 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x64,
+ 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4e, 0x61, 0x6d,
+ 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x6c, 0x74,
+ 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x75,
+ 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x36, 0x0a,
+ 0x17, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63,
+ 0x61, 0x74, 0x65, 0x5f, 0x73, 0x70, 0x6b, 0x69, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15,
+ 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
+ 0x65, 0x53, 0x70, 0x6b, 0x69, 0x12, 0x36, 0x0a, 0x17, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f,
+ 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68,
+ 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x65,
+ 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x6a, 0x0a,
+ 0x14, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65,
+ 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x69, 0x73,
+ 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76,
+ 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x4c,
+ 0x53, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x54, 0x4c, 0x53, 0x50, 0x72, 0x6f,
+ 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x12, 0x6d, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63,
+ 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x6a, 0x0a, 0x14, 0x6d, 0x61, 0x78,
+ 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
+ 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e,
+ 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
+ 0x68, 0x61, 0x33, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x4c, 0x53, 0x53, 0x65, 0x74,
+ 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x54, 0x4c, 0x53, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
+ 0x6c, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65,
+ 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x5f,
+ 0x73, 0x75, 0x69, 0x74, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x69,
+ 0x70, 0x68, 0x65, 0x72, 0x53, 0x75, 0x69, 0x74, 0x65, 0x73, 0x22, 0x5a, 0x0a, 0x07, 0x54, 0x4c,
+ 0x53, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x41, 0x53, 0x53, 0x54, 0x48, 0x52,
+ 0x4f, 0x55, 0x47, 0x48, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x49, 0x4d, 0x50, 0x4c, 0x45,
+ 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x55, 0x54, 0x55, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x14,
+ 0x0a, 0x10, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x54, 0x48, 0x52, 0x4f, 0x55,
+ 0x47, 0x48, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x53, 0x54, 0x49, 0x4f, 0x5f, 0x4d, 0x55,
+ 0x54, 0x55, 0x41, 0x4c, 0x10, 0x04, 0x22, 0x4f, 0x0a, 0x0b, 0x54, 0x4c, 0x53, 0x50, 0x72, 0x6f,
+ 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x0c, 0x0a, 0x08, 0x54, 0x4c, 0x53, 0x5f, 0x41, 0x55, 0x54,
+ 0x4f, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x4c, 0x53, 0x56, 0x31, 0x5f, 0x30, 0x10, 0x01,
+ 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x4c, 0x53, 0x56, 0x31, 0x5f, 0x31, 0x10, 0x02, 0x12, 0x0b, 0x0a,
+ 0x07, 0x54, 0x4c, 0x53, 0x56, 0x31, 0x5f, 0x32, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x4c,
+ 0x53, 0x56, 0x31, 0x5f, 0x33, 0x10, 0x04, 0x42, 0x22, 0x5a, 0x20, 0x69, 0x73, 0x74, 0x69, 0x6f,
+ 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69,
+ 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
}
-func (m *Server) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Name) > 0 {
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintGateway(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0x32
- }
- if len(m.DefaultEndpoint) > 0 {
- i -= len(m.DefaultEndpoint)
- copy(dAtA[i:], m.DefaultEndpoint)
- i = encodeVarintGateway(dAtA, i, uint64(len(m.DefaultEndpoint)))
- i--
- dAtA[i] = 0x2a
- }
- if len(m.Bind) > 0 {
- i -= len(m.Bind)
- copy(dAtA[i:], m.Bind)
- i = encodeVarintGateway(dAtA, i, uint64(len(m.Bind)))
- i--
- dAtA[i] = 0x22
- }
- if m.Tls != nil {
- {
- size, err := m.Tls.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGateway(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- if len(m.Hosts) > 0 {
- for iNdEx := len(m.Hosts) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.Hosts[iNdEx])
- copy(dAtA[i:], m.Hosts[iNdEx])
- i = encodeVarintGateway(dAtA, i, uint64(len(m.Hosts[iNdEx])))
- i--
- dAtA[i] = 0x12
- }
- }
- if m.Port != nil {
- {
- size, err := m.Port.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGateway(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func (m *Port) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *Port) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Port) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.TargetPort != 0 {
- i = encodeVarintGateway(dAtA, i, uint64(m.TargetPort))
- i--
- dAtA[i] = 0x20
- }
- if len(m.Name) > 0 {
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintGateway(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0x1a
- }
- if len(m.Protocol) > 0 {
- i -= len(m.Protocol)
- copy(dAtA[i:], m.Protocol)
- i = encodeVarintGateway(dAtA, i, uint64(len(m.Protocol)))
- i--
- dAtA[i] = 0x12
- }
- if m.Number != 0 {
- i = encodeVarintGateway(dAtA, i, uint64(m.Number))
- i--
- dAtA[i] = 0x8
- }
- return len(dAtA) - i, nil
-}
-
-func (m *ServerTLSSettings) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *ServerTLSSettings) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *ServerTLSSettings) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.VerifyCertificateHash) > 0 {
- for iNdEx := len(m.VerifyCertificateHash) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.VerifyCertificateHash[iNdEx])
- copy(dAtA[i:], m.VerifyCertificateHash[iNdEx])
- i = encodeVarintGateway(dAtA, i, uint64(len(m.VerifyCertificateHash[iNdEx])))
- i--
- dAtA[i] = 0x62
- }
- }
- if len(m.VerifyCertificateSpki) > 0 {
- for iNdEx := len(m.VerifyCertificateSpki) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.VerifyCertificateSpki[iNdEx])
- copy(dAtA[i:], m.VerifyCertificateSpki[iNdEx])
- i = encodeVarintGateway(dAtA, i, uint64(len(m.VerifyCertificateSpki[iNdEx])))
- i--
- dAtA[i] = 0x5a
- }
- }
- if len(m.CredentialName) > 0 {
- i -= len(m.CredentialName)
- copy(dAtA[i:], m.CredentialName)
- i = encodeVarintGateway(dAtA, i, uint64(len(m.CredentialName)))
- i--
- dAtA[i] = 0x52
- }
- if len(m.CipherSuites) > 0 {
- for iNdEx := len(m.CipherSuites) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.CipherSuites[iNdEx])
- copy(dAtA[i:], m.CipherSuites[iNdEx])
- i = encodeVarintGateway(dAtA, i, uint64(len(m.CipherSuites[iNdEx])))
- i--
- dAtA[i] = 0x4a
- }
- }
- if m.MaxProtocolVersion != 0 {
- i = encodeVarintGateway(dAtA, i, uint64(m.MaxProtocolVersion))
- i--
- dAtA[i] = 0x40
- }
- if m.MinProtocolVersion != 0 {
- i = encodeVarintGateway(dAtA, i, uint64(m.MinProtocolVersion))
- i--
- dAtA[i] = 0x38
- }
- if len(m.SubjectAltNames) > 0 {
- for iNdEx := len(m.SubjectAltNames) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.SubjectAltNames[iNdEx])
- copy(dAtA[i:], m.SubjectAltNames[iNdEx])
- i = encodeVarintGateway(dAtA, i, uint64(len(m.SubjectAltNames[iNdEx])))
- i--
- dAtA[i] = 0x32
- }
- }
- if len(m.CaCertificates) > 0 {
- i -= len(m.CaCertificates)
- copy(dAtA[i:], m.CaCertificates)
- i = encodeVarintGateway(dAtA, i, uint64(len(m.CaCertificates)))
- i--
- dAtA[i] = 0x2a
- }
- if len(m.PrivateKey) > 0 {
- i -= len(m.PrivateKey)
- copy(dAtA[i:], m.PrivateKey)
- i = encodeVarintGateway(dAtA, i, uint64(len(m.PrivateKey)))
- i--
- dAtA[i] = 0x22
- }
- if len(m.ServerCertificate) > 0 {
- i -= len(m.ServerCertificate)
- copy(dAtA[i:], m.ServerCertificate)
- i = encodeVarintGateway(dAtA, i, uint64(len(m.ServerCertificate)))
- i--
- dAtA[i] = 0x1a
- }
- if m.Mode != 0 {
- i = encodeVarintGateway(dAtA, i, uint64(m.Mode))
- i--
- dAtA[i] = 0x10
- }
- if m.HttpsRedirect {
- i--
- if m.HttpsRedirect {
- dAtA[i] = 1
- } else {
- dAtA[i] = 0
- }
- i--
- dAtA[i] = 0x8
- }
- return len(dAtA) - i, nil
-}
-
-func encodeVarintGateway(dAtA []byte, offset int, v uint64) int {
- offset -= sovGateway(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
-func (m *Gateway) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if len(m.Servers) > 0 {
- for _, e := range m.Servers {
- l = e.Size()
- n += 1 + l + sovGateway(uint64(l))
- }
- }
- if len(m.Selector) > 0 {
- for k, v := range m.Selector {
- _ = k
- _ = v
- mapEntrySize := 1 + len(k) + sovGateway(uint64(len(k))) + 1 + len(v) + sovGateway(uint64(len(v)))
- n += mapEntrySize + 1 + sovGateway(uint64(mapEntrySize))
- }
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *Server) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Port != nil {
- l = m.Port.Size()
- n += 1 + l + sovGateway(uint64(l))
- }
- if len(m.Hosts) > 0 {
- for _, s := range m.Hosts {
- l = len(s)
- n += 1 + l + sovGateway(uint64(l))
- }
- }
- if m.Tls != nil {
- l = m.Tls.Size()
- n += 1 + l + sovGateway(uint64(l))
- }
- l = len(m.Bind)
- if l > 0 {
- n += 1 + l + sovGateway(uint64(l))
- }
- l = len(m.DefaultEndpoint)
- if l > 0 {
- n += 1 + l + sovGateway(uint64(l))
- }
- l = len(m.Name)
- if l > 0 {
- n += 1 + l + sovGateway(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *Port) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Number != 0 {
- n += 1 + sovGateway(uint64(m.Number))
- }
- l = len(m.Protocol)
- if l > 0 {
- n += 1 + l + sovGateway(uint64(l))
- }
- l = len(m.Name)
- if l > 0 {
- n += 1 + l + sovGateway(uint64(l))
- }
- if m.TargetPort != 0 {
- n += 1 + sovGateway(uint64(m.TargetPort))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *ServerTLSSettings) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.HttpsRedirect {
- n += 2
- }
- if m.Mode != 0 {
- n += 1 + sovGateway(uint64(m.Mode))
- }
- l = len(m.ServerCertificate)
- if l > 0 {
- n += 1 + l + sovGateway(uint64(l))
- }
- l = len(m.PrivateKey)
- if l > 0 {
- n += 1 + l + sovGateway(uint64(l))
- }
- l = len(m.CaCertificates)
- if l > 0 {
- n += 1 + l + sovGateway(uint64(l))
- }
- if len(m.SubjectAltNames) > 0 {
- for _, s := range m.SubjectAltNames {
- l = len(s)
- n += 1 + l + sovGateway(uint64(l))
- }
- }
- if m.MinProtocolVersion != 0 {
- n += 1 + sovGateway(uint64(m.MinProtocolVersion))
- }
- if m.MaxProtocolVersion != 0 {
- n += 1 + sovGateway(uint64(m.MaxProtocolVersion))
- }
- if len(m.CipherSuites) > 0 {
- for _, s := range m.CipherSuites {
- l = len(s)
- n += 1 + l + sovGateway(uint64(l))
- }
- }
- l = len(m.CredentialName)
- if l > 0 {
- n += 1 + l + sovGateway(uint64(l))
- }
- if len(m.VerifyCertificateSpki) > 0 {
- for _, s := range m.VerifyCertificateSpki {
- l = len(s)
- n += 1 + l + sovGateway(uint64(l))
- }
- }
- if len(m.VerifyCertificateHash) > 0 {
- for _, s := range m.VerifyCertificateHash {
- l = len(s)
- n += 1 + l + sovGateway(uint64(l))
- }
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func sovGateway(x uint64) (n int) {
- return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozGateway(x uint64) (n int) {
- return sovGateway(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (m *Gateway) 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 ErrIntOverflowGateway
- }
- 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: Gateway: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Gateway: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Servers", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGateway
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGateway
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Servers = append(m.Servers, &Server{})
- if err := m.Servers[len(m.Servers)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Selector", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGateway
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGateway
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Selector == nil {
- m.Selector = make(map[string]string)
- }
- var mapkey string
- var mapvalue string
- for iNdEx < postIndex {
- entryPreIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- if fieldNum == 1 {
- var stringLenmapkey uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapkey |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapkey := int(stringLenmapkey)
- if intStringLenmapkey < 0 {
- return ErrInvalidLengthGateway
- }
- postStringIndexmapkey := iNdEx + intStringLenmapkey
- if postStringIndexmapkey < 0 {
- return ErrInvalidLengthGateway
- }
- if postStringIndexmapkey > l {
- return io.ErrUnexpectedEOF
- }
- mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
- iNdEx = postStringIndexmapkey
- } else if fieldNum == 2 {
- var stringLenmapvalue uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapvalue |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapvalue := int(stringLenmapvalue)
- if intStringLenmapvalue < 0 {
- return ErrInvalidLengthGateway
- }
- postStringIndexmapvalue := iNdEx + intStringLenmapvalue
- if postStringIndexmapvalue < 0 {
- return ErrInvalidLengthGateway
- }
- if postStringIndexmapvalue > l {
- return io.ErrUnexpectedEOF
- }
- mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue])
- iNdEx = postStringIndexmapvalue
- } else {
- iNdEx = entryPreIndex
- skippy, err := skipGateway(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGateway
- }
- if (iNdEx + skippy) > postIndex {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- m.Selector[mapkey] = mapvalue
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGateway(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGateway
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *Server) 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 ErrIntOverflowGateway
- }
- 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: Server: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Server: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Port", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGateway
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGateway
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Port == nil {
- m.Port = &Port{}
- }
- if err := m.Port.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Hosts", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- 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 ErrInvalidLengthGateway
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGateway
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Hosts = append(m.Hosts, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Tls", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGateway
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGateway
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Tls == nil {
- m.Tls = &ServerTLSSettings{}
- }
- if err := m.Tls.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Bind", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- 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 ErrInvalidLengthGateway
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGateway
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Bind = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field DefaultEndpoint", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- 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 ErrInvalidLengthGateway
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGateway
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.DefaultEndpoint = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 6:
- 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 ErrIntOverflowGateway
- }
- 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 ErrInvalidLengthGateway
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGateway
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Name = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGateway(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGateway
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *Port) 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 ErrIntOverflowGateway
- }
- 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: Port: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Port: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Number", wireType)
- }
- m.Number = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Number |= uint32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Protocol", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- 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 ErrInvalidLengthGateway
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGateway
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Protocol = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 3:
- 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 ErrIntOverflowGateway
- }
- 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 ErrInvalidLengthGateway
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGateway
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Name = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 4:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field TargetPort", wireType)
- }
- m.TargetPort = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.TargetPort |= uint32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- default:
- iNdEx = preIndex
- skippy, err := skipGateway(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGateway
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
+var (
+ file_networking_v1alpha3_gateway_proto_rawDescOnce sync.Once
+ file_networking_v1alpha3_gateway_proto_rawDescData = file_networking_v1alpha3_gateway_proto_rawDesc
+)
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *ServerTLSSettings) 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 ErrIntOverflowGateway
+func file_networking_v1alpha3_gateway_proto_rawDescGZIP() []byte {
+ file_networking_v1alpha3_gateway_proto_rawDescOnce.Do(func() {
+ file_networking_v1alpha3_gateway_proto_rawDescData = protoimpl.X.CompressGZIP(file_networking_v1alpha3_gateway_proto_rawDescData)
+ })
+ return file_networking_v1alpha3_gateway_proto_rawDescData
+}
+
+var file_networking_v1alpha3_gateway_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
+var file_networking_v1alpha3_gateway_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
+var file_networking_v1alpha3_gateway_proto_goTypes = []interface{}{
+ (ServerTLSSettings_TLSmode)(0), // 0: istio.networking.v1alpha3.ServerTLSSettings.TLSmode
+ (ServerTLSSettings_TLSProtocol)(0), // 1: istio.networking.v1alpha3.ServerTLSSettings.TLSProtocol
+ (*Gateway)(nil), // 2: istio.networking.v1alpha3.Gateway
+ (*Server)(nil), // 3: istio.networking.v1alpha3.Server
+ (*Port)(nil), // 4: istio.networking.v1alpha3.Port
+ (*ServerTLSSettings)(nil), // 5: istio.networking.v1alpha3.ServerTLSSettings
+ nil, // 6: istio.networking.v1alpha3.Gateway.SelectorEntry
+}
+var file_networking_v1alpha3_gateway_proto_depIdxs = []int32{
+ 3, // 0: istio.networking.v1alpha3.Gateway.servers:type_name -> istio.networking.v1alpha3.Server
+ 6, // 1: istio.networking.v1alpha3.Gateway.selector:type_name -> istio.networking.v1alpha3.Gateway.SelectorEntry
+ 4, // 2: istio.networking.v1alpha3.Server.port:type_name -> istio.networking.v1alpha3.Port
+ 5, // 3: istio.networking.v1alpha3.Server.tls:type_name -> istio.networking.v1alpha3.ServerTLSSettings
+ 0, // 4: istio.networking.v1alpha3.ServerTLSSettings.mode:type_name -> istio.networking.v1alpha3.ServerTLSSettings.TLSmode
+ 1, // 5: istio.networking.v1alpha3.ServerTLSSettings.min_protocol_version:type_name -> istio.networking.v1alpha3.ServerTLSSettings.TLSProtocol
+ 1, // 6: istio.networking.v1alpha3.ServerTLSSettings.max_protocol_version:type_name -> istio.networking.v1alpha3.ServerTLSSettings.TLSProtocol
+ 7, // [7:7] is the sub-list for method output_type
+ 7, // [7:7] is the sub-list for method input_type
+ 7, // [7:7] is the sub-list for extension type_name
+ 7, // [7:7] is the sub-list for extension extendee
+ 0, // [0:7] is the sub-list for field type_name
+}
+
+func init() { file_networking_v1alpha3_gateway_proto_init() }
+func file_networking_v1alpha3_gateway_proto_init() {
+ if File_networking_v1alpha3_gateway_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_networking_v1alpha3_gateway_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Gateway); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
}
- 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: ServerTLSSettings: wiretype end group for non-group")
}
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ServerTLSSettings: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field HttpsRedirect", wireType)
- }
- var v int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.HttpsRedirect = bool(v != 0)
- case 2:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Mode", wireType)
- }
- m.Mode = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Mode |= ServerTLSSettings_TLSmode(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ServerCertificate", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- 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 ErrInvalidLengthGateway
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGateway
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.ServerCertificate = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field PrivateKey", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- 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 ErrInvalidLengthGateway
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGateway
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.PrivateKey = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field CaCertificates", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- 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 ErrInvalidLengthGateway
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGateway
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.CaCertificates = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 6:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field SubjectAltNames", wireType)
+ file_networking_v1alpha3_gateway_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Server); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
}
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- 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 ErrInvalidLengthGateway
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGateway
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.SubjectAltNames = append(m.SubjectAltNames, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 7:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field MinProtocolVersion", wireType)
- }
- m.MinProtocolVersion = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.MinProtocolVersion |= ServerTLSSettings_TLSProtocol(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 8:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field MaxProtocolVersion", wireType)
- }
- m.MaxProtocolVersion = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.MaxProtocolVersion |= ServerTLSSettings_TLSProtocol(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 9:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field CipherSuites", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- 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 ErrInvalidLengthGateway
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGateway
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.CipherSuites = append(m.CipherSuites, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 10:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field CredentialName", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- 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 ErrInvalidLengthGateway
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGateway
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.CredentialName = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 11:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field VerifyCertificateSpki", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- 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 ErrInvalidLengthGateway
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGateway
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.VerifyCertificateSpki = append(m.VerifyCertificateSpki, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 12:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field VerifyCertificateHash", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- 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 ErrInvalidLengthGateway
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGateway
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.VerifyCertificateHash = append(m.VerifyCertificateHash, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGateway(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGateway
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
}
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func skipGateway(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowGateway
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
+ file_networking_v1alpha3_gateway_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Port); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
}
}
- wireType := int(wire & 0x7)
- switch wireType {
- case 0:
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowGateway
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowGateway
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLengthGateway
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroupGateway
+ file_networking_v1alpha3_gateway_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ServerTLSSettings); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
}
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLengthGateway
- }
- if depth == 0 {
- return iNdEx, nil
}
}
- return 0, io.ErrUnexpectedEOF
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_networking_v1alpha3_gateway_proto_rawDesc,
+ NumEnums: 2,
+ NumMessages: 5,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_networking_v1alpha3_gateway_proto_goTypes,
+ DependencyIndexes: file_networking_v1alpha3_gateway_proto_depIdxs,
+ EnumInfos: file_networking_v1alpha3_gateway_proto_enumTypes,
+ MessageInfos: file_networking_v1alpha3_gateway_proto_msgTypes,
+ }.Build()
+ File_networking_v1alpha3_gateway_proto = out.File
+ file_networking_v1alpha3_gateway_proto_rawDesc = nil
+ file_networking_v1alpha3_gateway_proto_goTypes = nil
+ file_networking_v1alpha3_gateway_proto_depIdxs = nil
}
-
-var (
- ErrInvalidLengthGateway = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflowGateway = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroupGateway = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/vendor/istio.io/api/networking/v1alpha3/gateway.proto b/vendor/istio.io/api/networking/v1alpha3/gateway.proto
index 8d2adc25b..5867da5b4 100644
--- a/vendor/istio.io/api/networking/v1alpha3/gateway.proto
+++ b/vendor/istio.io/api/networking/v1alpha3/gateway.proto
@@ -500,8 +500,7 @@ message Gateway {
// - "*"
// tls:
// mode: SIMPLE
-// serverCertificate: /etc/certs/server.pem
-// privateKey: /etc/certs/privatekey.pem
+// credentialName: tls-cert
// ```
// {{}}
//
@@ -523,8 +522,7 @@ message Gateway {
// - "*"
// tls:
// mode: SIMPLE
-// serverCertificate: /etc/certs/server.pem
-// privateKey: /etc/certs/privatekey.pem
+// credentialName: tls-cert
// ```
// {{}}
// {{}}
diff --git a/vendor/istio.io/api/networking/v1alpha3/gateway_deepcopy.gen.go b/vendor/istio.io/api/networking/v1alpha3/gateway_deepcopy.gen.go
index a7c2113d2..4501dc3e7 100644
--- a/vendor/istio.io/api/networking/v1alpha3/gateway_deepcopy.gen.go
+++ b/vendor/istio.io/api/networking/v1alpha3/gateway_deepcopy.gen.go
@@ -1,346 +1,10 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: networking/v1alpha3/gateway.proto
-
-// `Gateway` describes a load balancer operating at the edge of the mesh
-// receiving incoming or outgoing HTTP/TCP connections. The specification
-// describes a set of ports that should be exposed, the type of protocol to
-// use, SNI configuration for the load balancer, etc.
-//
-// For example, the following Gateway configuration sets up a proxy to act
-// as a load balancer exposing port 80 and 9080 (http), 443 (https),
-// 9443(https) and port 2379 (TCP) for ingress. The gateway will be
-// applied to the proxy running on a pod with labels `app:
-// my-gateway-controller`. While Istio will configure the proxy to listen
-// on these ports, it is the responsibility of the user to ensure that
-// external traffic to these ports are allowed into the mesh.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: Gateway
-// metadata:
-// name: my-gateway
-// namespace: some-config-namespace
-// spec:
-// selector:
-// app: my-gateway-controller
-// servers:
-// - port:
-// number: 80
-// name: http
-// protocol: HTTP
-// hosts:
-// - uk.bookinfo.com
-// - eu.bookinfo.com
-// tls:
-// httpsRedirect: true # sends 301 redirect for http requests
-// - port:
-// number: 443
-// name: https-443
-// protocol: HTTPS
-// hosts:
-// - uk.bookinfo.com
-// - eu.bookinfo.com
-// tls:
-// mode: SIMPLE # enables HTTPS on this port
-// serverCertificate: /etc/certs/servercert.pem
-// privateKey: /etc/certs/privatekey.pem
-// - port:
-// number: 9443
-// name: https-9443
-// protocol: HTTPS
-// hosts:
-// - "bookinfo-namespace/*.bookinfo.com"
-// tls:
-// mode: SIMPLE # enables HTTPS on this port
-// credentialName: bookinfo-secret # fetches certs from Kubernetes secret
-// - port:
-// number: 9080
-// name: http-wildcard
-// protocol: HTTP
-// hosts:
-// - "*"
-// - port:
-// number: 2379 # to expose internal service via external port 2379
-// name: mongo
-// protocol: MONGO
-// hosts:
-// - "*"
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: Gateway
-// metadata:
-// name: my-gateway
-// namespace: some-config-namespace
-// spec:
-// selector:
-// app: my-gateway-controller
-// servers:
-// - port:
-// number: 80
-// name: http
-// protocol: HTTP
-// hosts:
-// - uk.bookinfo.com
-// - eu.bookinfo.com
-// tls:
-// httpsRedirect: true # sends 301 redirect for http requests
-// - port:
-// number: 443
-// name: https-443
-// protocol: HTTPS
-// hosts:
-// - uk.bookinfo.com
-// - eu.bookinfo.com
-// tls:
-// mode: SIMPLE # enables HTTPS on this port
-// serverCertificate: /etc/certs/servercert.pem
-// privateKey: /etc/certs/privatekey.pem
-// - port:
-// number: 9443
-// name: https-9443
-// protocol: HTTPS
-// hosts:
-// - "bookinfo-namespace/*.bookinfo.com"
-// tls:
-// mode: SIMPLE # enables HTTPS on this port
-// credentialName: bookinfo-secret # fetches certs from Kubernetes secret
-// - port:
-// number: 9080
-// name: http-wildcard
-// protocol: HTTP
-// hosts:
-// - "*"
-// - port:
-// number: 2379 # to expose internal service via external port 2379
-// name: mongo
-// protocol: MONGO
-// hosts:
-// - "*"
-// ```
-// {{}}
-// {{}}
-//
-// The Gateway specification above describes the L4-L6 properties of a load
-// balancer. A `VirtualService` can then be bound to a gateway to control
-// the forwarding of traffic arriving at a particular host or gateway port.
-//
-// For example, the following VirtualService splits traffic for
-// `https://uk.bookinfo.com/reviews`, `https://eu.bookinfo.com/reviews`,
-// `http://uk.bookinfo.com:9080/reviews`,
-// `http://eu.bookinfo.com:9080/reviews` into two versions (prod and qa) of
-// an internal reviews service on port 9080. In addition, requests
-// containing the cookie "user: dev-123" will be sent to special port 7777
-// in the qa version. The same rule is also applicable inside the mesh for
-// requests to the "reviews.prod.svc.cluster.local" service. This rule is
-// applicable across ports 443, 9080. Note that `http://uk.bookinfo.com`
-// gets redirected to `https://uk.bookinfo.com` (i.e. 80 redirects to 443).
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: VirtualService
-// metadata:
-// name: bookinfo-rule
-// namespace: bookinfo-namespace
-// spec:
-// hosts:
-// - reviews.prod.svc.cluster.local
-// - uk.bookinfo.com
-// - eu.bookinfo.com
-// gateways:
-// - some-config-namespace/my-gateway
-// - mesh # applies to all the sidecars in the mesh
-// http:
-// - match:
-// - headers:
-// cookie:
-// exact: "user=dev-123"
-// route:
-// - destination:
-// port:
-// number: 7777
-// host: reviews.qa.svc.cluster.local
-// - match:
-// - uri:
-// prefix: /reviews/
-// route:
-// - destination:
-// port:
-// number: 9080 # can be omitted if it's the only port for reviews
-// host: reviews.prod.svc.cluster.local
-// weight: 80
-// - destination:
-// host: reviews.qa.svc.cluster.local
-// weight: 20
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: VirtualService
-// metadata:
-// name: bookinfo-rule
-// namespace: bookinfo-namespace
-// spec:
-// hosts:
-// - reviews.prod.svc.cluster.local
-// - uk.bookinfo.com
-// - eu.bookinfo.com
-// gateways:
-// - some-config-namespace/my-gateway
-// - mesh # applies to all the sidecars in the mesh
-// http:
-// - match:
-// - headers:
-// cookie:
-// exact: "user=dev-123"
-// route:
-// - destination:
-// port:
-// number: 7777
-// host: reviews.qa.svc.cluster.local
-// - match:
-// - uri:
-// prefix: /reviews/
-// route:
-// - destination:
-// port:
-// number: 9080 # can be omitted if it's the only port for reviews
-// host: reviews.prod.svc.cluster.local
-// weight: 80
-// - destination:
-// host: reviews.qa.svc.cluster.local
-// weight: 20
-// ```
-// {{}}
-// {{}}
-//
-// The following VirtualService forwards traffic arriving at (external)
-// port 27017 to internal Mongo server on port 5555. This rule is not
-// applicable internally in the mesh as the gateway list omits the
-// reserved name `mesh`.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: VirtualService
-// metadata:
-// name: bookinfo-mongo
-// namespace: bookinfo-namespace
-// spec:
-// hosts:
-// - mongosvr.prod.svc.cluster.local # name of internal Mongo service
-// gateways:
-// - some-config-namespace/my-gateway # can omit the namespace if gateway is in same namespace as virtual service.
-// tcp:
-// - match:
-// - port: 27017
-// route:
-// - destination:
-// host: mongo.prod.svc.cluster.local
-// port:
-// number: 5555
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: VirtualService
-// metadata:
-// name: bookinfo-mongo
-// namespace: bookinfo-namespace
-// spec:
-// hosts:
-// - mongosvr.prod.svc.cluster.local # name of internal Mongo service
-// gateways:
-// - some-config-namespace/my-gateway # can omit the namespace if gateway is in same namespace as virtual service.
-// tcp:
-// - match:
-// - port: 27017
-// route:
-// - destination:
-// host: mongo.prod.svc.cluster.local
-// port:
-// number: 5555
-// ```
-// {{}}
-// {{}}
-//
-// It is possible to restrict the set of virtual services that can bind to
-// a gateway server using the namespace/hostname syntax in the hosts field.
-// For example, the following Gateway allows any virtual service in the ns1
-// namespace to bind to it, while restricting only the virtual service with
-// foo.bar.com host in the ns2 namespace to bind to it.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: Gateway
-// metadata:
-// name: my-gateway
-// namespace: some-config-namespace
-// spec:
-// selector:
-// app: my-gateway-controller
-// servers:
-// - port:
-// number: 80
-// name: http
-// protocol: HTTP
-// hosts:
-// - "ns1/*"
-// - "ns2/foo.bar.com"
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: Gateway
-// metadata:
-// name: my-gateway
-// namespace: some-config-namespace
-// spec:
-// selector:
-// app: my-gateway-controller
-// servers:
-// - port:
-// number: 80
-// name: http
-// protocol: HTTP
-// hosts:
-// - "ns1/*"
-// - "ns2/foo.bar.com"
-// ```
-// {{}}
-// {{}}
-//
-
+// Code generated by protoc-gen-deepcopy. DO NOT EDIT.
package v1alpha3
import (
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
+ proto "github.com/golang/protobuf/proto"
)
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
// DeepCopyInto supports using Gateway within kubernetes types, where deepcopy-gen is used.
func (in *Gateway) DeepCopyInto(out *Gateway) {
p := proto.Clone(in).(*Gateway)
diff --git a/vendor/istio.io/api/networking/v1alpha3/gateway_json.gen.go b/vendor/istio.io/api/networking/v1alpha3/gateway_json.gen.go
index 27a20a98b..8dd2ce87e 100644
--- a/vendor/istio.io/api/networking/v1alpha3/gateway_json.gen.go
+++ b/vendor/istio.io/api/networking/v1alpha3/gateway_json.gen.go
@@ -1,348 +1,11 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: networking/v1alpha3/gateway.proto
-
-// `Gateway` describes a load balancer operating at the edge of the mesh
-// receiving incoming or outgoing HTTP/TCP connections. The specification
-// describes a set of ports that should be exposed, the type of protocol to
-// use, SNI configuration for the load balancer, etc.
-//
-// For example, the following Gateway configuration sets up a proxy to act
-// as a load balancer exposing port 80 and 9080 (http), 443 (https),
-// 9443(https) and port 2379 (TCP) for ingress. The gateway will be
-// applied to the proxy running on a pod with labels `app:
-// my-gateway-controller`. While Istio will configure the proxy to listen
-// on these ports, it is the responsibility of the user to ensure that
-// external traffic to these ports are allowed into the mesh.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: Gateway
-// metadata:
-// name: my-gateway
-// namespace: some-config-namespace
-// spec:
-// selector:
-// app: my-gateway-controller
-// servers:
-// - port:
-// number: 80
-// name: http
-// protocol: HTTP
-// hosts:
-// - uk.bookinfo.com
-// - eu.bookinfo.com
-// tls:
-// httpsRedirect: true # sends 301 redirect for http requests
-// - port:
-// number: 443
-// name: https-443
-// protocol: HTTPS
-// hosts:
-// - uk.bookinfo.com
-// - eu.bookinfo.com
-// tls:
-// mode: SIMPLE # enables HTTPS on this port
-// serverCertificate: /etc/certs/servercert.pem
-// privateKey: /etc/certs/privatekey.pem
-// - port:
-// number: 9443
-// name: https-9443
-// protocol: HTTPS
-// hosts:
-// - "bookinfo-namespace/*.bookinfo.com"
-// tls:
-// mode: SIMPLE # enables HTTPS on this port
-// credentialName: bookinfo-secret # fetches certs from Kubernetes secret
-// - port:
-// number: 9080
-// name: http-wildcard
-// protocol: HTTP
-// hosts:
-// - "*"
-// - port:
-// number: 2379 # to expose internal service via external port 2379
-// name: mongo
-// protocol: MONGO
-// hosts:
-// - "*"
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: Gateway
-// metadata:
-// name: my-gateway
-// namespace: some-config-namespace
-// spec:
-// selector:
-// app: my-gateway-controller
-// servers:
-// - port:
-// number: 80
-// name: http
-// protocol: HTTP
-// hosts:
-// - uk.bookinfo.com
-// - eu.bookinfo.com
-// tls:
-// httpsRedirect: true # sends 301 redirect for http requests
-// - port:
-// number: 443
-// name: https-443
-// protocol: HTTPS
-// hosts:
-// - uk.bookinfo.com
-// - eu.bookinfo.com
-// tls:
-// mode: SIMPLE # enables HTTPS on this port
-// serverCertificate: /etc/certs/servercert.pem
-// privateKey: /etc/certs/privatekey.pem
-// - port:
-// number: 9443
-// name: https-9443
-// protocol: HTTPS
-// hosts:
-// - "bookinfo-namespace/*.bookinfo.com"
-// tls:
-// mode: SIMPLE # enables HTTPS on this port
-// credentialName: bookinfo-secret # fetches certs from Kubernetes secret
-// - port:
-// number: 9080
-// name: http-wildcard
-// protocol: HTTP
-// hosts:
-// - "*"
-// - port:
-// number: 2379 # to expose internal service via external port 2379
-// name: mongo
-// protocol: MONGO
-// hosts:
-// - "*"
-// ```
-// {{}}
-// {{}}
-//
-// The Gateway specification above describes the L4-L6 properties of a load
-// balancer. A `VirtualService` can then be bound to a gateway to control
-// the forwarding of traffic arriving at a particular host or gateway port.
-//
-// For example, the following VirtualService splits traffic for
-// `https://uk.bookinfo.com/reviews`, `https://eu.bookinfo.com/reviews`,
-// `http://uk.bookinfo.com:9080/reviews`,
-// `http://eu.bookinfo.com:9080/reviews` into two versions (prod and qa) of
-// an internal reviews service on port 9080. In addition, requests
-// containing the cookie "user: dev-123" will be sent to special port 7777
-// in the qa version. The same rule is also applicable inside the mesh for
-// requests to the "reviews.prod.svc.cluster.local" service. This rule is
-// applicable across ports 443, 9080. Note that `http://uk.bookinfo.com`
-// gets redirected to `https://uk.bookinfo.com` (i.e. 80 redirects to 443).
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: VirtualService
-// metadata:
-// name: bookinfo-rule
-// namespace: bookinfo-namespace
-// spec:
-// hosts:
-// - reviews.prod.svc.cluster.local
-// - uk.bookinfo.com
-// - eu.bookinfo.com
-// gateways:
-// - some-config-namespace/my-gateway
-// - mesh # applies to all the sidecars in the mesh
-// http:
-// - match:
-// - headers:
-// cookie:
-// exact: "user=dev-123"
-// route:
-// - destination:
-// port:
-// number: 7777
-// host: reviews.qa.svc.cluster.local
-// - match:
-// - uri:
-// prefix: /reviews/
-// route:
-// - destination:
-// port:
-// number: 9080 # can be omitted if it's the only port for reviews
-// host: reviews.prod.svc.cluster.local
-// weight: 80
-// - destination:
-// host: reviews.qa.svc.cluster.local
-// weight: 20
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: VirtualService
-// metadata:
-// name: bookinfo-rule
-// namespace: bookinfo-namespace
-// spec:
-// hosts:
-// - reviews.prod.svc.cluster.local
-// - uk.bookinfo.com
-// - eu.bookinfo.com
-// gateways:
-// - some-config-namespace/my-gateway
-// - mesh # applies to all the sidecars in the mesh
-// http:
-// - match:
-// - headers:
-// cookie:
-// exact: "user=dev-123"
-// route:
-// - destination:
-// port:
-// number: 7777
-// host: reviews.qa.svc.cluster.local
-// - match:
-// - uri:
-// prefix: /reviews/
-// route:
-// - destination:
-// port:
-// number: 9080 # can be omitted if it's the only port for reviews
-// host: reviews.prod.svc.cluster.local
-// weight: 80
-// - destination:
-// host: reviews.qa.svc.cluster.local
-// weight: 20
-// ```
-// {{}}
-// {{}}
-//
-// The following VirtualService forwards traffic arriving at (external)
-// port 27017 to internal Mongo server on port 5555. This rule is not
-// applicable internally in the mesh as the gateway list omits the
-// reserved name `mesh`.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: VirtualService
-// metadata:
-// name: bookinfo-mongo
-// namespace: bookinfo-namespace
-// spec:
-// hosts:
-// - mongosvr.prod.svc.cluster.local # name of internal Mongo service
-// gateways:
-// - some-config-namespace/my-gateway # can omit the namespace if gateway is in same namespace as virtual service.
-// tcp:
-// - match:
-// - port: 27017
-// route:
-// - destination:
-// host: mongo.prod.svc.cluster.local
-// port:
-// number: 5555
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: VirtualService
-// metadata:
-// name: bookinfo-mongo
-// namespace: bookinfo-namespace
-// spec:
-// hosts:
-// - mongosvr.prod.svc.cluster.local # name of internal Mongo service
-// gateways:
-// - some-config-namespace/my-gateway # can omit the namespace if gateway is in same namespace as virtual service.
-// tcp:
-// - match:
-// - port: 27017
-// route:
-// - destination:
-// host: mongo.prod.svc.cluster.local
-// port:
-// number: 5555
-// ```
-// {{}}
-// {{}}
-//
-// It is possible to restrict the set of virtual services that can bind to
-// a gateway server using the namespace/hostname syntax in the hosts field.
-// For example, the following Gateway allows any virtual service in the ns1
-// namespace to bind to it, while restricting only the virtual service with
-// foo.bar.com host in the ns2 namespace to bind to it.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: Gateway
-// metadata:
-// name: my-gateway
-// namespace: some-config-namespace
-// spec:
-// selector:
-// app: my-gateway-controller
-// servers:
-// - port:
-// number: 80
-// name: http
-// protocol: HTTP
-// hosts:
-// - "ns1/*"
-// - "ns2/foo.bar.com"
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: Gateway
-// metadata:
-// name: my-gateway
-// namespace: some-config-namespace
-// spec:
-// selector:
-// app: my-gateway-controller
-// servers:
-// - port:
-// number: 80
-// name: http
-// protocol: HTTP
-// hosts:
-// - "ns1/*"
-// - "ns2/foo.bar.com"
-// ```
-// {{}}
-// {{}}
-//
-
+// Code generated by protoc-gen-jsonshim. DO NOT EDIT.
package v1alpha3
import (
bytes "bytes"
- fmt "fmt"
- github_com_gogo_protobuf_jsonpb "github.com/gogo/protobuf/jsonpb"
- proto "github.com/gogo/protobuf/proto"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
+ jsonpb "github.com/golang/protobuf/jsonpb"
)
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
// MarshalJSON is a custom marshaler for Gateway
func (this *Gateway) MarshalJSON() ([]byte, error) {
str, err := GatewayMarshaler.MarshalToString(this)
@@ -388,6 +51,6 @@ func (this *ServerTLSSettings) UnmarshalJSON(b []byte) error {
}
var (
- GatewayMarshaler = &github_com_gogo_protobuf_jsonpb.Marshaler{}
- GatewayUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{AllowUnknownFields: true}
+ GatewayMarshaler = &jsonpb.Marshaler{}
+ GatewayUnmarshaler = &jsonpb.Unmarshaler{AllowUnknownFields: true}
)
diff --git a/vendor/istio.io/api/networking/v1alpha3/service_entry.gen.json b/vendor/istio.io/api/networking/v1alpha3/service_entry.gen.json
index f3e019a27..7d3186314 100644
--- a/vendor/istio.io/api/networking/v1alpha3/service_entry.gen.json
+++ b/vendor/istio.io/api/networking/v1alpha3/service_entry.gen.json
@@ -144,7 +144,7 @@
}
},
"istio.networking.v1alpha3.WorkloadSelector": {
- "description": "`WorkloadSelector` specifies the criteria used to determine if the `Gateway`, `Sidecar`, `EnvoyFilter`, or `ServiceEntry` configuration can be applied to a proxy. The matching criteria includes the metadata associated with a proxy, workload instance info such as labels attached to the pod/VM, or any other info that the proxy provides to Istio during the initial handshake. If multiple conditions are specified, all conditions need to match in order for the workload instance to be selected. Currently, only label based selection mechanism is supported.",
+ "description": "`WorkloadSelector` specifies the criteria used to determine if the `Gateway`, `Sidecar`, `EnvoyFilter`, `ServiceEntry`, or `DestinationRule` configuration can be applied to a proxy. The matching criteria includes the metadata associated with a proxy, workload instance info such as labels attached to the pod/VM, or any other info that the proxy provides to Istio during the initial handshake. If multiple conditions are specified, all conditions need to match in order for the workload instance to be selected. Currently, only label based selection mechanism is supported.",
"type": "object",
"properties": {
"labels": {
diff --git a/vendor/istio.io/api/networking/v1alpha3/service_entry.pb.go b/vendor/istio.io/api/networking/v1alpha3/service_entry.pb.go
index 2e191711b..8715ec155 100644
--- a/vendor/istio.io/api/networking/v1alpha3/service_entry.pb.go
+++ b/vendor/istio.io/api/networking/v1alpha3/service_entry.pb.go
@@ -1,6 +1,29 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
+// Copyright 2018 Istio 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-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.27.1
+// protoc (unknown)
// source: networking/v1alpha3/service_entry.proto
+// $schema: istio.networking.v1alpha3.ServiceEntry
+// $title: Service Entry
+// $description: Configuration affecting service registry.
+// $location: https://istio.io/docs/reference/config/networking/service-entry.html
+// $aliases: [/docs/reference/config/networking/v1alpha3/service-entry]
+
// `ServiceEntry` enables adding additional entries into Istio's
// internal service registry, so that auto-discovered services in the
// mesh can access/route to these manually specified services. A
@@ -266,7 +289,7 @@
// namespace : egress
// spec:
// hosts:
-// - httpbin.com
+// - example.com
// exportTo:
// - "."
// location: MESH_EXTERNAL
@@ -287,7 +310,7 @@
// namespace : egress
// spec:
// hosts:
-// - httpbin.com
+// - example.com
// exportTo:
// - "."
// location: MESH_EXTERNAL
@@ -361,7 +384,7 @@
// namespace: egress
// spec:
// hosts:
-// - httpbin.com
+// - example.com
// exportTo:
// - "*"
// gateways:
@@ -381,7 +404,7 @@
// - istio-egressgateway
// route:
// - destination:
-// host: httpbin.com
+// host: example.com
// ```
// {{}}
//
@@ -394,7 +417,7 @@
// namespace: egress
// spec:
// hosts:
-// - httpbin.com
+// - example.com
// exportTo:
// - "*"
// gateways:
@@ -414,7 +437,7 @@
// - istio-egressgateway
// route:
// - destination:
-// host: httpbin.com
+// host: example.com
// ```
// {{}}
// {{}}
@@ -593,7 +616,7 @@
// namespace : httpbin-ns
// spec:
// hosts:
-// - httpbin.com
+// - example.com
// location: MESH_INTERNAL
// ports:
// - number: 80
@@ -617,7 +640,7 @@
// namespace : httpbin-ns
// spec:
// hosts:
-// - httpbin.com
+// - example.com
// location: MESH_INTERNAL
// ports:
// - number: 80
@@ -751,24 +774,19 @@
package v1alpha3
import (
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- io "io"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
- math_bits "math/bits"
+ _ "google.golang.org/genproto/googleapis/api/annotations"
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
)
-// 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.GoGoProtoPackageIsVersion3 // please upgrade the proto package
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
// Location specifies whether the service is part of Istio mesh or
// outside the mesh. Location determines the behavior of several
@@ -789,22 +807,43 @@ const (
ServiceEntry_MESH_INTERNAL ServiceEntry_Location = 1
)
-var ServiceEntry_Location_name = map[int32]string{
- 0: "MESH_EXTERNAL",
- 1: "MESH_INTERNAL",
-}
+// Enum value maps for ServiceEntry_Location.
+var (
+ ServiceEntry_Location_name = map[int32]string{
+ 0: "MESH_EXTERNAL",
+ 1: "MESH_INTERNAL",
+ }
+ ServiceEntry_Location_value = map[string]int32{
+ "MESH_EXTERNAL": 0,
+ "MESH_INTERNAL": 1,
+ }
+)
-var ServiceEntry_Location_value = map[string]int32{
- "MESH_EXTERNAL": 0,
- "MESH_INTERNAL": 1,
+func (x ServiceEntry_Location) Enum() *ServiceEntry_Location {
+ p := new(ServiceEntry_Location)
+ *p = x
+ return p
}
func (x ServiceEntry_Location) String() string {
- return proto.EnumName(ServiceEntry_Location_name, int32(x))
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ServiceEntry_Location) Descriptor() protoreflect.EnumDescriptor {
+ return file_networking_v1alpha3_service_entry_proto_enumTypes[0].Descriptor()
}
+func (ServiceEntry_Location) Type() protoreflect.EnumType {
+ return &file_networking_v1alpha3_service_entry_proto_enumTypes[0]
+}
+
+func (x ServiceEntry_Location) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ServiceEntry_Location.Descriptor instead.
func (ServiceEntry_Location) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_9220e0fa673c4bf8, []int{0, 0}
+ return file_networking_v1alpha3_service_entry_proto_rawDescGZIP(), []int{0, 0}
}
// Resolution determines how the proxy will resolve the IP addresses of
@@ -850,26 +889,47 @@ const (
ServiceEntry_DNS_ROUND_ROBIN ServiceEntry_Resolution = 3
)
-var ServiceEntry_Resolution_name = map[int32]string{
- 0: "NONE",
- 1: "STATIC",
- 2: "DNS",
- 3: "DNS_ROUND_ROBIN",
-}
+// Enum value maps for ServiceEntry_Resolution.
+var (
+ ServiceEntry_Resolution_name = map[int32]string{
+ 0: "NONE",
+ 1: "STATIC",
+ 2: "DNS",
+ 3: "DNS_ROUND_ROBIN",
+ }
+ ServiceEntry_Resolution_value = map[string]int32{
+ "NONE": 0,
+ "STATIC": 1,
+ "DNS": 2,
+ "DNS_ROUND_ROBIN": 3,
+ }
+)
-var ServiceEntry_Resolution_value = map[string]int32{
- "NONE": 0,
- "STATIC": 1,
- "DNS": 2,
- "DNS_ROUND_ROBIN": 3,
+func (x ServiceEntry_Resolution) Enum() *ServiceEntry_Resolution {
+ p := new(ServiceEntry_Resolution)
+ *p = x
+ return p
}
func (x ServiceEntry_Resolution) String() string {
- return proto.EnumName(ServiceEntry_Resolution_name, int32(x))
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ServiceEntry_Resolution) Descriptor() protoreflect.EnumDescriptor {
+ return file_networking_v1alpha3_service_entry_proto_enumTypes[1].Descriptor()
+}
+
+func (ServiceEntry_Resolution) Type() protoreflect.EnumType {
+ return &file_networking_v1alpha3_service_entry_proto_enumTypes[1]
+}
+
+func (x ServiceEntry_Resolution) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
}
+// Deprecated: Use ServiceEntry_Resolution.Descriptor instead.
func (ServiceEntry_Resolution) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_9220e0fa673c4bf8, []int{0, 1}
+ return file_networking_v1alpha3_service_entry_proto_rawDescGZIP(), []int{0, 1}
}
// ServiceEntry enables adding additional entries into Istio's internal
@@ -906,6 +966,10 @@ func (ServiceEntry_Resolution) EnumDescriptor() ([]byte, []int) {
// +istio.io/sync-start
// -->
type ServiceEntry struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// The hosts associated with the ServiceEntry. Could be a DNS
// name with wildcard prefix.
//
@@ -992,743 +1056,240 @@ type ServiceEntry struct {
// service account specified in the workloadEntry will also be used
// to derive the additional subject alternate names that should be
// verified.
- SubjectAltNames []string `protobuf:"bytes,8,rep,name=subject_alt_names,json=subjectAltNames,proto3" json:"subject_alt_names,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ SubjectAltNames []string `protobuf:"bytes,8,rep,name=subject_alt_names,json=subjectAltNames,proto3" json:"subject_alt_names,omitempty"`
}
-func (m *ServiceEntry) Reset() { *m = ServiceEntry{} }
-func (m *ServiceEntry) String() string { return proto.CompactTextString(m) }
-func (*ServiceEntry) ProtoMessage() {}
-func (*ServiceEntry) Descriptor() ([]byte, []int) {
- return fileDescriptor_9220e0fa673c4bf8, []int{0}
+func (x *ServiceEntry) Reset() {
+ *x = ServiceEntry{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_service_entry_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
}
-func (m *ServiceEntry) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
+
+func (x *ServiceEntry) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *ServiceEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_ServiceEntry.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
+
+func (*ServiceEntry) ProtoMessage() {}
+
+func (x *ServiceEntry) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_service_entry_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- return b[:n], nil
+ return ms
}
-}
-func (m *ServiceEntry) XXX_Merge(src proto.Message) {
- xxx_messageInfo_ServiceEntry.Merge(m, src)
-}
-func (m *ServiceEntry) XXX_Size() int {
- return m.Size()
-}
-func (m *ServiceEntry) XXX_DiscardUnknown() {
- xxx_messageInfo_ServiceEntry.DiscardUnknown(m)
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_ServiceEntry proto.InternalMessageInfo
+// Deprecated: Use ServiceEntry.ProtoReflect.Descriptor instead.
+func (*ServiceEntry) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_service_entry_proto_rawDescGZIP(), []int{0}
+}
-func (m *ServiceEntry) GetHosts() []string {
- if m != nil {
- return m.Hosts
+func (x *ServiceEntry) GetHosts() []string {
+ if x != nil {
+ return x.Hosts
}
return nil
}
-func (m *ServiceEntry) GetAddresses() []string {
- if m != nil {
- return m.Addresses
+func (x *ServiceEntry) GetAddresses() []string {
+ if x != nil {
+ return x.Addresses
}
return nil
}
-func (m *ServiceEntry) GetPorts() []*Port {
- if m != nil {
- return m.Ports
+func (x *ServiceEntry) GetPorts() []*Port {
+ if x != nil {
+ return x.Ports
}
return nil
}
-func (m *ServiceEntry) GetLocation() ServiceEntry_Location {
- if m != nil {
- return m.Location
+func (x *ServiceEntry) GetLocation() ServiceEntry_Location {
+ if x != nil {
+ return x.Location
}
return ServiceEntry_MESH_EXTERNAL
}
-func (m *ServiceEntry) GetResolution() ServiceEntry_Resolution {
- if m != nil {
- return m.Resolution
+func (x *ServiceEntry) GetResolution() ServiceEntry_Resolution {
+ if x != nil {
+ return x.Resolution
}
return ServiceEntry_NONE
}
-func (m *ServiceEntry) GetEndpoints() []*WorkloadEntry {
- if m != nil {
- return m.Endpoints
+func (x *ServiceEntry) GetEndpoints() []*WorkloadEntry {
+ if x != nil {
+ return x.Endpoints
}
return nil
}
-func (m *ServiceEntry) GetWorkloadSelector() *WorkloadSelector {
- if m != nil {
- return m.WorkloadSelector
+func (x *ServiceEntry) GetWorkloadSelector() *WorkloadSelector {
+ if x != nil {
+ return x.WorkloadSelector
}
return nil
}
-func (m *ServiceEntry) GetExportTo() []string {
- if m != nil {
- return m.ExportTo
+func (x *ServiceEntry) GetExportTo() []string {
+ if x != nil {
+ return x.ExportTo
}
return nil
}
-func (m *ServiceEntry) GetSubjectAltNames() []string {
- if m != nil {
- return m.SubjectAltNames
+func (x *ServiceEntry) GetSubjectAltNames() []string {
+ if x != nil {
+ return x.SubjectAltNames
}
return nil
}
-func init() {
- proto.RegisterEnum("istio.networking.v1alpha3.ServiceEntry_Location", ServiceEntry_Location_name, ServiceEntry_Location_value)
- proto.RegisterEnum("istio.networking.v1alpha3.ServiceEntry_Resolution", ServiceEntry_Resolution_name, ServiceEntry_Resolution_value)
- proto.RegisterType((*ServiceEntry)(nil), "istio.networking.v1alpha3.ServiceEntry")
-}
+var File_networking_v1alpha3_service_entry_proto protoreflect.FileDescriptor
-func init() {
- proto.RegisterFile("networking/v1alpha3/service_entry.proto", fileDescriptor_9220e0fa673c4bf8)
+var file_networking_v1alpha3_service_entry_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x61,
+ 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x65, 0x6e,
+ 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x69, 0x73, 0x74, 0x69, 0x6f,
+ 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c,
+ 0x70, 0x68, 0x61, 0x33, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
+ 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e,
+ 0x67, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77,
+ 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
+ 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2f, 0x73, 0x69,
+ 0x64, 0x65, 0x63, 0x61, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x6e, 0x65, 0x74,
+ 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33,
+ 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8c, 0x05, 0x0a, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
+ 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18,
+ 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x05, 0x68, 0x6f, 0x73,
+ 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18,
+ 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73,
+ 0x12, 0x3b, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x1f, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69,
+ 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x50, 0x6f, 0x72, 0x74,
+ 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x4c, 0x0a,
+ 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32,
+ 0x30, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69,
+ 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x53, 0x65, 0x72, 0x76,
+ 0x69, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x58, 0x0a, 0x0a, 0x72,
+ 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32,
+ 0x32, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69,
+ 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x53, 0x65, 0x72, 0x76,
+ 0x69, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74,
+ 0x69, 0x6f, 0x6e, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x6c,
+ 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
+ 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f,
+ 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c,
+ 0x70, 0x68, 0x61, 0x33, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x58, 0x0a,
+ 0x11, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f,
+ 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c,
+ 0x70, 0x68, 0x61, 0x33, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x6c,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x10, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53,
+ 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x70, 0x6f, 0x72,
+ 0x74, 0x5f, 0x74, 0x6f, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x70, 0x6f,
+ 0x72, 0x74, 0x54, 0x6f, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f,
+ 0x61, 0x6c, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52,
+ 0x0f, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73,
+ 0x22, 0x30, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x11, 0x0a, 0x0d,
+ 0x4d, 0x45, 0x53, 0x48, 0x5f, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x00, 0x12,
+ 0x11, 0x0a, 0x0d, 0x4d, 0x45, 0x53, 0x48, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c,
+ 0x10, 0x01, 0x22, 0x40, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e,
+ 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54,
+ 0x41, 0x54, 0x49, 0x43, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x4e, 0x53, 0x10, 0x02, 0x12,
+ 0x13, 0x0a, 0x0f, 0x44, 0x4e, 0x53, 0x5f, 0x52, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x52, 0x4f, 0x42,
+ 0x49, 0x4e, 0x10, 0x03, 0x42, 0x22, 0x5a, 0x20, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x69, 0x6f,
+ 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f,
+ 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
-var fileDescriptor_9220e0fa673c4bf8 = []byte{
- // 488 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0xcb, 0x6e, 0xd3, 0x40,
- 0x18, 0x85, 0xeb, 0xe6, 0x52, 0xfb, 0x2f, 0x50, 0x67, 0xd8, 0x98, 0x80, 0x52, 0x93, 0x0d, 0x16,
- 0x48, 0x4e, 0x49, 0x97, 0x6c, 0x48, 0x88, 0x11, 0x91, 0x82, 0x83, 0xec, 0x20, 0x22, 0x36, 0xd6,
- 0xc4, 0x1e, 0x92, 0x01, 0xe3, 0xb1, 0x66, 0xa6, 0x09, 0x7d, 0x07, 0x1e, 0x8c, 0x25, 0x8f, 0x80,
- 0xf2, 0x24, 0xc8, 0x97, 0x5c, 0x84, 0x42, 0xd4, 0xed, 0x99, 0x73, 0x3e, 0xff, 0x73, 0xe6, 0x37,
- 0x3c, 0x4b, 0x88, 0x5c, 0x31, 0xfe, 0x8d, 0x26, 0xf3, 0xce, 0xf2, 0x25, 0x8e, 0xd3, 0x05, 0xbe,
- 0xee, 0x08, 0xc2, 0x97, 0x34, 0x24, 0x01, 0x49, 0x24, 0xbf, 0xb5, 0x53, 0xce, 0x24, 0x43, 0x8f,
- 0xa8, 0x90, 0x94, 0xd9, 0x3b, 0xbb, 0xbd, 0xb1, 0x37, 0x2f, 0xe7, 0x8c, 0xcd, 0x63, 0xd2, 0xc1,
- 0x29, 0xed, 0x7c, 0xa1, 0x24, 0x8e, 0x82, 0x19, 0x59, 0xe0, 0x25, 0x65, 0xbc, 0xc8, 0x36, 0x9f,
- 0x1e, 0xfa, 0xc8, 0x1c, 0x4b, 0xb2, 0xc2, 0xb7, 0xc7, 0x2c, 0x82, 0x46, 0x24, 0xc4, 0x1b, 0x8a,
- 0x75, 0xc8, 0x92, 0x09, 0x31, 0xc3, 0xd1, 0xfe, 0xac, 0xed, 0x9f, 0x35, 0xb8, 0xe7, 0x17, 0x77,
- 0x70, 0x32, 0x19, 0x35, 0xa1, 0xb6, 0x60, 0x42, 0x0a, 0x43, 0x31, 0x2b, 0x96, 0xd6, 0xaf, 0xae,
- 0x7b, 0xca, 0xa9, 0x57, 0x48, 0xe8, 0x09, 0x68, 0x38, 0x8a, 0x38, 0x11, 0x82, 0x08, 0xe3, 0x34,
- 0x3b, 0xf7, 0x76, 0x02, 0x7a, 0x05, 0xb5, 0x94, 0x71, 0x29, 0x8c, 0x8a, 0x59, 0xb1, 0xce, 0xbb,
- 0x97, 0xf6, 0x7f, 0x6b, 0xb0, 0x3f, 0x30, 0x2e, 0x37, 0xe8, 0x3c, 0x83, 0x46, 0xa0, 0xc6, 0x2c,
- 0xc4, 0x92, 0xb2, 0xc4, 0xa8, 0x9a, 0x8a, 0xf5, 0xa0, 0x7b, 0x75, 0x24, 0xbf, 0x3f, 0xb1, 0x3d,
- 0x2a, 0x73, 0xde, 0x96, 0x80, 0xa6, 0x00, 0x9c, 0x08, 0x16, 0xdf, 0xe4, 0xbc, 0x5a, 0xce, 0xeb,
- 0xde, 0x95, 0xe7, 0x6d, 0x93, 0xe5, 0x88, 0x7b, 0x2c, 0xf4, 0x16, 0x34, 0x92, 0x44, 0x29, 0xa3,
- 0x89, 0x14, 0x46, 0x3d, 0xbf, 0xa8, 0x75, 0x04, 0xfc, 0xa9, 0xec, 0x3c, 0x27, 0x7b, 0xbb, 0x28,
- 0x9a, 0x42, 0x63, 0xfb, 0x1e, 0x82, 0xc4, 0x24, 0x94, 0x8c, 0x1b, 0x9a, 0xa9, 0x58, 0xe7, 0xdd,
- 0x17, 0x77, 0xe0, 0xf9, 0x65, 0xc4, 0xd3, 0x57, 0xff, 0x28, 0xe8, 0x31, 0x68, 0xe4, 0x47, 0x56,
- 0x6a, 0x20, 0x99, 0x71, 0x96, 0x3f, 0x92, 0x5a, 0x08, 0x13, 0x86, 0x9e, 0x43, 0x43, 0xdc, 0xcc,
- 0xbe, 0x92, 0x50, 0x06, 0x38, 0x96, 0x41, 0x82, 0xbf, 0x13, 0x61, 0xa8, 0xb9, 0xe9, 0xa2, 0x3c,
- 0xe8, 0xc5, 0xd2, 0xcd, 0xe4, 0xf6, 0x15, 0xa8, 0x9b, 0x6a, 0x51, 0x03, 0xee, 0xbf, 0x77, 0xfc,
- 0x77, 0x81, 0x33, 0x9d, 0x38, 0x9e, 0xdb, 0x1b, 0xe9, 0x27, 0x5b, 0x69, 0xe8, 0x96, 0x92, 0xd2,
- 0x7e, 0x0d, 0xb0, 0x2b, 0x0f, 0xa9, 0x50, 0x75, 0xc7, 0xae, 0xa3, 0x9f, 0x20, 0x80, 0xba, 0x3f,
- 0xe9, 0x4d, 0x86, 0x6f, 0x74, 0x05, 0x9d, 0x41, 0x65, 0xe0, 0xfa, 0xfa, 0x29, 0x7a, 0x08, 0x17,
- 0x03, 0xd7, 0x0f, 0xbc, 0xf1, 0x47, 0x77, 0x10, 0x78, 0xe3, 0xfe, 0xd0, 0xd5, 0x2b, 0x7d, 0xfb,
- 0xd7, 0xba, 0xa5, 0xfc, 0x5e, 0xb7, 0x94, 0x3f, 0xeb, 0x96, 0xf2, 0xd9, 0x2c, 0x8a, 0xa0, 0x2c,
- 0xff, 0x5f, 0x0e, 0xec, 0xf4, 0xac, 0x9e, 0x6f, 0xf1, 0xf5, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff,
- 0xe9, 0x6f, 0x69, 0x5d, 0x9c, 0x03, 0x00, 0x00,
-}
+var (
+ file_networking_v1alpha3_service_entry_proto_rawDescOnce sync.Once
+ file_networking_v1alpha3_service_entry_proto_rawDescData = file_networking_v1alpha3_service_entry_proto_rawDesc
+)
-func (m *ServiceEntry) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
+func file_networking_v1alpha3_service_entry_proto_rawDescGZIP() []byte {
+ file_networking_v1alpha3_service_entry_proto_rawDescOnce.Do(func() {
+ file_networking_v1alpha3_service_entry_proto_rawDescData = protoimpl.X.CompressGZIP(file_networking_v1alpha3_service_entry_proto_rawDescData)
+ })
+ return file_networking_v1alpha3_service_entry_proto_rawDescData
}
-func (m *ServiceEntry) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+var file_networking_v1alpha3_service_entry_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
+var file_networking_v1alpha3_service_entry_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_networking_v1alpha3_service_entry_proto_goTypes = []interface{}{
+ (ServiceEntry_Location)(0), // 0: istio.networking.v1alpha3.ServiceEntry.Location
+ (ServiceEntry_Resolution)(0), // 1: istio.networking.v1alpha3.ServiceEntry.Resolution
+ (*ServiceEntry)(nil), // 2: istio.networking.v1alpha3.ServiceEntry
+ (*Port)(nil), // 3: istio.networking.v1alpha3.Port
+ (*WorkloadEntry)(nil), // 4: istio.networking.v1alpha3.WorkloadEntry
+ (*WorkloadSelector)(nil), // 5: istio.networking.v1alpha3.WorkloadSelector
}
-
-func (m *ServiceEntry) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.WorkloadSelector != nil {
- {
- size, err := m.WorkloadSelector.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintServiceEntry(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x4a
- }
- if len(m.SubjectAltNames) > 0 {
- for iNdEx := len(m.SubjectAltNames) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.SubjectAltNames[iNdEx])
- copy(dAtA[i:], m.SubjectAltNames[iNdEx])
- i = encodeVarintServiceEntry(dAtA, i, uint64(len(m.SubjectAltNames[iNdEx])))
- i--
- dAtA[i] = 0x42
- }
- }
- if len(m.ExportTo) > 0 {
- for iNdEx := len(m.ExportTo) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.ExportTo[iNdEx])
- copy(dAtA[i:], m.ExportTo[iNdEx])
- i = encodeVarintServiceEntry(dAtA, i, uint64(len(m.ExportTo[iNdEx])))
- i--
- dAtA[i] = 0x3a
- }
- }
- if len(m.Endpoints) > 0 {
- for iNdEx := len(m.Endpoints) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Endpoints[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintServiceEntry(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x32
- }
- }
- if m.Resolution != 0 {
- i = encodeVarintServiceEntry(dAtA, i, uint64(m.Resolution))
- i--
- dAtA[i] = 0x28
- }
- if m.Location != 0 {
- i = encodeVarintServiceEntry(dAtA, i, uint64(m.Location))
- i--
- dAtA[i] = 0x20
- }
- if len(m.Ports) > 0 {
- for iNdEx := len(m.Ports) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Ports[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintServiceEntry(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- }
- if len(m.Addresses) > 0 {
- for iNdEx := len(m.Addresses) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.Addresses[iNdEx])
- copy(dAtA[i:], m.Addresses[iNdEx])
- i = encodeVarintServiceEntry(dAtA, i, uint64(len(m.Addresses[iNdEx])))
- i--
- dAtA[i] = 0x12
- }
- }
- if len(m.Hosts) > 0 {
- for iNdEx := len(m.Hosts) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.Hosts[iNdEx])
- copy(dAtA[i:], m.Hosts[iNdEx])
- i = encodeVarintServiceEntry(dAtA, i, uint64(len(m.Hosts[iNdEx])))
- i--
- dAtA[i] = 0xa
- }
- }
- return len(dAtA) - i, nil
+var file_networking_v1alpha3_service_entry_proto_depIdxs = []int32{
+ 3, // 0: istio.networking.v1alpha3.ServiceEntry.ports:type_name -> istio.networking.v1alpha3.Port
+ 0, // 1: istio.networking.v1alpha3.ServiceEntry.location:type_name -> istio.networking.v1alpha3.ServiceEntry.Location
+ 1, // 2: istio.networking.v1alpha3.ServiceEntry.resolution:type_name -> istio.networking.v1alpha3.ServiceEntry.Resolution
+ 4, // 3: istio.networking.v1alpha3.ServiceEntry.endpoints:type_name -> istio.networking.v1alpha3.WorkloadEntry
+ 5, // 4: istio.networking.v1alpha3.ServiceEntry.workload_selector:type_name -> istio.networking.v1alpha3.WorkloadSelector
+ 5, // [5:5] is the sub-list for method output_type
+ 5, // [5:5] is the sub-list for method input_type
+ 5, // [5:5] is the sub-list for extension type_name
+ 5, // [5:5] is the sub-list for extension extendee
+ 0, // [0:5] is the sub-list for field type_name
}
-func encodeVarintServiceEntry(dAtA []byte, offset int, v uint64) int {
- offset -= sovServiceEntry(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
-func (m *ServiceEntry) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if len(m.Hosts) > 0 {
- for _, s := range m.Hosts {
- l = len(s)
- n += 1 + l + sovServiceEntry(uint64(l))
- }
- }
- if len(m.Addresses) > 0 {
- for _, s := range m.Addresses {
- l = len(s)
- n += 1 + l + sovServiceEntry(uint64(l))
- }
- }
- if len(m.Ports) > 0 {
- for _, e := range m.Ports {
- l = e.Size()
- n += 1 + l + sovServiceEntry(uint64(l))
- }
+func init() { file_networking_v1alpha3_service_entry_proto_init() }
+func file_networking_v1alpha3_service_entry_proto_init() {
+ if File_networking_v1alpha3_service_entry_proto != nil {
+ return
}
- if m.Location != 0 {
- n += 1 + sovServiceEntry(uint64(m.Location))
- }
- if m.Resolution != 0 {
- n += 1 + sovServiceEntry(uint64(m.Resolution))
- }
- if len(m.Endpoints) > 0 {
- for _, e := range m.Endpoints {
- l = e.Size()
- n += 1 + l + sovServiceEntry(uint64(l))
- }
- }
- if len(m.ExportTo) > 0 {
- for _, s := range m.ExportTo {
- l = len(s)
- n += 1 + l + sovServiceEntry(uint64(l))
- }
- }
- if len(m.SubjectAltNames) > 0 {
- for _, s := range m.SubjectAltNames {
- l = len(s)
- n += 1 + l + sovServiceEntry(uint64(l))
- }
- }
- if m.WorkloadSelector != nil {
- l = m.WorkloadSelector.Size()
- n += 1 + l + sovServiceEntry(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func sovServiceEntry(x uint64) (n int) {
- return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozServiceEntry(x uint64) (n int) {
- return sovServiceEntry(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (m *ServiceEntry) 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 ErrIntOverflowServiceEntry
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
+ file_networking_v1alpha3_gateway_proto_init()
+ file_networking_v1alpha3_sidecar_proto_init()
+ file_networking_v1alpha3_workload_entry_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_networking_v1alpha3_service_entry_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ServiceEntry); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
}
- 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: ServiceEntry: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ServiceEntry: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Hosts", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowServiceEntry
- }
- 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 ErrInvalidLengthServiceEntry
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthServiceEntry
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Hosts = append(m.Hosts, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Addresses", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowServiceEntry
- }
- 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 ErrInvalidLengthServiceEntry
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthServiceEntry
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Addresses = append(m.Addresses, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Ports", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowServiceEntry
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthServiceEntry
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthServiceEntry
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Ports = append(m.Ports, &Port{})
- if err := m.Ports[len(m.Ports)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Location", wireType)
- }
- m.Location = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowServiceEntry
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Location |= ServiceEntry_Location(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 5:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Resolution", wireType)
- }
- m.Resolution = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowServiceEntry
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Resolution |= ServiceEntry_Resolution(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 6:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Endpoints", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowServiceEntry
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthServiceEntry
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthServiceEntry
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Endpoints = append(m.Endpoints, &WorkloadEntry{})
- if err := m.Endpoints[len(m.Endpoints)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 7:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ExportTo", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowServiceEntry
- }
- 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 ErrInvalidLengthServiceEntry
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthServiceEntry
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.ExportTo = append(m.ExportTo, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 8:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field SubjectAltNames", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowServiceEntry
- }
- 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 ErrInvalidLengthServiceEntry
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthServiceEntry
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.SubjectAltNames = append(m.SubjectAltNames, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 9:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field WorkloadSelector", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowServiceEntry
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthServiceEntry
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthServiceEntry
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.WorkloadSelector == nil {
- m.WorkloadSelector = &WorkloadSelector{}
- }
- if err := m.WorkloadSelector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipServiceEntry(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthServiceEntry
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
}
}
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_networking_v1alpha3_service_entry_proto_rawDesc,
+ NumEnums: 2,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_networking_v1alpha3_service_entry_proto_goTypes,
+ DependencyIndexes: file_networking_v1alpha3_service_entry_proto_depIdxs,
+ EnumInfos: file_networking_v1alpha3_service_entry_proto_enumTypes,
+ MessageInfos: file_networking_v1alpha3_service_entry_proto_msgTypes,
+ }.Build()
+ File_networking_v1alpha3_service_entry_proto = out.File
+ file_networking_v1alpha3_service_entry_proto_rawDesc = nil
+ file_networking_v1alpha3_service_entry_proto_goTypes = nil
+ file_networking_v1alpha3_service_entry_proto_depIdxs = nil
}
-func skipServiceEntry(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowServiceEntry
- }
- 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, ErrIntOverflowServiceEntry
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowServiceEntry
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLengthServiceEntry
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroupServiceEntry
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLengthServiceEntry
- }
- if depth == 0 {
- return iNdEx, nil
- }
- }
- return 0, io.ErrUnexpectedEOF
-}
-
-var (
- ErrInvalidLengthServiceEntry = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflowServiceEntry = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroupServiceEntry = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/vendor/istio.io/api/networking/v1alpha3/service_entry.proto b/vendor/istio.io/api/networking/v1alpha3/service_entry.proto
index f34b9b137..c803dbc34 100644
--- a/vendor/istio.io/api/networking/v1alpha3/service_entry.proto
+++ b/vendor/istio.io/api/networking/v1alpha3/service_entry.proto
@@ -290,7 +290,7 @@ import "networking/v1alpha3/workload_entry.proto";
// namespace : egress
// spec:
// hosts:
-// - httpbin.com
+// - example.com
// exportTo:
// - "."
// location: MESH_EXTERNAL
@@ -311,7 +311,7 @@ import "networking/v1alpha3/workload_entry.proto";
// namespace : egress
// spec:
// hosts:
-// - httpbin.com
+// - example.com
// exportTo:
// - "."
// location: MESH_EXTERNAL
@@ -385,7 +385,7 @@ import "networking/v1alpha3/workload_entry.proto";
// namespace: egress
// spec:
// hosts:
-// - httpbin.com
+// - example.com
// exportTo:
// - "*"
// gateways:
@@ -405,7 +405,7 @@ import "networking/v1alpha3/workload_entry.proto";
// - istio-egressgateway
// route:
// - destination:
-// host: httpbin.com
+// host: example.com
// ```
// {{}}
//
@@ -418,7 +418,7 @@ import "networking/v1alpha3/workload_entry.proto";
// namespace: egress
// spec:
// hosts:
-// - httpbin.com
+// - example.com
// exportTo:
// - "*"
// gateways:
@@ -438,7 +438,7 @@ import "networking/v1alpha3/workload_entry.proto";
// - istio-egressgateway
// route:
// - destination:
-// host: httpbin.com
+// host: example.com
// ```
// {{}}
// {{}}
@@ -617,7 +617,7 @@ import "networking/v1alpha3/workload_entry.proto";
// namespace : httpbin-ns
// spec:
// hosts:
-// - httpbin.com
+// - example.com
// location: MESH_INTERNAL
// ports:
// - number: 80
@@ -641,7 +641,7 @@ import "networking/v1alpha3/workload_entry.proto";
// namespace : httpbin-ns
// spec:
// hosts:
-// - httpbin.com
+// - example.com
// location: MESH_INTERNAL
// ports:
// - number: 80
diff --git a/vendor/istio.io/api/networking/v1alpha3/service_entry_deepcopy.gen.go b/vendor/istio.io/api/networking/v1alpha3/service_entry_deepcopy.gen.go
index 92f85c746..adbfa0415 100644
--- a/vendor/istio.io/api/networking/v1alpha3/service_entry_deepcopy.gen.go
+++ b/vendor/istio.io/api/networking/v1alpha3/service_entry_deepcopy.gen.go
@@ -1,767 +1,10 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: networking/v1alpha3/service_entry.proto
-
-// `ServiceEntry` enables adding additional entries into Istio's
-// internal service registry, so that auto-discovered services in the
-// mesh can access/route to these manually specified services. A
-// service entry describes the properties of a service (DNS name,
-// VIPs, ports, protocols, endpoints). These services could be
-// external to the mesh (e.g., web APIs) or mesh-internal services
-// that are not part of the platform's service registry (e.g., a set
-// of VMs talking to services in Kubernetes). In addition, the
-// endpoints of a service entry can also be dynamically selected by
-// using the `workloadSelector` field. These endpoints can be VM
-// workloads declared using the `WorkloadEntry` object or Kubernetes
-// pods. The ability to select both pods and VMs under a single
-// service allows for migration of services from VMs to Kubernetes
-// without having to change the existing DNS names associated with the
-// services.
-//
-// The following example declares a few external APIs accessed by internal
-// applications over HTTPS. The sidecar inspects the SNI value in the
-// ClientHello message to route to the appropriate external service.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-https
-// spec:
-// hosts:
-// - api.dropboxapi.com
-// - www.googleapis.com
-// - api.facebook.com
-// location: MESH_EXTERNAL
-// ports:
-// - number: 443
-// name: https
-// protocol: TLS
-// resolution: DNS
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-https
-// spec:
-// hosts:
-// - api.dropboxapi.com
-// - www.googleapis.com
-// - api.facebook.com
-// location: MESH_EXTERNAL
-// ports:
-// - number: 443
-// name: https
-// protocol: TLS
-// resolution: DNS
-// ```
-// {{}}
-// {{}}
-//
-// The following configuration adds a set of MongoDB instances running on
-// unmanaged VMs to Istio's registry, so that these services can be treated
-// as any other service in the mesh. The associated DestinationRule is used
-// to initiate mTLS connections to the database instances.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-mongocluster
-// spec:
-// hosts:
-// - mymongodb.somedomain # not used
-// addresses:
-// - 192.192.192.192/24 # VIPs
-// ports:
-// - number: 27018
-// name: mongodb
-// protocol: MONGO
-// location: MESH_INTERNAL
-// resolution: STATIC
-// endpoints:
-// - address: 2.2.2.2
-// - address: 3.3.3.3
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-mongocluster
-// spec:
-// hosts:
-// - mymongodb.somedomain # not used
-// addresses:
-// - 192.192.192.192/24 # VIPs
-// ports:
-// - number: 27018
-// name: mongodb
-// protocol: MONGO
-// location: MESH_INTERNAL
-// resolution: STATIC
-// endpoints:
-// - address: 2.2.2.2
-// - address: 3.3.3.3
-// ```
-// {{}}
-// {{}}
-//
-// and the associated DestinationRule
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: DestinationRule
-// metadata:
-// name: mtls-mongocluster
-// spec:
-// host: mymongodb.somedomain
-// trafficPolicy:
-// tls:
-// mode: MUTUAL
-// clientCertificate: /etc/certs/myclientcert.pem
-// privateKey: /etc/certs/client_private_key.pem
-// caCertificates: /etc/certs/rootcacerts.pem
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: DestinationRule
-// metadata:
-// name: mtls-mongocluster
-// spec:
-// host: mymongodb.somedomain
-// trafficPolicy:
-// tls:
-// mode: MUTUAL
-// clientCertificate: /etc/certs/myclientcert.pem
-// privateKey: /etc/certs/client_private_key.pem
-// caCertificates: /etc/certs/rootcacerts.pem
-// ```
-// {{}}
-// {{}}
-//
-// The following example uses a combination of service entry and TLS
-// routing in a virtual service to steer traffic based on the SNI value to
-// an internal egress firewall.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-redirect
-// spec:
-// hosts:
-// - wikipedia.org
-// - "*.wikipedia.org"
-// location: MESH_EXTERNAL
-// ports:
-// - number: 443
-// name: https
-// protocol: TLS
-// resolution: NONE
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-redirect
-// spec:
-// hosts:
-// - wikipedia.org
-// - "*.wikipedia.org"
-// location: MESH_EXTERNAL
-// ports:
-// - number: 443
-// name: https
-// protocol: TLS
-// resolution: NONE
-// ```
-// {{}}
-// {{}}
-//
-// And the associated VirtualService to route based on the SNI value.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: VirtualService
-// metadata:
-// name: tls-routing
-// spec:
-// hosts:
-// - wikipedia.org
-// - "*.wikipedia.org"
-// tls:
-// - match:
-// - sniHosts:
-// - wikipedia.org
-// - "*.wikipedia.org"
-// route:
-// - destination:
-// host: internal-egress-firewall.ns1.svc.cluster.local
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: VirtualService
-// metadata:
-// name: tls-routing
-// spec:
-// hosts:
-// - wikipedia.org
-// - "*.wikipedia.org"
-// tls:
-// - match:
-// - sniHosts:
-// - wikipedia.org
-// - "*.wikipedia.org"
-// route:
-// - destination:
-// host: internal-egress-firewall.ns1.svc.cluster.local
-// ```
-// {{}}
-// {{}}
-//
-// The virtual service with TLS match serves to override the default SNI
-// match. In the absence of a virtual service, traffic will be forwarded to
-// the wikipedia domains.
-//
-// The following example demonstrates the use of a dedicated egress gateway
-// through which all external service traffic is forwarded.
-// The 'exportTo' field allows for control over the visibility of a service
-// declaration to other namespaces in the mesh. By default, a service is exported
-// to all namespaces. The following example restricts the visibility to the
-// current namespace, represented by ".", so that it cannot be used by other
-// namespaces.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-httpbin
-// namespace : egress
-// spec:
-// hosts:
-// - httpbin.com
-// exportTo:
-// - "."
-// location: MESH_EXTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: DNS
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-httpbin
-// namespace : egress
-// spec:
-// hosts:
-// - httpbin.com
-// exportTo:
-// - "."
-// location: MESH_EXTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: DNS
-// ```
-// {{}}
-// {{}}
-//
-// Define a gateway to handle all egress traffic.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: Gateway
-// metadata:
-// name: istio-egressgateway
-// namespace: istio-system
-// spec:
-// selector:
-// istio: egressgateway
-// servers:
-// - port:
-// number: 80
-// name: http
-// protocol: HTTP
-// hosts:
-// - "*"
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: Gateway
-// metadata:
-// name: istio-egressgateway
-// namespace: istio-system
-// spec:
-// selector:
-// istio: egressgateway
-// servers:
-// - port:
-// number: 80
-// name: http
-// protocol: HTTP
-// hosts:
-// - "*"
-// ```
-// {{}}
-// {{}}
-//
-// And the associated `VirtualService` to route from the sidecar to the
-// gateway service (`istio-egressgateway.istio-system.svc.cluster.local`), as
-// well as route from the gateway to the external service. Note that the
-// virtual service is exported to all namespaces enabling them to route traffic
-// through the gateway to the external service. Forcing traffic to go through
-// a managed middle proxy like this is a common practice.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: VirtualService
-// metadata:
-// name: gateway-routing
-// namespace: egress
-// spec:
-// hosts:
-// - httpbin.com
-// exportTo:
-// - "*"
-// gateways:
-// - mesh
-// - istio-egressgateway
-// http:
-// - match:
-// - port: 80
-// gateways:
-// - mesh
-// route:
-// - destination:
-// host: istio-egressgateway.istio-system.svc.cluster.local
-// - match:
-// - port: 80
-// gateways:
-// - istio-egressgateway
-// route:
-// - destination:
-// host: httpbin.com
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: VirtualService
-// metadata:
-// name: gateway-routing
-// namespace: egress
-// spec:
-// hosts:
-// - httpbin.com
-// exportTo:
-// - "*"
-// gateways:
-// - mesh
-// - istio-egressgateway
-// http:
-// - match:
-// - port: 80
-// gateways:
-// - mesh
-// route:
-// - destination:
-// host: istio-egressgateway.istio-system.svc.cluster.local
-// - match:
-// - port: 80
-// gateways:
-// - istio-egressgateway
-// route:
-// - destination:
-// host: httpbin.com
-// ```
-// {{}}
-// {{}}
-//
-// The following example demonstrates the use of wildcards in the hosts for
-// external services. If the connection has to be routed to the IP address
-// requested by the application (i.e. application resolves DNS and attempts
-// to connect to a specific IP), the discovery mode must be set to `NONE`.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-wildcard-example
-// spec:
-// hosts:
-// - "*.bar.com"
-// location: MESH_EXTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: NONE
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-wildcard-example
-// spec:
-// hosts:
-// - "*.bar.com"
-// location: MESH_EXTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: NONE
-// ```
-// {{}}
-// {{}}
-//
-// The following example demonstrates a service that is available via a
-// Unix Domain Socket on the host of the client. The resolution must be
-// set to STATIC to use Unix address endpoints.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: unix-domain-socket-example
-// spec:
-// hosts:
-// - "example.unix.local"
-// location: MESH_EXTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: STATIC
-// endpoints:
-// - address: unix:///var/run/example/socket
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: unix-domain-socket-example
-// spec:
-// hosts:
-// - "example.unix.local"
-// location: MESH_EXTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: STATIC
-// endpoints:
-// - address: unix:///var/run/example/socket
-// ```
-// {{}}
-// {{}}
-//
-// For HTTP-based services, it is possible to create a `VirtualService`
-// backed by multiple DNS addressable endpoints. In such a scenario, the
-// application can use the `HTTP_PROXY` environment variable to transparently
-// reroute API calls for the `VirtualService` to a chosen backend. For
-// example, the following configuration creates a non-existent external
-// service called foo.bar.com backed by three domains: us.foo.bar.com:8080,
-// uk.foo.bar.com:9080, and in.foo.bar.com:7080
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-dns
-// spec:
-// hosts:
-// - foo.bar.com
-// location: MESH_EXTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: DNS
-// endpoints:
-// - address: us.foo.bar.com
-// ports:
-// http: 8080
-// - address: uk.foo.bar.com
-// ports:
-// http: 9080
-// - address: in.foo.bar.com
-// ports:
-// http: 7080
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-dns
-// spec:
-// hosts:
-// - foo.bar.com
-// location: MESH_EXTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: DNS
-// endpoints:
-// - address: us.foo.bar.com
-// ports:
-// http: 8080
-// - address: uk.foo.bar.com
-// ports:
-// http: 9080
-// - address: in.foo.bar.com
-// ports:
-// http: 7080
-// ```
-// {{}}
-// {{}}
-//
-// With `HTTP_PROXY=http://localhost/`, calls from the application to
-// `http://foo.bar.com` will be load balanced across the three domains
-// specified above. In other words, a call to `http://foo.bar.com/baz` would
-// be translated to `http://uk.foo.bar.com/baz`.
-//
-// The following example illustrates the usage of a `ServiceEntry`
-// containing a subject alternate name
-// whose format conforms to the [SPIFFE standard](https://github.com/spiffe/spiffe/blob/master/standards/SPIFFE-ID.md):
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: httpbin
-// namespace : httpbin-ns
-// spec:
-// hosts:
-// - httpbin.com
-// location: MESH_INTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: STATIC
-// endpoints:
-// - address: 2.2.2.2
-// - address: 3.3.3.3
-// subjectAltNames:
-// - "spiffe://cluster.local/ns/httpbin-ns/sa/httpbin-service-account"
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: httpbin
-// namespace : httpbin-ns
-// spec:
-// hosts:
-// - httpbin.com
-// location: MESH_INTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: STATIC
-// endpoints:
-// - address: 2.2.2.2
-// - address: 3.3.3.3
-// subjectAltNames:
-// - "spiffe://cluster.local/ns/httpbin-ns/sa/httpbin-service-account"
-// ```
-// {{}}
-// {{}}
-//
-// The following example demonstrates the use of `ServiceEntry` with a
-// `workloadSelector` to handle the migration of a service
-// `details.bookinfo.com` from VMs to Kubernetes. The service has two
-// VM-based instances with sidecars as well as a set of Kubernetes
-// pods managed by a standard deployment object. Consumers of this
-// service in the mesh will be automatically load balanced across the
-// VMs and Kubernetes. VM for the `details.bookinfo.com`
-// service. This VM has sidecar installed and bootstrapped using the
-// `details-legacy` service account. The sidecar receives HTTP traffic
-// on port 80 (wrapped in istio mutual TLS) and forwards it to the
-// application on the localhost on the same port.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: WorkloadEntry
-// metadata:
-// name: details-vm-1
-// spec:
-// serviceAccount: details
-// address: 2.2.2.2
-// labels:
-// app: details
-// instance-id: vm1
-// ---
-// apiVersion: networking.istio.io/v1alpha3
-// kind: WorkloadEntry
-// metadata:
-// name: details-vm-2
-// spec:
-// serviceAccount: details
-// address: 3.3.3.3
-// labels:
-// app: details
-// instance-id: vm2
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: WorkloadEntry
-// metadata:
-// name: details-vm-1
-// spec:
-// serviceAccount: details
-// address: 2.2.2.2
-// labels:
-// app: details
-// instance-id: vm1
-// ---
-// apiVersion: networking.istio.io/v1beta1
-// kind: WorkloadEntry
-// metadata:
-// name: details-vm-2
-// spec:
-// serviceAccount: details
-// address: 3.3.3.3
-// labels:
-// app: details
-// instance-id: vm2
-// ```
-// {{}}
-// {{}}
-//
-// Assuming there is also a Kubernetes deployment with pod labels
-// `app: details` using the same service account `details`, the
-// following service entry declares a service spanning both VMs and
-// Kubernetes:
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: details-svc
-// spec:
-// hosts:
-// - details.bookinfo.com
-// location: MESH_INTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: STATIC
-// workloadSelector:
-// labels:
-// app: details
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: details-svc
-// spec:
-// hosts:
-// - details.bookinfo.com
-// location: MESH_INTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: STATIC
-// workloadSelector:
-// labels:
-// app: details
-// ```
-// {{}}
-// {{}}
-
+// Code generated by protoc-gen-deepcopy. DO NOT EDIT.
package v1alpha3
import (
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
+ proto "github.com/golang/protobuf/proto"
)
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
// DeepCopyInto supports using ServiceEntry within kubernetes types, where deepcopy-gen is used.
func (in *ServiceEntry) DeepCopyInto(out *ServiceEntry) {
p := proto.Clone(in).(*ServiceEntry)
diff --git a/vendor/istio.io/api/networking/v1alpha3/service_entry_json.gen.go b/vendor/istio.io/api/networking/v1alpha3/service_entry_json.gen.go
index ebb4d8b1e..20a6bea49 100644
--- a/vendor/istio.io/api/networking/v1alpha3/service_entry_json.gen.go
+++ b/vendor/istio.io/api/networking/v1alpha3/service_entry_json.gen.go
@@ -1,769 +1,11 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: networking/v1alpha3/service_entry.proto
-
-// `ServiceEntry` enables adding additional entries into Istio's
-// internal service registry, so that auto-discovered services in the
-// mesh can access/route to these manually specified services. A
-// service entry describes the properties of a service (DNS name,
-// VIPs, ports, protocols, endpoints). These services could be
-// external to the mesh (e.g., web APIs) or mesh-internal services
-// that are not part of the platform's service registry (e.g., a set
-// of VMs talking to services in Kubernetes). In addition, the
-// endpoints of a service entry can also be dynamically selected by
-// using the `workloadSelector` field. These endpoints can be VM
-// workloads declared using the `WorkloadEntry` object or Kubernetes
-// pods. The ability to select both pods and VMs under a single
-// service allows for migration of services from VMs to Kubernetes
-// without having to change the existing DNS names associated with the
-// services.
-//
-// The following example declares a few external APIs accessed by internal
-// applications over HTTPS. The sidecar inspects the SNI value in the
-// ClientHello message to route to the appropriate external service.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-https
-// spec:
-// hosts:
-// - api.dropboxapi.com
-// - www.googleapis.com
-// - api.facebook.com
-// location: MESH_EXTERNAL
-// ports:
-// - number: 443
-// name: https
-// protocol: TLS
-// resolution: DNS
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-https
-// spec:
-// hosts:
-// - api.dropboxapi.com
-// - www.googleapis.com
-// - api.facebook.com
-// location: MESH_EXTERNAL
-// ports:
-// - number: 443
-// name: https
-// protocol: TLS
-// resolution: DNS
-// ```
-// {{}}
-// {{}}
-//
-// The following configuration adds a set of MongoDB instances running on
-// unmanaged VMs to Istio's registry, so that these services can be treated
-// as any other service in the mesh. The associated DestinationRule is used
-// to initiate mTLS connections to the database instances.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-mongocluster
-// spec:
-// hosts:
-// - mymongodb.somedomain # not used
-// addresses:
-// - 192.192.192.192/24 # VIPs
-// ports:
-// - number: 27018
-// name: mongodb
-// protocol: MONGO
-// location: MESH_INTERNAL
-// resolution: STATIC
-// endpoints:
-// - address: 2.2.2.2
-// - address: 3.3.3.3
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-mongocluster
-// spec:
-// hosts:
-// - mymongodb.somedomain # not used
-// addresses:
-// - 192.192.192.192/24 # VIPs
-// ports:
-// - number: 27018
-// name: mongodb
-// protocol: MONGO
-// location: MESH_INTERNAL
-// resolution: STATIC
-// endpoints:
-// - address: 2.2.2.2
-// - address: 3.3.3.3
-// ```
-// {{}}
-// {{}}
-//
-// and the associated DestinationRule
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: DestinationRule
-// metadata:
-// name: mtls-mongocluster
-// spec:
-// host: mymongodb.somedomain
-// trafficPolicy:
-// tls:
-// mode: MUTUAL
-// clientCertificate: /etc/certs/myclientcert.pem
-// privateKey: /etc/certs/client_private_key.pem
-// caCertificates: /etc/certs/rootcacerts.pem
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: DestinationRule
-// metadata:
-// name: mtls-mongocluster
-// spec:
-// host: mymongodb.somedomain
-// trafficPolicy:
-// tls:
-// mode: MUTUAL
-// clientCertificate: /etc/certs/myclientcert.pem
-// privateKey: /etc/certs/client_private_key.pem
-// caCertificates: /etc/certs/rootcacerts.pem
-// ```
-// {{}}
-// {{}}
-//
-// The following example uses a combination of service entry and TLS
-// routing in a virtual service to steer traffic based on the SNI value to
-// an internal egress firewall.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-redirect
-// spec:
-// hosts:
-// - wikipedia.org
-// - "*.wikipedia.org"
-// location: MESH_EXTERNAL
-// ports:
-// - number: 443
-// name: https
-// protocol: TLS
-// resolution: NONE
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-redirect
-// spec:
-// hosts:
-// - wikipedia.org
-// - "*.wikipedia.org"
-// location: MESH_EXTERNAL
-// ports:
-// - number: 443
-// name: https
-// protocol: TLS
-// resolution: NONE
-// ```
-// {{}}
-// {{}}
-//
-// And the associated VirtualService to route based on the SNI value.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: VirtualService
-// metadata:
-// name: tls-routing
-// spec:
-// hosts:
-// - wikipedia.org
-// - "*.wikipedia.org"
-// tls:
-// - match:
-// - sniHosts:
-// - wikipedia.org
-// - "*.wikipedia.org"
-// route:
-// - destination:
-// host: internal-egress-firewall.ns1.svc.cluster.local
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: VirtualService
-// metadata:
-// name: tls-routing
-// spec:
-// hosts:
-// - wikipedia.org
-// - "*.wikipedia.org"
-// tls:
-// - match:
-// - sniHosts:
-// - wikipedia.org
-// - "*.wikipedia.org"
-// route:
-// - destination:
-// host: internal-egress-firewall.ns1.svc.cluster.local
-// ```
-// {{}}
-// {{}}
-//
-// The virtual service with TLS match serves to override the default SNI
-// match. In the absence of a virtual service, traffic will be forwarded to
-// the wikipedia domains.
-//
-// The following example demonstrates the use of a dedicated egress gateway
-// through which all external service traffic is forwarded.
-// The 'exportTo' field allows for control over the visibility of a service
-// declaration to other namespaces in the mesh. By default, a service is exported
-// to all namespaces. The following example restricts the visibility to the
-// current namespace, represented by ".", so that it cannot be used by other
-// namespaces.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-httpbin
-// namespace : egress
-// spec:
-// hosts:
-// - httpbin.com
-// exportTo:
-// - "."
-// location: MESH_EXTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: DNS
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-httpbin
-// namespace : egress
-// spec:
-// hosts:
-// - httpbin.com
-// exportTo:
-// - "."
-// location: MESH_EXTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: DNS
-// ```
-// {{}}
-// {{}}
-//
-// Define a gateway to handle all egress traffic.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: Gateway
-// metadata:
-// name: istio-egressgateway
-// namespace: istio-system
-// spec:
-// selector:
-// istio: egressgateway
-// servers:
-// - port:
-// number: 80
-// name: http
-// protocol: HTTP
-// hosts:
-// - "*"
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: Gateway
-// metadata:
-// name: istio-egressgateway
-// namespace: istio-system
-// spec:
-// selector:
-// istio: egressgateway
-// servers:
-// - port:
-// number: 80
-// name: http
-// protocol: HTTP
-// hosts:
-// - "*"
-// ```
-// {{}}
-// {{}}
-//
-// And the associated `VirtualService` to route from the sidecar to the
-// gateway service (`istio-egressgateway.istio-system.svc.cluster.local`), as
-// well as route from the gateway to the external service. Note that the
-// virtual service is exported to all namespaces enabling them to route traffic
-// through the gateway to the external service. Forcing traffic to go through
-// a managed middle proxy like this is a common practice.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: VirtualService
-// metadata:
-// name: gateway-routing
-// namespace: egress
-// spec:
-// hosts:
-// - httpbin.com
-// exportTo:
-// - "*"
-// gateways:
-// - mesh
-// - istio-egressgateway
-// http:
-// - match:
-// - port: 80
-// gateways:
-// - mesh
-// route:
-// - destination:
-// host: istio-egressgateway.istio-system.svc.cluster.local
-// - match:
-// - port: 80
-// gateways:
-// - istio-egressgateway
-// route:
-// - destination:
-// host: httpbin.com
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: VirtualService
-// metadata:
-// name: gateway-routing
-// namespace: egress
-// spec:
-// hosts:
-// - httpbin.com
-// exportTo:
-// - "*"
-// gateways:
-// - mesh
-// - istio-egressgateway
-// http:
-// - match:
-// - port: 80
-// gateways:
-// - mesh
-// route:
-// - destination:
-// host: istio-egressgateway.istio-system.svc.cluster.local
-// - match:
-// - port: 80
-// gateways:
-// - istio-egressgateway
-// route:
-// - destination:
-// host: httpbin.com
-// ```
-// {{}}
-// {{}}
-//
-// The following example demonstrates the use of wildcards in the hosts for
-// external services. If the connection has to be routed to the IP address
-// requested by the application (i.e. application resolves DNS and attempts
-// to connect to a specific IP), the discovery mode must be set to `NONE`.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-wildcard-example
-// spec:
-// hosts:
-// - "*.bar.com"
-// location: MESH_EXTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: NONE
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-wildcard-example
-// spec:
-// hosts:
-// - "*.bar.com"
-// location: MESH_EXTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: NONE
-// ```
-// {{}}
-// {{}}
-//
-// The following example demonstrates a service that is available via a
-// Unix Domain Socket on the host of the client. The resolution must be
-// set to STATIC to use Unix address endpoints.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: unix-domain-socket-example
-// spec:
-// hosts:
-// - "example.unix.local"
-// location: MESH_EXTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: STATIC
-// endpoints:
-// - address: unix:///var/run/example/socket
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: unix-domain-socket-example
-// spec:
-// hosts:
-// - "example.unix.local"
-// location: MESH_EXTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: STATIC
-// endpoints:
-// - address: unix:///var/run/example/socket
-// ```
-// {{}}
-// {{}}
-//
-// For HTTP-based services, it is possible to create a `VirtualService`
-// backed by multiple DNS addressable endpoints. In such a scenario, the
-// application can use the `HTTP_PROXY` environment variable to transparently
-// reroute API calls for the `VirtualService` to a chosen backend. For
-// example, the following configuration creates a non-existent external
-// service called foo.bar.com backed by three domains: us.foo.bar.com:8080,
-// uk.foo.bar.com:9080, and in.foo.bar.com:7080
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-dns
-// spec:
-// hosts:
-// - foo.bar.com
-// location: MESH_EXTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: DNS
-// endpoints:
-// - address: us.foo.bar.com
-// ports:
-// http: 8080
-// - address: uk.foo.bar.com
-// ports:
-// http: 9080
-// - address: in.foo.bar.com
-// ports:
-// http: 7080
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-dns
-// spec:
-// hosts:
-// - foo.bar.com
-// location: MESH_EXTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: DNS
-// endpoints:
-// - address: us.foo.bar.com
-// ports:
-// http: 8080
-// - address: uk.foo.bar.com
-// ports:
-// http: 9080
-// - address: in.foo.bar.com
-// ports:
-// http: 7080
-// ```
-// {{}}
-// {{}}
-//
-// With `HTTP_PROXY=http://localhost/`, calls from the application to
-// `http://foo.bar.com` will be load balanced across the three domains
-// specified above. In other words, a call to `http://foo.bar.com/baz` would
-// be translated to `http://uk.foo.bar.com/baz`.
-//
-// The following example illustrates the usage of a `ServiceEntry`
-// containing a subject alternate name
-// whose format conforms to the [SPIFFE standard](https://github.com/spiffe/spiffe/blob/master/standards/SPIFFE-ID.md):
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: httpbin
-// namespace : httpbin-ns
-// spec:
-// hosts:
-// - httpbin.com
-// location: MESH_INTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: STATIC
-// endpoints:
-// - address: 2.2.2.2
-// - address: 3.3.3.3
-// subjectAltNames:
-// - "spiffe://cluster.local/ns/httpbin-ns/sa/httpbin-service-account"
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: httpbin
-// namespace : httpbin-ns
-// spec:
-// hosts:
-// - httpbin.com
-// location: MESH_INTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: STATIC
-// endpoints:
-// - address: 2.2.2.2
-// - address: 3.3.3.3
-// subjectAltNames:
-// - "spiffe://cluster.local/ns/httpbin-ns/sa/httpbin-service-account"
-// ```
-// {{}}
-// {{}}
-//
-// The following example demonstrates the use of `ServiceEntry` with a
-// `workloadSelector` to handle the migration of a service
-// `details.bookinfo.com` from VMs to Kubernetes. The service has two
-// VM-based instances with sidecars as well as a set of Kubernetes
-// pods managed by a standard deployment object. Consumers of this
-// service in the mesh will be automatically load balanced across the
-// VMs and Kubernetes. VM for the `details.bookinfo.com`
-// service. This VM has sidecar installed and bootstrapped using the
-// `details-legacy` service account. The sidecar receives HTTP traffic
-// on port 80 (wrapped in istio mutual TLS) and forwards it to the
-// application on the localhost on the same port.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: WorkloadEntry
-// metadata:
-// name: details-vm-1
-// spec:
-// serviceAccount: details
-// address: 2.2.2.2
-// labels:
-// app: details
-// instance-id: vm1
-// ---
-// apiVersion: networking.istio.io/v1alpha3
-// kind: WorkloadEntry
-// metadata:
-// name: details-vm-2
-// spec:
-// serviceAccount: details
-// address: 3.3.3.3
-// labels:
-// app: details
-// instance-id: vm2
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: WorkloadEntry
-// metadata:
-// name: details-vm-1
-// spec:
-// serviceAccount: details
-// address: 2.2.2.2
-// labels:
-// app: details
-// instance-id: vm1
-// ---
-// apiVersion: networking.istio.io/v1beta1
-// kind: WorkloadEntry
-// metadata:
-// name: details-vm-2
-// spec:
-// serviceAccount: details
-// address: 3.3.3.3
-// labels:
-// app: details
-// instance-id: vm2
-// ```
-// {{}}
-// {{}}
-//
-// Assuming there is also a Kubernetes deployment with pod labels
-// `app: details` using the same service account `details`, the
-// following service entry declares a service spanning both VMs and
-// Kubernetes:
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: details-svc
-// spec:
-// hosts:
-// - details.bookinfo.com
-// location: MESH_INTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: STATIC
-// workloadSelector:
-// labels:
-// app: details
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: details-svc
-// spec:
-// hosts:
-// - details.bookinfo.com
-// location: MESH_INTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: STATIC
-// workloadSelector:
-// labels:
-// app: details
-// ```
-// {{}}
-// {{}}
-
+// Code generated by protoc-gen-jsonshim. DO NOT EDIT.
package v1alpha3
import (
bytes "bytes"
- fmt "fmt"
- github_com_gogo_protobuf_jsonpb "github.com/gogo/protobuf/jsonpb"
- proto "github.com/gogo/protobuf/proto"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
+ jsonpb "github.com/golang/protobuf/jsonpb"
)
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
// MarshalJSON is a custom marshaler for ServiceEntry
func (this *ServiceEntry) MarshalJSON() ([]byte, error) {
str, err := ServiceEntryMarshaler.MarshalToString(this)
@@ -776,6 +18,6 @@ func (this *ServiceEntry) UnmarshalJSON(b []byte) error {
}
var (
- ServiceEntryMarshaler = &github_com_gogo_protobuf_jsonpb.Marshaler{}
- ServiceEntryUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{AllowUnknownFields: true}
+ ServiceEntryMarshaler = &jsonpb.Marshaler{}
+ ServiceEntryUnmarshaler = &jsonpb.Unmarshaler{AllowUnknownFields: true}
)
diff --git a/vendor/istio.io/api/networking/v1alpha3/sidecar.gen.json b/vendor/istio.io/api/networking/v1alpha3/sidecar.gen.json
index 9b52a4f1a..eb50a73f3 100644
--- a/vendor/istio.io/api/networking/v1alpha3/sidecar.gen.json
+++ b/vendor/istio.io/api/networking/v1alpha3/sidecar.gen.json
@@ -72,6 +72,9 @@
"defaultEndpoint": {
"description": "The IP endpoint or Unix domain socket to which traffic should be forwarded to. This configuration can be used to redirect traffic arriving at the bind `IP:Port` on the sidecar to a `localhost:port` or Unix domain socket where the application workload instance is listening for connections. Arbitrary IPs are not supported. Format should be one of `127.0.0.1:PORT`, `0.0.0.0:PORT` (which will forward to the instance IP), or `unix:///path/to/socket`",
"type": "string"
+ },
+ "tls": {
+ "$ref": "#/components/schemas/istio.networking.v1alpha3.ServerTLSSettings"
}
}
},
@@ -126,6 +129,90 @@
}
}
},
+ "istio.networking.v1alpha3.ServerTLSSettings": {
+ "type": "object",
+ "properties": {
+ "httpsRedirect": {
+ "description": "If set to true, the load balancer will send a 301 redirect for all http connections, asking the clients to use HTTPS.",
+ "type": "boolean"
+ },
+ "mode": {
+ "$ref": "#/components/schemas/istio.networking.v1alpha3.ServerTLSSettings.TLSmode"
+ },
+ "serverCertificate": {
+ "description": "REQUIRED if mode is `SIMPLE` or `MUTUAL`. The path to the file holding the server-side TLS certificate to use.",
+ "type": "string"
+ },
+ "privateKey": {
+ "description": "REQUIRED if mode is `SIMPLE` or `MUTUAL`. The path to the file holding the server's private key.",
+ "type": "string"
+ },
+ "caCertificates": {
+ "description": "REQUIRED if mode is `MUTUAL`. The path to a file containing certificate authority certificates to use in verifying a presented client side certificate.",
+ "type": "string"
+ },
+ "credentialName": {
+ "description": "For gateways running on Kubernetes, the name of the secret that holds the TLS certs including the CA certificates. Applicable only on Kubernetes. The secret (of type `generic`) should contain the following keys and values: `key: \u003cprivateKey\u003e` and `cert: \u003cserverCert\u003e`. For mutual TLS, `cacert: \u003cCACertificate\u003e` can be provided in the same secret or a separate secret named `\u003csecret\u003e-cacert`. Secret of type tls for server certificates along with ca.crt key for CA certificates is also supported. Only one of server certificates and CA certificate or credentialName can be specified.",
+ "type": "string"
+ },
+ "subjectAltNames": {
+ "description": "A list of alternate names to verify the subject identity in the certificate presented by the client.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "verifyCertificateSpki": {
+ "description": "An optional list of base64-encoded SHA-256 hashes of the SKPIs of authorized client certificates. Note: When both verify_certificate_hash and verify_certificate_spki are specified, a hash matching either value will result in the certificate being accepted.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "verifyCertificateHash": {
+ "description": "An optional list of hex-encoded SHA-256 hashes of the authorized client certificates. Both simple and colon separated formats are acceptable. Note: When both verify_certificate_hash and verify_certificate_spki are specified, a hash matching either value will result in the certificate being accepted.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "minProtocolVersion": {
+ "$ref": "#/components/schemas/istio.networking.v1alpha3.ServerTLSSettings.TLSProtocol"
+ },
+ "maxProtocolVersion": {
+ "$ref": "#/components/schemas/istio.networking.v1alpha3.ServerTLSSettings.TLSProtocol"
+ },
+ "cipherSuites": {
+ "description": "Optional: If specified, only support the specified cipher list. Otherwise default to the default cipher list supported by Envoy.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "istio.networking.v1alpha3.ServerTLSSettings.TLSProtocol": {
+ "description": "TLS protocol versions.",
+ "type": "string",
+ "enum": [
+ "TLS_AUTO",
+ "TLSV1_0",
+ "TLSV1_1",
+ "TLSV1_2",
+ "TLSV1_3"
+ ]
+ },
+ "istio.networking.v1alpha3.ServerTLSSettings.TLSmode": {
+ "description": "TLS modes enforced by the proxy",
+ "type": "string",
+ "enum": [
+ "PASSTHROUGH",
+ "SIMPLE",
+ "MUTUAL",
+ "AUTO_PASSTHROUGH",
+ "ISTIO_MUTUAL"
+ ]
+ },
"istio.networking.v1alpha3.Sidecar": {
"description": "`Sidecar` describes the configuration of the sidecar proxy that mediates inbound and outbound communication of the workload instance to which it is attached.",
"type": "object",
@@ -153,7 +240,7 @@
}
},
"istio.networking.v1alpha3.WorkloadSelector": {
- "description": "`WorkloadSelector` specifies the criteria used to determine if the `Gateway`, `Sidecar`, `EnvoyFilter`, or `ServiceEntry` configuration can be applied to a proxy. The matching criteria includes the metadata associated with a proxy, workload instance info such as labels attached to the pod/VM, or any other info that the proxy provides to Istio during the initial handshake. If multiple conditions are specified, all conditions need to match in order for the workload instance to be selected. Currently, only label based selection mechanism is supported.",
+ "description": "`WorkloadSelector` specifies the criteria used to determine if the `Gateway`, `Sidecar`, `EnvoyFilter`, `ServiceEntry`, or `DestinationRule` configuration can be applied to a proxy. The matching criteria includes the metadata associated with a proxy, workload instance info such as labels attached to the pod/VM, or any other info that the proxy provides to Istio during the initial handshake. If multiple conditions are specified, all conditions need to match in order for the workload instance to be selected. Currently, only label based selection mechanism is supported.",
"type": "object",
"properties": {
"labels": {
diff --git a/vendor/istio.io/api/networking/v1alpha3/sidecar.pb.go b/vendor/istio.io/api/networking/v1alpha3/sidecar.pb.go
index 87b6d4b27..97613de3c 100644
--- a/vendor/istio.io/api/networking/v1alpha3/sidecar.pb.go
+++ b/vendor/istio.io/api/networking/v1alpha3/sidecar.pb.go
@@ -1,6 +1,29 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
+// Copyright 2018 Istio 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-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.27.1
+// protoc (unknown)
// source: networking/v1alpha3/sidecar.proto
+// $schema: istio.networking.v1alpha3.Sidecar
+// $title: Sidecar
+// $description: Configuration affecting network reachability of a sidecar.
+// $location: https://istio.io/docs/reference/config/networking/sidecar.html
+// $aliases: [/docs/reference/config/networking/v1alpha3/sidecar]
+
// `Sidecar` describes the configuration of the sidecar proxy that mediates
// inbound and outbound communication to the workload instance it is attached to. By
// default, Istio will program all sidecar proxies in the mesh with the
@@ -378,28 +401,99 @@
// {{}}
// {{}}
//
+// The following example declares a `Sidecar` configuration in the
+// `prod-us1` namespace for all pods with labels `app: ratings`
+// belonging to the `ratings.prod-us1` service. The service accepts
+// inbound HTTPS traffic on port 8443 and the sidecar proxy terminates
+// one way TLS using the given server certificates.
+// The traffic is then forwarded to the attached workload instance
+// listening on a Unix domain socket.
+// It is expected that PeerAuthentication policy would be configured
+// in order to set mTLS mode to "DISABLE" on specific
+// ports.
+// In this example, the mTLS mode is disabled on PORT 80.
+// This feature is currently experimental.
+//
+// {{}}
+// {{}}
+// ```yaml
+// apiVersion: networking.istio.io/v1alpha3
+// kind: Sidecar
+// metadata:
+// name: ratings
+// namespace: prod-us1
+// spec:
+// workloadSelector:
+// labels:
+// app: ratings
+// ingress:
+// - port:
+// number: 80
+// protocol: HTTPS
+// name: somename
+// defaultEndpoint: unix:///var/run/someuds.sock
+// tls:
+// mode: SIMPLE
+// privateKey: "/etc/certs/privatekey.pem"
+// serverCertificate: "/etc/certs/servercert.pem"
+// ```
+// {{}}
+//
+// {{}}
+// ```yaml
+// apiVersion: v1
+// kind: Service
+// metadata:
+// name: ratings
+// labels:
+// app: ratings
+// service: ratings
+// spec:
+// ports:
+// - port: 8443
+// name: https
+// targetPort: 80
+// selector:
+// app: ratings
+// ```
+// {{}}
+//
+// {{}}
+// ```yaml
+// apiVersion: security.istio.io/v1beta1
+// kind: PeerAuthentication
+// metadata:
+// name: ratings-peer-auth
+// namespace: prod-us1
+// spec:
+// selector:
+// matchLabels:
+// app: ratings
+// mtls:
+// mode: STRICT
+// portLevelMtls:
+// 80:
+// mode: DISABLE
+// ```
+// {{}}
+// {{}}
package v1alpha3
import (
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- io "io"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
- math_bits "math/bits"
+ _ "google.golang.org/genproto/googleapis/api/annotations"
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
)
-// 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.GoGoProtoPackageIsVersion3 // please upgrade the proto package
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
// `CaptureMode` describes how traffic to a listener is expected to be
// captured. Applicable only when the listener is bound to an IP.
@@ -418,24 +512,45 @@ const (
CaptureMode_NONE CaptureMode = 2
)
-var CaptureMode_name = map[int32]string{
- 0: "DEFAULT",
- 1: "IPTABLES",
- 2: "NONE",
-}
+// Enum value maps for CaptureMode.
+var (
+ CaptureMode_name = map[int32]string{
+ 0: "DEFAULT",
+ 1: "IPTABLES",
+ 2: "NONE",
+ }
+ CaptureMode_value = map[string]int32{
+ "DEFAULT": 0,
+ "IPTABLES": 1,
+ "NONE": 2,
+ }
+)
-var CaptureMode_value = map[string]int32{
- "DEFAULT": 0,
- "IPTABLES": 1,
- "NONE": 2,
+func (x CaptureMode) Enum() *CaptureMode {
+ p := new(CaptureMode)
+ *p = x
+ return p
}
func (x CaptureMode) String() string {
- return proto.EnumName(CaptureMode_name, int32(x))
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (CaptureMode) Descriptor() protoreflect.EnumDescriptor {
+ return file_networking_v1alpha3_sidecar_proto_enumTypes[0].Descriptor()
+}
+
+func (CaptureMode) Type() protoreflect.EnumType {
+ return &file_networking_v1alpha3_sidecar_proto_enumTypes[0]
+}
+
+func (x CaptureMode) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
}
+// Deprecated: Use CaptureMode.Descriptor instead.
func (CaptureMode) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_b5c11342f04ad3d1, []int{0}
+ return file_networking_v1alpha3_sidecar_proto_rawDescGZIP(), []int{0}
}
type OutboundTrafficPolicy_Mode int32
@@ -449,22 +564,43 @@ const (
OutboundTrafficPolicy_ALLOW_ANY OutboundTrafficPolicy_Mode = 1
)
-var OutboundTrafficPolicy_Mode_name = map[int32]string{
- 0: "REGISTRY_ONLY",
- 1: "ALLOW_ANY",
-}
+// Enum value maps for OutboundTrafficPolicy_Mode.
+var (
+ OutboundTrafficPolicy_Mode_name = map[int32]string{
+ 0: "REGISTRY_ONLY",
+ 1: "ALLOW_ANY",
+ }
+ OutboundTrafficPolicy_Mode_value = map[string]int32{
+ "REGISTRY_ONLY": 0,
+ "ALLOW_ANY": 1,
+ }
+)
-var OutboundTrafficPolicy_Mode_value = map[string]int32{
- "REGISTRY_ONLY": 0,
- "ALLOW_ANY": 1,
+func (x OutboundTrafficPolicy_Mode) Enum() *OutboundTrafficPolicy_Mode {
+ p := new(OutboundTrafficPolicy_Mode)
+ *p = x
+ return p
}
func (x OutboundTrafficPolicy_Mode) String() string {
- return proto.EnumName(OutboundTrafficPolicy_Mode_name, int32(x))
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
+func (OutboundTrafficPolicy_Mode) Descriptor() protoreflect.EnumDescriptor {
+ return file_networking_v1alpha3_sidecar_proto_enumTypes[1].Descriptor()
+}
+
+func (OutboundTrafficPolicy_Mode) Type() protoreflect.EnumType {
+ return &file_networking_v1alpha3_sidecar_proto_enumTypes[1]
+}
+
+func (x OutboundTrafficPolicy_Mode) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use OutboundTrafficPolicy_Mode.Descriptor instead.
func (OutboundTrafficPolicy_Mode) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_b5c11342f04ad3d1, []int{4, 0}
+ return file_networking_v1alpha3_sidecar_proto_rawDescGZIP(), []int{4, 0}
}
// `Sidecar` describes the configuration of the sidecar proxy that mediates
@@ -493,6 +629,10 @@ func (OutboundTrafficPolicy_Mode) EnumDescriptor() ([]byte, []int) {
// +istio.io/sync-start
// -->
type Sidecar struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Criteria used to select the specific set of pods/VMs on which this
// `Sidecar` configuration should be applied. If omitted, the `Sidecar`
// configuration will be applied to all workload instances in the same namespace.
@@ -517,68 +657,64 @@ type Sidecar struct {
// inherits the system detected defaults from the namespace-wide or
// the global default Sidecar.
OutboundTrafficPolicy *OutboundTrafficPolicy `protobuf:"bytes,4,opt,name=outbound_traffic_policy,json=outboundTrafficPolicy,proto3" json:"outbound_traffic_policy,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
}
-func (m *Sidecar) Reset() { *m = Sidecar{} }
-func (m *Sidecar) String() string { return proto.CompactTextString(m) }
-func (*Sidecar) ProtoMessage() {}
-func (*Sidecar) Descriptor() ([]byte, []int) {
- return fileDescriptor_b5c11342f04ad3d1, []int{0}
+func (x *Sidecar) Reset() {
+ *x = Sidecar{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_sidecar_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
}
-func (m *Sidecar) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
+
+func (x *Sidecar) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *Sidecar) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Sidecar.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
+
+func (*Sidecar) ProtoMessage() {}
+
+func (x *Sidecar) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_sidecar_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- return b[:n], nil
+ return ms
}
-}
-func (m *Sidecar) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Sidecar.Merge(m, src)
-}
-func (m *Sidecar) XXX_Size() int {
- return m.Size()
-}
-func (m *Sidecar) XXX_DiscardUnknown() {
- xxx_messageInfo_Sidecar.DiscardUnknown(m)
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_Sidecar proto.InternalMessageInfo
+// Deprecated: Use Sidecar.ProtoReflect.Descriptor instead.
+func (*Sidecar) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_sidecar_proto_rawDescGZIP(), []int{0}
+}
-func (m *Sidecar) GetWorkloadSelector() *WorkloadSelector {
- if m != nil {
- return m.WorkloadSelector
+func (x *Sidecar) GetWorkloadSelector() *WorkloadSelector {
+ if x != nil {
+ return x.WorkloadSelector
}
return nil
}
-func (m *Sidecar) GetIngress() []*IstioIngressListener {
- if m != nil {
- return m.Ingress
+func (x *Sidecar) GetIngress() []*IstioIngressListener {
+ if x != nil {
+ return x.Ingress
}
return nil
}
-func (m *Sidecar) GetEgress() []*IstioEgressListener {
- if m != nil {
- return m.Egress
+func (x *Sidecar) GetEgress() []*IstioEgressListener {
+ if x != nil {
+ return x.Egress
}
return nil
}
-func (m *Sidecar) GetOutboundTrafficPolicy() *OutboundTrafficPolicy {
- if m != nil {
- return m.OutboundTrafficPolicy
+func (x *Sidecar) GetOutboundTrafficPolicy() *OutboundTrafficPolicy {
+ if x != nil {
+ return x.OutboundTrafficPolicy
}
return nil
}
@@ -586,6 +722,10 @@ func (m *Sidecar) GetOutboundTrafficPolicy() *OutboundTrafficPolicy {
// `IstioIngressListener` specifies the properties of an inbound
// traffic listener on the sidecar proxy attached to a workload instance.
type IstioIngressListener struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// The port associated with the listener.
Port *Port `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"`
// The IP to which the listener should be bound. Must be in the
@@ -604,76 +744,88 @@ type IstioIngressListener struct {
// or Unix domain socket where the application workload instance is listening for
// connections. Arbitrary IPs are not supported. Format should be one of `127.0.0.1:PORT`, `0.0.0.0:PORT`
// (which will forward to the instance IP), or `unix:///path/to/socket`
- DefaultEndpoint string `protobuf:"bytes,4,opt,name=default_endpoint,json=defaultEndpoint,proto3" json:"default_endpoint,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ DefaultEndpoint string `protobuf:"bytes,4,opt,name=default_endpoint,json=defaultEndpoint,proto3" json:"default_endpoint,omitempty"`
+ // Set of TLS related options that will enable TLS termination on the
+ // sidecar for requests originating from outside the mesh.
+ // Currently supports only SIMPLE and MUTUAL TLS modes.
+ // $hide_from_docs
+ Tls *ServerTLSSettings `protobuf:"bytes,7,opt,name=tls,proto3" json:"tls,omitempty"`
}
-func (m *IstioIngressListener) Reset() { *m = IstioIngressListener{} }
-func (m *IstioIngressListener) String() string { return proto.CompactTextString(m) }
-func (*IstioIngressListener) ProtoMessage() {}
-func (*IstioIngressListener) Descriptor() ([]byte, []int) {
- return fileDescriptor_b5c11342f04ad3d1, []int{1}
+func (x *IstioIngressListener) Reset() {
+ *x = IstioIngressListener{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_sidecar_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
}
-func (m *IstioIngressListener) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
+
+func (x *IstioIngressListener) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *IstioIngressListener) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_IstioIngressListener.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
+
+func (*IstioIngressListener) ProtoMessage() {}
+
+func (x *IstioIngressListener) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_sidecar_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- return b[:n], nil
+ return ms
}
-}
-func (m *IstioIngressListener) XXX_Merge(src proto.Message) {
- xxx_messageInfo_IstioIngressListener.Merge(m, src)
-}
-func (m *IstioIngressListener) XXX_Size() int {
- return m.Size()
-}
-func (m *IstioIngressListener) XXX_DiscardUnknown() {
- xxx_messageInfo_IstioIngressListener.DiscardUnknown(m)
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_IstioIngressListener proto.InternalMessageInfo
+// Deprecated: Use IstioIngressListener.ProtoReflect.Descriptor instead.
+func (*IstioIngressListener) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_sidecar_proto_rawDescGZIP(), []int{1}
+}
-func (m *IstioIngressListener) GetPort() *Port {
- if m != nil {
- return m.Port
+func (x *IstioIngressListener) GetPort() *Port {
+ if x != nil {
+ return x.Port
}
return nil
}
-func (m *IstioIngressListener) GetBind() string {
- if m != nil {
- return m.Bind
+func (x *IstioIngressListener) GetBind() string {
+ if x != nil {
+ return x.Bind
}
return ""
}
-func (m *IstioIngressListener) GetCaptureMode() CaptureMode {
- if m != nil {
- return m.CaptureMode
+func (x *IstioIngressListener) GetCaptureMode() CaptureMode {
+ if x != nil {
+ return x.CaptureMode
}
return CaptureMode_DEFAULT
}
-func (m *IstioIngressListener) GetDefaultEndpoint() string {
- if m != nil {
- return m.DefaultEndpoint
+func (x *IstioIngressListener) GetDefaultEndpoint() string {
+ if x != nil {
+ return x.DefaultEndpoint
}
return ""
}
+func (x *IstioIngressListener) GetTls() *ServerTLSSettings {
+ if x != nil {
+ return x.Tls
+ }
+ return nil
+}
+
// `IstioEgressListener` specifies the properties of an outbound traffic
// listener on the sidecar proxy attached to a workload instance.
type IstioEgressListener struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// The port associated with the listener. If using Unix domain socket,
// use 0 as the port number, with a valid protocol. The port if
// specified, will be used as the default destination port associated
@@ -723,75 +875,71 @@ type IstioEgressListener struct {
// Private configurations (e.g., `exportTo` set to `.`) will
// not be available. Refer to the `exportTo` setting in `VirtualService`,
// `DestinationRule`, and `ServiceEntry` configurations for details.
- Hosts []string `protobuf:"bytes,4,rep,name=hosts,proto3" json:"hosts,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Hosts []string `protobuf:"bytes,4,rep,name=hosts,proto3" json:"hosts,omitempty"`
}
-func (m *IstioEgressListener) Reset() { *m = IstioEgressListener{} }
-func (m *IstioEgressListener) String() string { return proto.CompactTextString(m) }
-func (*IstioEgressListener) ProtoMessage() {}
-func (*IstioEgressListener) Descriptor() ([]byte, []int) {
- return fileDescriptor_b5c11342f04ad3d1, []int{2}
+func (x *IstioEgressListener) Reset() {
+ *x = IstioEgressListener{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_sidecar_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
}
-func (m *IstioEgressListener) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
+
+func (x *IstioEgressListener) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *IstioEgressListener) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_IstioEgressListener.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
+
+func (*IstioEgressListener) ProtoMessage() {}
+
+func (x *IstioEgressListener) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_sidecar_proto_msgTypes[2]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- return b[:n], nil
+ return ms
}
-}
-func (m *IstioEgressListener) XXX_Merge(src proto.Message) {
- xxx_messageInfo_IstioEgressListener.Merge(m, src)
-}
-func (m *IstioEgressListener) XXX_Size() int {
- return m.Size()
-}
-func (m *IstioEgressListener) XXX_DiscardUnknown() {
- xxx_messageInfo_IstioEgressListener.DiscardUnknown(m)
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_IstioEgressListener proto.InternalMessageInfo
+// Deprecated: Use IstioEgressListener.ProtoReflect.Descriptor instead.
+func (*IstioEgressListener) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_sidecar_proto_rawDescGZIP(), []int{2}
+}
-func (m *IstioEgressListener) GetPort() *Port {
- if m != nil {
- return m.Port
+func (x *IstioEgressListener) GetPort() *Port {
+ if x != nil {
+ return x.Port
}
return nil
}
-func (m *IstioEgressListener) GetBind() string {
- if m != nil {
- return m.Bind
+func (x *IstioEgressListener) GetBind() string {
+ if x != nil {
+ return x.Bind
}
return ""
}
-func (m *IstioEgressListener) GetCaptureMode() CaptureMode {
- if m != nil {
- return m.CaptureMode
+func (x *IstioEgressListener) GetCaptureMode() CaptureMode {
+ if x != nil {
+ return x.CaptureMode
}
return CaptureMode_DEFAULT
}
-func (m *IstioEgressListener) GetHosts() []string {
- if m != nil {
- return m.Hosts
+func (x *IstioEgressListener) GetHosts() []string {
+ if x != nil {
+ return x.Hosts
}
return nil
}
// `WorkloadSelector` specifies the criteria used to determine if the
-// `Gateway`, `Sidecar`, `EnvoyFilter`, or `ServiceEntry`
+// `Gateway`, `Sidecar`, `EnvoyFilter`, `ServiceEntry`, or `DestinationRule`
// configuration can be applied to a proxy. The matching criteria
// includes the metadata associated with a proxy, workload instance
// info such as labels attached to the pod/VM, or any other info that
@@ -800,52 +948,52 @@ func (m *IstioEgressListener) GetHosts() []string {
// order for the workload instance to be selected. Currently, only
// label based selection mechanism is supported.
type WorkloadSelector struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// One or more labels that indicate a specific set of pods/VMs
// on which the configuration should be applied. The scope of
// label search is restricted to the configuration namespace in which the
// the resource is present.
- Labels map[string]string `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Labels map[string]string `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
-func (m *WorkloadSelector) Reset() { *m = WorkloadSelector{} }
-func (m *WorkloadSelector) String() string { return proto.CompactTextString(m) }
-func (*WorkloadSelector) ProtoMessage() {}
-func (*WorkloadSelector) Descriptor() ([]byte, []int) {
- return fileDescriptor_b5c11342f04ad3d1, []int{3}
+func (x *WorkloadSelector) Reset() {
+ *x = WorkloadSelector{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_sidecar_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
}
-func (m *WorkloadSelector) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
+
+func (x *WorkloadSelector) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *WorkloadSelector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_WorkloadSelector.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
+
+func (*WorkloadSelector) ProtoMessage() {}
+
+func (x *WorkloadSelector) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_sidecar_proto_msgTypes[3]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- return b[:n], nil
+ return ms
}
-}
-func (m *WorkloadSelector) XXX_Merge(src proto.Message) {
- xxx_messageInfo_WorkloadSelector.Merge(m, src)
-}
-func (m *WorkloadSelector) XXX_Size() int {
- return m.Size()
-}
-func (m *WorkloadSelector) XXX_DiscardUnknown() {
- xxx_messageInfo_WorkloadSelector.DiscardUnknown(m)
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_WorkloadSelector proto.InternalMessageInfo
+// Deprecated: Use WorkloadSelector.ProtoReflect.Descriptor instead.
+func (*WorkloadSelector) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_sidecar_proto_rawDescGZIP(), []int{3}
+}
-func (m *WorkloadSelector) GetLabels() map[string]string {
- if m != nil {
- return m.Labels
+func (x *WorkloadSelector) GetLabels() map[string]string {
+ if x != nil {
+ return x.Labels
}
return nil
}
@@ -860,6 +1008,10 @@ func (m *WorkloadSelector) GetLabels() map[string]string {
// dependencies, instead of using `ALLOW_ANY`, so that traffic to these
// services can be monitored.
type OutboundTrafficPolicy struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
Mode OutboundTrafficPolicy_Mode `protobuf:"varint,1,opt,name=mode,proto3,enum=istio.networking.v1alpha3.OutboundTrafficPolicy_Mode" json:"mode,omitempty"`
// Specifies the details of the egress proxy to which unknown
// traffic should be forwarded to from the sidecar. Valid only if
@@ -875,1446 +1027,293 @@ type OutboundTrafficPolicy struct {
// Envoy's dynamic forward proxy can handle only HTTP and TLS
// connections.
// $hide_from_docs
- EgressProxy *Destination `protobuf:"bytes,2,opt,name=egress_proxy,json=egressProxy,proto3" json:"egress_proxy,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *OutboundTrafficPolicy) Reset() { *m = OutboundTrafficPolicy{} }
-func (m *OutboundTrafficPolicy) String() string { return proto.CompactTextString(m) }
-func (*OutboundTrafficPolicy) ProtoMessage() {}
-func (*OutboundTrafficPolicy) Descriptor() ([]byte, []int) {
- return fileDescriptor_b5c11342f04ad3d1, []int{4}
-}
-func (m *OutboundTrafficPolicy) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *OutboundTrafficPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_OutboundTrafficPolicy.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *OutboundTrafficPolicy) XXX_Merge(src proto.Message) {
- xxx_messageInfo_OutboundTrafficPolicy.Merge(m, src)
-}
-func (m *OutboundTrafficPolicy) XXX_Size() int {
- return m.Size()
-}
-func (m *OutboundTrafficPolicy) XXX_DiscardUnknown() {
- xxx_messageInfo_OutboundTrafficPolicy.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_OutboundTrafficPolicy proto.InternalMessageInfo
-
-func (m *OutboundTrafficPolicy) GetMode() OutboundTrafficPolicy_Mode {
- if m != nil {
- return m.Mode
- }
- return OutboundTrafficPolicy_REGISTRY_ONLY
-}
-
-func (m *OutboundTrafficPolicy) GetEgressProxy() *Destination {
- if m != nil {
- return m.EgressProxy
- }
- return nil
-}
-
-func init() {
- proto.RegisterEnum("istio.networking.v1alpha3.CaptureMode", CaptureMode_name, CaptureMode_value)
- proto.RegisterEnum("istio.networking.v1alpha3.OutboundTrafficPolicy_Mode", OutboundTrafficPolicy_Mode_name, OutboundTrafficPolicy_Mode_value)
- proto.RegisterType((*Sidecar)(nil), "istio.networking.v1alpha3.Sidecar")
- proto.RegisterType((*IstioIngressListener)(nil), "istio.networking.v1alpha3.IstioIngressListener")
- proto.RegisterType((*IstioEgressListener)(nil), "istio.networking.v1alpha3.IstioEgressListener")
- proto.RegisterType((*WorkloadSelector)(nil), "istio.networking.v1alpha3.WorkloadSelector")
- proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.WorkloadSelector.LabelsEntry")
- proto.RegisterType((*OutboundTrafficPolicy)(nil), "istio.networking.v1alpha3.OutboundTrafficPolicy")
-}
-
-func init() { proto.RegisterFile("networking/v1alpha3/sidecar.proto", fileDescriptor_b5c11342f04ad3d1) }
-
-var fileDescriptor_b5c11342f04ad3d1 = []byte{
- // 682 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x54, 0x4d, 0x6f, 0xd3, 0x4a,
- 0x14, 0xed, 0x24, 0x6e, 0x3e, 0xc6, 0xed, 0x7b, 0xee, 0xbc, 0x56, 0x2f, 0x64, 0xd1, 0x86, 0x2c,
- 0x50, 0x00, 0xc9, 0x81, 0x54, 0x08, 0xca, 0x2e, 0xa5, 0x29, 0x4a, 0x65, 0x92, 0xc8, 0x49, 0x55,
- 0xca, 0xc6, 0x9a, 0xd8, 0x93, 0x64, 0xd4, 0xc1, 0x63, 0x8d, 0x27, 0x29, 0x59, 0xf3, 0x57, 0xf8,
- 0x31, 0x2c, 0xd9, 0xb1, 0x45, 0xd9, 0xf0, 0x13, 0xd8, 0x22, 0x8f, 0xdd, 0x4f, 0xb9, 0x41, 0xdd,
- 0xb0, 0xb3, 0xe7, 0xde, 0x73, 0x74, 0xce, 0xb9, 0x73, 0x07, 0x3e, 0xf4, 0x89, 0x3c, 0xe7, 0xe2,
- 0x8c, 0xfa, 0xe3, 0xfa, 0xec, 0x39, 0x66, 0xc1, 0x04, 0xef, 0xd6, 0x43, 0xea, 0x11, 0x17, 0x0b,
- 0x33, 0x10, 0x5c, 0x72, 0xf4, 0x80, 0x86, 0x92, 0x72, 0xf3, 0xaa, 0xd1, 0xbc, 0x68, 0x2c, 0xef,
- 0x8c, 0x39, 0x1f, 0x33, 0x52, 0xc7, 0x01, 0xad, 0x8f, 0x28, 0x61, 0x9e, 0x33, 0x24, 0x13, 0x3c,
- 0xa3, 0x3c, 0xc1, 0x96, 0x53, 0xe9, 0xc7, 0x58, 0x92, 0x73, 0x3c, 0x4f, 0x5a, 0x1e, 0xa7, 0xb5,
- 0xcc, 0xa8, 0x90, 0x53, 0xcc, 0x9c, 0x90, 0x88, 0x19, 0x75, 0x49, 0xdc, 0x5a, 0xfd, 0x95, 0x81,
- 0xf9, 0x7e, 0xac, 0x0d, 0xbd, 0x87, 0x1b, 0x11, 0x8a, 0x71, 0xec, 0x39, 0x21, 0x61, 0xc4, 0x95,
- 0x5c, 0x94, 0x40, 0x05, 0xd4, 0xf4, 0xc6, 0x53, 0xf3, 0x4e, 0xc5, 0xe6, 0x49, 0x82, 0xe9, 0x27,
- 0x10, 0xdb, 0x38, 0xbf, 0x75, 0x82, 0xda, 0x30, 0x4f, 0xfd, 0xb1, 0x20, 0x61, 0x58, 0xca, 0x54,
- 0xb2, 0x35, 0xbd, 0x51, 0x5f, 0xc2, 0xd7, 0x8e, 0x2a, 0xed, 0xb8, 0xdd, 0xa2, 0xa1, 0x24, 0x3e,
- 0x11, 0xf6, 0x05, 0x1e, 0x1d, 0xc2, 0x1c, 0x89, 0x99, 0xb2, 0x8a, 0xc9, 0xfc, 0x13, 0x53, 0xeb,
- 0x26, 0x51, 0x82, 0x46, 0x13, 0xf8, 0x3f, 0x9f, 0xca, 0x21, 0x9f, 0xfa, 0x9e, 0x23, 0x05, 0x1e,
- 0x8d, 0xa8, 0xeb, 0x04, 0x9c, 0x51, 0x77, 0x5e, 0xd2, 0x94, 0xe5, 0x67, 0x4b, 0x88, 0xbb, 0x09,
- 0x72, 0x10, 0x03, 0x7b, 0x0a, 0x67, 0x6f, 0xf1, 0xb4, 0xe3, 0x23, 0xad, 0xb0, 0x6a, 0xe4, 0x8e,
- 0xb4, 0x42, 0xce, 0xc8, 0xdb, 0x45, 0xc6, 0x5d, 0xcc, 0x26, 0x3c, 0x94, 0xd5, 0xcf, 0x19, 0xb8,
- 0x99, 0x66, 0x15, 0xed, 0x41, 0x2d, 0xe0, 0x42, 0x26, 0xc9, 0xef, 0x2c, 0x91, 0xd1, 0xe3, 0x42,
- 0xee, 0x6b, 0x8b, 0x26, 0xc8, 0xd8, 0x0a, 0x82, 0x10, 0xd4, 0x86, 0xd4, 0xf7, 0x4a, 0x99, 0x0a,
- 0xa8, 0x15, 0x6d, 0xf5, 0x8d, 0xda, 0x70, 0xcd, 0xc5, 0x81, 0x9c, 0x0a, 0xe2, 0x7c, 0xe4, 0x1e,
- 0x29, 0x65, 0x2b, 0xa0, 0xf6, 0x4f, 0xe3, 0xd1, 0x12, 0xda, 0x37, 0x71, 0xfb, 0x3b, 0xee, 0x11,
- 0x5b, 0x77, 0xaf, 0x7e, 0x50, 0x1d, 0x1a, 0x1e, 0x19, 0xe1, 0x29, 0x93, 0x0e, 0xf1, 0xbd, 0x80,
- 0x53, 0x5f, 0xaa, 0xb0, 0x8a, 0x89, 0x88, 0x7f, 0x93, 0x6a, 0x2b, 0x29, 0xde, 0xb0, 0xbe, 0x79,
- 0x69, 0xdd, 0x71, 0x19, 0x25, 0xbe, 0x74, 0x24, 0x0b, 0xab, 0x3f, 0x01, 0xfc, 0x2f, 0x65, 0x4c,
- 0x68, 0xf7, 0x5e, 0x21, 0xfc, 0x1d, 0xfb, 0x65, 0xb8, 0x1a, 0xc9, 0x0f, 0x4b, 0x5a, 0x25, 0x7b,
- 0xe9, 0x39, 0x3e, 0xba, 0xcb, 0x69, 0xb4, 0x6c, 0x44, 0x28, 0xa7, 0x5f, 0x00, 0x34, 0x6e, 0xaf,
- 0x0a, 0x3a, 0x86, 0x39, 0x86, 0x87, 0x84, 0x85, 0x25, 0xa0, 0x6e, 0xf3, 0xcb, 0x7b, 0xec, 0x99,
- 0x69, 0x29, 0x64, 0xcb, 0x97, 0x62, 0x9e, 0x88, 0x49, 0xc8, 0xca, 0x7b, 0x50, 0xbf, 0x56, 0x44,
- 0x06, 0xcc, 0x9e, 0x91, 0xb9, 0xca, 0xb2, 0x68, 0x47, 0x9f, 0x68, 0x13, 0xae, 0xce, 0x30, 0x9b,
- 0x92, 0x24, 0xaa, 0xf8, 0xe7, 0x75, 0xe6, 0x15, 0xa8, 0x7e, 0x07, 0x70, 0x2b, 0xf5, 0x7a, 0xa3,
- 0x36, 0xd4, 0x54, 0x82, 0x40, 0x25, 0xf8, 0xe2, 0xbe, 0xeb, 0x61, 0xaa, 0x40, 0x15, 0x45, 0x34,
- 0x94, 0x78, 0x0d, 0x9d, 0x40, 0xf0, 0x4f, 0x73, 0xa5, 0x42, 0x5f, 0x3a, 0x94, 0x03, 0x12, 0x4a,
- 0xea, 0x63, 0x49, 0xb9, 0x6f, 0xeb, 0x31, 0xb6, 0x17, 0x41, 0xab, 0x35, 0xa8, 0xa9, 0xe1, 0x6c,
- 0xc0, 0x75, 0xbb, 0xf5, 0xb6, 0xdd, 0x1f, 0xd8, 0xa7, 0x4e, 0xb7, 0x63, 0x9d, 0x1a, 0x2b, 0x68,
- 0x1d, 0x16, 0x9b, 0x96, 0xd5, 0x3d, 0x71, 0x9a, 0x9d, 0x53, 0x03, 0x3c, 0x69, 0x40, 0xfd, 0xda,
- 0x68, 0x91, 0x0e, 0xf3, 0x07, 0xad, 0xc3, 0xe6, 0xb1, 0x35, 0x30, 0x56, 0xd0, 0x1a, 0x2c, 0xb4,
- 0x7b, 0x83, 0xe6, 0xbe, 0xd5, 0xea, 0x1b, 0x00, 0x15, 0xa0, 0xd6, 0xe9, 0x76, 0x5a, 0x46, 0x66,
- 0xdf, 0xfc, 0xba, 0xd8, 0x06, 0xdf, 0x16, 0xdb, 0xe0, 0xc7, 0x62, 0x1b, 0x7c, 0xa8, 0xc4, 0xfa,
- 0x28, 0x57, 0xaf, 0x73, 0xca, 0x23, 0x3b, 0xcc, 0xa9, 0x57, 0x75, 0xf7, 0x77, 0x00, 0x00, 0x00,
- 0xff, 0xff, 0xcd, 0xde, 0x44, 0x45, 0x04, 0x06, 0x00, 0x00,
-}
-
-func (m *Sidecar) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *Sidecar) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Sidecar) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.OutboundTrafficPolicy != nil {
- {
- size, err := m.OutboundTrafficPolicy.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintSidecar(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x22
- }
- if len(m.Egress) > 0 {
- for iNdEx := len(m.Egress) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Egress[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintSidecar(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- }
- if len(m.Ingress) > 0 {
- for iNdEx := len(m.Ingress) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Ingress[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintSidecar(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- }
- if m.WorkloadSelector != nil {
- {
- size, err := m.WorkloadSelector.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintSidecar(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func (m *IstioIngressListener) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *IstioIngressListener) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *IstioIngressListener) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.DefaultEndpoint) > 0 {
- i -= len(m.DefaultEndpoint)
- copy(dAtA[i:], m.DefaultEndpoint)
- i = encodeVarintSidecar(dAtA, i, uint64(len(m.DefaultEndpoint)))
- i--
- dAtA[i] = 0x22
- }
- if m.CaptureMode != 0 {
- i = encodeVarintSidecar(dAtA, i, uint64(m.CaptureMode))
- i--
- dAtA[i] = 0x18
- }
- if len(m.Bind) > 0 {
- i -= len(m.Bind)
- copy(dAtA[i:], m.Bind)
- i = encodeVarintSidecar(dAtA, i, uint64(len(m.Bind)))
- i--
- dAtA[i] = 0x12
- }
- if m.Port != nil {
- {
- size, err := m.Port.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintSidecar(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func (m *IstioEgressListener) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *IstioEgressListener) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *IstioEgressListener) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Hosts) > 0 {
- for iNdEx := len(m.Hosts) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.Hosts[iNdEx])
- copy(dAtA[i:], m.Hosts[iNdEx])
- i = encodeVarintSidecar(dAtA, i, uint64(len(m.Hosts[iNdEx])))
- i--
- dAtA[i] = 0x22
- }
- }
- if m.CaptureMode != 0 {
- i = encodeVarintSidecar(dAtA, i, uint64(m.CaptureMode))
- i--
- dAtA[i] = 0x18
- }
- if len(m.Bind) > 0 {
- i -= len(m.Bind)
- copy(dAtA[i:], m.Bind)
- i = encodeVarintSidecar(dAtA, i, uint64(len(m.Bind)))
- i--
- dAtA[i] = 0x12
- }
- if m.Port != nil {
- {
- size, err := m.Port.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintSidecar(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func (m *WorkloadSelector) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *WorkloadSelector) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *WorkloadSelector) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Labels) > 0 {
- for k := range m.Labels {
- v := m.Labels[k]
- baseI := i
- i -= len(v)
- copy(dAtA[i:], v)
- i = encodeVarintSidecar(dAtA, i, uint64(len(v)))
- i--
- dAtA[i] = 0x12
- i -= len(k)
- copy(dAtA[i:], k)
- i = encodeVarintSidecar(dAtA, i, uint64(len(k)))
- i--
- dAtA[i] = 0xa
- i = encodeVarintSidecar(dAtA, i, uint64(baseI-i))
- i--
- dAtA[i] = 0xa
- }
- }
- return len(dAtA) - i, nil
+ EgressProxy *Destination `protobuf:"bytes,2,opt,name=egress_proxy,json=egressProxy,proto3" json:"egress_proxy,omitempty"`
}
-func (m *OutboundTrafficPolicy) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
+func (x *OutboundTrafficPolicy) Reset() {
+ *x = OutboundTrafficPolicy{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_sidecar_proto_msgTypes[4]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- return dAtA[:n], nil
}
-func (m *OutboundTrafficPolicy) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+func (x *OutboundTrafficPolicy) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *OutboundTrafficPolicy) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.EgressProxy != nil {
- {
- size, err := m.EgressProxy.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintSidecar(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- if m.Mode != 0 {
- i = encodeVarintSidecar(dAtA, i, uint64(m.Mode))
- i--
- dAtA[i] = 0x8
- }
- return len(dAtA) - i, nil
-}
-
-func encodeVarintSidecar(dAtA []byte, offset int, v uint64) int {
- offset -= sovSidecar(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
-func (m *Sidecar) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.WorkloadSelector != nil {
- l = m.WorkloadSelector.Size()
- n += 1 + l + sovSidecar(uint64(l))
- }
- if len(m.Ingress) > 0 {
- for _, e := range m.Ingress {
- l = e.Size()
- n += 1 + l + sovSidecar(uint64(l))
- }
- }
- if len(m.Egress) > 0 {
- for _, e := range m.Egress {
- l = e.Size()
- n += 1 + l + sovSidecar(uint64(l))
- }
- }
- if m.OutboundTrafficPolicy != nil {
- l = m.OutboundTrafficPolicy.Size()
- n += 1 + l + sovSidecar(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *IstioIngressListener) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Port != nil {
- l = m.Port.Size()
- n += 1 + l + sovSidecar(uint64(l))
- }
- l = len(m.Bind)
- if l > 0 {
- n += 1 + l + sovSidecar(uint64(l))
- }
- if m.CaptureMode != 0 {
- n += 1 + sovSidecar(uint64(m.CaptureMode))
- }
- l = len(m.DefaultEndpoint)
- if l > 0 {
- n += 1 + l + sovSidecar(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
+func (*OutboundTrafficPolicy) ProtoMessage() {}
-func (m *IstioEgressListener) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Port != nil {
- l = m.Port.Size()
- n += 1 + l + sovSidecar(uint64(l))
- }
- l = len(m.Bind)
- if l > 0 {
- n += 1 + l + sovSidecar(uint64(l))
- }
- if m.CaptureMode != 0 {
- n += 1 + sovSidecar(uint64(m.CaptureMode))
- }
- if len(m.Hosts) > 0 {
- for _, s := range m.Hosts {
- l = len(s)
- n += 1 + l + sovSidecar(uint64(l))
+func (x *OutboundTrafficPolicy) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_sidecar_proto_msgTypes[4]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
+ return ms
}
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
+ return mi.MessageOf(x)
}
-func (m *WorkloadSelector) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if len(m.Labels) > 0 {
- for k, v := range m.Labels {
- _ = k
- _ = v
- mapEntrySize := 1 + len(k) + sovSidecar(uint64(len(k))) + 1 + len(v) + sovSidecar(uint64(len(v)))
- n += mapEntrySize + 1 + sovSidecar(uint64(mapEntrySize))
- }
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
+// Deprecated: Use OutboundTrafficPolicy.ProtoReflect.Descriptor instead.
+func (*OutboundTrafficPolicy) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_sidecar_proto_rawDescGZIP(), []int{4}
}
-func (m *OutboundTrafficPolicy) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Mode != 0 {
- n += 1 + sovSidecar(uint64(m.Mode))
+func (x *OutboundTrafficPolicy) GetMode() OutboundTrafficPolicy_Mode {
+ if x != nil {
+ return x.Mode
}
- if m.EgressProxy != nil {
- l = m.EgressProxy.Size()
- n += 1 + l + sovSidecar(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func sovSidecar(x uint64) (n int) {
- return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozSidecar(x uint64) (n int) {
- return sovSidecar(uint64((x << 1) ^ uint64((int64(x) >> 63))))
+ return OutboundTrafficPolicy_REGISTRY_ONLY
}
-func (m *Sidecar) 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 ErrIntOverflowSidecar
- }
- 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: Sidecar: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Sidecar: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field WorkloadSelector", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSidecar
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthSidecar
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthSidecar
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.WorkloadSelector == nil {
- m.WorkloadSelector = &WorkloadSelector{}
- }
- if err := m.WorkloadSelector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Ingress", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSidecar
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthSidecar
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthSidecar
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Ingress = append(m.Ingress, &IstioIngressListener{})
- if err := m.Ingress[len(m.Ingress)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Egress", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSidecar
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthSidecar
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthSidecar
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Egress = append(m.Egress, &IstioEgressListener{})
- if err := m.Egress[len(m.Egress)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field OutboundTrafficPolicy", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSidecar
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthSidecar
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthSidecar
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.OutboundTrafficPolicy == nil {
- m.OutboundTrafficPolicy = &OutboundTrafficPolicy{}
- }
- if err := m.OutboundTrafficPolicy.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipSidecar(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthSidecar
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
- if iNdEx > l {
- return io.ErrUnexpectedEOF
+func (x *OutboundTrafficPolicy) GetEgressProxy() *Destination {
+ if x != nil {
+ return x.EgressProxy
}
return nil
}
-func (m *IstioIngressListener) 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 ErrIntOverflowSidecar
- }
- 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: IstioIngressListener: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: IstioIngressListener: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Port", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSidecar
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthSidecar
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthSidecar
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Port == nil {
- m.Port = &Port{}
- }
- if err := m.Port.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Bind", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSidecar
- }
- 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 ErrInvalidLengthSidecar
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthSidecar
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Bind = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 3:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field CaptureMode", wireType)
- }
- m.CaptureMode = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSidecar
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.CaptureMode |= CaptureMode(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field DefaultEndpoint", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSidecar
- }
- 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 ErrInvalidLengthSidecar
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthSidecar
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.DefaultEndpoint = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipSidecar(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthSidecar
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
+var File_networking_v1alpha3_sidecar_proto protoreflect.FileDescriptor
+
+var file_networking_v1alpha3_sidecar_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x61,
+ 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2f, 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f,
+ 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x1a, 0x1f,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64,
+ 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x21, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x61, 0x6c,
+ 0x70, 0x68, 0x61, 0x33, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x29, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76,
+ 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f,
+ 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf7, 0x02,
+ 0x0a, 0x07, 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x12, 0x58, 0x0a, 0x11, 0x77, 0x6f, 0x72,
+ 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74,
+ 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33,
+ 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x52, 0x10, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x12, 0x49, 0x0a, 0x07, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74,
+ 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33,
+ 0x2e, 0x49, 0x73, 0x74, 0x69, 0x6f, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73,
+ 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x07, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x46,
+ 0x0a, 0x06, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e,
+ 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e,
+ 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x49, 0x73, 0x74, 0x69, 0x6f,
+ 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x06,
+ 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x68, 0x0a, 0x17, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75,
+ 0x6e, 0x64, 0x5f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63,
+ 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e,
+ 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
+ 0x68, 0x61, 0x33, 0x2e, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x61, 0x66,
+ 0x66, 0x69, 0x63, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x15, 0x6f, 0x75, 0x74, 0x62, 0x6f,
+ 0x75, 0x6e, 0x64, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
+ 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x52, 0x09, 0x6c, 0x6f,
+ 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x22, 0xc3, 0x02, 0x0a, 0x14, 0x49, 0x73, 0x74, 0x69,
+ 0x6f, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72,
+ 0x12, 0x39, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f,
+ 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e,
+ 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x42,
+ 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x62,
+ 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x69, 0x6e, 0x64, 0x12,
+ 0x49, 0x0a, 0x0c, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65,
+ 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
+ 0x33, 0x2e, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x63,
+ 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x2f, 0x0a, 0x10, 0x64, 0x65,
+ 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x09, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61,
+ 0x75, 0x6c, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x03, 0x74,
+ 0x6c, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f,
+ 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c,
+ 0x70, 0x68, 0x61, 0x33, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x4c, 0x53, 0x53, 0x65,
+ 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x4a, 0x04, 0x08, 0x05, 0x10,
+ 0x06, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x52, 0x14, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f,
+ 0x73, 0x74, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x6c, 0x73, 0x22, 0xe7, 0x01,
+ 0x0a, 0x13, 0x49, 0x73, 0x74, 0x69, 0x6f, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73,
+ 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x33, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77,
+ 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e,
+ 0x50, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x69,
+ 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x69, 0x6e, 0x64, 0x12, 0x49,
+ 0x0a, 0x0c, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74,
+ 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33,
+ 0x2e, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x63, 0x61,
+ 0x70, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x05, 0x68, 0x6f, 0x73,
+ 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x05,
+ 0x68, 0x6f, 0x73, 0x74, 0x73, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x4a, 0x04, 0x08, 0x06, 0x10,
+ 0x07, 0x52, 0x14, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x72,
+ 0x76, 0x65, 0x72, 0x5f, 0x74, 0x6c, 0x73, 0x22, 0xa4, 0x01, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6b,
+ 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x55, 0x0a, 0x06,
+ 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69,
+ 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e,
+ 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61,
+ 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x06, 0x6c, 0x61, 0x62,
+ 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd7,
+ 0x01, 0x0a, 0x15, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x61, 0x66, 0x66,
+ 0x69, 0x63, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x49, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e,
+ 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
+ 0x61, 0x33, 0x2e, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x61, 0x66, 0x66,
+ 0x69, 0x63, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d,
+ 0x6f, 0x64, 0x65, 0x12, 0x49, 0x0a, 0x0c, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x72,
+ 0x6f, 0x78, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x73, 0x74, 0x69,
+ 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61,
+ 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x52, 0x0b, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x22, 0x28,
+ 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54,
+ 0x52, 0x59, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x4c, 0x4c,
+ 0x4f, 0x57, 0x5f, 0x41, 0x4e, 0x59, 0x10, 0x01, 0x2a, 0x32, 0x0a, 0x0b, 0x43, 0x61, 0x70, 0x74,
+ 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55,
+ 0x4c, 0x54, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x50, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x53,
+ 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x02, 0x42, 0x22, 0x5a, 0x20,
+ 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6e, 0x65, 0x74,
+ 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
-func (m *IstioEgressListener) 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 ErrIntOverflowSidecar
- }
- 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: IstioEgressListener: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: IstioEgressListener: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Port", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSidecar
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthSidecar
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthSidecar
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Port == nil {
- m.Port = &Port{}
- }
- if err := m.Port.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Bind", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSidecar
- }
- 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 ErrInvalidLengthSidecar
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthSidecar
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Bind = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 3:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field CaptureMode", wireType)
- }
- m.CaptureMode = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSidecar
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.CaptureMode |= CaptureMode(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Hosts", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSidecar
- }
- 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 ErrInvalidLengthSidecar
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthSidecar
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Hosts = append(m.Hosts, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipSidecar(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthSidecar
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *WorkloadSelector) 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 ErrIntOverflowSidecar
- }
- 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: WorkloadSelector: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: WorkloadSelector: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Labels", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSidecar
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthSidecar
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthSidecar
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Labels == nil {
- m.Labels = make(map[string]string)
- }
- var mapkey string
- var mapvalue string
- for iNdEx < postIndex {
- entryPreIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSidecar
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- if fieldNum == 1 {
- var stringLenmapkey uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSidecar
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapkey |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapkey := int(stringLenmapkey)
- if intStringLenmapkey < 0 {
- return ErrInvalidLengthSidecar
- }
- postStringIndexmapkey := iNdEx + intStringLenmapkey
- if postStringIndexmapkey < 0 {
- return ErrInvalidLengthSidecar
- }
- if postStringIndexmapkey > l {
- return io.ErrUnexpectedEOF
- }
- mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
- iNdEx = postStringIndexmapkey
- } else if fieldNum == 2 {
- var stringLenmapvalue uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSidecar
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapvalue |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapvalue := int(stringLenmapvalue)
- if intStringLenmapvalue < 0 {
- return ErrInvalidLengthSidecar
- }
- postStringIndexmapvalue := iNdEx + intStringLenmapvalue
- if postStringIndexmapvalue < 0 {
- return ErrInvalidLengthSidecar
- }
- if postStringIndexmapvalue > l {
- return io.ErrUnexpectedEOF
- }
- mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue])
- iNdEx = postStringIndexmapvalue
- } else {
- iNdEx = entryPreIndex
- skippy, err := skipSidecar(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthSidecar
- }
- if (iNdEx + skippy) > postIndex {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- m.Labels[mapkey] = mapvalue
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipSidecar(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthSidecar
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
+var (
+ file_networking_v1alpha3_sidecar_proto_rawDescOnce sync.Once
+ file_networking_v1alpha3_sidecar_proto_rawDescData = file_networking_v1alpha3_sidecar_proto_rawDesc
+)
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *OutboundTrafficPolicy) 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 ErrIntOverflowSidecar
+func file_networking_v1alpha3_sidecar_proto_rawDescGZIP() []byte {
+ file_networking_v1alpha3_sidecar_proto_rawDescOnce.Do(func() {
+ file_networking_v1alpha3_sidecar_proto_rawDescData = protoimpl.X.CompressGZIP(file_networking_v1alpha3_sidecar_proto_rawDescData)
+ })
+ return file_networking_v1alpha3_sidecar_proto_rawDescData
+}
+
+var file_networking_v1alpha3_sidecar_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
+var file_networking_v1alpha3_sidecar_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
+var file_networking_v1alpha3_sidecar_proto_goTypes = []interface{}{
+ (CaptureMode)(0), // 0: istio.networking.v1alpha3.CaptureMode
+ (OutboundTrafficPolicy_Mode)(0), // 1: istio.networking.v1alpha3.OutboundTrafficPolicy.Mode
+ (*Sidecar)(nil), // 2: istio.networking.v1alpha3.Sidecar
+ (*IstioIngressListener)(nil), // 3: istio.networking.v1alpha3.IstioIngressListener
+ (*IstioEgressListener)(nil), // 4: istio.networking.v1alpha3.IstioEgressListener
+ (*WorkloadSelector)(nil), // 5: istio.networking.v1alpha3.WorkloadSelector
+ (*OutboundTrafficPolicy)(nil), // 6: istio.networking.v1alpha3.OutboundTrafficPolicy
+ nil, // 7: istio.networking.v1alpha3.WorkloadSelector.LabelsEntry
+ (*Port)(nil), // 8: istio.networking.v1alpha3.Port
+ (*ServerTLSSettings)(nil), // 9: istio.networking.v1alpha3.ServerTLSSettings
+ (*Destination)(nil), // 10: istio.networking.v1alpha3.Destination
+}
+var file_networking_v1alpha3_sidecar_proto_depIdxs = []int32{
+ 5, // 0: istio.networking.v1alpha3.Sidecar.workload_selector:type_name -> istio.networking.v1alpha3.WorkloadSelector
+ 3, // 1: istio.networking.v1alpha3.Sidecar.ingress:type_name -> istio.networking.v1alpha3.IstioIngressListener
+ 4, // 2: istio.networking.v1alpha3.Sidecar.egress:type_name -> istio.networking.v1alpha3.IstioEgressListener
+ 6, // 3: istio.networking.v1alpha3.Sidecar.outbound_traffic_policy:type_name -> istio.networking.v1alpha3.OutboundTrafficPolicy
+ 8, // 4: istio.networking.v1alpha3.IstioIngressListener.port:type_name -> istio.networking.v1alpha3.Port
+ 0, // 5: istio.networking.v1alpha3.IstioIngressListener.capture_mode:type_name -> istio.networking.v1alpha3.CaptureMode
+ 9, // 6: istio.networking.v1alpha3.IstioIngressListener.tls:type_name -> istio.networking.v1alpha3.ServerTLSSettings
+ 8, // 7: istio.networking.v1alpha3.IstioEgressListener.port:type_name -> istio.networking.v1alpha3.Port
+ 0, // 8: istio.networking.v1alpha3.IstioEgressListener.capture_mode:type_name -> istio.networking.v1alpha3.CaptureMode
+ 7, // 9: istio.networking.v1alpha3.WorkloadSelector.labels:type_name -> istio.networking.v1alpha3.WorkloadSelector.LabelsEntry
+ 1, // 10: istio.networking.v1alpha3.OutboundTrafficPolicy.mode:type_name -> istio.networking.v1alpha3.OutboundTrafficPolicy.Mode
+ 10, // 11: istio.networking.v1alpha3.OutboundTrafficPolicy.egress_proxy:type_name -> istio.networking.v1alpha3.Destination
+ 12, // [12:12] is the sub-list for method output_type
+ 12, // [12:12] is the sub-list for method input_type
+ 12, // [12:12] is the sub-list for extension type_name
+ 12, // [12:12] is the sub-list for extension extendee
+ 0, // [0:12] is the sub-list for field type_name
+}
+
+func init() { file_networking_v1alpha3_sidecar_proto_init() }
+func file_networking_v1alpha3_sidecar_proto_init() {
+ if File_networking_v1alpha3_sidecar_proto != nil {
+ return
+ }
+ file_networking_v1alpha3_gateway_proto_init()
+ file_networking_v1alpha3_virtual_service_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_networking_v1alpha3_sidecar_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Sidecar); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
}
- 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: OutboundTrafficPolicy: wiretype end group for non-group")
}
- if fieldNum <= 0 {
- return fmt.Errorf("proto: OutboundTrafficPolicy: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Mode", wireType)
- }
- m.Mode = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSidecar
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Mode |= OutboundTrafficPolicy_Mode(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field EgressProxy", wireType)
+ file_networking_v1alpha3_sidecar_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IstioIngressListener); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
}
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSidecar
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthSidecar
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthSidecar
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.EgressProxy == nil {
- m.EgressProxy = &Destination{}
- }
- if err := m.EgressProxy.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipSidecar(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthSidecar
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
}
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func skipSidecar(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowSidecar
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
+ file_networking_v1alpha3_sidecar_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IstioEgressListener); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
}
}
- wireType := int(wire & 0x7)
- switch wireType {
- case 0:
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowSidecar
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowSidecar
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLengthSidecar
+ file_networking_v1alpha3_sidecar_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WorkloadSelector); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
}
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroupSidecar
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLengthSidecar
}
- if depth == 0 {
- return iNdEx, nil
+ file_networking_v1alpha3_sidecar_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*OutboundTrafficPolicy); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
}
}
- return 0, io.ErrUnexpectedEOF
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_networking_v1alpha3_sidecar_proto_rawDesc,
+ NumEnums: 2,
+ NumMessages: 6,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_networking_v1alpha3_sidecar_proto_goTypes,
+ DependencyIndexes: file_networking_v1alpha3_sidecar_proto_depIdxs,
+ EnumInfos: file_networking_v1alpha3_sidecar_proto_enumTypes,
+ MessageInfos: file_networking_v1alpha3_sidecar_proto_msgTypes,
+ }.Build()
+ File_networking_v1alpha3_sidecar_proto = out.File
+ file_networking_v1alpha3_sidecar_proto_rawDesc = nil
+ file_networking_v1alpha3_sidecar_proto_goTypes = nil
+ file_networking_v1alpha3_sidecar_proto_depIdxs = nil
}
-
-var (
- ErrInvalidLengthSidecar = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflowSidecar = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroupSidecar = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/vendor/istio.io/api/networking/v1alpha3/sidecar.proto b/vendor/istio.io/api/networking/v1alpha3/sidecar.proto
index 8f6d4295f..544e21c68 100644
--- a/vendor/istio.io/api/networking/v1alpha3/sidecar.proto
+++ b/vendor/istio.io/api/networking/v1alpha3/sidecar.proto
@@ -401,6 +401,82 @@ import "networking/v1alpha3/virtual_service.proto";
// {{}}
// {{}}
//
+// The following example declares a `Sidecar` configuration in the
+// `prod-us1` namespace for all pods with labels `app: ratings`
+// belonging to the `ratings.prod-us1` service. The service accepts
+// inbound HTTPS traffic on port 8443 and the sidecar proxy terminates
+// one way TLS using the given server certificates.
+// The traffic is then forwarded to the attached workload instance
+// listening on a Unix domain socket.
+// It is expected that PeerAuthentication policy would be configured
+// in order to set mTLS mode to "DISABLE" on specific
+// ports.
+// In this example, the mTLS mode is disabled on PORT 80.
+// This feature is currently experimental.
+//
+// {{}}
+// {{}}
+// ```yaml
+// apiVersion: networking.istio.io/v1alpha3
+// kind: Sidecar
+// metadata:
+// name: ratings
+// namespace: prod-us1
+// spec:
+// workloadSelector:
+// labels:
+// app: ratings
+// ingress:
+// - port:
+// number: 80
+// protocol: HTTPS
+// name: somename
+// defaultEndpoint: unix:///var/run/someuds.sock
+// tls:
+// mode: SIMPLE
+// privateKey: "/etc/certs/privatekey.pem"
+// serverCertificate: "/etc/certs/servercert.pem"
+// ```
+// {{}}
+//
+// {{}}
+// ```yaml
+// apiVersion: v1
+// kind: Service
+// metadata:
+// name: ratings
+// labels:
+// app: ratings
+// service: ratings
+// spec:
+// ports:
+// - port: 8443
+// name: https
+// targetPort: 80
+// selector:
+// app: ratings
+// ```
+// {{}}
+//
+// {{}}
+// ```yaml
+// apiVersion: security.istio.io/v1beta1
+// kind: PeerAuthentication
+// metadata:
+// name: ratings-peer-auth
+// namespace: prod-us1
+// spec:
+// selector:
+// matchLabels:
+// app: ratings
+// mtls:
+// mode: STRICT
+// portLevelMtls:
+// 80:
+// mode: DISABLE
+// ```
+// {{}}
+// {{}}
package istio.networking.v1alpha3;
option go_package = "istio.io/api/networking/v1alpha3";
@@ -491,6 +567,12 @@ message IstioIngressListener {
reserved "localhost_client_tls";
reserved 5, 6;
+
+ // Set of TLS related options that will enable TLS termination on the
+ // sidecar for requests originating from outside the mesh.
+ // Currently supports only SIMPLE and MUTUAL TLS modes.
+ // $hide_from_docs
+ ServerTLSSettings tls = 7;
}
// `IstioEgressListener` specifies the properties of an outbound traffic
@@ -555,7 +637,7 @@ message IstioEgressListener {
}
// `WorkloadSelector` specifies the criteria used to determine if the
-// `Gateway`, `Sidecar`, `EnvoyFilter`, or `ServiceEntry`
+// `Gateway`, `Sidecar`, `EnvoyFilter`, `ServiceEntry`, or `DestinationRule`
// configuration can be applied to a proxy. The matching criteria
// includes the metadata associated with a proxy, workload instance
// info such as labels attached to the pod/VM, or any other info that
diff --git a/vendor/istio.io/api/networking/v1alpha3/sidecar_deepcopy.gen.go b/vendor/istio.io/api/networking/v1alpha3/sidecar_deepcopy.gen.go
index 51f792a15..f84fc1c8f 100644
--- a/vendor/istio.io/api/networking/v1alpha3/sidecar_deepcopy.gen.go
+++ b/vendor/istio.io/api/networking/v1alpha3/sidecar_deepcopy.gen.go
@@ -1,398 +1,10 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: networking/v1alpha3/sidecar.proto
-
-// `Sidecar` describes the configuration of the sidecar proxy that mediates
-// inbound and outbound communication to the workload instance it is attached to. By
-// default, Istio will program all sidecar proxies in the mesh with the
-// necessary configuration required to reach every workload instance in the mesh, as
-// well as accept traffic on all the ports associated with the
-// workload. The `Sidecar` configuration provides a way to fine tune the set of
-// ports, protocols that the proxy will accept when forwarding traffic to
-// and from the workload. In addition, it is possible to restrict the set
-// of services that the proxy can reach when forwarding outbound traffic
-// from workload instances.
-//
-// Services and configuration in a mesh are organized into one or more
-// namespaces (e.g., a Kubernetes namespace or a CF org/space). A `Sidecar`
-// configuration in a namespace will apply to one or more workload instances in the same
-// namespace, selected using the `workloadSelector` field. In the absence of a
-// `workloadSelector`, it will apply to all workload instances in the same
-// namespace. When determining the `Sidecar` configuration to be applied to a
-// workload instance, preference will be given to the resource with a
-// `workloadSelector` that selects this workload instance, over a `Sidecar` configuration
-// without any `workloadSelector`.
-//
-// **NOTE 1**: *_Each namespace can have only one `Sidecar`
-// configuration without any `workloadSelector`_ that specifies the
-// default for all pods in that namespace*. It is recommended to use
-// the name `default` for the namespace-wide sidecar. The behavior of
-// the system is undefined if more than one selector-less `Sidecar`
-// configurations exist in a given namespace. The behavior of the
-// system is undefined if two or more `Sidecar` configurations with a
-// `workloadSelector` select the same workload instance.
-//
-// **NOTE 2**: *_A `Sidecar` configuration in the `MeshConfig`
-// [root namespace](https://istio.io/docs/reference/config/istio.mesh.v1alpha1/#MeshConfig)
-// will be applied by default to all namespaces without a `Sidecar`
-// configuration_*. This global default `Sidecar` configuration should not have
-// any `workloadSelector`.
-//
-// The example below declares a global default `Sidecar` configuration
-// in the root namespace called `istio-config`, that configures
-// sidecars in all namespaces to allow egress traffic only to other
-// workloads in the same namespace as well as to services in the
-// `istio-system` namespace.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: Sidecar
-// metadata:
-// name: default
-// namespace: istio-config
-// spec:
-// egress:
-// - hosts:
-// - "./*"
-// - "istio-system/*"
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: Sidecar
-// metadata:
-// name: default
-// namespace: istio-config
-// spec:
-// egress:
-// - hosts:
-// - "./*"
-// - "istio-system/*"
-// ```
-// {{}}
-// {{}}
-//
-// The example below declares a `Sidecar` configuration in the
-// `prod-us1` namespace that overrides the global default defined
-// above, and configures the sidecars in the namespace to allow egress
-// traffic to public services in the `prod-us1`, `prod-apis`, and the
-// `istio-system` namespaces.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: Sidecar
-// metadata:
-// name: default
-// namespace: prod-us1
-// spec:
-// egress:
-// - hosts:
-// - "prod-us1/*"
-// - "prod-apis/*"
-// - "istio-system/*"
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: Sidecar
-// metadata:
-// name: default
-// namespace: prod-us1
-// spec:
-// egress:
-// - hosts:
-// - "prod-us1/*"
-// - "prod-apis/*"
-// - "istio-system/*"
-// ```
-// {{}}
-// {{}}
-//
-// The following example declares a `Sidecar` configuration in the
-// `prod-us1` namespace for all pods with labels `app: ratings`
-// belonging to the `ratings.prod-us1` service. The workload accepts
-// inbound HTTP traffic on port 9080. The traffic is then forwarded to
-// the attached workload instance listening on a Unix domain
-// socket. In the egress direction, in addition to the `istio-system`
-// namespace, the sidecar proxies only HTTP traffic bound for port
-// 9080 for services in the `prod-us1` namespace.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: Sidecar
-// metadata:
-// name: ratings
-// namespace: prod-us1
-// spec:
-// workloadSelector:
-// labels:
-// app: ratings
-// ingress:
-// - port:
-// number: 9080
-// protocol: HTTP
-// name: somename
-// defaultEndpoint: unix:///var/run/someuds.sock
-// egress:
-// - port:
-// number: 9080
-// protocol: HTTP
-// name: egresshttp
-// hosts:
-// - "prod-us1/*"
-// - hosts:
-// - "istio-system/*"
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: Sidecar
-// metadata:
-// name: ratings
-// namespace: prod-us1
-// spec:
-// workloadSelector:
-// labels:
-// app: ratings
-// ingress:
-// - port:
-// number: 9080
-// protocol: HTTP
-// name: somename
-// defaultEndpoint: unix:///var/run/someuds.sock
-// egress:
-// - port:
-// number: 9080
-// protocol: HTTP
-// name: egresshttp
-// hosts:
-// - "prod-us1/*"
-// - hosts:
-// - "istio-system/*"
-// ```
-// {{}}
-// {{}}
-//
-// If the workload is deployed without IPTables-based traffic capture,
-// the `Sidecar` configuration is the only way to configure the ports
-// on the proxy attached to the workload instance. The following
-// example declares a `Sidecar` configuration in the `prod-us1`
-// namespace for all pods with labels `app: productpage` belonging to
-// the `productpage.prod-us1` service. Assuming that these pods are
-// deployed without IPtable rules (i.e. the `istio-init` container)
-// and the proxy metadata `ISTIO_META_INTERCEPTION_MODE` is set to
-// `NONE`, the specification, below, allows such pods to receive HTTP
-// traffic on port 9080 (wrapped inside Istio mutual TLS) and forward
-// it to the application listening on `127.0.0.1:8080`. It also allows
-// the application to communicate with a backing MySQL database on
-// `127.0.0.1:3306`, that then gets proxied to the externally hosted
-// MySQL service at `mysql.foo.com:3306`.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: Sidecar
-// metadata:
-// name: no-ip-tables
-// namespace: prod-us1
-// spec:
-// workloadSelector:
-// labels:
-// app: productpage
-// ingress:
-// - port:
-// number: 9080 # binds to proxy_instance_ip:9080 (0.0.0.0:9080, if no unicast IP is available for the instance)
-// protocol: HTTP
-// name: somename
-// defaultEndpoint: 127.0.0.1:8080
-// captureMode: NONE # not needed if metadata is set for entire proxy
-// egress:
-// - port:
-// number: 3306
-// protocol: MYSQL
-// name: egressmysql
-// captureMode: NONE # not needed if metadata is set for entire proxy
-// bind: 127.0.0.1
-// hosts:
-// - "*/mysql.foo.com"
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: Sidecar
-// metadata:
-// name: no-ip-tables
-// namespace: prod-us1
-// spec:
-// workloadSelector:
-// labels:
-// app: productpage
-// ingress:
-// - port:
-// number: 9080 # binds to proxy_instance_ip:9080 (0.0.0.0:9080, if no unicast IP is available for the instance)
-// protocol: HTTP
-// name: somename
-// defaultEndpoint: 127.0.0.1:8080
-// captureMode: NONE # not needed if metadata is set for entire proxy
-// egress:
-// - port:
-// number: 3306
-// protocol: MYSQL
-// name: egressmysql
-// captureMode: NONE # not needed if metadata is set for entire proxy
-// bind: 127.0.0.1
-// hosts:
-// - "*/mysql.foo.com"
-// ```
-// {{}}
-// {{}}
-//
-// And the associated service entry for routing to `mysql.foo.com:3306`
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-mysql
-// namespace: ns1
-// spec:
-// hosts:
-// - mysql.foo.com
-// ports:
-// - number: 3306
-// name: mysql
-// protocol: MYSQL
-// location: MESH_EXTERNAL
-// resolution: DNS
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-mysql
-// namespace: ns1
-// spec:
-// hosts:
-// - mysql.foo.com
-// ports:
-// - number: 3306
-// name: mysql
-// protocol: MYSQL
-// location: MESH_EXTERNAL
-// resolution: DNS
-// ```
-// {{}}
-// {{}}
-//
-// It is also possible to mix and match traffic capture modes in a single
-// proxy. For example, consider a setup where internal services are on the
-// `192.168.0.0/16` subnet. So, IP tables are setup on the VM to capture all
-// outbound traffic on `192.168.0.0/16` subnet. Assume that the VM has an
-// additional network interface on `172.16.0.0/16` subnet for inbound
-// traffic. The following `Sidecar` configuration allows the VM to expose a
-// listener on `172.16.1.32:80` (the VM's IP) for traffic arriving from the
-// `172.16.0.0/16` subnet.
-//
-// **NOTE**: The `ISTIO_META_INTERCEPTION_MODE` metadata on the
-// proxy in the VM should contain `REDIRECT` or `TPROXY` as its value,
-// implying that IP tables based traffic capture is active.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: Sidecar
-// metadata:
-// name: partial-ip-tables
-// namespace: prod-us1
-// spec:
-// workloadSelector:
-// labels:
-// app: productpage
-// ingress:
-// - bind: 172.16.1.32
-// port:
-// number: 80 # binds to 172.16.1.32:80
-// protocol: HTTP
-// name: somename
-// defaultEndpoint: 127.0.0.1:8080
-// captureMode: NONE
-// egress:
-// # use the system detected defaults
-// # sets up configuration to handle outbound traffic to services
-// # in 192.168.0.0/16 subnet, based on information provided by the
-// # service registry
-// - captureMode: IPTABLES
-// hosts:
-// - "*/*"
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: Sidecar
-// metadata:
-// name: partial-ip-tables
-// namespace: prod-us1
-// spec:
-// workloadSelector:
-// labels:
-// app: productpage
-// ingress:
-// - bind: 172.16.1.32
-// port:
-// number: 80 # binds to 172.16.1.32:80
-// protocol: HTTP
-// name: somename
-// defaultEndpoint: 127.0.0.1:8080
-// captureMode: NONE
-// egress:
-// # use the system detected defaults
-// # sets up configuration to handle outbound traffic to services
-// # in 192.168.0.0/16 subnet, based on information provided by the
-// # service registry
-// - captureMode: IPTABLES
-// hosts:
-// - "*/*"
-// ```
-// {{}}
-// {{}}
-//
-
+// Code generated by protoc-gen-deepcopy. DO NOT EDIT.
package v1alpha3
import (
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
+ proto "github.com/golang/protobuf/proto"
)
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
// DeepCopyInto supports using Sidecar within kubernetes types, where deepcopy-gen is used.
func (in *Sidecar) DeepCopyInto(out *Sidecar) {
p := proto.Clone(in).(*Sidecar)
diff --git a/vendor/istio.io/api/networking/v1alpha3/sidecar_json.gen.go b/vendor/istio.io/api/networking/v1alpha3/sidecar_json.gen.go
index 77687c8c2..4bc9e2960 100644
--- a/vendor/istio.io/api/networking/v1alpha3/sidecar_json.gen.go
+++ b/vendor/istio.io/api/networking/v1alpha3/sidecar_json.gen.go
@@ -1,400 +1,11 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: networking/v1alpha3/sidecar.proto
-
-// `Sidecar` describes the configuration of the sidecar proxy that mediates
-// inbound and outbound communication to the workload instance it is attached to. By
-// default, Istio will program all sidecar proxies in the mesh with the
-// necessary configuration required to reach every workload instance in the mesh, as
-// well as accept traffic on all the ports associated with the
-// workload. The `Sidecar` configuration provides a way to fine tune the set of
-// ports, protocols that the proxy will accept when forwarding traffic to
-// and from the workload. In addition, it is possible to restrict the set
-// of services that the proxy can reach when forwarding outbound traffic
-// from workload instances.
-//
-// Services and configuration in a mesh are organized into one or more
-// namespaces (e.g., a Kubernetes namespace or a CF org/space). A `Sidecar`
-// configuration in a namespace will apply to one or more workload instances in the same
-// namespace, selected using the `workloadSelector` field. In the absence of a
-// `workloadSelector`, it will apply to all workload instances in the same
-// namespace. When determining the `Sidecar` configuration to be applied to a
-// workload instance, preference will be given to the resource with a
-// `workloadSelector` that selects this workload instance, over a `Sidecar` configuration
-// without any `workloadSelector`.
-//
-// **NOTE 1**: *_Each namespace can have only one `Sidecar`
-// configuration without any `workloadSelector`_ that specifies the
-// default for all pods in that namespace*. It is recommended to use
-// the name `default` for the namespace-wide sidecar. The behavior of
-// the system is undefined if more than one selector-less `Sidecar`
-// configurations exist in a given namespace. The behavior of the
-// system is undefined if two or more `Sidecar` configurations with a
-// `workloadSelector` select the same workload instance.
-//
-// **NOTE 2**: *_A `Sidecar` configuration in the `MeshConfig`
-// [root namespace](https://istio.io/docs/reference/config/istio.mesh.v1alpha1/#MeshConfig)
-// will be applied by default to all namespaces without a `Sidecar`
-// configuration_*. This global default `Sidecar` configuration should not have
-// any `workloadSelector`.
-//
-// The example below declares a global default `Sidecar` configuration
-// in the root namespace called `istio-config`, that configures
-// sidecars in all namespaces to allow egress traffic only to other
-// workloads in the same namespace as well as to services in the
-// `istio-system` namespace.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: Sidecar
-// metadata:
-// name: default
-// namespace: istio-config
-// spec:
-// egress:
-// - hosts:
-// - "./*"
-// - "istio-system/*"
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: Sidecar
-// metadata:
-// name: default
-// namespace: istio-config
-// spec:
-// egress:
-// - hosts:
-// - "./*"
-// - "istio-system/*"
-// ```
-// {{}}
-// {{}}
-//
-// The example below declares a `Sidecar` configuration in the
-// `prod-us1` namespace that overrides the global default defined
-// above, and configures the sidecars in the namespace to allow egress
-// traffic to public services in the `prod-us1`, `prod-apis`, and the
-// `istio-system` namespaces.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: Sidecar
-// metadata:
-// name: default
-// namespace: prod-us1
-// spec:
-// egress:
-// - hosts:
-// - "prod-us1/*"
-// - "prod-apis/*"
-// - "istio-system/*"
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: Sidecar
-// metadata:
-// name: default
-// namespace: prod-us1
-// spec:
-// egress:
-// - hosts:
-// - "prod-us1/*"
-// - "prod-apis/*"
-// - "istio-system/*"
-// ```
-// {{}}
-// {{}}
-//
-// The following example declares a `Sidecar` configuration in the
-// `prod-us1` namespace for all pods with labels `app: ratings`
-// belonging to the `ratings.prod-us1` service. The workload accepts
-// inbound HTTP traffic on port 9080. The traffic is then forwarded to
-// the attached workload instance listening on a Unix domain
-// socket. In the egress direction, in addition to the `istio-system`
-// namespace, the sidecar proxies only HTTP traffic bound for port
-// 9080 for services in the `prod-us1` namespace.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: Sidecar
-// metadata:
-// name: ratings
-// namespace: prod-us1
-// spec:
-// workloadSelector:
-// labels:
-// app: ratings
-// ingress:
-// - port:
-// number: 9080
-// protocol: HTTP
-// name: somename
-// defaultEndpoint: unix:///var/run/someuds.sock
-// egress:
-// - port:
-// number: 9080
-// protocol: HTTP
-// name: egresshttp
-// hosts:
-// - "prod-us1/*"
-// - hosts:
-// - "istio-system/*"
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: Sidecar
-// metadata:
-// name: ratings
-// namespace: prod-us1
-// spec:
-// workloadSelector:
-// labels:
-// app: ratings
-// ingress:
-// - port:
-// number: 9080
-// protocol: HTTP
-// name: somename
-// defaultEndpoint: unix:///var/run/someuds.sock
-// egress:
-// - port:
-// number: 9080
-// protocol: HTTP
-// name: egresshttp
-// hosts:
-// - "prod-us1/*"
-// - hosts:
-// - "istio-system/*"
-// ```
-// {{}}
-// {{}}
-//
-// If the workload is deployed without IPTables-based traffic capture,
-// the `Sidecar` configuration is the only way to configure the ports
-// on the proxy attached to the workload instance. The following
-// example declares a `Sidecar` configuration in the `prod-us1`
-// namespace for all pods with labels `app: productpage` belonging to
-// the `productpage.prod-us1` service. Assuming that these pods are
-// deployed without IPtable rules (i.e. the `istio-init` container)
-// and the proxy metadata `ISTIO_META_INTERCEPTION_MODE` is set to
-// `NONE`, the specification, below, allows such pods to receive HTTP
-// traffic on port 9080 (wrapped inside Istio mutual TLS) and forward
-// it to the application listening on `127.0.0.1:8080`. It also allows
-// the application to communicate with a backing MySQL database on
-// `127.0.0.1:3306`, that then gets proxied to the externally hosted
-// MySQL service at `mysql.foo.com:3306`.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: Sidecar
-// metadata:
-// name: no-ip-tables
-// namespace: prod-us1
-// spec:
-// workloadSelector:
-// labels:
-// app: productpage
-// ingress:
-// - port:
-// number: 9080 # binds to proxy_instance_ip:9080 (0.0.0.0:9080, if no unicast IP is available for the instance)
-// protocol: HTTP
-// name: somename
-// defaultEndpoint: 127.0.0.1:8080
-// captureMode: NONE # not needed if metadata is set for entire proxy
-// egress:
-// - port:
-// number: 3306
-// protocol: MYSQL
-// name: egressmysql
-// captureMode: NONE # not needed if metadata is set for entire proxy
-// bind: 127.0.0.1
-// hosts:
-// - "*/mysql.foo.com"
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: Sidecar
-// metadata:
-// name: no-ip-tables
-// namespace: prod-us1
-// spec:
-// workloadSelector:
-// labels:
-// app: productpage
-// ingress:
-// - port:
-// number: 9080 # binds to proxy_instance_ip:9080 (0.0.0.0:9080, if no unicast IP is available for the instance)
-// protocol: HTTP
-// name: somename
-// defaultEndpoint: 127.0.0.1:8080
-// captureMode: NONE # not needed if metadata is set for entire proxy
-// egress:
-// - port:
-// number: 3306
-// protocol: MYSQL
-// name: egressmysql
-// captureMode: NONE # not needed if metadata is set for entire proxy
-// bind: 127.0.0.1
-// hosts:
-// - "*/mysql.foo.com"
-// ```
-// {{}}
-// {{}}
-//
-// And the associated service entry for routing to `mysql.foo.com:3306`
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-mysql
-// namespace: ns1
-// spec:
-// hosts:
-// - mysql.foo.com
-// ports:
-// - number: 3306
-// name: mysql
-// protocol: MYSQL
-// location: MESH_EXTERNAL
-// resolution: DNS
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-mysql
-// namespace: ns1
-// spec:
-// hosts:
-// - mysql.foo.com
-// ports:
-// - number: 3306
-// name: mysql
-// protocol: MYSQL
-// location: MESH_EXTERNAL
-// resolution: DNS
-// ```
-// {{}}
-// {{}}
-//
-// It is also possible to mix and match traffic capture modes in a single
-// proxy. For example, consider a setup where internal services are on the
-// `192.168.0.0/16` subnet. So, IP tables are setup on the VM to capture all
-// outbound traffic on `192.168.0.0/16` subnet. Assume that the VM has an
-// additional network interface on `172.16.0.0/16` subnet for inbound
-// traffic. The following `Sidecar` configuration allows the VM to expose a
-// listener on `172.16.1.32:80` (the VM's IP) for traffic arriving from the
-// `172.16.0.0/16` subnet.
-//
-// **NOTE**: The `ISTIO_META_INTERCEPTION_MODE` metadata on the
-// proxy in the VM should contain `REDIRECT` or `TPROXY` as its value,
-// implying that IP tables based traffic capture is active.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: Sidecar
-// metadata:
-// name: partial-ip-tables
-// namespace: prod-us1
-// spec:
-// workloadSelector:
-// labels:
-// app: productpage
-// ingress:
-// - bind: 172.16.1.32
-// port:
-// number: 80 # binds to 172.16.1.32:80
-// protocol: HTTP
-// name: somename
-// defaultEndpoint: 127.0.0.1:8080
-// captureMode: NONE
-// egress:
-// # use the system detected defaults
-// # sets up configuration to handle outbound traffic to services
-// # in 192.168.0.0/16 subnet, based on information provided by the
-// # service registry
-// - captureMode: IPTABLES
-// hosts:
-// - "*/*"
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: Sidecar
-// metadata:
-// name: partial-ip-tables
-// namespace: prod-us1
-// spec:
-// workloadSelector:
-// labels:
-// app: productpage
-// ingress:
-// - bind: 172.16.1.32
-// port:
-// number: 80 # binds to 172.16.1.32:80
-// protocol: HTTP
-// name: somename
-// defaultEndpoint: 127.0.0.1:8080
-// captureMode: NONE
-// egress:
-// # use the system detected defaults
-// # sets up configuration to handle outbound traffic to services
-// # in 192.168.0.0/16 subnet, based on information provided by the
-// # service registry
-// - captureMode: IPTABLES
-// hosts:
-// - "*/*"
-// ```
-// {{}}
-// {{}}
-//
-
+// Code generated by protoc-gen-jsonshim. DO NOT EDIT.
package v1alpha3
import (
bytes "bytes"
- fmt "fmt"
- github_com_gogo_protobuf_jsonpb "github.com/gogo/protobuf/jsonpb"
- proto "github.com/gogo/protobuf/proto"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
+ jsonpb "github.com/golang/protobuf/jsonpb"
)
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
// MarshalJSON is a custom marshaler for Sidecar
func (this *Sidecar) MarshalJSON() ([]byte, error) {
str, err := SidecarMarshaler.MarshalToString(this)
@@ -451,6 +62,6 @@ func (this *OutboundTrafficPolicy) UnmarshalJSON(b []byte) error {
}
var (
- SidecarMarshaler = &github_com_gogo_protobuf_jsonpb.Marshaler{}
- SidecarUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{AllowUnknownFields: true}
+ SidecarMarshaler = &jsonpb.Marshaler{}
+ SidecarUnmarshaler = &jsonpb.Unmarshaler{AllowUnknownFields: true}
)
diff --git a/vendor/istio.io/api/networking/v1alpha3/virtual_service.gen.json b/vendor/istio.io/api/networking/v1alpha3/virtual_service.gen.json
index d06bc7f33..afcf090c1 100644
--- a/vendor/istio.io/api/networking/v1alpha3/virtual_service.gen.json
+++ b/vendor/istio.io/api/networking/v1alpha3/virtual_service.gen.json
@@ -501,7 +501,7 @@
"$ref": "#/components/schemas/istio.networking.v1alpha3.Destination"
},
"weight": {
- "description": "The proportion of traffic to be forwarded to the service version. (0-100). Sum of weights across destinations SHOULD BE == 100. If there is only one destination in a rule, the weight value is assumed to be 100.",
+ "description": "Weight specifies the relative proportion of traffic to be forwarded to the destination. A destination will receive `weight/(sum of all weights)` requests. If there is only one destination in a rule, it will receive all traffic. Otherwise, if weight is `0`, the destination will not receive any traffic.",
"type": "integer",
"format": "int32"
},
@@ -616,7 +616,7 @@
"$ref": "#/components/schemas/istio.networking.v1alpha3.Destination"
},
"weight": {
- "description": "The proportion of traffic to be forwarded to the service version. If there is only one destination in a rule, all traffic will be routed to it irrespective of the weight.",
+ "description": "Weight specifies the relative proportion of traffic to be forwarded to the destination. A destination will receive `weight/(sum of all weights)` requests. If there is only one destination in a rule, it will receive all traffic. Otherwise, if weight is `0`, the destination will not receive any traffic.",
"type": "integer",
"format": "int32"
}
diff --git a/vendor/istio.io/api/networking/v1alpha3/virtual_service.pb.go b/vendor/istio.io/api/networking/v1alpha3/virtual_service.pb.go
index dd48d5cfa..830b2af32 100644
--- a/vendor/istio.io/api/networking/v1alpha3/virtual_service.pb.go
+++ b/vendor/istio.io/api/networking/v1alpha3/virtual_service.pb.go
@@ -1,6 +1,29 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
+// Copyright 2017-2018 Istio 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-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.27.1
+// protoc (unknown)
// source: networking/v1alpha3/virtual_service.proto
+// $schema: istio.networking.v1alpha3.VirtualService
+// $title: Virtual Service
+// $description: Configuration affecting label/content routing, sni routing, etc.
+// $location: https://istio.io/docs/reference/config/networking/virtual-service.html
+// $aliases: [/docs/reference/config/networking/v1alpha3/virtual-service]
+
// Configuration affecting traffic routing. Here are a few terms useful to define
// in the context of traffic routing.
//
@@ -152,26 +175,21 @@
package v1alpha3
import (
- encoding_binary "encoding/binary"
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- types "github.com/gogo/protobuf/types"
- io "io"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
- math_bits "math/bits"
+ duration "github.com/golang/protobuf/ptypes/duration"
+ wrappers "github.com/golang/protobuf/ptypes/wrappers"
+ _ "google.golang.org/genproto/googleapis/api/annotations"
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
)
-// 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.GoGoProtoPackageIsVersion3 // please upgrade the proto package
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
type HTTPRedirect_RedirectPortSelection int32
@@ -180,22 +198,43 @@ const (
HTTPRedirect_FROM_REQUEST_PORT HTTPRedirect_RedirectPortSelection = 1
)
-var HTTPRedirect_RedirectPortSelection_name = map[int32]string{
- 0: "FROM_PROTOCOL_DEFAULT",
- 1: "FROM_REQUEST_PORT",
-}
+// Enum value maps for HTTPRedirect_RedirectPortSelection.
+var (
+ HTTPRedirect_RedirectPortSelection_name = map[int32]string{
+ 0: "FROM_PROTOCOL_DEFAULT",
+ 1: "FROM_REQUEST_PORT",
+ }
+ HTTPRedirect_RedirectPortSelection_value = map[string]int32{
+ "FROM_PROTOCOL_DEFAULT": 0,
+ "FROM_REQUEST_PORT": 1,
+ }
+)
-var HTTPRedirect_RedirectPortSelection_value = map[string]int32{
- "FROM_PROTOCOL_DEFAULT": 0,
- "FROM_REQUEST_PORT": 1,
+func (x HTTPRedirect_RedirectPortSelection) Enum() *HTTPRedirect_RedirectPortSelection {
+ p := new(HTTPRedirect_RedirectPortSelection)
+ *p = x
+ return p
}
func (x HTTPRedirect_RedirectPortSelection) String() string {
- return proto.EnumName(HTTPRedirect_RedirectPortSelection_name, int32(x))
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (HTTPRedirect_RedirectPortSelection) Descriptor() protoreflect.EnumDescriptor {
+ return file_networking_v1alpha3_virtual_service_proto_enumTypes[0].Descriptor()
+}
+
+func (HTTPRedirect_RedirectPortSelection) Type() protoreflect.EnumType {
+ return &file_networking_v1alpha3_virtual_service_proto_enumTypes[0]
}
+func (x HTTPRedirect_RedirectPortSelection) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use HTTPRedirect_RedirectPortSelection.Descriptor instead.
func (HTTPRedirect_RedirectPortSelection) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_e85a9a4fa9c17a22, []int{12, 0}
+ return file_networking_v1alpha3_virtual_service_proto_rawDescGZIP(), []int{12, 0}
}
// Configuration affecting traffic routing.
@@ -229,6 +268,10 @@ func (HTTPRedirect_RedirectPortSelection) EnumDescriptor() ([]byte, []int) {
// +istio.io/sync-start
// -->
type VirtualService struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// The destination hosts to which traffic is being sent. Could
// be a DNS name with wildcard prefix or an IP address. Depending on the
// platform, short-names can also be used instead of a FQDN (i.e. has no
@@ -305,83 +348,79 @@ type VirtualService struct {
// The value "." is reserved and defines an export to the same namespace that
// the virtual service is declared in. Similarly the value "*" is reserved and
// defines an export to all namespaces.
- ExportTo []string `protobuf:"bytes,6,rep,name=export_to,json=exportTo,proto3" json:"export_to,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ ExportTo []string `protobuf:"bytes,6,rep,name=export_to,json=exportTo,proto3" json:"export_to,omitempty"`
}
-func (m *VirtualService) Reset() { *m = VirtualService{} }
-func (m *VirtualService) String() string { return proto.CompactTextString(m) }
-func (*VirtualService) ProtoMessage() {}
-func (*VirtualService) Descriptor() ([]byte, []int) {
- return fileDescriptor_e85a9a4fa9c17a22, []int{0}
-}
-func (m *VirtualService) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *VirtualService) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_VirtualService.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *VirtualService) Reset() {
+ *x = VirtualService{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *VirtualService) XXX_Merge(src proto.Message) {
- xxx_messageInfo_VirtualService.Merge(m, src)
-}
-func (m *VirtualService) XXX_Size() int {
- return m.Size()
+
+func (x *VirtualService) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *VirtualService) XXX_DiscardUnknown() {
- xxx_messageInfo_VirtualService.DiscardUnknown(m)
+
+func (*VirtualService) ProtoMessage() {}
+
+func (x *VirtualService) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_VirtualService proto.InternalMessageInfo
+// Deprecated: Use VirtualService.ProtoReflect.Descriptor instead.
+func (*VirtualService) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_virtual_service_proto_rawDescGZIP(), []int{0}
+}
-func (m *VirtualService) GetHosts() []string {
- if m != nil {
- return m.Hosts
+func (x *VirtualService) GetHosts() []string {
+ if x != nil {
+ return x.Hosts
}
return nil
}
-func (m *VirtualService) GetGateways() []string {
- if m != nil {
- return m.Gateways
+func (x *VirtualService) GetGateways() []string {
+ if x != nil {
+ return x.Gateways
}
return nil
}
-func (m *VirtualService) GetHttp() []*HTTPRoute {
- if m != nil {
- return m.Http
+func (x *VirtualService) GetHttp() []*HTTPRoute {
+ if x != nil {
+ return x.Http
}
return nil
}
-func (m *VirtualService) GetTls() []*TLSRoute {
- if m != nil {
- return m.Tls
+func (x *VirtualService) GetTls() []*TLSRoute {
+ if x != nil {
+ return x.Tls
}
return nil
}
-func (m *VirtualService) GetTcp() []*TCPRoute {
- if m != nil {
- return m.Tcp
+func (x *VirtualService) GetTcp() []*TCPRoute {
+ if x != nil {
+ return x.Tcp
}
return nil
}
-func (m *VirtualService) GetExportTo() []string {
- if m != nil {
- return m.ExportTo
+func (x *VirtualService) GetExportTo() []string {
+ if x != nil {
+ return x.ExportTo
}
return nil
}
@@ -628,6 +667,10 @@ func (m *VirtualService) GetExportTo() []string {
// {{}}
//
type Destination struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// The name of a service from the service registry. Service
// names are looked up from the platform's service registry (e.g.,
// Kubernetes services, Consul services, etc.) and from the hosts
@@ -650,62 +693,58 @@ type Destination struct {
// Specifies the port on the host that is being addressed. If a service
// exposes only a single port it is not required to explicitly select the
// port.
- Port *PortSelector `protobuf:"bytes,3,opt,name=port,proto3" json:"port,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Port *PortSelector `protobuf:"bytes,3,opt,name=port,proto3" json:"port,omitempty"`
}
-func (m *Destination) Reset() { *m = Destination{} }
-func (m *Destination) String() string { return proto.CompactTextString(m) }
-func (*Destination) ProtoMessage() {}
-func (*Destination) Descriptor() ([]byte, []int) {
- return fileDescriptor_e85a9a4fa9c17a22, []int{1}
-}
-func (m *Destination) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *Destination) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Destination.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *Destination) Reset() {
+ *x = Destination{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *Destination) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Destination.Merge(m, src)
-}
-func (m *Destination) XXX_Size() int {
- return m.Size()
+
+func (x *Destination) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *Destination) XXX_DiscardUnknown() {
- xxx_messageInfo_Destination.DiscardUnknown(m)
+
+func (*Destination) ProtoMessage() {}
+
+func (x *Destination) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_Destination proto.InternalMessageInfo
+// Deprecated: Use Destination.ProtoReflect.Descriptor instead.
+func (*Destination) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_virtual_service_proto_rawDescGZIP(), []int{1}
+}
-func (m *Destination) GetHost() string {
- if m != nil {
- return m.Host
+func (x *Destination) GetHost() string {
+ if x != nil {
+ return x.Host
}
return ""
}
-func (m *Destination) GetSubset() string {
- if m != nil {
- return m.Subset
+func (x *Destination) GetSubset() string {
+ if x != nil {
+ return x.Subset
}
return ""
}
-func (m *Destination) GetPort() *PortSelector {
- if m != nil {
- return m.Port
+func (x *Destination) GetPort() *PortSelector {
+ if x != nil {
+ return x.Port
}
return nil
}
@@ -713,6 +752,10 @@ func (m *Destination) GetPort() *PortSelector {
// Describes match conditions and actions for routing HTTP/1.1, HTTP2, and
// gRPC traffic. See VirtualService for usage examples.
type HTTPRoute struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// The name assigned to the route for debugging purposes. The
// route's name will be concatenated with the match's name and will
// be logged in the access logs for requests matching this
@@ -750,7 +793,7 @@ type HTTPRoute struct {
// Redirect primitive. Rewrite will be performed before forwarding.
Rewrite *HTTPRewrite `protobuf:"bytes,4,opt,name=rewrite,proto3" json:"rewrite,omitempty"`
// Timeout for HTTP requests, default is disabled.
- Timeout *types.Duration `protobuf:"bytes,6,opt,name=timeout,proto3" json:"timeout,omitempty"`
+ Timeout *duration.Duration `protobuf:"bytes,6,opt,name=timeout,proto3" json:"timeout,omitempty"`
// Retry policy for HTTP requests.
Retries *HTTPRetry `protobuf:"bytes,7,opt,name=retries,proto3" json:"retries,omitempty"`
// Fault injection policy to apply on HTTP traffic at the client side.
@@ -768,7 +811,9 @@ type HTTPRoute struct {
// Use of integer `mirror_percent` value is deprecated. Use the
// double `mirror_percentage` field instead
// $hide_from_docs
- MirrorPercent *types.UInt32Value `protobuf:"bytes,18,opt,name=mirror_percent,json=mirrorPercent,proto3" json:"mirror_percent,omitempty"` // Deprecated: Do not use.
+ //
+ // Deprecated: Do not use.
+ MirrorPercent *wrappers.UInt32Value `protobuf:"bytes,18,opt,name=mirror_percent,json=mirrorPercent,proto3" json:"mirror_percent,omitempty"`
// Percentage of the traffic to be mirrored by the `mirror` field.
// If this field is absent, all the traffic (100%) will be mirrored.
// Max value is 100.
@@ -778,140 +823,136 @@ type HTTPRoute struct {
// for further details about cross origin resource sharing.
CorsPolicy *CorsPolicy `protobuf:"bytes,10,opt,name=cors_policy,json=corsPolicy,proto3" json:"cors_policy,omitempty"`
// Header manipulation rules
- Headers *Headers `protobuf:"bytes,16,opt,name=headers,proto3" json:"headers,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Headers *Headers `protobuf:"bytes,16,opt,name=headers,proto3" json:"headers,omitempty"`
}
-func (m *HTTPRoute) Reset() { *m = HTTPRoute{} }
-func (m *HTTPRoute) String() string { return proto.CompactTextString(m) }
-func (*HTTPRoute) ProtoMessage() {}
-func (*HTTPRoute) Descriptor() ([]byte, []int) {
- return fileDescriptor_e85a9a4fa9c17a22, []int{2}
-}
-func (m *HTTPRoute) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *HTTPRoute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_HTTPRoute.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *HTTPRoute) Reset() {
+ *x = HTTPRoute{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *HTTPRoute) XXX_Merge(src proto.Message) {
- xxx_messageInfo_HTTPRoute.Merge(m, src)
-}
-func (m *HTTPRoute) XXX_Size() int {
- return m.Size()
+
+func (x *HTTPRoute) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *HTTPRoute) XXX_DiscardUnknown() {
- xxx_messageInfo_HTTPRoute.DiscardUnknown(m)
+
+func (*HTTPRoute) ProtoMessage() {}
+
+func (x *HTTPRoute) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[2]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_HTTPRoute proto.InternalMessageInfo
+// Deprecated: Use HTTPRoute.ProtoReflect.Descriptor instead.
+func (*HTTPRoute) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_virtual_service_proto_rawDescGZIP(), []int{2}
+}
-func (m *HTTPRoute) GetName() string {
- if m != nil {
- return m.Name
+func (x *HTTPRoute) GetName() string {
+ if x != nil {
+ return x.Name
}
return ""
}
-func (m *HTTPRoute) GetMatch() []*HTTPMatchRequest {
- if m != nil {
- return m.Match
+func (x *HTTPRoute) GetMatch() []*HTTPMatchRequest {
+ if x != nil {
+ return x.Match
}
return nil
}
-func (m *HTTPRoute) GetRoute() []*HTTPRouteDestination {
- if m != nil {
- return m.Route
+func (x *HTTPRoute) GetRoute() []*HTTPRouteDestination {
+ if x != nil {
+ return x.Route
}
return nil
}
-func (m *HTTPRoute) GetRedirect() *HTTPRedirect {
- if m != nil {
- return m.Redirect
+func (x *HTTPRoute) GetRedirect() *HTTPRedirect {
+ if x != nil {
+ return x.Redirect
}
return nil
}
-func (m *HTTPRoute) GetDelegate() *Delegate {
- if m != nil {
- return m.Delegate
+func (x *HTTPRoute) GetDelegate() *Delegate {
+ if x != nil {
+ return x.Delegate
}
return nil
}
-func (m *HTTPRoute) GetRewrite() *HTTPRewrite {
- if m != nil {
- return m.Rewrite
+func (x *HTTPRoute) GetRewrite() *HTTPRewrite {
+ if x != nil {
+ return x.Rewrite
}
return nil
}
-func (m *HTTPRoute) GetTimeout() *types.Duration {
- if m != nil {
- return m.Timeout
+func (x *HTTPRoute) GetTimeout() *duration.Duration {
+ if x != nil {
+ return x.Timeout
}
return nil
}
-func (m *HTTPRoute) GetRetries() *HTTPRetry {
- if m != nil {
- return m.Retries
+func (x *HTTPRoute) GetRetries() *HTTPRetry {
+ if x != nil {
+ return x.Retries
}
return nil
}
-func (m *HTTPRoute) GetFault() *HTTPFaultInjection {
- if m != nil {
- return m.Fault
+func (x *HTTPRoute) GetFault() *HTTPFaultInjection {
+ if x != nil {
+ return x.Fault
}
return nil
}
-func (m *HTTPRoute) GetMirror() *Destination {
- if m != nil {
- return m.Mirror
+func (x *HTTPRoute) GetMirror() *Destination {
+ if x != nil {
+ return x.Mirror
}
return nil
}
// Deprecated: Do not use.
-func (m *HTTPRoute) GetMirrorPercent() *types.UInt32Value {
- if m != nil {
- return m.MirrorPercent
+func (x *HTTPRoute) GetMirrorPercent() *wrappers.UInt32Value {
+ if x != nil {
+ return x.MirrorPercent
}
return nil
}
-func (m *HTTPRoute) GetMirrorPercentage() *Percent {
- if m != nil {
- return m.MirrorPercentage
+func (x *HTTPRoute) GetMirrorPercentage() *Percent {
+ if x != nil {
+ return x.MirrorPercentage
}
return nil
}
-func (m *HTTPRoute) GetCorsPolicy() *CorsPolicy {
- if m != nil {
- return m.CorsPolicy
+func (x *HTTPRoute) GetCorsPolicy() *CorsPolicy {
+ if x != nil {
+ return x.CorsPolicy
}
return nil
}
-func (m *HTTPRoute) GetHeaders() *Headers {
- if m != nil {
- return m.Headers
+func (x *HTTPRoute) GetHeaders() *Headers {
+ if x != nil {
+ return x.Headers
}
return nil
}
@@ -977,59 +1018,59 @@ func (m *HTTPRoute) GetHeaders() *Headers {
// host: reviews.nsB.svc.cluster.local
// ```
type Delegate struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Name specifies the name of the delegate VirtualService.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Namespace specifies the namespace where the delegate VirtualService resides.
// By default, it is same to the root's.
- Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"`
}
-func (m *Delegate) Reset() { *m = Delegate{} }
-func (m *Delegate) String() string { return proto.CompactTextString(m) }
-func (*Delegate) ProtoMessage() {}
-func (*Delegate) Descriptor() ([]byte, []int) {
- return fileDescriptor_e85a9a4fa9c17a22, []int{3}
-}
-func (m *Delegate) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *Delegate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Delegate.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *Delegate) Reset() {
+ *x = Delegate{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *Delegate) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Delegate.Merge(m, src)
-}
-func (m *Delegate) XXX_Size() int {
- return m.Size()
+
+func (x *Delegate) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *Delegate) XXX_DiscardUnknown() {
- xxx_messageInfo_Delegate.DiscardUnknown(m)
+
+func (*Delegate) ProtoMessage() {}
+
+func (x *Delegate) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[3]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_Delegate proto.InternalMessageInfo
+// Deprecated: Use Delegate.ProtoReflect.Descriptor instead.
+func (*Delegate) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_virtual_service_proto_rawDescGZIP(), []int{3}
+}
-func (m *Delegate) GetName() string {
- if m != nil {
- return m.Name
+func (x *Delegate) GetName() string {
+ if x != nil {
+ return x.Name
}
return ""
}
-func (m *Delegate) GetNamespace() string {
- if m != nil {
- return m.Namespace
+func (x *Delegate) GetNamespace() string {
+ if x != nil {
+ return x.Namespace
}
return ""
}
@@ -1104,128 +1145,60 @@ func (m *Delegate) GetNamespace() string {
// {{}}
// {{}}
type Headers struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Header manipulation rules to apply before forwarding a request
// to the destination service
Request *Headers_HeaderOperations `protobuf:"bytes,1,opt,name=request,proto3" json:"request,omitempty"`
// Header manipulation rules to apply before returning a response
// to the caller
- Response *Headers_HeaderOperations `protobuf:"bytes,2,opt,name=response,proto3" json:"response,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Headers) Reset() { *m = Headers{} }
-func (m *Headers) String() string { return proto.CompactTextString(m) }
-func (*Headers) ProtoMessage() {}
-func (*Headers) Descriptor() ([]byte, []int) {
- return fileDescriptor_e85a9a4fa9c17a22, []int{4}
-}
-func (m *Headers) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *Headers) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Headers.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *Headers) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Headers.Merge(m, src)
-}
-func (m *Headers) XXX_Size() int {
- return m.Size()
-}
-func (m *Headers) XXX_DiscardUnknown() {
- xxx_messageInfo_Headers.DiscardUnknown(m)
+ Response *Headers_HeaderOperations `protobuf:"bytes,2,opt,name=response,proto3" json:"response,omitempty"`
}
-var xxx_messageInfo_Headers proto.InternalMessageInfo
-
-func (m *Headers) GetRequest() *Headers_HeaderOperations {
- if m != nil {
- return m.Request
+func (x *Headers) Reset() {
+ *x = Headers{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[4]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- return nil
}
-func (m *Headers) GetResponse() *Headers_HeaderOperations {
- if m != nil {
- return m.Response
- }
- return nil
+func (x *Headers) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-// HeaderOperations Describes the header manipulations to apply
-type Headers_HeaderOperations struct {
- // Overwrite the headers specified by key with the given values
- Set map[string]string `protobuf:"bytes,1,rep,name=set,proto3" json:"set,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
- // Append the given values to the headers specified by keys
- // (will create a comma-separated list of values)
- Add map[string]string `protobuf:"bytes,2,rep,name=add,proto3" json:"add,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
- // Remove the specified headers
- Remove []string `protobuf:"bytes,3,rep,name=remove,proto3" json:"remove,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
+func (*Headers) ProtoMessage() {}
-func (m *Headers_HeaderOperations) Reset() { *m = Headers_HeaderOperations{} }
-func (m *Headers_HeaderOperations) String() string { return proto.CompactTextString(m) }
-func (*Headers_HeaderOperations) ProtoMessage() {}
-func (*Headers_HeaderOperations) Descriptor() ([]byte, []int) {
- return fileDescriptor_e85a9a4fa9c17a22, []int{4, 0}
-}
-func (m *Headers_HeaderOperations) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *Headers_HeaderOperations) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Headers_HeaderOperations.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
+func (x *Headers) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[4]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- return b[:n], nil
+ return ms
}
+ return mi.MessageOf(x)
}
-func (m *Headers_HeaderOperations) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Headers_HeaderOperations.Merge(m, src)
-}
-func (m *Headers_HeaderOperations) XXX_Size() int {
- return m.Size()
-}
-func (m *Headers_HeaderOperations) XXX_DiscardUnknown() {
- xxx_messageInfo_Headers_HeaderOperations.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Headers_HeaderOperations proto.InternalMessageInfo
-func (m *Headers_HeaderOperations) GetSet() map[string]string {
- if m != nil {
- return m.Set
- }
- return nil
+// Deprecated: Use Headers.ProtoReflect.Descriptor instead.
+func (*Headers) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_virtual_service_proto_rawDescGZIP(), []int{4}
}
-func (m *Headers_HeaderOperations) GetAdd() map[string]string {
- if m != nil {
- return m.Add
+func (x *Headers) GetRequest() *Headers_HeaderOperations {
+ if x != nil {
+ return x.Request
}
return nil
}
-func (m *Headers_HeaderOperations) GetRemove() []string {
- if m != nil {
- return m.Remove
+func (x *Headers) GetResponse() *Headers_HeaderOperations {
+ if x != nil {
+ return x.Response
}
return nil
}
@@ -1295,61 +1268,61 @@ func (m *Headers_HeaderOperations) GetRemove() []string {
// {{}}
// {{}}
type TLSRoute struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Match conditions to be satisfied for the rule to be
// activated. All conditions inside a single match block have AND
// semantics, while the list of match blocks have OR semantics. The rule
// is matched if any one of the match blocks succeed.
Match []*TLSMatchAttributes `protobuf:"bytes,1,rep,name=match,proto3" json:"match,omitempty"`
// The destination to which the connection should be forwarded to.
- Route []*RouteDestination `protobuf:"bytes,2,rep,name=route,proto3" json:"route,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Route []*RouteDestination `protobuf:"bytes,2,rep,name=route,proto3" json:"route,omitempty"`
}
-func (m *TLSRoute) Reset() { *m = TLSRoute{} }
-func (m *TLSRoute) String() string { return proto.CompactTextString(m) }
-func (*TLSRoute) ProtoMessage() {}
-func (*TLSRoute) Descriptor() ([]byte, []int) {
- return fileDescriptor_e85a9a4fa9c17a22, []int{5}
-}
-func (m *TLSRoute) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *TLSRoute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_TLSRoute.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *TLSRoute) Reset() {
+ *x = TLSRoute{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[5]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *TLSRoute) XXX_Merge(src proto.Message) {
- xxx_messageInfo_TLSRoute.Merge(m, src)
-}
-func (m *TLSRoute) XXX_Size() int {
- return m.Size()
+
+func (x *TLSRoute) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *TLSRoute) XXX_DiscardUnknown() {
- xxx_messageInfo_TLSRoute.DiscardUnknown(m)
+
+func (*TLSRoute) ProtoMessage() {}
+
+func (x *TLSRoute) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[5]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_TLSRoute proto.InternalMessageInfo
+// Deprecated: Use TLSRoute.ProtoReflect.Descriptor instead.
+func (*TLSRoute) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_virtual_service_proto_rawDescGZIP(), []int{5}
+}
-func (m *TLSRoute) GetMatch() []*TLSMatchAttributes {
- if m != nil {
- return m.Match
+func (x *TLSRoute) GetMatch() []*TLSMatchAttributes {
+ if x != nil {
+ return x.Match
}
return nil
}
-func (m *TLSRoute) GetRoute() []*RouteDestination {
- if m != nil {
- return m.Route
+func (x *TLSRoute) GetRoute() []*RouteDestination {
+ if x != nil {
+ return x.Route
}
return nil
}
@@ -1400,61 +1373,61 @@ func (m *TLSRoute) GetRoute() []*RouteDestination {
// {{}}
// {{}}
type TCPRoute struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Match conditions to be satisfied for the rule to be
// activated. All conditions inside a single match block have AND
// semantics, while the list of match blocks have OR semantics. The rule
// is matched if any one of the match blocks succeed.
Match []*L4MatchAttributes `protobuf:"bytes,1,rep,name=match,proto3" json:"match,omitempty"`
// The destination to which the connection should be forwarded to.
- Route []*RouteDestination `protobuf:"bytes,2,rep,name=route,proto3" json:"route,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Route []*RouteDestination `protobuf:"bytes,2,rep,name=route,proto3" json:"route,omitempty"`
}
-func (m *TCPRoute) Reset() { *m = TCPRoute{} }
-func (m *TCPRoute) String() string { return proto.CompactTextString(m) }
-func (*TCPRoute) ProtoMessage() {}
-func (*TCPRoute) Descriptor() ([]byte, []int) {
- return fileDescriptor_e85a9a4fa9c17a22, []int{6}
-}
-func (m *TCPRoute) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *TCPRoute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_TCPRoute.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *TCPRoute) Reset() {
+ *x = TCPRoute{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[6]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *TCPRoute) XXX_Merge(src proto.Message) {
- xxx_messageInfo_TCPRoute.Merge(m, src)
-}
-func (m *TCPRoute) XXX_Size() int {
- return m.Size()
+
+func (x *TCPRoute) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *TCPRoute) XXX_DiscardUnknown() {
- xxx_messageInfo_TCPRoute.DiscardUnknown(m)
+
+func (*TCPRoute) ProtoMessage() {}
+
+func (x *TCPRoute) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[6]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_TCPRoute proto.InternalMessageInfo
+// Deprecated: Use TCPRoute.ProtoReflect.Descriptor instead.
+func (*TCPRoute) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_virtual_service_proto_rawDescGZIP(), []int{6}
+}
-func (m *TCPRoute) GetMatch() []*L4MatchAttributes {
- if m != nil {
- return m.Match
+func (x *TCPRoute) GetMatch() []*L4MatchAttributes {
+ if x != nil {
+ return x.Match
}
return nil
}
-func (m *TCPRoute) GetRoute() []*RouteDestination {
- if m != nil {
- return m.Route
+func (x *TCPRoute) GetRoute() []*RouteDestination {
+ if x != nil {
+ return x.Route
}
return nil
}
@@ -1516,6 +1489,10 @@ func (m *TCPRoute) GetRoute() []*RouteDestination {
// HTTPMatchRequest CANNOT be empty.
// **Note:** No regex string match can be set when delegate VirtualService is specified.
type HTTPMatchRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// The name assigned to a match. The match's name will be
// concatenated with the parent route's name and will be logged in
// the access logs for requests matching this route.
@@ -1616,132 +1593,128 @@ type HTTPMatchRequest struct {
// Source namespace constraining the applicability of a rule to workloads in that namespace.
// If the VirtualService has a list of gateways specified in the top-level `gateways` field,
// it must include the reserved gateway `mesh` for this field to be applicable.
- SourceNamespace string `protobuf:"bytes,13,opt,name=source_namespace,json=sourceNamespace,proto3" json:"source_namespace,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ SourceNamespace string `protobuf:"bytes,13,opt,name=source_namespace,json=sourceNamespace,proto3" json:"source_namespace,omitempty"`
}
-func (m *HTTPMatchRequest) Reset() { *m = HTTPMatchRequest{} }
-func (m *HTTPMatchRequest) String() string { return proto.CompactTextString(m) }
-func (*HTTPMatchRequest) ProtoMessage() {}
-func (*HTTPMatchRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_e85a9a4fa9c17a22, []int{7}
-}
-func (m *HTTPMatchRequest) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *HTTPMatchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_HTTPMatchRequest.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *HTTPMatchRequest) Reset() {
+ *x = HTTPMatchRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[7]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *HTTPMatchRequest) XXX_Merge(src proto.Message) {
- xxx_messageInfo_HTTPMatchRequest.Merge(m, src)
-}
-func (m *HTTPMatchRequest) XXX_Size() int {
- return m.Size()
+
+func (x *HTTPMatchRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *HTTPMatchRequest) XXX_DiscardUnknown() {
- xxx_messageInfo_HTTPMatchRequest.DiscardUnknown(m)
+
+func (*HTTPMatchRequest) ProtoMessage() {}
+
+func (x *HTTPMatchRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[7]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_HTTPMatchRequest proto.InternalMessageInfo
+// Deprecated: Use HTTPMatchRequest.ProtoReflect.Descriptor instead.
+func (*HTTPMatchRequest) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_virtual_service_proto_rawDescGZIP(), []int{7}
+}
-func (m *HTTPMatchRequest) GetName() string {
- if m != nil {
- return m.Name
+func (x *HTTPMatchRequest) GetName() string {
+ if x != nil {
+ return x.Name
}
return ""
}
-func (m *HTTPMatchRequest) GetUri() *StringMatch {
- if m != nil {
- return m.Uri
+func (x *HTTPMatchRequest) GetUri() *StringMatch {
+ if x != nil {
+ return x.Uri
}
return nil
}
-func (m *HTTPMatchRequest) GetScheme() *StringMatch {
- if m != nil {
- return m.Scheme
+func (x *HTTPMatchRequest) GetScheme() *StringMatch {
+ if x != nil {
+ return x.Scheme
}
return nil
}
-func (m *HTTPMatchRequest) GetMethod() *StringMatch {
- if m != nil {
- return m.Method
+func (x *HTTPMatchRequest) GetMethod() *StringMatch {
+ if x != nil {
+ return x.Method
}
return nil
}
-func (m *HTTPMatchRequest) GetAuthority() *StringMatch {
- if m != nil {
- return m.Authority
+func (x *HTTPMatchRequest) GetAuthority() *StringMatch {
+ if x != nil {
+ return x.Authority
}
return nil
}
-func (m *HTTPMatchRequest) GetHeaders() map[string]*StringMatch {
- if m != nil {
- return m.Headers
+func (x *HTTPMatchRequest) GetHeaders() map[string]*StringMatch {
+ if x != nil {
+ return x.Headers
}
return nil
}
-func (m *HTTPMatchRequest) GetPort() uint32 {
- if m != nil {
- return m.Port
+func (x *HTTPMatchRequest) GetPort() uint32 {
+ if x != nil {
+ return x.Port
}
return 0
}
-func (m *HTTPMatchRequest) GetSourceLabels() map[string]string {
- if m != nil {
- return m.SourceLabels
+func (x *HTTPMatchRequest) GetSourceLabels() map[string]string {
+ if x != nil {
+ return x.SourceLabels
}
return nil
}
-func (m *HTTPMatchRequest) GetGateways() []string {
- if m != nil {
- return m.Gateways
+func (x *HTTPMatchRequest) GetGateways() []string {
+ if x != nil {
+ return x.Gateways
}
return nil
}
-func (m *HTTPMatchRequest) GetQueryParams() map[string]*StringMatch {
- if m != nil {
- return m.QueryParams
+func (x *HTTPMatchRequest) GetQueryParams() map[string]*StringMatch {
+ if x != nil {
+ return x.QueryParams
}
return nil
}
-func (m *HTTPMatchRequest) GetIgnoreUriCase() bool {
- if m != nil {
- return m.IgnoreUriCase
+func (x *HTTPMatchRequest) GetIgnoreUriCase() bool {
+ if x != nil {
+ return x.IgnoreUriCase
}
return false
}
-func (m *HTTPMatchRequest) GetWithoutHeaders() map[string]*StringMatch {
- if m != nil {
- return m.WithoutHeaders
+func (x *HTTPMatchRequest) GetWithoutHeaders() map[string]*StringMatch {
+ if x != nil {
+ return x.WithoutHeaders
}
return nil
}
-func (m *HTTPMatchRequest) GetSourceNamespace() string {
- if m != nil {
- return m.SourceNamespace
+func (x *HTTPMatchRequest) GetSourceNamespace() string {
+ if x != nil {
+ return x.SourceNamespace
}
return ""
}
@@ -1886,132 +1859,131 @@ func (m *HTTPMatchRequest) GetSourceNamespace() string {
// {{}}
//
type HTTPRouteDestination struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Destination uniquely identifies the instances of a service
// to which the request/connection should be forwarded to.
Destination *Destination `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"`
- // The proportion of traffic to be forwarded to the service
- // version. (0-100). Sum of weights across destinations SHOULD BE == 100.
- // If there is only one destination in a rule, the weight value is assumed to
- // be 100.
+ // Weight specifies the relative proportion of traffic to be forwarded to the destination. A destination will receive `weight/(sum of all weights)` requests.
+ // If there is only one destination in a rule, it will receive all traffic.
+ // Otherwise, if weight is `0`, the destination will not receive any traffic.
Weight int32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"`
// Header manipulation rules
- Headers *Headers `protobuf:"bytes,7,opt,name=headers,proto3" json:"headers,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Headers *Headers `protobuf:"bytes,7,opt,name=headers,proto3" json:"headers,omitempty"`
}
-func (m *HTTPRouteDestination) Reset() { *m = HTTPRouteDestination{} }
-func (m *HTTPRouteDestination) String() string { return proto.CompactTextString(m) }
-func (*HTTPRouteDestination) ProtoMessage() {}
-func (*HTTPRouteDestination) Descriptor() ([]byte, []int) {
- return fileDescriptor_e85a9a4fa9c17a22, []int{8}
-}
-func (m *HTTPRouteDestination) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *HTTPRouteDestination) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_HTTPRouteDestination.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *HTTPRouteDestination) Reset() {
+ *x = HTTPRouteDestination{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[8]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *HTTPRouteDestination) XXX_Merge(src proto.Message) {
- xxx_messageInfo_HTTPRouteDestination.Merge(m, src)
-}
-func (m *HTTPRouteDestination) XXX_Size() int {
- return m.Size()
+
+func (x *HTTPRouteDestination) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *HTTPRouteDestination) XXX_DiscardUnknown() {
- xxx_messageInfo_HTTPRouteDestination.DiscardUnknown(m)
+
+func (*HTTPRouteDestination) ProtoMessage() {}
+
+func (x *HTTPRouteDestination) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[8]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_HTTPRouteDestination proto.InternalMessageInfo
+// Deprecated: Use HTTPRouteDestination.ProtoReflect.Descriptor instead.
+func (*HTTPRouteDestination) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_virtual_service_proto_rawDescGZIP(), []int{8}
+}
-func (m *HTTPRouteDestination) GetDestination() *Destination {
- if m != nil {
- return m.Destination
+func (x *HTTPRouteDestination) GetDestination() *Destination {
+ if x != nil {
+ return x.Destination
}
return nil
}
-func (m *HTTPRouteDestination) GetWeight() int32 {
- if m != nil {
- return m.Weight
+func (x *HTTPRouteDestination) GetWeight() int32 {
+ if x != nil {
+ return x.Weight
}
return 0
}
-func (m *HTTPRouteDestination) GetHeaders() *Headers {
- if m != nil {
- return m.Headers
+func (x *HTTPRouteDestination) GetHeaders() *Headers {
+ if x != nil {
+ return x.Headers
}
return nil
}
// L4 routing rule weighted destination.
type RouteDestination struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Destination uniquely identifies the instances of a service
// to which the request/connection should be forwarded to.
Destination *Destination `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"`
- // The proportion of traffic to be forwarded to the service
- // version. If there is only one destination in a rule, all traffic will be
- // routed to it irrespective of the weight.
- Weight int32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *RouteDestination) Reset() { *m = RouteDestination{} }
-func (m *RouteDestination) String() string { return proto.CompactTextString(m) }
-func (*RouteDestination) ProtoMessage() {}
-func (*RouteDestination) Descriptor() ([]byte, []int) {
- return fileDescriptor_e85a9a4fa9c17a22, []int{9}
-}
-func (m *RouteDestination) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *RouteDestination) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_RouteDestination.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
+ // Weight specifies the relative proportion of traffic to be forwarded to the destination. A destination will receive `weight/(sum of all weights)` requests.
+ // If there is only one destination in a rule, it will receive all traffic.
+ // Otherwise, if weight is `0`, the destination will not receive any traffic.
+ Weight int32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"`
}
-func (m *RouteDestination) XXX_Merge(src proto.Message) {
- xxx_messageInfo_RouteDestination.Merge(m, src)
+
+func (x *RouteDestination) Reset() {
+ *x = RouteDestination{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[9]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
}
-func (m *RouteDestination) XXX_Size() int {
- return m.Size()
+
+func (x *RouteDestination) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *RouteDestination) XXX_DiscardUnknown() {
- xxx_messageInfo_RouteDestination.DiscardUnknown(m)
+
+func (*RouteDestination) ProtoMessage() {}
+
+func (x *RouteDestination) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[9]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_RouteDestination proto.InternalMessageInfo
+// Deprecated: Use RouteDestination.ProtoReflect.Descriptor instead.
+func (*RouteDestination) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_virtual_service_proto_rawDescGZIP(), []int{9}
+}
-func (m *RouteDestination) GetDestination() *Destination {
- if m != nil {
- return m.Destination
+func (x *RouteDestination) GetDestination() *Destination {
+ if x != nil {
+ return x.Destination
}
return nil
}
-func (m *RouteDestination) GetWeight() int32 {
- if m != nil {
- return m.Weight
+func (x *RouteDestination) GetWeight() int32 {
+ if x != nil {
+ return x.Weight
}
return 0
}
@@ -2019,6 +1991,10 @@ func (m *RouteDestination) GetWeight() int32 {
// L4 connection match attributes. Note that L4 connection matching support
// is incomplete.
type L4MatchAttributes struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// IPv4 or IPv6 ip addresses of destination with optional subnet. E.g.,
// a.b.c.d/xx form or just a.b.c.d.
DestinationSubnets []string `protobuf:"bytes,1,rep,name=destination_subnets,json=destinationSubnets,proto3" json:"destination_subnets,omitempty"`
@@ -2042,89 +2018,89 @@ type L4MatchAttributes struct {
// Source namespace constraining the applicability of a rule to workloads in that namespace.
// If the VirtualService has a list of gateways specified in the top-level `gateways` field,
// it must include the reserved gateway `mesh` for this field to be applicable.
- SourceNamespace string `protobuf:"bytes,6,opt,name=source_namespace,json=sourceNamespace,proto3" json:"source_namespace,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ SourceNamespace string `protobuf:"bytes,6,opt,name=source_namespace,json=sourceNamespace,proto3" json:"source_namespace,omitempty"`
}
-func (m *L4MatchAttributes) Reset() { *m = L4MatchAttributes{} }
-func (m *L4MatchAttributes) String() string { return proto.CompactTextString(m) }
-func (*L4MatchAttributes) ProtoMessage() {}
-func (*L4MatchAttributes) Descriptor() ([]byte, []int) {
- return fileDescriptor_e85a9a4fa9c17a22, []int{10}
-}
-func (m *L4MatchAttributes) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *L4MatchAttributes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_L4MatchAttributes.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *L4MatchAttributes) Reset() {
+ *x = L4MatchAttributes{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[10]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *L4MatchAttributes) XXX_Merge(src proto.Message) {
- xxx_messageInfo_L4MatchAttributes.Merge(m, src)
-}
-func (m *L4MatchAttributes) XXX_Size() int {
- return m.Size()
+
+func (x *L4MatchAttributes) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *L4MatchAttributes) XXX_DiscardUnknown() {
- xxx_messageInfo_L4MatchAttributes.DiscardUnknown(m)
+
+func (*L4MatchAttributes) ProtoMessage() {}
+
+func (x *L4MatchAttributes) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[10]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_L4MatchAttributes proto.InternalMessageInfo
+// Deprecated: Use L4MatchAttributes.ProtoReflect.Descriptor instead.
+func (*L4MatchAttributes) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_virtual_service_proto_rawDescGZIP(), []int{10}
+}
-func (m *L4MatchAttributes) GetDestinationSubnets() []string {
- if m != nil {
- return m.DestinationSubnets
+func (x *L4MatchAttributes) GetDestinationSubnets() []string {
+ if x != nil {
+ return x.DestinationSubnets
}
return nil
}
-func (m *L4MatchAttributes) GetPort() uint32 {
- if m != nil {
- return m.Port
+func (x *L4MatchAttributes) GetPort() uint32 {
+ if x != nil {
+ return x.Port
}
return 0
}
-func (m *L4MatchAttributes) GetSourceSubnet() string {
- if m != nil {
- return m.SourceSubnet
+func (x *L4MatchAttributes) GetSourceSubnet() string {
+ if x != nil {
+ return x.SourceSubnet
}
return ""
}
-func (m *L4MatchAttributes) GetSourceLabels() map[string]string {
- if m != nil {
- return m.SourceLabels
+func (x *L4MatchAttributes) GetSourceLabels() map[string]string {
+ if x != nil {
+ return x.SourceLabels
}
return nil
}
-func (m *L4MatchAttributes) GetGateways() []string {
- if m != nil {
- return m.Gateways
+func (x *L4MatchAttributes) GetGateways() []string {
+ if x != nil {
+ return x.Gateways
}
return nil
}
-func (m *L4MatchAttributes) GetSourceNamespace() string {
- if m != nil {
- return m.SourceNamespace
+func (x *L4MatchAttributes) GetSourceNamespace() string {
+ if x != nil {
+ return x.SourceNamespace
}
return ""
}
// TLS connection match attributes.
type TLSMatchAttributes struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// SNI (server name indicator) to match on. Wildcard prefixes
// can be used in the SNI value, e.g., *.com will match foo.example.com
// as well as example.com. An SNI value must be a subset (i.e., fall
@@ -2150,83 +2126,79 @@ type TLSMatchAttributes struct {
// Source namespace constraining the applicability of a rule to workloads in that namespace.
// If the VirtualService has a list of gateways specified in the top-level `gateways` field,
// it must include the reserved gateway `mesh` for this field to be applicable.
- SourceNamespace string `protobuf:"bytes,7,opt,name=source_namespace,json=sourceNamespace,proto3" json:"source_namespace,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ SourceNamespace string `protobuf:"bytes,7,opt,name=source_namespace,json=sourceNamespace,proto3" json:"source_namespace,omitempty"`
}
-func (m *TLSMatchAttributes) Reset() { *m = TLSMatchAttributes{} }
-func (m *TLSMatchAttributes) String() string { return proto.CompactTextString(m) }
-func (*TLSMatchAttributes) ProtoMessage() {}
-func (*TLSMatchAttributes) Descriptor() ([]byte, []int) {
- return fileDescriptor_e85a9a4fa9c17a22, []int{11}
-}
-func (m *TLSMatchAttributes) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *TLSMatchAttributes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_TLSMatchAttributes.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *TLSMatchAttributes) Reset() {
+ *x = TLSMatchAttributes{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[11]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *TLSMatchAttributes) XXX_Merge(src proto.Message) {
- xxx_messageInfo_TLSMatchAttributes.Merge(m, src)
-}
-func (m *TLSMatchAttributes) XXX_Size() int {
- return m.Size()
+
+func (x *TLSMatchAttributes) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *TLSMatchAttributes) XXX_DiscardUnknown() {
- xxx_messageInfo_TLSMatchAttributes.DiscardUnknown(m)
+
+func (*TLSMatchAttributes) ProtoMessage() {}
+
+func (x *TLSMatchAttributes) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[11]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_TLSMatchAttributes proto.InternalMessageInfo
+// Deprecated: Use TLSMatchAttributes.ProtoReflect.Descriptor instead.
+func (*TLSMatchAttributes) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_virtual_service_proto_rawDescGZIP(), []int{11}
+}
-func (m *TLSMatchAttributes) GetSniHosts() []string {
- if m != nil {
- return m.SniHosts
+func (x *TLSMatchAttributes) GetSniHosts() []string {
+ if x != nil {
+ return x.SniHosts
}
return nil
}
-func (m *TLSMatchAttributes) GetDestinationSubnets() []string {
- if m != nil {
- return m.DestinationSubnets
+func (x *TLSMatchAttributes) GetDestinationSubnets() []string {
+ if x != nil {
+ return x.DestinationSubnets
}
return nil
}
-func (m *TLSMatchAttributes) GetPort() uint32 {
- if m != nil {
- return m.Port
+func (x *TLSMatchAttributes) GetPort() uint32 {
+ if x != nil {
+ return x.Port
}
return 0
}
-func (m *TLSMatchAttributes) GetSourceLabels() map[string]string {
- if m != nil {
- return m.SourceLabels
+func (x *TLSMatchAttributes) GetSourceLabels() map[string]string {
+ if x != nil {
+ return x.SourceLabels
}
return nil
}
-func (m *TLSMatchAttributes) GetGateways() []string {
- if m != nil {
- return m.Gateways
+func (x *TLSMatchAttributes) GetGateways() []string {
+ if x != nil {
+ return x.Gateways
}
return nil
}
-func (m *TLSMatchAttributes) GetSourceNamespace() string {
- if m != nil {
- return m.SourceNamespace
+func (x *TLSMatchAttributes) GetSourceNamespace() string {
+ if x != nil {
+ return x.SourceNamespace
}
return ""
}
@@ -2280,6 +2252,10 @@ func (m *TLSMatchAttributes) GetSourceNamespace() string {
// {{}}
//
type HTTPRedirect struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// On a redirect, overwrite the Path portion of the URL with this
// value. Note that the entire path will be replaced, irrespective of the
// request URI being matched as an exact path or prefix.
@@ -2287,7 +2263,7 @@ type HTTPRedirect struct {
// On a redirect, overwrite the Authority/Host portion of the URL with
// this value.
Authority string `protobuf:"bytes,2,opt,name=authority,proto3" json:"authority,omitempty"`
- // Types that are valid to be assigned to RedirectPort:
+ // Types that are assignable to RedirectPort:
// *HTTPRedirect_Port
// *HTTPRedirect_DerivePort
RedirectPort isHTTPRedirect_RedirectPort `protobuf_oneof:"redirect_port"`
@@ -2298,118 +2274,110 @@ type HTTPRedirect struct {
Scheme string `protobuf:"bytes,6,opt,name=scheme,proto3" json:"scheme,omitempty"`
// On a redirect, Specifies the HTTP status code to use in the redirect
// response. The default response code is MOVED_PERMANENTLY (301).
- RedirectCode uint32 `protobuf:"varint,3,opt,name=redirect_code,json=redirectCode,proto3" json:"redirect_code,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ RedirectCode uint32 `protobuf:"varint,3,opt,name=redirect_code,json=redirectCode,proto3" json:"redirect_code,omitempty"`
}
-func (m *HTTPRedirect) Reset() { *m = HTTPRedirect{} }
-func (m *HTTPRedirect) String() string { return proto.CompactTextString(m) }
-func (*HTTPRedirect) ProtoMessage() {}
-func (*HTTPRedirect) Descriptor() ([]byte, []int) {
- return fileDescriptor_e85a9a4fa9c17a22, []int{12}
-}
-func (m *HTTPRedirect) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *HTTPRedirect) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_HTTPRedirect.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *HTTPRedirect) Reset() {
+ *x = HTTPRedirect{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[12]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *HTTPRedirect) XXX_Merge(src proto.Message) {
- xxx_messageInfo_HTTPRedirect.Merge(m, src)
-}
-func (m *HTTPRedirect) XXX_Size() int {
- return m.Size()
-}
-func (m *HTTPRedirect) XXX_DiscardUnknown() {
- xxx_messageInfo_HTTPRedirect.DiscardUnknown(m)
+
+func (x *HTTPRedirect) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-var xxx_messageInfo_HTTPRedirect proto.InternalMessageInfo
+func (*HTTPRedirect) ProtoMessage() {}
-type isHTTPRedirect_RedirectPort interface {
- isHTTPRedirect_RedirectPort()
- MarshalTo([]byte) (int, error)
- Size() int
+func (x *HTTPRedirect) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[12]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-type HTTPRedirect_Port struct {
- Port uint32 `protobuf:"varint,4,opt,name=port,proto3,oneof" json:"port,omitempty"`
-}
-type HTTPRedirect_DerivePort struct {
- DerivePort HTTPRedirect_RedirectPortSelection `protobuf:"varint,5,opt,name=derive_port,json=derivePort,proto3,enum=istio.networking.v1alpha3.HTTPRedirect_RedirectPortSelection,oneof" json:"derive_port,omitempty"`
+// Deprecated: Use HTTPRedirect.ProtoReflect.Descriptor instead.
+func (*HTTPRedirect) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_virtual_service_proto_rawDescGZIP(), []int{12}
}
-func (*HTTPRedirect_Port) isHTTPRedirect_RedirectPort() {}
-func (*HTTPRedirect_DerivePort) isHTTPRedirect_RedirectPort() {}
-
-func (m *HTTPRedirect) GetRedirectPort() isHTTPRedirect_RedirectPort {
- if m != nil {
- return m.RedirectPort
+func (x *HTTPRedirect) GetUri() string {
+ if x != nil {
+ return x.Uri
}
- return nil
+ return ""
}
-func (m *HTTPRedirect) GetUri() string {
- if m != nil {
- return m.Uri
+func (x *HTTPRedirect) GetAuthority() string {
+ if x != nil {
+ return x.Authority
}
return ""
}
-func (m *HTTPRedirect) GetAuthority() string {
+func (m *HTTPRedirect) GetRedirectPort() isHTTPRedirect_RedirectPort {
if m != nil {
- return m.Authority
+ return m.RedirectPort
}
- return ""
+ return nil
}
-func (m *HTTPRedirect) GetPort() uint32 {
- if x, ok := m.GetRedirectPort().(*HTTPRedirect_Port); ok {
+func (x *HTTPRedirect) GetPort() uint32 {
+ if x, ok := x.GetRedirectPort().(*HTTPRedirect_Port); ok {
return x.Port
}
return 0
}
-func (m *HTTPRedirect) GetDerivePort() HTTPRedirect_RedirectPortSelection {
- if x, ok := m.GetRedirectPort().(*HTTPRedirect_DerivePort); ok {
+func (x *HTTPRedirect) GetDerivePort() HTTPRedirect_RedirectPortSelection {
+ if x, ok := x.GetRedirectPort().(*HTTPRedirect_DerivePort); ok {
return x.DerivePort
}
return HTTPRedirect_FROM_PROTOCOL_DEFAULT
}
-func (m *HTTPRedirect) GetScheme() string {
- if m != nil {
- return m.Scheme
+func (x *HTTPRedirect) GetScheme() string {
+ if x != nil {
+ return x.Scheme
}
return ""
}
-func (m *HTTPRedirect) GetRedirectCode() uint32 {
- if m != nil {
- return m.RedirectCode
+func (x *HTTPRedirect) GetRedirectCode() uint32 {
+ if x != nil {
+ return x.RedirectCode
}
return 0
}
-// XXX_OneofWrappers is for the internal use of the proto package.
-func (*HTTPRedirect) XXX_OneofWrappers() []interface{} {
- return []interface{}{
- (*HTTPRedirect_Port)(nil),
- (*HTTPRedirect_DerivePort)(nil),
- }
+type isHTTPRedirect_RedirectPort interface {
+ isHTTPRedirect_RedirectPort()
+}
+
+type HTTPRedirect_Port struct {
+ // On a redirect, overwrite the port portion of the URL with this value.
+ Port uint32 `protobuf:"varint,4,opt,name=port,proto3,oneof"`
+}
+
+type HTTPRedirect_DerivePort struct {
+ // On a redirect, dynamically set the port:
+ // * FROM_PROTOCOL_DEFAULT: automatically set to 80 for HTTP and 443 for HTTPS.
+ // * FROM_REQUEST_PORT: automatically use the port of the request.
+ DerivePort HTTPRedirect_RedirectPortSelection `protobuf:"varint,5,opt,name=derive_port,json=derivePort,proto3,enum=istio.networking.v1alpha3.HTTPRedirect_RedirectPortSelection,oneof"`
}
+func (*HTTPRedirect_Port) isHTTPRedirect_RedirectPort() {}
+
+func (*HTTPRedirect_DerivePort) isHTTPRedirect_RedirectPort() {}
+
// HTTPRewrite can be used to rewrite specific parts of a HTTP request
// before forwarding the request to the destination. Rewrite primitive can
// be used only with HTTPRouteDestination. The following example
@@ -2463,60 +2431,60 @@ func (*HTTPRedirect) XXX_OneofWrappers() []interface{} {
// {{}}
//
type HTTPRewrite struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// rewrite the path (or the prefix) portion of the URI with this
// value. If the original URI was matched based on prefix, the value
// provided in this field will replace the corresponding matched prefix.
Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
// rewrite the Authority/Host header with this value.
- Authority string `protobuf:"bytes,2,opt,name=authority,proto3" json:"authority,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Authority string `protobuf:"bytes,2,opt,name=authority,proto3" json:"authority,omitempty"`
}
-func (m *HTTPRewrite) Reset() { *m = HTTPRewrite{} }
-func (m *HTTPRewrite) String() string { return proto.CompactTextString(m) }
-func (*HTTPRewrite) ProtoMessage() {}
-func (*HTTPRewrite) Descriptor() ([]byte, []int) {
- return fileDescriptor_e85a9a4fa9c17a22, []int{13}
-}
-func (m *HTTPRewrite) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *HTTPRewrite) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_HTTPRewrite.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *HTTPRewrite) Reset() {
+ *x = HTTPRewrite{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[13]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *HTTPRewrite) XXX_Merge(src proto.Message) {
- xxx_messageInfo_HTTPRewrite.Merge(m, src)
-}
-func (m *HTTPRewrite) XXX_Size() int {
- return m.Size()
+
+func (x *HTTPRewrite) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *HTTPRewrite) XXX_DiscardUnknown() {
- xxx_messageInfo_HTTPRewrite.DiscardUnknown(m)
+
+func (*HTTPRewrite) ProtoMessage() {}
+
+func (x *HTTPRewrite) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[13]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_HTTPRewrite proto.InternalMessageInfo
+// Deprecated: Use HTTPRewrite.ProtoReflect.Descriptor instead.
+func (*HTTPRewrite) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_virtual_service_proto_rawDescGZIP(), []int{13}
+}
-func (m *HTTPRewrite) GetUri() string {
- if m != nil {
- return m.Uri
+func (x *HTTPRewrite) GetUri() string {
+ if x != nil {
+ return x.Uri
}
return ""
}
-func (m *HTTPRewrite) GetAuthority() string {
- if m != nil {
- return m.Authority
+func (x *HTTPRewrite) GetAuthority() string {
+ if x != nil {
+ return x.Authority
}
return ""
}
@@ -2524,69 +2492,49 @@ func (m *HTTPRewrite) GetAuthority() string {
// Describes how to match a given string in HTTP headers. Match is
// case-sensitive.
type StringMatch struct {
- // Types that are valid to be assigned to MatchType:
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Types that are assignable to MatchType:
// *StringMatch_Exact
// *StringMatch_Prefix
// *StringMatch_Regex
- MatchType isStringMatch_MatchType `protobuf_oneof:"match_type"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ MatchType isStringMatch_MatchType `protobuf_oneof:"match_type"`
}
-func (m *StringMatch) Reset() { *m = StringMatch{} }
-func (m *StringMatch) String() string { return proto.CompactTextString(m) }
-func (*StringMatch) ProtoMessage() {}
-func (*StringMatch) Descriptor() ([]byte, []int) {
- return fileDescriptor_e85a9a4fa9c17a22, []int{14}
-}
-func (m *StringMatch) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *StringMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_StringMatch.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *StringMatch) Reset() {
+ *x = StringMatch{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[14]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *StringMatch) XXX_Merge(src proto.Message) {
- xxx_messageInfo_StringMatch.Merge(m, src)
-}
-func (m *StringMatch) XXX_Size() int {
- return m.Size()
-}
-func (m *StringMatch) XXX_DiscardUnknown() {
- xxx_messageInfo_StringMatch.DiscardUnknown(m)
+
+func (x *StringMatch) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-var xxx_messageInfo_StringMatch proto.InternalMessageInfo
+func (*StringMatch) ProtoMessage() {}
-type isStringMatch_MatchType interface {
- isStringMatch_MatchType()
- MarshalTo([]byte) (int, error)
- Size() int
+func (x *StringMatch) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[14]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-type StringMatch_Exact struct {
- Exact string `protobuf:"bytes,1,opt,name=exact,proto3,oneof" json:"exact,omitempty"`
-}
-type StringMatch_Prefix struct {
- Prefix string `protobuf:"bytes,2,opt,name=prefix,proto3,oneof" json:"prefix,omitempty"`
-}
-type StringMatch_Regex struct {
- Regex string `protobuf:"bytes,3,opt,name=regex,proto3,oneof" json:"regex,omitempty"`
+// Deprecated: Use StringMatch.ProtoReflect.Descriptor instead.
+func (*StringMatch) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_virtual_service_proto_rawDescGZIP(), []int{14}
}
-func (*StringMatch_Exact) isStringMatch_MatchType() {}
-func (*StringMatch_Prefix) isStringMatch_MatchType() {}
-func (*StringMatch_Regex) isStringMatch_MatchType() {}
-
func (m *StringMatch) GetMatchType() isStringMatch_MatchType {
if m != nil {
return m.MatchType
@@ -2594,36 +2542,52 @@ func (m *StringMatch) GetMatchType() isStringMatch_MatchType {
return nil
}
-func (m *StringMatch) GetExact() string {
- if x, ok := m.GetMatchType().(*StringMatch_Exact); ok {
+func (x *StringMatch) GetExact() string {
+ if x, ok := x.GetMatchType().(*StringMatch_Exact); ok {
return x.Exact
}
return ""
}
-func (m *StringMatch) GetPrefix() string {
- if x, ok := m.GetMatchType().(*StringMatch_Prefix); ok {
+func (x *StringMatch) GetPrefix() string {
+ if x, ok := x.GetMatchType().(*StringMatch_Prefix); ok {
return x.Prefix
}
return ""
}
-func (m *StringMatch) GetRegex() string {
- if x, ok := m.GetMatchType().(*StringMatch_Regex); ok {
+func (x *StringMatch) GetRegex() string {
+ if x, ok := x.GetMatchType().(*StringMatch_Regex); ok {
return x.Regex
}
return ""
}
-// XXX_OneofWrappers is for the internal use of the proto package.
-func (*StringMatch) XXX_OneofWrappers() []interface{} {
- return []interface{}{
- (*StringMatch_Exact)(nil),
- (*StringMatch_Prefix)(nil),
- (*StringMatch_Regex)(nil),
- }
+type isStringMatch_MatchType interface {
+ isStringMatch_MatchType()
+}
+
+type StringMatch_Exact struct {
+ // exact string match
+ Exact string `protobuf:"bytes,1,opt,name=exact,proto3,oneof"`
+}
+
+type StringMatch_Prefix struct {
+ // prefix-based match
+ Prefix string `protobuf:"bytes,2,opt,name=prefix,proto3,oneof"`
+}
+
+type StringMatch_Regex struct {
+ // RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).
+ Regex string `protobuf:"bytes,3,opt,name=regex,proto3,oneof"`
}
+func (*StringMatch_Exact) isStringMatch_MatchType() {}
+
+func (*StringMatch_Prefix) isStringMatch_MatchType() {}
+
+func (*StringMatch_Regex) isStringMatch_MatchType() {}
+
// Describes the retry policy to use when a HTTP request fails. For
// example, the following rule sets the maximum number of retries to 3 when
// calling ratings:v1 service, with a 2s timeout per retry attempt.
@@ -2675,6 +2639,10 @@ func (*StringMatch) XXX_OneofWrappers() []interface{} {
// {{}}
//
type HTTPRetry struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Number of retries to be allowed for a given request. The interval
// between retries will be determined automatically (25ms+). When request
// `timeout` of the [HTTP route](https://istio.io/docs/reference/config/networking/virtual-service/#HTTPRoute)
@@ -2685,7 +2653,7 @@ type HTTPRetry struct {
// Default is same value as request
// `timeout` of the [HTTP route](https://istio.io/docs/reference/config/networking/virtual-service/#HTTPRoute),
// which means no timeout.
- PerTryTimeout *types.Duration `protobuf:"bytes,2,opt,name=per_try_timeout,json=perTryTimeout,proto3" json:"per_try_timeout,omitempty"`
+ PerTryTimeout *duration.Duration `protobuf:"bytes,2,opt,name=per_try_timeout,json=perTryTimeout,proto3" json:"per_try_timeout,omitempty"`
// Specifies the conditions under which retry takes place.
// One or more policies can be specified using a ‘,’ delimited list.
// If `retry_on` specifies a valid HTTP status, it will be added to retriable_status_codes retry policy.
@@ -2694,69 +2662,65 @@ type HTTPRetry struct {
RetryOn string `protobuf:"bytes,3,opt,name=retry_on,json=retryOn,proto3" json:"retry_on,omitempty"`
// Flag to specify whether the retries should retry to other localities.
// See the [retry plugin configuration](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/http/http_connection_management#retry-plugin-configuration) for more details.
- RetryRemoteLocalities *types.BoolValue `protobuf:"bytes,4,opt,name=retry_remote_localities,json=retryRemoteLocalities,proto3" json:"retry_remote_localities,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ RetryRemoteLocalities *wrappers.BoolValue `protobuf:"bytes,4,opt,name=retry_remote_localities,json=retryRemoteLocalities,proto3" json:"retry_remote_localities,omitempty"`
}
-func (m *HTTPRetry) Reset() { *m = HTTPRetry{} }
-func (m *HTTPRetry) String() string { return proto.CompactTextString(m) }
-func (*HTTPRetry) ProtoMessage() {}
-func (*HTTPRetry) Descriptor() ([]byte, []int) {
- return fileDescriptor_e85a9a4fa9c17a22, []int{15}
-}
-func (m *HTTPRetry) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *HTTPRetry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_HTTPRetry.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *HTTPRetry) Reset() {
+ *x = HTTPRetry{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[15]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *HTTPRetry) XXX_Merge(src proto.Message) {
- xxx_messageInfo_HTTPRetry.Merge(m, src)
-}
-func (m *HTTPRetry) XXX_Size() int {
- return m.Size()
+
+func (x *HTTPRetry) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *HTTPRetry) XXX_DiscardUnknown() {
- xxx_messageInfo_HTTPRetry.DiscardUnknown(m)
+
+func (*HTTPRetry) ProtoMessage() {}
+
+func (x *HTTPRetry) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[15]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_HTTPRetry proto.InternalMessageInfo
+// Deprecated: Use HTTPRetry.ProtoReflect.Descriptor instead.
+func (*HTTPRetry) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_virtual_service_proto_rawDescGZIP(), []int{15}
+}
-func (m *HTTPRetry) GetAttempts() int32 {
- if m != nil {
- return m.Attempts
+func (x *HTTPRetry) GetAttempts() int32 {
+ if x != nil {
+ return x.Attempts
}
return 0
}
-func (m *HTTPRetry) GetPerTryTimeout() *types.Duration {
- if m != nil {
- return m.PerTryTimeout
+func (x *HTTPRetry) GetPerTryTimeout() *duration.Duration {
+ if x != nil {
+ return x.PerTryTimeout
}
return nil
}
-func (m *HTTPRetry) GetRetryOn() string {
- if m != nil {
- return m.RetryOn
+func (x *HTTPRetry) GetRetryOn() string {
+ if x != nil {
+ return x.RetryOn
}
return ""
}
-func (m *HTTPRetry) GetRetryRemoteLocalities() *types.BoolValue {
- if m != nil {
- return m.RetryRemoteLocalities
+func (x *HTTPRetry) GetRetryRemoteLocalities() *wrappers.BoolValue {
+ if x != nil {
+ return x.RetryRemoteLocalities
}
return nil
}
@@ -2826,11 +2790,17 @@ func (m *HTTPRetry) GetRetryRemoteLocalities() *types.BoolValue {
// {{}}
//
type CorsPolicy struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// The list of origins that are allowed to perform CORS requests. The
// content will be serialized into the Access-Control-Allow-Origin
// header. Wildcard * will allow all origins.
// $hide_from_docs
- AllowOrigin []string `protobuf:"bytes,1,rep,name=allow_origin,json=allowOrigin,proto3" json:"allow_origin,omitempty"` // Deprecated: Do not use.
+ //
+ // Deprecated: Do not use.
+ AllowOrigin []string `protobuf:"bytes,1,rep,name=allow_origin,json=allowOrigin,proto3" json:"allow_origin,omitempty"`
// String patterns that match allowed origins.
// An origin is allowed if any of the string matchers match.
// If a match is found, then the outgoing Access-Control-Allow-Origin would be set to the origin as provided by the client.
@@ -2846,95 +2816,91 @@ type CorsPolicy struct {
ExposeHeaders []string `protobuf:"bytes,4,rep,name=expose_headers,json=exposeHeaders,proto3" json:"expose_headers,omitempty"`
// Specifies how long the results of a preflight request can be
// cached. Translates to the `Access-Control-Max-Age` header.
- MaxAge *types.Duration `protobuf:"bytes,5,opt,name=max_age,json=maxAge,proto3" json:"max_age,omitempty"`
+ MaxAge *duration.Duration `protobuf:"bytes,5,opt,name=max_age,json=maxAge,proto3" json:"max_age,omitempty"`
// Indicates whether the caller is allowed to send the actual request
// (not the preflight) using credentials. Translates to
// `Access-Control-Allow-Credentials` header.
- AllowCredentials *types.BoolValue `protobuf:"bytes,6,opt,name=allow_credentials,json=allowCredentials,proto3" json:"allow_credentials,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ AllowCredentials *wrappers.BoolValue `protobuf:"bytes,6,opt,name=allow_credentials,json=allowCredentials,proto3" json:"allow_credentials,omitempty"`
}
-func (m *CorsPolicy) Reset() { *m = CorsPolicy{} }
-func (m *CorsPolicy) String() string { return proto.CompactTextString(m) }
-func (*CorsPolicy) ProtoMessage() {}
-func (*CorsPolicy) Descriptor() ([]byte, []int) {
- return fileDescriptor_e85a9a4fa9c17a22, []int{16}
-}
-func (m *CorsPolicy) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *CorsPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_CorsPolicy.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *CorsPolicy) Reset() {
+ *x = CorsPolicy{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[16]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *CorsPolicy) XXX_Merge(src proto.Message) {
- xxx_messageInfo_CorsPolicy.Merge(m, src)
-}
-func (m *CorsPolicy) XXX_Size() int {
- return m.Size()
+
+func (x *CorsPolicy) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *CorsPolicy) XXX_DiscardUnknown() {
- xxx_messageInfo_CorsPolicy.DiscardUnknown(m)
+
+func (*CorsPolicy) ProtoMessage() {}
+
+func (x *CorsPolicy) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[16]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_CorsPolicy proto.InternalMessageInfo
+// Deprecated: Use CorsPolicy.ProtoReflect.Descriptor instead.
+func (*CorsPolicy) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_virtual_service_proto_rawDescGZIP(), []int{16}
+}
// Deprecated: Do not use.
-func (m *CorsPolicy) GetAllowOrigin() []string {
- if m != nil {
- return m.AllowOrigin
+func (x *CorsPolicy) GetAllowOrigin() []string {
+ if x != nil {
+ return x.AllowOrigin
}
return nil
}
-func (m *CorsPolicy) GetAllowOrigins() []*StringMatch {
- if m != nil {
- return m.AllowOrigins
+func (x *CorsPolicy) GetAllowOrigins() []*StringMatch {
+ if x != nil {
+ return x.AllowOrigins
}
return nil
}
-func (m *CorsPolicy) GetAllowMethods() []string {
- if m != nil {
- return m.AllowMethods
+func (x *CorsPolicy) GetAllowMethods() []string {
+ if x != nil {
+ return x.AllowMethods
}
return nil
}
-func (m *CorsPolicy) GetAllowHeaders() []string {
- if m != nil {
- return m.AllowHeaders
+func (x *CorsPolicy) GetAllowHeaders() []string {
+ if x != nil {
+ return x.AllowHeaders
}
return nil
}
-func (m *CorsPolicy) GetExposeHeaders() []string {
- if m != nil {
- return m.ExposeHeaders
+func (x *CorsPolicy) GetExposeHeaders() []string {
+ if x != nil {
+ return x.ExposeHeaders
}
return nil
}
-func (m *CorsPolicy) GetMaxAge() *types.Duration {
- if m != nil {
- return m.MaxAge
+func (x *CorsPolicy) GetMaxAge() *duration.Duration {
+ if x != nil {
+ return x.MaxAge
}
return nil
}
-func (m *CorsPolicy) GetAllowCredentials() *types.BoolValue {
- if m != nil {
- return m.AllowCredentials
+func (x *CorsPolicy) GetAllowCredentials() *wrappers.BoolValue {
+ if x != nil {
+ return x.AllowCredentials
}
return nil
}
@@ -2948,60 +2914,226 @@ func (m *CorsPolicy) GetAllowCredentials() *types.BoolValue {
// *Note:* Delay and abort faults are independent of one another, even if
// both are specified simultaneously.
type HTTPFaultInjection struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Delay requests before forwarding, emulating various failures such as
// network issues, overloaded upstream service, etc.
Delay *HTTPFaultInjection_Delay `protobuf:"bytes,1,opt,name=delay,proto3" json:"delay,omitempty"`
// Abort Http request attempts and return error codes back to downstream
// service, giving the impression that the upstream service is faulty.
- Abort *HTTPFaultInjection_Abort `protobuf:"bytes,2,opt,name=abort,proto3" json:"abort,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Abort *HTTPFaultInjection_Abort `protobuf:"bytes,2,opt,name=abort,proto3" json:"abort,omitempty"`
+}
+
+func (x *HTTPFaultInjection) Reset() {
+ *x = HTTPFaultInjection{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[17]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HTTPFaultInjection) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HTTPFaultInjection) ProtoMessage() {}
+
+func (x *HTTPFaultInjection) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[17]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-func (m *HTTPFaultInjection) Reset() { *m = HTTPFaultInjection{} }
-func (m *HTTPFaultInjection) String() string { return proto.CompactTextString(m) }
-func (*HTTPFaultInjection) ProtoMessage() {}
+// Deprecated: Use HTTPFaultInjection.ProtoReflect.Descriptor instead.
func (*HTTPFaultInjection) Descriptor() ([]byte, []int) {
- return fileDescriptor_e85a9a4fa9c17a22, []int{17}
-}
-func (m *HTTPFaultInjection) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *HTTPFaultInjection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_HTTPFaultInjection.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
+ return file_networking_v1alpha3_virtual_service_proto_rawDescGZIP(), []int{17}
+}
+
+func (x *HTTPFaultInjection) GetDelay() *HTTPFaultInjection_Delay {
+ if x != nil {
+ return x.Delay
+ }
+ return nil
+}
+
+func (x *HTTPFaultInjection) GetAbort() *HTTPFaultInjection_Abort {
+ if x != nil {
+ return x.Abort
+ }
+ return nil
+}
+
+// PortSelector specifies the number of a port to be used for
+// matching or selection for final routing.
+type PortSelector struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Valid port number
+ Number uint32 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"`
+}
+
+func (x *PortSelector) Reset() {
+ *x = PortSelector{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[18]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PortSelector) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PortSelector) ProtoMessage() {}
+
+func (x *PortSelector) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[18]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- return b[:n], nil
+ return ms
}
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PortSelector.ProtoReflect.Descriptor instead.
+func (*PortSelector) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_virtual_service_proto_rawDescGZIP(), []int{18}
}
-func (m *HTTPFaultInjection) XXX_Merge(src proto.Message) {
- xxx_messageInfo_HTTPFaultInjection.Merge(m, src)
+
+func (x *PortSelector) GetNumber() uint32 {
+ if x != nil {
+ return x.Number
+ }
+ return 0
}
-func (m *HTTPFaultInjection) XXX_Size() int {
- return m.Size()
+
+// Percent specifies a percentage in the range of [0.0, 100.0].
+type Percent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"`
}
-func (m *HTTPFaultInjection) XXX_DiscardUnknown() {
- xxx_messageInfo_HTTPFaultInjection.DiscardUnknown(m)
+
+func (x *Percent) Reset() {
+ *x = Percent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[19]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
}
-var xxx_messageInfo_HTTPFaultInjection proto.InternalMessageInfo
+func (x *Percent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
-func (m *HTTPFaultInjection) GetDelay() *HTTPFaultInjection_Delay {
- if m != nil {
- return m.Delay
+func (*Percent) ProtoMessage() {}
+
+func (x *Percent) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[19]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Percent.ProtoReflect.Descriptor instead.
+func (*Percent) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_virtual_service_proto_rawDescGZIP(), []int{19}
+}
+
+func (x *Percent) GetValue() float64 {
+ if x != nil {
+ return x.Value
+ }
+ return 0
+}
+
+// HeaderOperations Describes the header manipulations to apply
+type Headers_HeaderOperations struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Overwrite the headers specified by key with the given values
+ Set map[string]string `protobuf:"bytes,1,rep,name=set,proto3" json:"set,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ // Append the given values to the headers specified by keys
+ // (will create a comma-separated list of values)
+ Add map[string]string `protobuf:"bytes,2,rep,name=add,proto3" json:"add,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ // Remove the specified headers
+ Remove []string `protobuf:"bytes,3,rep,name=remove,proto3" json:"remove,omitempty"`
+}
+
+func (x *Headers_HeaderOperations) Reset() {
+ *x = Headers_HeaderOperations{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[20]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Headers_HeaderOperations) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Headers_HeaderOperations) ProtoMessage() {}
+
+func (x *Headers_HeaderOperations) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[20]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Headers_HeaderOperations.ProtoReflect.Descriptor instead.
+func (*Headers_HeaderOperations) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_virtual_service_proto_rawDescGZIP(), []int{4, 0}
+}
+
+func (x *Headers_HeaderOperations) GetSet() map[string]string {
+ if x != nil {
+ return x.Set
}
return nil
}
-func (m *HTTPFaultInjection) GetAbort() *HTTPFaultInjection_Abort {
- if m != nil {
- return m.Abort
+func (x *Headers_HeaderOperations) GetAdd() map[string]string {
+ if x != nil {
+ return x.Add
+ }
+ return nil
+}
+
+func (x *Headers_HeaderOperations) GetRemove() []string {
+ if x != nil {
+ return x.Remove
}
return nil
}
@@ -3067,69 +3199,63 @@ func (m *HTTPFaultInjection) GetAbort() *HTTPFaultInjection_Abort {
// The optional _percentage_ field can be used to only delay a certain
// percentage of requests. If left unspecified, all request will be delayed.
type HTTPFaultInjection_Delay struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Percentage of requests on which the delay will be injected (0-100).
// Use of integer `percent` value is deprecated. Use the double `percentage`
// field instead.
- Percent int32 `protobuf:"varint,1,opt,name=percent,proto3" json:"percent,omitempty"` // Deprecated: Do not use.
- // Types that are valid to be assigned to HttpDelayType:
+ //
+ // Deprecated: Do not use.
+ Percent int32 `protobuf:"varint,1,opt,name=percent,proto3" json:"percent,omitempty"`
+ // Types that are assignable to HttpDelayType:
// *HTTPFaultInjection_Delay_FixedDelay
// *HTTPFaultInjection_Delay_ExponentialDelay
HttpDelayType isHTTPFaultInjection_Delay_HttpDelayType `protobuf_oneof:"http_delay_type"`
// Percentage of requests on which the delay will be injected.
- Percentage *Percent `protobuf:"bytes,5,opt,name=percentage,proto3" json:"percentage,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Percentage *Percent `protobuf:"bytes,5,opt,name=percentage,proto3" json:"percentage,omitempty"`
}
-func (m *HTTPFaultInjection_Delay) Reset() { *m = HTTPFaultInjection_Delay{} }
-func (m *HTTPFaultInjection_Delay) String() string { return proto.CompactTextString(m) }
-func (*HTTPFaultInjection_Delay) ProtoMessage() {}
-func (*HTTPFaultInjection_Delay) Descriptor() ([]byte, []int) {
- return fileDescriptor_e85a9a4fa9c17a22, []int{17, 0}
-}
-func (m *HTTPFaultInjection_Delay) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *HTTPFaultInjection_Delay) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_HTTPFaultInjection_Delay.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *HTTPFaultInjection_Delay) Reset() {
+ *x = HTTPFaultInjection_Delay{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[29]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *HTTPFaultInjection_Delay) XXX_Merge(src proto.Message) {
- xxx_messageInfo_HTTPFaultInjection_Delay.Merge(m, src)
-}
-func (m *HTTPFaultInjection_Delay) XXX_Size() int {
- return m.Size()
-}
-func (m *HTTPFaultInjection_Delay) XXX_DiscardUnknown() {
- xxx_messageInfo_HTTPFaultInjection_Delay.DiscardUnknown(m)
+
+func (x *HTTPFaultInjection_Delay) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-var xxx_messageInfo_HTTPFaultInjection_Delay proto.InternalMessageInfo
+func (*HTTPFaultInjection_Delay) ProtoMessage() {}
-type isHTTPFaultInjection_Delay_HttpDelayType interface {
- isHTTPFaultInjection_Delay_HttpDelayType()
- MarshalTo([]byte) (int, error)
- Size() int
+func (x *HTTPFaultInjection_Delay) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[29]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-type HTTPFaultInjection_Delay_FixedDelay struct {
- FixedDelay *types.Duration `protobuf:"bytes,2,opt,name=fixed_delay,json=fixedDelay,proto3,oneof" json:"fixed_delay,omitempty"`
-}
-type HTTPFaultInjection_Delay_ExponentialDelay struct {
- ExponentialDelay *types.Duration `protobuf:"bytes,3,opt,name=exponential_delay,json=exponentialDelay,proto3,oneof" json:"exponential_delay,omitempty"`
+// Deprecated: Use HTTPFaultInjection_Delay.ProtoReflect.Descriptor instead.
+func (*HTTPFaultInjection_Delay) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_virtual_service_proto_rawDescGZIP(), []int{17, 0}
}
-func (*HTTPFaultInjection_Delay_FixedDelay) isHTTPFaultInjection_Delay_HttpDelayType() {}
-func (*HTTPFaultInjection_Delay_ExponentialDelay) isHTTPFaultInjection_Delay_HttpDelayType() {}
+// Deprecated: Do not use.
+func (x *HTTPFaultInjection_Delay) GetPercent() int32 {
+ if x != nil {
+ return x.Percent
+ }
+ return 0
+}
func (m *HTTPFaultInjection_Delay) GetHttpDelayType() isHTTPFaultInjection_Delay_HttpDelayType {
if m != nil {
@@ -3138,43 +3264,46 @@ func (m *HTTPFaultInjection_Delay) GetHttpDelayType() isHTTPFaultInjection_Delay
return nil
}
-// Deprecated: Do not use.
-func (m *HTTPFaultInjection_Delay) GetPercent() int32 {
- if m != nil {
- return m.Percent
- }
- return 0
-}
-
-func (m *HTTPFaultInjection_Delay) GetFixedDelay() *types.Duration {
- if x, ok := m.GetHttpDelayType().(*HTTPFaultInjection_Delay_FixedDelay); ok {
+func (x *HTTPFaultInjection_Delay) GetFixedDelay() *duration.Duration {
+ if x, ok := x.GetHttpDelayType().(*HTTPFaultInjection_Delay_FixedDelay); ok {
return x.FixedDelay
}
return nil
}
-func (m *HTTPFaultInjection_Delay) GetExponentialDelay() *types.Duration {
- if x, ok := m.GetHttpDelayType().(*HTTPFaultInjection_Delay_ExponentialDelay); ok {
+func (x *HTTPFaultInjection_Delay) GetExponentialDelay() *duration.Duration {
+ if x, ok := x.GetHttpDelayType().(*HTTPFaultInjection_Delay_ExponentialDelay); ok {
return x.ExponentialDelay
}
return nil
}
-func (m *HTTPFaultInjection_Delay) GetPercentage() *Percent {
- if m != nil {
- return m.Percentage
+func (x *HTTPFaultInjection_Delay) GetPercentage() *Percent {
+ if x != nil {
+ return x.Percentage
}
return nil
}
-// XXX_OneofWrappers is for the internal use of the proto package.
-func (*HTTPFaultInjection_Delay) XXX_OneofWrappers() []interface{} {
- return []interface{}{
- (*HTTPFaultInjection_Delay_FixedDelay)(nil),
- (*HTTPFaultInjection_Delay_ExponentialDelay)(nil),
- }
+type isHTTPFaultInjection_Delay_HttpDelayType interface {
+ isHTTPFaultInjection_Delay_HttpDelayType()
+}
+
+type HTTPFaultInjection_Delay_FixedDelay struct {
+ // Add a fixed delay before forwarding the request. Format:
+ // 1h/1m/1s/1ms. MUST be >=1ms.
+ FixedDelay *duration.Duration `protobuf:"bytes,2,opt,name=fixed_delay,json=fixedDelay,proto3,oneof"`
+}
+
+type HTTPFaultInjection_Delay_ExponentialDelay struct {
+ // $hide_from_docs
+ ExponentialDelay *duration.Duration `protobuf:"bytes,3,opt,name=exponential_delay,json=exponentialDelay,proto3,oneof"`
}
+func (*HTTPFaultInjection_Delay_FixedDelay) isHTTPFaultInjection_Delay_HttpDelayType() {}
+
+func (*HTTPFaultInjection_Delay_ExponentialDelay) isHTTPFaultInjection_Delay_HttpDelayType() {}
+
// Abort specification is used to prematurely abort a request with a
// pre-specified error code. The following example will return an HTTP 400
// error code for 1 out of every 1000 requests to the "ratings" service "v1".
@@ -3230,70 +3359,50 @@ func (*HTTPFaultInjection_Delay) XXX_OneofWrappers() []interface{} {
// abort a certain percentage of requests. If not specified, all requests are
// aborted.
type HTTPFaultInjection_Abort struct {
- // Types that are valid to be assigned to ErrorType:
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Types that are assignable to ErrorType:
// *HTTPFaultInjection_Abort_HttpStatus
// *HTTPFaultInjection_Abort_GrpcStatus
// *HTTPFaultInjection_Abort_Http2Error
ErrorType isHTTPFaultInjection_Abort_ErrorType `protobuf_oneof:"error_type"`
// Percentage of requests to be aborted with the error code provided.
- Percentage *Percent `protobuf:"bytes,5,opt,name=percentage,proto3" json:"percentage,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Percentage *Percent `protobuf:"bytes,5,opt,name=percentage,proto3" json:"percentage,omitempty"`
}
-func (m *HTTPFaultInjection_Abort) Reset() { *m = HTTPFaultInjection_Abort{} }
-func (m *HTTPFaultInjection_Abort) String() string { return proto.CompactTextString(m) }
-func (*HTTPFaultInjection_Abort) ProtoMessage() {}
-func (*HTTPFaultInjection_Abort) Descriptor() ([]byte, []int) {
- return fileDescriptor_e85a9a4fa9c17a22, []int{17, 1}
-}
-func (m *HTTPFaultInjection_Abort) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *HTTPFaultInjection_Abort) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_HTTPFaultInjection_Abort.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *HTTPFaultInjection_Abort) Reset() {
+ *x = HTTPFaultInjection_Abort{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[30]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *HTTPFaultInjection_Abort) XXX_Merge(src proto.Message) {
- xxx_messageInfo_HTTPFaultInjection_Abort.Merge(m, src)
-}
-func (m *HTTPFaultInjection_Abort) XXX_Size() int {
- return m.Size()
-}
-func (m *HTTPFaultInjection_Abort) XXX_DiscardUnknown() {
- xxx_messageInfo_HTTPFaultInjection_Abort.DiscardUnknown(m)
+
+func (x *HTTPFaultInjection_Abort) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-var xxx_messageInfo_HTTPFaultInjection_Abort proto.InternalMessageInfo
+func (*HTTPFaultInjection_Abort) ProtoMessage() {}
-type isHTTPFaultInjection_Abort_ErrorType interface {
- isHTTPFaultInjection_Abort_ErrorType()
- MarshalTo([]byte) (int, error)
- Size() int
+func (x *HTTPFaultInjection_Abort) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_virtual_service_proto_msgTypes[30]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-type HTTPFaultInjection_Abort_HttpStatus struct {
- HttpStatus int32 `protobuf:"varint,2,opt,name=http_status,json=httpStatus,proto3,oneof" json:"http_status,omitempty"`
+// Deprecated: Use HTTPFaultInjection_Abort.ProtoReflect.Descriptor instead.
+func (*HTTPFaultInjection_Abort) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_virtual_service_proto_rawDescGZIP(), []int{17, 1}
}
-type HTTPFaultInjection_Abort_GrpcStatus struct {
- GrpcStatus string `protobuf:"bytes,3,opt,name=grpc_status,json=grpcStatus,proto3,oneof" json:"grpc_status,omitempty"`
-}
-type HTTPFaultInjection_Abort_Http2Error struct {
- Http2Error string `protobuf:"bytes,4,opt,name=http2_error,json=http2Error,proto3,oneof" json:"http2_error,omitempty"`
-}
-
-func (*HTTPFaultInjection_Abort_HttpStatus) isHTTPFaultInjection_Abort_ErrorType() {}
-func (*HTTPFaultInjection_Abort_GrpcStatus) isHTTPFaultInjection_Abort_ErrorType() {}
-func (*HTTPFaultInjection_Abort_Http2Error) isHTTPFaultInjection_Abort_ErrorType() {}
func (m *HTTPFaultInjection_Abort) GetErrorType() isHTTPFaultInjection_Abort_ErrorType {
if m != nil {
@@ -3302,8045 +3411,914 @@ func (m *HTTPFaultInjection_Abort) GetErrorType() isHTTPFaultInjection_Abort_Err
return nil
}
-func (m *HTTPFaultInjection_Abort) GetHttpStatus() int32 {
- if x, ok := m.GetErrorType().(*HTTPFaultInjection_Abort_HttpStatus); ok {
+func (x *HTTPFaultInjection_Abort) GetHttpStatus() int32 {
+ if x, ok := x.GetErrorType().(*HTTPFaultInjection_Abort_HttpStatus); ok {
return x.HttpStatus
}
return 0
}
-func (m *HTTPFaultInjection_Abort) GetGrpcStatus() string {
- if x, ok := m.GetErrorType().(*HTTPFaultInjection_Abort_GrpcStatus); ok {
+func (x *HTTPFaultInjection_Abort) GetGrpcStatus() string {
+ if x, ok := x.GetErrorType().(*HTTPFaultInjection_Abort_GrpcStatus); ok {
return x.GrpcStatus
}
return ""
}
-func (m *HTTPFaultInjection_Abort) GetHttp2Error() string {
- if x, ok := m.GetErrorType().(*HTTPFaultInjection_Abort_Http2Error); ok {
+func (x *HTTPFaultInjection_Abort) GetHttp2Error() string {
+ if x, ok := x.GetErrorType().(*HTTPFaultInjection_Abort_Http2Error); ok {
return x.Http2Error
}
return ""
}
-func (m *HTTPFaultInjection_Abort) GetPercentage() *Percent {
- if m != nil {
- return m.Percentage
+func (x *HTTPFaultInjection_Abort) GetPercentage() *Percent {
+ if x != nil {
+ return x.Percentage
}
return nil
}
-// XXX_OneofWrappers is for the internal use of the proto package.
-func (*HTTPFaultInjection_Abort) XXX_OneofWrappers() []interface{} {
- return []interface{}{
- (*HTTPFaultInjection_Abort_HttpStatus)(nil),
- (*HTTPFaultInjection_Abort_GrpcStatus)(nil),
- (*HTTPFaultInjection_Abort_Http2Error)(nil),
- }
-}
-
-// PortSelector specifies the number of a port to be used for
-// matching or selection for final routing.
-type PortSelector struct {
- // Valid port number
- Number uint32 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *PortSelector) Reset() { *m = PortSelector{} }
-func (m *PortSelector) String() string { return proto.CompactTextString(m) }
-func (*PortSelector) ProtoMessage() {}
-func (*PortSelector) Descriptor() ([]byte, []int) {
- return fileDescriptor_e85a9a4fa9c17a22, []int{18}
-}
-func (m *PortSelector) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *PortSelector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_PortSelector.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *PortSelector) XXX_Merge(src proto.Message) {
- xxx_messageInfo_PortSelector.Merge(m, src)
-}
-func (m *PortSelector) XXX_Size() int {
- return m.Size()
-}
-func (m *PortSelector) XXX_DiscardUnknown() {
- xxx_messageInfo_PortSelector.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_PortSelector proto.InternalMessageInfo
-
-func (m *PortSelector) GetNumber() uint32 {
- if m != nil {
- return m.Number
- }
- return 0
-}
-
-// Percent specifies a percentage in the range of [0.0, 100.0].
-type Percent struct {
- Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Percent) Reset() { *m = Percent{} }
-func (m *Percent) String() string { return proto.CompactTextString(m) }
-func (*Percent) ProtoMessage() {}
-func (*Percent) Descriptor() ([]byte, []int) {
- return fileDescriptor_e85a9a4fa9c17a22, []int{19}
-}
-func (m *Percent) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *Percent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Percent.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *Percent) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Percent.Merge(m, src)
-}
-func (m *Percent) XXX_Size() int {
- return m.Size()
-}
-func (m *Percent) XXX_DiscardUnknown() {
- xxx_messageInfo_Percent.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Percent proto.InternalMessageInfo
-
-func (m *Percent) GetValue() float64 {
- if m != nil {
- return m.Value
- }
- return 0
-}
-
-func init() {
- proto.RegisterEnum("istio.networking.v1alpha3.HTTPRedirect_RedirectPortSelection", HTTPRedirect_RedirectPortSelection_name, HTTPRedirect_RedirectPortSelection_value)
- proto.RegisterType((*VirtualService)(nil), "istio.networking.v1alpha3.VirtualService")
- proto.RegisterType((*Destination)(nil), "istio.networking.v1alpha3.Destination")
- proto.RegisterType((*HTTPRoute)(nil), "istio.networking.v1alpha3.HTTPRoute")
- proto.RegisterType((*Delegate)(nil), "istio.networking.v1alpha3.Delegate")
- proto.RegisterType((*Headers)(nil), "istio.networking.v1alpha3.Headers")
- proto.RegisterType((*Headers_HeaderOperations)(nil), "istio.networking.v1alpha3.Headers.HeaderOperations")
- proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.Headers.HeaderOperations.AddEntry")
- proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.Headers.HeaderOperations.SetEntry")
- proto.RegisterType((*TLSRoute)(nil), "istio.networking.v1alpha3.TLSRoute")
- proto.RegisterType((*TCPRoute)(nil), "istio.networking.v1alpha3.TCPRoute")
- proto.RegisterType((*HTTPMatchRequest)(nil), "istio.networking.v1alpha3.HTTPMatchRequest")
- proto.RegisterMapType((map[string]*StringMatch)(nil), "istio.networking.v1alpha3.HTTPMatchRequest.HeadersEntry")
- proto.RegisterMapType((map[string]*StringMatch)(nil), "istio.networking.v1alpha3.HTTPMatchRequest.QueryParamsEntry")
- proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.HTTPMatchRequest.SourceLabelsEntry")
- proto.RegisterMapType((map[string]*StringMatch)(nil), "istio.networking.v1alpha3.HTTPMatchRequest.WithoutHeadersEntry")
- proto.RegisterType((*HTTPRouteDestination)(nil), "istio.networking.v1alpha3.HTTPRouteDestination")
- proto.RegisterType((*RouteDestination)(nil), "istio.networking.v1alpha3.RouteDestination")
- proto.RegisterType((*L4MatchAttributes)(nil), "istio.networking.v1alpha3.L4MatchAttributes")
- proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.L4MatchAttributes.SourceLabelsEntry")
- proto.RegisterType((*TLSMatchAttributes)(nil), "istio.networking.v1alpha3.TLSMatchAttributes")
- proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.TLSMatchAttributes.SourceLabelsEntry")
- proto.RegisterType((*HTTPRedirect)(nil), "istio.networking.v1alpha3.HTTPRedirect")
- proto.RegisterType((*HTTPRewrite)(nil), "istio.networking.v1alpha3.HTTPRewrite")
- proto.RegisterType((*StringMatch)(nil), "istio.networking.v1alpha3.StringMatch")
- proto.RegisterType((*HTTPRetry)(nil), "istio.networking.v1alpha3.HTTPRetry")
- proto.RegisterType((*CorsPolicy)(nil), "istio.networking.v1alpha3.CorsPolicy")
- proto.RegisterType((*HTTPFaultInjection)(nil), "istio.networking.v1alpha3.HTTPFaultInjection")
- proto.RegisterType((*HTTPFaultInjection_Delay)(nil), "istio.networking.v1alpha3.HTTPFaultInjection.Delay")
- proto.RegisterType((*HTTPFaultInjection_Abort)(nil), "istio.networking.v1alpha3.HTTPFaultInjection.Abort")
- proto.RegisterType((*PortSelector)(nil), "istio.networking.v1alpha3.PortSelector")
- proto.RegisterType((*Percent)(nil), "istio.networking.v1alpha3.Percent")
-}
-
-func init() {
- proto.RegisterFile("networking/v1alpha3/virtual_service.proto", fileDescriptor_e85a9a4fa9c17a22)
-}
-
-var fileDescriptor_e85a9a4fa9c17a22 = []byte{
- // 2099 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0x4b, 0x77, 0x1b, 0x49,
- 0xf5, 0x77, 0xeb, 0xad, 0x2b, 0xc9, 0x96, 0x2b, 0x8f, 0xe9, 0xf8, 0x9f, 0x93, 0xf1, 0x28, 0xff,
- 0xcc, 0x78, 0x0e, 0x8c, 0x7c, 0x70, 0x80, 0x93, 0x03, 0x99, 0x04, 0xbf, 0x32, 0x4e, 0x70, 0x22,
- 0x4f, 0x59, 0x19, 0xce, 0x61, 0xd3, 0xb4, 0xba, 0xaf, 0xa5, 0x26, 0x52, 0x77, 0xa7, 0xba, 0xda,
- 0xb6, 0x38, 0xec, 0x39, 0x87, 0xdd, 0xec, 0x58, 0xb0, 0x9c, 0x4f, 0xc1, 0x27, 0x60, 0x07, 0x3b,
- 0x96, 0x70, 0xb2, 0x60, 0xc1, 0x82, 0xaf, 0x00, 0xa7, 0x1e, 0x2d, 0xb5, 0x6c, 0x47, 0x8f, 0x30,
- 0x81, 0x95, 0x55, 0x55, 0xf7, 0xf7, 0xab, 0xaa, 0x7b, 0xeb, 0x3e, 0xfa, 0x1a, 0x3e, 0xf5, 0x91,
- 0x9f, 0x05, 0xec, 0x95, 0xe7, 0x77, 0x37, 0x4f, 0xbf, 0x67, 0xf7, 0xc3, 0x9e, 0x7d, 0x7f, 0xf3,
- 0xd4, 0x63, 0x3c, 0xb6, 0xfb, 0x56, 0x84, 0xec, 0xd4, 0x73, 0xb0, 0x19, 0xb2, 0x80, 0x07, 0xe4,
- 0x96, 0x17, 0x71, 0x2f, 0x68, 0x8e, 0x01, 0xcd, 0x04, 0xb0, 0xf6, 0x61, 0x37, 0x08, 0xba, 0x7d,
- 0xdc, 0xb4, 0x43, 0x6f, 0xf3, 0xc4, 0xc3, 0xbe, 0x6b, 0x75, 0xb0, 0x67, 0x9f, 0x7a, 0x01, 0x53,
- 0xd8, 0xb5, 0x3b, 0x5a, 0x40, 0x8e, 0x3a, 0xf1, 0xc9, 0xa6, 0x1b, 0x33, 0x9b, 0x7b, 0x81, 0xff,
- 0xb6, 0xf5, 0x33, 0x66, 0x87, 0x21, 0xb2, 0x48, 0xad, 0x37, 0x7e, 0x93, 0x81, 0xe5, 0xaf, 0xd4,
- 0xa9, 0x8e, 0xd5, 0xa1, 0xc8, 0x75, 0xc8, 0xf7, 0x82, 0x88, 0x47, 0xa6, 0xb1, 0x9e, 0xdd, 0x28,
- 0x53, 0x35, 0x20, 0x6b, 0x50, 0xea, 0xda, 0x1c, 0xcf, 0xec, 0x61, 0x64, 0x66, 0xe4, 0xc2, 0x68,
- 0x4c, 0x1e, 0x40, 0xae, 0xc7, 0x79, 0x68, 0x66, 0xd7, 0xb3, 0x1b, 0x95, 0xad, 0xff, 0x6f, 0xbe,
- 0xf5, 0x3e, 0xcd, 0x83, 0x76, 0xfb, 0x88, 0x06, 0x31, 0x47, 0x2a, 0x11, 0xe4, 0x07, 0x90, 0xe5,
- 0xfd, 0xc8, 0xcc, 0x4b, 0xe0, 0xdd, 0x29, 0xc0, 0xf6, 0xe1, 0xb1, 0xc2, 0x09, 0x79, 0x09, 0x73,
- 0x42, 0x33, 0x37, 0x1b, 0xb6, 0x7b, 0x94, 0xc0, 0x9c, 0x90, 0xfc, 0x1f, 0x94, 0xf1, 0x3c, 0x0c,
- 0x18, 0xb7, 0x78, 0x60, 0x16, 0xd4, 0x25, 0xd4, 0x44, 0x3b, 0x68, 0xfc, 0x1a, 0x2a, 0x7b, 0x18,
- 0x71, 0xcf, 0x97, 0xea, 0x23, 0x26, 0xe4, 0xc4, 0xc5, 0x4d, 0x63, 0xdd, 0xd8, 0x28, 0xef, 0xe4,
- 0xde, 0x6c, 0x1b, 0x19, 0x2a, 0x67, 0xc8, 0x4d, 0x28, 0x44, 0x71, 0x27, 0x42, 0x6e, 0x66, 0xc4,
- 0x1a, 0xd5, 0x23, 0xf2, 0x63, 0xc8, 0x09, 0x2a, 0x33, 0xbb, 0x6e, 0x6c, 0x54, 0xb6, 0x3e, 0x99,
- 0x72, 0xaa, 0xa3, 0x80, 0xf1, 0x63, 0xec, 0xa3, 0xc3, 0x03, 0x46, 0x25, 0xa8, 0xf1, 0xfb, 0x12,
- 0x94, 0x47, 0xca, 0x21, 0x04, 0x72, 0xbe, 0x3d, 0x40, 0x73, 0x55, 0x6e, 0x20, 0x7f, 0x93, 0x6d,
- 0xc8, 0x0f, 0x6c, 0xee, 0xf4, 0xa4, 0x59, 0x2a, 0x5b, 0xdf, 0x99, 0xa1, 0xe5, 0xe7, 0x42, 0x96,
- 0xe2, 0xeb, 0x18, 0x23, 0x4e, 0x15, 0x92, 0xec, 0x43, 0x9e, 0x09, 0x7e, 0x69, 0xc0, 0xca, 0xd6,
- 0xe6, 0x3c, 0x86, 0x4a, 0xe9, 0x84, 0x2a, 0x34, 0xd9, 0x85, 0x12, 0x43, 0xd7, 0x63, 0xe8, 0xcc,
- 0x73, 0x59, 0xc9, 0xa4, 0xc5, 0xe9, 0x08, 0x48, 0x1e, 0x43, 0xc9, 0xc5, 0x3e, 0x8a, 0x37, 0x64,
- 0x5e, 0x97, 0x24, 0xd3, 0xec, 0xb8, 0xa7, 0x45, 0xe9, 0x08, 0x44, 0x7e, 0x02, 0x45, 0x86, 0x67,
- 0xcc, 0xe3, 0x68, 0xe6, 0x24, 0xfe, 0xe3, 0x99, 0x87, 0x90, 0xd2, 0x34, 0x81, 0x91, 0xfb, 0x50,
- 0xe4, 0xde, 0x00, 0x83, 0x98, 0x9b, 0x05, 0xc9, 0x70, 0xab, 0xa9, 0xbc, 0xa5, 0x99, 0x78, 0x4b,
- 0x73, 0x4f, 0x7b, 0x13, 0x4d, 0x24, 0xc9, 0x23, 0xb1, 0x2d, 0x67, 0x1e, 0x46, 0x66, 0x51, 0x82,
- 0x66, 0x3e, 0x77, 0xe4, 0x6c, 0x48, 0x13, 0x10, 0xd9, 0x85, 0xfc, 0x89, 0x1d, 0xf7, 0xb9, 0x59,
- 0x92, 0xe8, 0xcf, 0x66, 0xa0, 0x9f, 0x08, 0xd9, 0xa7, 0xfe, 0x2f, 0xd1, 0x51, 0x16, 0x90, 0x58,
- 0xf2, 0x08, 0x0a, 0x03, 0x8f, 0xb1, 0x80, 0x99, 0xe5, 0x99, 0x57, 0x4f, 0x1b, 0x50, 0xa3, 0xc8,
- 0x17, 0xb0, 0xac, 0x7e, 0x59, 0x21, 0x32, 0x07, 0x7d, 0x6e, 0x12, 0xc9, 0x73, 0xfb, 0x92, 0x02,
- 0x5e, 0x3e, 0xf5, 0xf9, 0xfd, 0xad, 0xaf, 0xec, 0x7e, 0x8c, 0x3b, 0x19, 0xd3, 0xa0, 0x35, 0x85,
- 0x3b, 0x52, 0x30, 0xd2, 0x82, 0xd5, 0x49, 0x22, 0xbb, 0x8b, 0xe6, 0x35, 0xc9, 0xd5, 0x98, 0xe6,
- 0x00, 0x4a, 0x98, 0xd6, 0x27, 0xd8, 0xec, 0x2e, 0x92, 0x27, 0x50, 0x71, 0x02, 0x16, 0x59, 0x61,
- 0xd0, 0xf7, 0x9c, 0xa1, 0x09, 0x92, 0xea, 0xde, 0x14, 0xaa, 0xdd, 0x80, 0x45, 0x47, 0x52, 0x98,
- 0x82, 0x33, 0xfa, 0x4d, 0x1e, 0x42, 0xb1, 0x87, 0xb6, 0x8b, 0x2c, 0x32, 0xeb, 0x33, 0x8f, 0x73,
- 0xa0, 0x24, 0x69, 0x02, 0x79, 0x96, 0x2b, 0xe5, 0xeb, 0x85, 0x67, 0xb9, 0x52, 0xa5, 0x5e, 0xa7,
- 0xab, 0x67, 0xd8, 0x89, 0x02, 0xe7, 0x15, 0x72, 0x2b, 0x0e, 0xbb, 0xcc, 0x76, 0x91, 0x2e, 0x8b,
- 0x10, 0xea, 0xbb, 0x96, 0x16, 0xa7, 0x1f, 0x30, 0x1c, 0x04, 0xa7, 0x68, 0x31, 0x8c, 0xc2, 0xc0,
- 0x8f, 0x70, 0xbc, 0xa0, 0x05, 0x2f, 0x2d, 0xdc, 0x1c, 0x21, 0xa4, 0x83, 0x8e, 0xe7, 0x47, 0x80,
- 0x89, 0xf9, 0xc6, 0x43, 0x28, 0x25, 0x2e, 0x30, 0x0a, 0x0e, 0x46, 0x2a, 0x38, 0xdc, 0x86, 0xb2,
- 0xf8, 0x1b, 0x85, 0xb6, 0x83, 0x3a, 0x2c, 0x8d, 0x27, 0x1a, 0x7f, 0xcf, 0x42, 0x51, 0xdf, 0x91,
- 0x3c, 0x17, 0xef, 0x57, 0x92, 0x4b, 0x82, 0xca, 0xd6, 0xfd, 0xd9, 0x8a, 0xd1, 0x7f, 0x5b, 0x21,
- 0x2a, 0x6f, 0x88, 0x68, 0xc2, 0x41, 0x5a, 0x22, 0x16, 0xa8, 0xcb, 0xc9, 0x7d, 0xdf, 0x91, 0x6f,
- 0x44, 0xb2, 0xf6, 0x87, 0x0c, 0xd4, 0x2f, 0x2e, 0x93, 0x17, 0x90, 0x15, 0xf1, 0x56, 0x45, 0xbe,
- 0x87, 0xef, 0xb0, 0x41, 0xf3, 0x18, 0xf9, 0xbe, 0x2f, 0x1c, 0x51, 0x10, 0x09, 0x3e, 0xdb, 0x75,
- 0x75, 0x18, 0x7c, 0x27, 0xbe, 0x6d, 0xd7, 0xd5, 0x7c, 0xb6, 0xeb, 0x8a, 0x94, 0xa0, 0x0c, 0x2a,
- 0x53, 0x60, 0x99, 0xea, 0xd1, 0xda, 0x0f, 0xa1, 0x94, 0x6c, 0x4c, 0xea, 0x90, 0x7d, 0x85, 0x43,
- 0x6d, 0x35, 0xf1, 0x53, 0x24, 0xda, 0x53, 0xe1, 0x58, 0xda, 0x60, 0x6a, 0xf0, 0xa3, 0xcc, 0x03,
- 0x43, 0xe0, 0x92, 0x0d, 0x16, 0xc1, 0x35, 0x7e, 0x67, 0x40, 0x29, 0xc9, 0x94, 0xe4, 0xe9, 0x64,
- 0xc2, 0xf8, 0x6c, 0x7a, 0x76, 0x95, 0xf9, 0x62, 0x9b, 0x73, 0xe6, 0x75, 0x62, 0x8e, 0x91, 0xce,
- 0x78, 0x3a, 0x71, 0x6c, 0x4f, 0x26, 0x8e, 0x69, 0xb9, 0xe7, 0x2d, 0x49, 0xa3, 0xf1, 0xb5, 0x38,
- 0x9a, 0xce, 0xc6, 0x64, 0x67, 0xf2, 0x68, 0xdf, 0x9d, 0xc2, 0x77, 0xf8, 0xfd, 0x0b, 0x27, 0xfb,
- 0x16, 0xcf, 0xf4, 0x4d, 0x19, 0xea, 0x17, 0x73, 0xe5, 0xc8, 0xbd, 0x2a, 0x29, 0xf7, 0x7a, 0x00,
- 0xd9, 0x98, 0x79, 0xda, 0x61, 0xa6, 0x05, 0xdb, 0x63, 0xce, 0x3c, 0xbf, 0xab, 0xf8, 0x04, 0x44,
- 0x44, 0xea, 0xc8, 0xe9, 0xe1, 0x20, 0xf1, 0x8e, 0x79, 0xc1, 0x1a, 0x25, 0x23, 0x3d, 0xf2, 0x5e,
- 0xe0, 0xea, 0x4c, 0x3b, 0x37, 0x5e, 0xa1, 0xc8, 0x1e, 0x94, 0xed, 0x98, 0xf7, 0x02, 0xe6, 0xf1,
- 0xe1, 0x1c, 0x79, 0x32, 0x4d, 0x31, 0x06, 0x12, 0x3a, 0x8e, 0xa6, 0xaa, 0x54, 0x7b, 0xb0, 0x40,
- 0xf5, 0x91, 0x38, 0x91, 0xf2, 0x97, 0x84, 0x48, 0xe8, 0x59, 0x96, 0x4b, 0x22, 0xf5, 0xd6, 0x54,
- 0x15, 0x44, 0x3a, 0x50, 0x8b, 0x82, 0x98, 0x39, 0x68, 0xf5, 0xed, 0x0e, 0xf6, 0x45, 0x8a, 0x15,
- 0xbb, 0x7d, 0xbe, 0xc8, 0x6e, 0xc7, 0x92, 0xe0, 0x50, 0xe2, 0xd5, 0x96, 0xd5, 0x28, 0x35, 0x35,
- 0x51, 0xc8, 0x96, 0x2e, 0x14, 0xb2, 0x16, 0x54, 0x5f, 0xc7, 0xc8, 0x86, 0x56, 0x68, 0x33, 0x7b,
- 0x10, 0x99, 0xe5, 0xd9, 0x01, 0xe2, 0xe2, 0xf6, 0x5f, 0x0a, 0xfc, 0x91, 0x84, 0xab, 0xdd, 0x2b,
- 0xaf, 0xc7, 0x33, 0xe4, 0x63, 0x58, 0xf1, 0xba, 0x7e, 0xc0, 0xd0, 0x8a, 0x99, 0x67, 0x39, 0x76,
- 0x84, 0x32, 0xc5, 0x95, 0x68, 0x4d, 0x4d, 0xbf, 0x64, 0xde, 0xae, 0x1d, 0x21, 0xe9, 0xc1, 0xca,
- 0x99, 0xc7, 0x7b, 0x41, 0x3c, 0x4a, 0x01, 0x66, 0x55, 0x9e, 0xe5, 0xf1, 0x22, 0x67, 0xf9, 0x99,
- 0xa2, 0x98, 0xd0, 0xff, 0xf2, 0xd9, 0xc4, 0x24, 0xf9, 0x14, 0xea, 0x5a, 0xe5, 0xe3, 0x04, 0x52,
- 0x93, 0x4f, 0x7f, 0x45, 0xcd, 0xbf, 0x48, 0xa6, 0xd7, 0x3a, 0x50, 0x4d, 0x53, 0x5d, 0x11, 0x99,
- 0x1e, 0xa6, 0x23, 0xd3, 0xfc, 0x2f, 0x2d, 0x15, 0xf9, 0x1e, 0xc3, 0xea, 0x25, 0x03, 0x2e, 0x14,
- 0x3a, 0x4f, 0xa0, 0x7e, 0xd1, 0x04, 0xef, 0xe5, 0xa0, 0x1e, 0x5c, 0xbb, 0x42, 0xbd, 0xef, 0x63,
- 0xab, 0xc6, 0x37, 0x19, 0xb8, 0x7e, 0x55, 0x3d, 0x4e, 0x5e, 0x40, 0xc5, 0x1d, 0x0f, 0xe7, 0x08,
- 0x4f, 0x29, 0xb0, 0x0e, 0xf0, 0x69, 0x02, 0x91, 0xc6, 0xce, 0xd0, 0xeb, 0xf6, 0xd4, 0x97, 0x4d,
- 0x9e, 0xea, 0x51, 0xba, 0x98, 0x2a, 0xbe, 0x4b, 0x31, 0x95, 0xad, 0x17, 0xff, 0x0b, 0x35, 0xd2,
- 0xaf, 0xa0, 0xfe, 0xbf, 0xd2, 0x50, 0xe3, 0x1f, 0x19, 0x58, 0xbd, 0x94, 0xa9, 0xc8, 0x26, 0x5c,
- 0x4b, 0x81, 0xad, 0x28, 0xee, 0xf8, 0x38, 0xfa, 0xae, 0x26, 0xa9, 0xa5, 0x63, 0xb5, 0x32, 0x8a,
- 0x89, 0x99, 0x54, 0x4c, 0xbc, 0x3b, 0x8a, 0x89, 0x0a, 0x2f, 0x13, 0x41, 0x39, 0x09, 0x6a, 0x0a,
- 0x49, 0x9c, 0x8b, 0x81, 0x53, 0x7d, 0x1a, 0x3f, 0x5a, 0x24, 0xb1, 0x2e, 0x14, 0x39, 0xf3, 0x17,
- 0x22, 0xe7, 0x55, 0x61, 0xa4, 0x70, 0x75, 0x18, 0xf9, 0x4f, 0x5d, 0xbc, 0xf1, 0xaf, 0x0c, 0x90,
- 0xcb, 0x15, 0x0b, 0xf9, 0x08, 0xca, 0x91, 0xef, 0x59, 0xa9, 0xde, 0x85, 0xb6, 0x60, 0x29, 0xf2,
- 0xbd, 0x03, 0xd9, 0xc4, 0x78, 0x8b, 0x41, 0x32, 0x33, 0x0d, 0x92, 0x4d, 0x19, 0xc4, 0xbd, 0xa8,
- 0xeb, 0xfc, 0xcc, 0xc8, 0x7c, 0xf9, 0xb4, 0x0b, 0x29, 0xbb, 0x30, 0x87, 0xb2, 0x8b, 0xef, 0x47,
- 0xd9, 0xcf, 0x72, 0xa5, 0x5c, 0x3d, 0x4f, 0x27, 0x9f, 0x60, 0xe3, 0x4f, 0x19, 0xa8, 0xa6, 0xbf,
- 0xeb, 0x05, 0x63, 0x52, 0x20, 0x95, 0x55, 0xe1, 0x73, 0x3b, 0x5d, 0x78, 0xe8, 0x2f, 0x92, 0x71,
- 0x41, 0x71, 0x5d, 0xeb, 0x55, 0x54, 0x24, 0xb5, 0x83, 0x25, 0xad, 0xd9, 0x5f, 0x08, 0x6f, 0x65,
- 0xde, 0x29, 0x5a, 0x72, 0x31, 0xbf, 0x6e, 0x6c, 0x2c, 0xcf, 0x4c, 0xfe, 0xc9, 0x19, 0x9a, 0xc9,
- 0x8f, 0x71, 0x77, 0xc5, 0x0b, 0xfc, 0x83, 0x25, 0x0a, 0x8a, 0x53, 0x4c, 0xcb, 0xde, 0x8d, 0x2a,
- 0xc7, 0x0a, 0xba, 0x77, 0xa3, 0xca, 0xac, 0xbb, 0x50, 0x4b, 0x3a, 0x13, 0x96, 0x13, 0xb8, 0xa8,
- 0x0d, 0x5e, 0x4d, 0x26, 0x77, 0x03, 0x17, 0x1b, 0x4f, 0xe1, 0xc6, 0x95, 0x7b, 0x90, 0x5b, 0x70,
- 0xe3, 0x09, 0x6d, 0x3d, 0xb7, 0x8e, 0x68, 0xab, 0xdd, 0xda, 0x6d, 0x1d, 0x5a, 0x7b, 0xfb, 0x4f,
- 0xb6, 0x5f, 0x1e, 0xb6, 0xeb, 0x4b, 0xe4, 0x06, 0xac, 0xca, 0x25, 0xba, 0xff, 0xe5, 0xcb, 0xfd,
- 0xe3, 0xb6, 0x75, 0xd4, 0xa2, 0xed, 0xba, 0xb1, 0xb3, 0x92, 0xda, 0x4f, 0xf6, 0x7f, 0x3e, 0x87,
- 0x4a, 0xaa, 0x47, 0xb1, 0xa8, 0x3e, 0x1b, 0x08, 0x95, 0x54, 0xf2, 0x20, 0x37, 0x21, 0x8f, 0xe7,
- 0xb6, 0xa3, 0xbb, 0x57, 0x07, 0x4b, 0x54, 0x0d, 0x89, 0x09, 0x85, 0x90, 0xe1, 0x89, 0x77, 0xae,
- 0x18, 0x0e, 0x96, 0xa8, 0x1e, 0x0b, 0x04, 0xc3, 0x2e, 0x9e, 0xab, 0xe8, 0x22, 0x10, 0x72, 0xb8,
- 0x53, 0x05, 0x90, 0xe5, 0xb6, 0xc5, 0x87, 0x21, 0x36, 0xfe, 0x6a, 0xe8, 0x2e, 0x15, 0x8a, 0x67,
- 0xb4, 0x0e, 0x25, 0x9b, 0x73, 0x1c, 0x84, 0xd2, 0xdf, 0x8c, 0x8d, 0x7c, 0xe2, 0x6f, 0xc9, 0x2c,
- 0xd9, 0x86, 0x95, 0x10, 0x99, 0xc5, 0xd9, 0xd0, 0x4a, 0x3a, 0x2d, 0x99, 0x59, 0x9d, 0x96, 0x5a,
- 0x88, 0xac, 0xcd, 0x86, 0x6d, 0xdd, 0x6f, 0xb9, 0x25, 0x3e, 0x30, 0x05, 0x41, 0xe0, 0xeb, 0xc8,
- 0x27, 0x5b, 0x29, 0xc3, 0x96, 0x4f, 0x28, 0x7c, 0xa0, 0x96, 0x44, 0xa2, 0xe0, 0x68, 0xf5, 0x03,
- 0xc7, 0xee, 0x7b, 0xdc, 0xc3, 0x48, 0x57, 0xba, 0x6b, 0x97, 0x76, 0xd9, 0x09, 0x82, 0xbe, 0x6c,
- 0x66, 0xd0, 0x1b, 0x12, 0x4a, 0x25, 0xf2, 0x70, 0x04, 0x6c, 0xfc, 0x33, 0x03, 0x30, 0x6e, 0x29,
- 0x90, 0x7b, 0x50, 0xb5, 0xfb, 0xfd, 0xe0, 0xcc, 0x0a, 0x98, 0xd7, 0xf5, 0x7c, 0x1d, 0x56, 0x32,
- 0xa6, 0x41, 0x2b, 0x72, 0xbe, 0x25, 0xa7, 0xc9, 0x4f, 0xa1, 0x96, 0x16, 0x4b, 0xea, 0xd6, 0x79,
- 0x73, 0x7d, 0x35, 0xc5, 0x15, 0x89, 0xb7, 0xa8, 0xc8, 0x54, 0x09, 0x9f, 0x84, 0x27, 0x25, 0xf4,
- 0x5c, 0xcd, 0x8d, 0x85, 0x92, 0xc4, 0x9c, 0x4d, 0x09, 0x25, 0xb5, 0xdd, 0x3d, 0x58, 0xc6, 0xf3,
- 0x30, 0x18, 0xe7, 0x54, 0x99, 0x16, 0xca, 0xb4, 0xa6, 0x66, 0x13, 0xb1, 0x2d, 0x28, 0x0e, 0xec,
- 0x73, 0xcb, 0xee, 0xa2, 0x74, 0xb9, 0xa9, 0xd6, 0x29, 0x0c, 0xec, 0xf3, 0xed, 0x2e, 0x92, 0x2f,
- 0x60, 0x55, 0xed, 0xef, 0x30, 0x74, 0xd1, 0xe7, 0x9e, 0xdd, 0x8f, 0x74, 0x17, 0x6d, 0x9a, 0xd6,
- 0xeb, 0x12, 0xb4, 0x3b, 0xc6, 0x34, 0xbe, 0xce, 0x03, 0xb9, 0xdc, 0xe8, 0x12, 0x1f, 0xaf, 0x2e,
- 0xf6, 0xed, 0xe1, 0x3c, 0x4d, 0x8a, 0x4b, 0xe8, 0xe6, 0x9e, 0x80, 0x52, 0xc5, 0x20, 0xa8, 0xec,
- 0x4e, 0x92, 0x55, 0x17, 0xa6, 0xda, 0x16, 0x50, 0xaa, 0x18, 0xd6, 0x7e, 0x9b, 0x81, 0xbc, 0xe4,
- 0x26, 0xb7, 0xa1, 0x98, 0xb4, 0xce, 0xd4, 0xd3, 0x17, 0x6f, 0x22, 0x99, 0x22, 0x3b, 0x50, 0x39,
- 0xf1, 0xce, 0xd1, 0xb5, 0xd4, 0x1d, 0x66, 0xbd, 0x79, 0xe5, 0x37, 0x22, 0x54, 0x49, 0x94, 0xda,
- 0xe1, 0x00, 0x56, 0x85, 0x99, 0x7c, 0xa5, 0x28, 0xcd, 0x94, 0x9d, 0xc1, 0x74, 0xb0, 0x44, 0xeb,
- 0x29, 0x94, 0x62, 0xda, 0x01, 0x48, 0x75, 0xe7, 0xf2, 0x73, 0x77, 0xe7, 0x52, 0xa8, 0x9d, 0x55,
- 0x58, 0xe9, 0x71, 0x1e, 0xaa, 0x63, 0xc8, 0x60, 0xb0, 0xf6, 0x17, 0x03, 0xf2, 0x52, 0x3b, 0xe4,
- 0x13, 0xa8, 0xc8, 0xc5, 0x88, 0xdb, 0x3c, 0x8e, 0x54, 0x69, 0x34, 0xbe, 0x93, 0x58, 0x3a, 0x96,
- 0x2b, 0xe4, 0x23, 0xa8, 0x74, 0x59, 0xe8, 0x24, 0x82, 0x49, 0xac, 0x01, 0x31, 0x39, 0x16, 0x11,
- 0x80, 0x2d, 0x0b, 0x65, 0x7f, 0x33, 0x97, 0x88, 0xc8, 0xc9, 0x7d, 0xd9, 0xbd, 0xfc, 0x36, 0xee,
- 0x53, 0x05, 0x90, 0x1b, 0xc8, 0xab, 0x3c, 0xcb, 0x95, 0x8c, 0x7a, 0x66, 0x64, 0xbe, 0xc6, 0x16,
- 0x54, 0xd3, 0x2d, 0x7a, 0x91, 0x35, 0xfc, 0x78, 0xd0, 0x41, 0x26, 0x6d, 0x5d, 0xa3, 0x7a, 0xf4,
- 0x2c, 0x57, 0xca, 0xd4, 0xb3, 0xaa, 0x45, 0xd0, 0xf8, 0x10, 0x8a, 0x49, 0x53, 0x74, 0x94, 0x4c,
- 0x85, 0xb4, 0xa1, 0x93, 0xe9, 0x4e, 0xf3, 0x8f, 0x6f, 0xee, 0x18, 0x7f, 0x7e, 0x73, 0xc7, 0xf8,
- 0xdb, 0x9b, 0x3b, 0xc6, 0xcf, 0xd7, 0xd5, 0x71, 0xbd, 0x40, 0xfe, 0x6b, 0xe7, 0x8a, 0xff, 0x15,
- 0x75, 0x0a, 0xd2, 0xb8, 0xf7, 0xff, 0x1d, 0x00, 0x00, 0xff, 0xff, 0xd2, 0x9c, 0x74, 0x5c, 0x49,
- 0x1a, 0x00, 0x00,
-}
-
-func (m *VirtualService) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *VirtualService) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *VirtualService) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.ExportTo) > 0 {
- for iNdEx := len(m.ExportTo) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.ExportTo[iNdEx])
- copy(dAtA[i:], m.ExportTo[iNdEx])
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.ExportTo[iNdEx])))
- i--
- dAtA[i] = 0x32
- }
- }
- if len(m.Tls) > 0 {
- for iNdEx := len(m.Tls) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Tls[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x2a
- }
- }
- if len(m.Tcp) > 0 {
- for iNdEx := len(m.Tcp) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Tcp[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x22
- }
- }
- if len(m.Http) > 0 {
- for iNdEx := len(m.Http) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Http[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- }
- if len(m.Gateways) > 0 {
- for iNdEx := len(m.Gateways) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.Gateways[iNdEx])
- copy(dAtA[i:], m.Gateways[iNdEx])
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Gateways[iNdEx])))
- i--
- dAtA[i] = 0x12
- }
- }
- if len(m.Hosts) > 0 {
- for iNdEx := len(m.Hosts) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.Hosts[iNdEx])
- copy(dAtA[i:], m.Hosts[iNdEx])
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Hosts[iNdEx])))
- i--
- dAtA[i] = 0xa
- }
- }
- return len(dAtA) - i, nil
-}
-
-func (m *Destination) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *Destination) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Destination) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Port != nil {
- {
- size, err := m.Port.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- if len(m.Subset) > 0 {
- i -= len(m.Subset)
- copy(dAtA[i:], m.Subset)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Subset)))
- i--
- dAtA[i] = 0x12
- }
- if len(m.Host) > 0 {
- i -= len(m.Host)
- copy(dAtA[i:], m.Host)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Host)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func (m *HTTPRoute) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *HTTPRoute) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HTTPRoute) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Delegate != nil {
- {
- size, err := m.Delegate.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1
- i--
- dAtA[i] = 0xa2
- }
- if m.MirrorPercentage != nil {
- {
- size, err := m.MirrorPercentage.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1
- i--
- dAtA[i] = 0x9a
- }
- if m.MirrorPercent != nil {
- {
- size, err := m.MirrorPercent.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1
- i--
- dAtA[i] = 0x92
- }
- if len(m.Name) > 0 {
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0x1
- i--
- dAtA[i] = 0x8a
- }
- if m.Headers != nil {
- {
- size, err := m.Headers.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1
- i--
- dAtA[i] = 0x82
- }
- if m.CorsPolicy != nil {
- {
- size, err := m.CorsPolicy.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x52
- }
- if m.Mirror != nil {
- {
- size, err := m.Mirror.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x4a
- }
- if m.Fault != nil {
- {
- size, err := m.Fault.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x42
- }
- if m.Retries != nil {
- {
- size, err := m.Retries.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x3a
- }
- if m.Timeout != nil {
- {
- size, err := m.Timeout.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x32
- }
- if m.Rewrite != nil {
- {
- size, err := m.Rewrite.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x22
- }
- if m.Redirect != nil {
- {
- size, err := m.Redirect.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- if len(m.Route) > 0 {
- for iNdEx := len(m.Route) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Route[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- }
- if len(m.Match) > 0 {
- for iNdEx := len(m.Match) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Match[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- }
- return len(dAtA) - i, nil
-}
-
-func (m *Delegate) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *Delegate) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Delegate) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Namespace) > 0 {
- i -= len(m.Namespace)
- copy(dAtA[i:], m.Namespace)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Namespace)))
- i--
- dAtA[i] = 0x12
- }
- if len(m.Name) > 0 {
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func (m *Headers) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *Headers) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Headers) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Response != nil {
- {
- size, err := m.Response.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- if m.Request != nil {
- {
- size, err := m.Request.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func (m *Headers_HeaderOperations) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *Headers_HeaderOperations) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Headers_HeaderOperations) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Remove) > 0 {
- for iNdEx := len(m.Remove) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.Remove[iNdEx])
- copy(dAtA[i:], m.Remove[iNdEx])
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Remove[iNdEx])))
- i--
- dAtA[i] = 0x1a
- }
- }
- if len(m.Add) > 0 {
- for k := range m.Add {
- v := m.Add[k]
- baseI := i
- i -= len(v)
- copy(dAtA[i:], v)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(v)))
- i--
- dAtA[i] = 0x12
- i -= len(k)
- copy(dAtA[i:], k)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(k)))
- i--
- dAtA[i] = 0xa
- i = encodeVarintVirtualService(dAtA, i, uint64(baseI-i))
- i--
- dAtA[i] = 0x12
- }
- }
- if len(m.Set) > 0 {
- for k := range m.Set {
- v := m.Set[k]
- baseI := i
- i -= len(v)
- copy(dAtA[i:], v)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(v)))
- i--
- dAtA[i] = 0x12
- i -= len(k)
- copy(dAtA[i:], k)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(k)))
- i--
- dAtA[i] = 0xa
- i = encodeVarintVirtualService(dAtA, i, uint64(baseI-i))
- i--
- dAtA[i] = 0xa
- }
- }
- return len(dAtA) - i, nil
-}
-
-func (m *TLSRoute) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *TLSRoute) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *TLSRoute) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Route) > 0 {
- for iNdEx := len(m.Route) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Route[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- }
- if len(m.Match) > 0 {
- for iNdEx := len(m.Match) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Match[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- }
- return len(dAtA) - i, nil
-}
-
-func (m *TCPRoute) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *TCPRoute) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *TCPRoute) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Route) > 0 {
- for iNdEx := len(m.Route) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Route[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- }
- if len(m.Match) > 0 {
- for iNdEx := len(m.Match) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Match[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- }
- return len(dAtA) - i, nil
-}
-
-func (m *HTTPMatchRequest) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *HTTPMatchRequest) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HTTPMatchRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.SourceNamespace) > 0 {
- i -= len(m.SourceNamespace)
- copy(dAtA[i:], m.SourceNamespace)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.SourceNamespace)))
- i--
- dAtA[i] = 0x6a
- }
- if len(m.WithoutHeaders) > 0 {
- for k := range m.WithoutHeaders {
- v := m.WithoutHeaders[k]
- baseI := i
- if v != nil {
- {
- size, err := v.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- i -= len(k)
- copy(dAtA[i:], k)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(k)))
- i--
- dAtA[i] = 0xa
- i = encodeVarintVirtualService(dAtA, i, uint64(baseI-i))
- i--
- dAtA[i] = 0x62
- }
- }
- if len(m.Name) > 0 {
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0x5a
- }
- if m.IgnoreUriCase {
- i--
- if m.IgnoreUriCase {
- dAtA[i] = 1
- } else {
- dAtA[i] = 0
- }
- i--
- dAtA[i] = 0x50
- }
- if len(m.QueryParams) > 0 {
- for k := range m.QueryParams {
- v := m.QueryParams[k]
- baseI := i
- if v != nil {
- {
- size, err := v.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- i -= len(k)
- copy(dAtA[i:], k)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(k)))
- i--
- dAtA[i] = 0xa
- i = encodeVarintVirtualService(dAtA, i, uint64(baseI-i))
- i--
- dAtA[i] = 0x4a
- }
- }
- if len(m.Gateways) > 0 {
- for iNdEx := len(m.Gateways) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.Gateways[iNdEx])
- copy(dAtA[i:], m.Gateways[iNdEx])
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Gateways[iNdEx])))
- i--
- dAtA[i] = 0x42
- }
- }
- if len(m.SourceLabels) > 0 {
- for k := range m.SourceLabels {
- v := m.SourceLabels[k]
- baseI := i
- i -= len(v)
- copy(dAtA[i:], v)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(v)))
- i--
- dAtA[i] = 0x12
- i -= len(k)
- copy(dAtA[i:], k)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(k)))
- i--
- dAtA[i] = 0xa
- i = encodeVarintVirtualService(dAtA, i, uint64(baseI-i))
- i--
- dAtA[i] = 0x3a
- }
- }
- if m.Port != 0 {
- i = encodeVarintVirtualService(dAtA, i, uint64(m.Port))
- i--
- dAtA[i] = 0x30
- }
- if len(m.Headers) > 0 {
- for k := range m.Headers {
- v := m.Headers[k]
- baseI := i
- if v != nil {
- {
- size, err := v.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- i -= len(k)
- copy(dAtA[i:], k)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(k)))
- i--
- dAtA[i] = 0xa
- i = encodeVarintVirtualService(dAtA, i, uint64(baseI-i))
- i--
- dAtA[i] = 0x2a
- }
- }
- if m.Authority != nil {
- {
- size, err := m.Authority.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x22
- }
- if m.Method != nil {
- {
- size, err := m.Method.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- if m.Scheme != nil {
- {
- size, err := m.Scheme.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- if m.Uri != nil {
- {
- size, err := m.Uri.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
+type isHTTPFaultInjection_Abort_ErrorType interface {
+ isHTTPFaultInjection_Abort_ErrorType()
}
-func (m *HTTPRouteDestination) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
+type HTTPFaultInjection_Abort_HttpStatus struct {
+ // HTTP status code to use to abort the Http request.
+ HttpStatus int32 `protobuf:"varint,2,opt,name=http_status,json=httpStatus,proto3,oneof"`
}
-func (m *HTTPRouteDestination) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+type HTTPFaultInjection_Abort_GrpcStatus struct {
+ // $hide_from_docs
+ GrpcStatus string `protobuf:"bytes,3,opt,name=grpc_status,json=grpcStatus,proto3,oneof"`
}
-func (m *HTTPRouteDestination) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Headers != nil {
- {
- size, err := m.Headers.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x3a
- }
- if m.Weight != 0 {
- i = encodeVarintVirtualService(dAtA, i, uint64(m.Weight))
- i--
- dAtA[i] = 0x10
- }
- if m.Destination != nil {
- {
- size, err := m.Destination.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
+type HTTPFaultInjection_Abort_Http2Error struct {
+ // $hide_from_docs
+ Http2Error string `protobuf:"bytes,4,opt,name=http2_error,json=http2Error,proto3,oneof"`
}
-func (m *RouteDestination) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
+func (*HTTPFaultInjection_Abort_HttpStatus) isHTTPFaultInjection_Abort_ErrorType() {}
-func (m *RouteDestination) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
+func (*HTTPFaultInjection_Abort_GrpcStatus) isHTTPFaultInjection_Abort_ErrorType() {}
-func (m *RouteDestination) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Weight != 0 {
- i = encodeVarintVirtualService(dAtA, i, uint64(m.Weight))
- i--
- dAtA[i] = 0x10
- }
- if m.Destination != nil {
- {
- size, err := m.Destination.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func (m *L4MatchAttributes) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *L4MatchAttributes) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *L4MatchAttributes) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.SourceNamespace) > 0 {
- i -= len(m.SourceNamespace)
- copy(dAtA[i:], m.SourceNamespace)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.SourceNamespace)))
- i--
- dAtA[i] = 0x32
- }
- if len(m.Gateways) > 0 {
- for iNdEx := len(m.Gateways) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.Gateways[iNdEx])
- copy(dAtA[i:], m.Gateways[iNdEx])
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Gateways[iNdEx])))
- i--
- dAtA[i] = 0x2a
- }
- }
- if len(m.SourceLabels) > 0 {
- for k := range m.SourceLabels {
- v := m.SourceLabels[k]
- baseI := i
- i -= len(v)
- copy(dAtA[i:], v)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(v)))
- i--
- dAtA[i] = 0x12
- i -= len(k)
- copy(dAtA[i:], k)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(k)))
- i--
- dAtA[i] = 0xa
- i = encodeVarintVirtualService(dAtA, i, uint64(baseI-i))
- i--
- dAtA[i] = 0x22
- }
- }
- if len(m.SourceSubnet) > 0 {
- i -= len(m.SourceSubnet)
- copy(dAtA[i:], m.SourceSubnet)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.SourceSubnet)))
- i--
- dAtA[i] = 0x1a
- }
- if m.Port != 0 {
- i = encodeVarintVirtualService(dAtA, i, uint64(m.Port))
- i--
- dAtA[i] = 0x10
- }
- if len(m.DestinationSubnets) > 0 {
- for iNdEx := len(m.DestinationSubnets) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.DestinationSubnets[iNdEx])
- copy(dAtA[i:], m.DestinationSubnets[iNdEx])
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.DestinationSubnets[iNdEx])))
- i--
- dAtA[i] = 0xa
- }
- }
- return len(dAtA) - i, nil
-}
+func (*HTTPFaultInjection_Abort_Http2Error) isHTTPFaultInjection_Abort_ErrorType() {}
-func (m *TLSMatchAttributes) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
+var File_networking_v1alpha3_virtual_service_proto protoreflect.FileDescriptor
+
+var file_networking_v1alpha3_virtual_service_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x61,
+ 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x73, 0x65,
+ 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x69, 0x73, 0x74,
+ 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31,
+ 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61,
+ 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f,
+ 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
+ 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x87, 0x02, 0x0a, 0x0e, 0x56, 0x69, 0x72, 0x74,
+ 0x75, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x6f,
+ 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73,
+ 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x18, 0x02, 0x20, 0x03,
+ 0x28, 0x09, 0x52, 0x08, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x12, 0x38, 0x0a, 0x04,
+ 0x68, 0x74, 0x74, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x73, 0x74,
+ 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31,
+ 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x52, 0x6f, 0x75, 0x74, 0x65,
+ 0x52, 0x04, 0x68, 0x74, 0x74, 0x70, 0x12, 0x35, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x05, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77,
+ 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e,
+ 0x54, 0x4c, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x12, 0x35, 0x0a,
+ 0x03, 0x74, 0x63, 0x70, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x73, 0x74,
+ 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31,
+ 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x54, 0x43, 0x50, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52,
+ 0x03, 0x74, 0x63, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x74,
+ 0x6f, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54,
+ 0x6f, 0x22, 0x7c, 0x0a, 0x0b, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x12, 0x18, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x04,
+ 0xe2, 0x41, 0x01, 0x02, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75,
+ 0x62, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x62, 0x73,
+ 0x65, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x27, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
+ 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x50, 0x6f, 0x72,
+ 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22,
+ 0x9c, 0x08, 0x0a, 0x09, 0x48, 0x54, 0x54, 0x50, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x12, 0x0a,
+ 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
+ 0x65, 0x12, 0x41, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x2b, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
+ 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x48, 0x54, 0x54,
+ 0x50, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x05, 0x6d,
+ 0x61, 0x74, 0x63, 0x68, 0x12, 0x45, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77,
+ 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e,
+ 0x48, 0x54, 0x54, 0x50, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x43, 0x0a, 0x08, 0x72,
+ 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e,
+ 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67,
+ 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65,
+ 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x08, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74,
+ 0x12, 0x3f, 0x0a, 0x08, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x18, 0x14, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f,
+ 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x44,
+ 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x08, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74,
+ 0x65, 0x12, 0x40, 0x0a, 0x07, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f,
+ 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x48,
+ 0x54, 0x54, 0x50, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x07, 0x72, 0x65, 0x77, 0x72,
+ 0x69, 0x74, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
+ 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x3e, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x72,
+ 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x73, 0x74, 0x69,
+ 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61,
+ 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x74, 0x72, 0x79, 0x52,
+ 0x07, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x43, 0x0a, 0x05, 0x66, 0x61, 0x75, 0x6c,
+ 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e,
+ 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
+ 0x68, 0x61, 0x33, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x6a,
+ 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x3e, 0x0a,
+ 0x06, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e,
+ 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67,
+ 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x47, 0x0a,
+ 0x0e, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18,
+ 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0d, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x50,
+ 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x4f, 0x0a, 0x11, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72,
+ 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
+ 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x50, 0x65,
+ 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x10, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x65, 0x72,
+ 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x63, 0x6f, 0x72, 0x73, 0x5f,
+ 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x69,
+ 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e,
+ 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x43, 0x6f, 0x72, 0x73, 0x50, 0x6f, 0x6c,
+ 0x69, 0x63, 0x79, 0x52, 0x0a, 0x63, 0x6f, 0x72, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12,
+ 0x3c, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x22, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
+ 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x48, 0x65, 0x61,
+ 0x64, 0x65, 0x72, 0x73, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4a, 0x04, 0x08,
+ 0x05, 0x10, 0x06, 0x4a, 0x04, 0x08, 0x0b, 0x10, 0x10, 0x52, 0x11, 0x77, 0x65, 0x62, 0x73, 0x6f,
+ 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x0e, 0x61, 0x70,
+ 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x17, 0x72, 0x65,
+ 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65,
+ 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x17, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x72, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x16,
+ 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68,
+ 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x16, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x72,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x22, 0x3c,
+ 0x0a, 0x08, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
+ 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c,
+ 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xe6, 0x03, 0x0a,
+ 0x07, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x4d, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x73, 0x74, 0x69,
+ 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61,
+ 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x48, 0x65,
+ 0x61, 0x64, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07,
+ 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x73, 0x74, 0x69,
+ 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61,
+ 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x48, 0x65,
+ 0x61, 0x64, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x08,
+ 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0xba, 0x02, 0x0a, 0x10, 0x48, 0x65, 0x61,
+ 0x64, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4e, 0x0a,
+ 0x03, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x69, 0x73, 0x74,
+ 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31,
+ 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x48,
+ 0x65, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
+ 0x53, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x73, 0x65, 0x74, 0x12, 0x4e, 0x0a,
+ 0x03, 0x61, 0x64, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x69, 0x73, 0x74,
+ 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31,
+ 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x48,
+ 0x65, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
+ 0x41, 0x64, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x61, 0x64, 0x64, 0x12, 0x16, 0x0a,
+ 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x72,
+ 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x36, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
+ 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x36, 0x0a,
+ 0x08, 0x41, 0x64, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x98, 0x01, 0x0a, 0x08, 0x54, 0x4c, 0x53, 0x52, 0x6f, 0x75,
+ 0x74, 0x65, 0x12, 0x49, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
+ 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x54, 0x4c,
+ 0x53, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73,
+ 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x41, 0x0a,
+ 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69,
+ 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e,
+ 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x44, 0x65,
+ 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65,
+ 0x22, 0x91, 0x01, 0x0a, 0x08, 0x54, 0x43, 0x50, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x42, 0x0a,
+ 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69,
+ 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e,
+ 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x4c, 0x34, 0x4d, 0x61, 0x74, 0x63, 0x68,
+ 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63,
+ 0x68, 0x12, 0x41, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x2b, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
+ 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x52, 0x6f, 0x75,
+ 0x74, 0x65, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x72,
+ 0x6f, 0x75, 0x74, 0x65, 0x22, 0xa4, 0x09, 0x0a, 0x10, 0x48, 0x54, 0x54, 0x50, 0x4d, 0x61, 0x74,
+ 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
+ 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a,
+ 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x73, 0x74,
+ 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31,
+ 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74,
+ 0x63, 0x68, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x3e, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e,
+ 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
+ 0x68, 0x61, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52,
+ 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f,
+ 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e,
+ 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
+ 0x68, 0x61, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52,
+ 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x44, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f,
+ 0x72, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x73, 0x74,
+ 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31,
+ 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74,
+ 0x63, 0x68, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x52, 0x0a,
+ 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38,
+ 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e,
+ 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x4d,
+ 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64,
+ 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72,
+ 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x62, 0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f,
+ 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x69,
+ 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e,
+ 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x4d, 0x61, 0x74,
+ 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x73, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x61, 0x74,
+ 0x65, 0x77, 0x61, 0x79, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x67, 0x61, 0x74,
+ 0x65, 0x77, 0x61, 0x79, 0x73, 0x12, 0x5f, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70,
+ 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x69, 0x73,
+ 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76,
+ 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x4d, 0x61, 0x74, 0x63,
+ 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61,
+ 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79,
+ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65,
+ 0x5f, 0x75, 0x72, 0x69, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0d, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x55, 0x72, 0x69, 0x43, 0x61, 0x73, 0x65, 0x12, 0x68,
+ 0x0a, 0x0f, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72,
+ 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e,
+ 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
+ 0x68, 0x61, 0x33, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x48, 0x65, 0x61, 0x64,
+ 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75,
+ 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x0d, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x1a, 0x62, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74,
+ 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33,
+ 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3f, 0x0a, 0x11, 0x53, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
+ 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
+ 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x66, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72,
+ 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
+ 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3c,
+ 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e,
+ 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67,
+ 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
+ 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
+ 0x1a, 0x69, 0x0a, 0x13, 0x57, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65,
+ 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3c, 0x0a, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f,
+ 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c,
+ 0x70, 0x68, 0x61, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68,
+ 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa4, 0x02, 0x0a, 0x14,
+ 0x48, 0x54, 0x54, 0x50, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x73, 0x74, 0x69,
+ 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61,
+ 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x3c, 0x0a, 0x07,
+ 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e,
+ 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67,
+ 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
+ 0x73, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x07,
+ 0x52, 0x17, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x17, 0x61, 0x70, 0x70, 0x65, 0x6e,
+ 0x64, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65,
+ 0x72, 0x73, 0x52, 0x16, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x16, 0x61, 0x70, 0x70, 0x65,
+ 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65,
+ 0x72, 0x73, 0x22, 0x7a, 0x0a, 0x10, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x44, 0x65, 0x73, 0x74, 0x69,
+ 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x73,
+ 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76,
+ 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69,
+ 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0xea,
+ 0x02, 0x0a, 0x11, 0x4c, 0x34, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62,
+ 0x75, 0x74, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
+ 0x09, 0x52, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75,
+ 0x62, 0x6e, 0x65, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x12, 0x63,
+ 0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18,
+ 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65,
+ 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
+ 0x33, 0x2e, 0x4c, 0x34, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
+ 0x74, 0x65, 0x73, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x61, 0x62,
+ 0x65, 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x18,
+ 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x12,
+ 0x29, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x1a, 0x3f, 0x0a, 0x11, 0x53, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
+ 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
+ 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xff, 0x02, 0x0a, 0x12,
+ 0x54, 0x4c, 0x53, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
+ 0x65, 0x73, 0x12, 0x21, 0x0a, 0x09, 0x73, 0x6e, 0x69, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18,
+ 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x08, 0x73, 0x6e, 0x69,
+ 0x48, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03,
+ 0x28, 0x09, 0x52, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53,
+ 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x64, 0x0a, 0x0d, 0x73, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x3f, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
+ 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x54, 0x4c,
+ 0x53, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73,
+ 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73,
+ 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x18, 0x06, 0x20, 0x03,
+ 0x28, 0x09, 0x52, 0x08, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x12, 0x29, 0x0a, 0x10,
+ 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61,
+ 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x1a, 0x3f, 0x0a, 0x11, 0x53, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
+ 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
+ 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x52, 0x0d,
+ 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x22, 0xcf, 0x02,
+ 0x0a, 0x0c, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x10,
+ 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69,
+ 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x14,
+ 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x04,
+ 0x70, 0x6f, 0x72, 0x74, 0x12, 0x60, 0x0a, 0x0b, 0x64, 0x65, 0x72, 0x69, 0x76, 0x65, 0x5f, 0x70,
+ 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x69, 0x73, 0x74, 0x69,
+ 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61,
+ 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65,
+ 0x63, 0x74, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x53,
+ 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x65, 0x72, 0x69,
+ 0x76, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x12, 0x23,
+ 0x0a, 0x0d, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x43,
+ 0x6f, 0x64, 0x65, 0x22, 0x49, 0x0a, 0x15, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50,
+ 0x6f, 0x72, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x15,
+ 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x44, 0x45,
+ 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x52, 0x4f, 0x4d, 0x5f,
+ 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x01, 0x42, 0x0f,
+ 0x0a, 0x0d, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x22,
+ 0x3d, 0x0a, 0x0b, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x10,
+ 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69,
+ 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x65,
+ 0x0a, 0x0b, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a,
+ 0x05, 0x65, 0x78, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05,
+ 0x65, 0x78, 0x61, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12,
+ 0x16, 0x0a, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00,
+ 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x42, 0x0c, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xdf, 0x01, 0x0a, 0x09, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65,
+ 0x74, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x08, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x08, 0x61, 0x74, 0x74,
+ 0x65, 0x6d, 0x70, 0x74, 0x73, 0x12, 0x41, 0x0a, 0x0f, 0x70, 0x65, 0x72, 0x5f, 0x74, 0x72, 0x79,
+ 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x70, 0x65, 0x72, 0x54, 0x72,
+ 0x79, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x65, 0x74, 0x72,
+ 0x79, 0x5f, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x74, 0x72,
+ 0x79, 0x4f, 0x6e, 0x12, 0x52, 0x0a, 0x17, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x6d,
+ 0x6f, 0x74, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65,
+ 0x52, 0x15, 0x72, 0x65, 0x74, 0x72, 0x79, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4c, 0x6f, 0x63,
+ 0x61, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0xee, 0x02, 0x0a, 0x0a, 0x43, 0x6f, 0x72, 0x73,
+ 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x25, 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f,
+ 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01,
+ 0x52, 0x0b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x4b, 0x0a,
+ 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x73, 0x18, 0x07,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74,
+ 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33,
+ 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x0c, 0x61, 0x6c,
+ 0x6c, 0x6f, 0x77, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c,
+ 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
+ 0x09, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x12,
+ 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73,
+ 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x48, 0x65, 0x61,
+ 0x64, 0x65, 0x72, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x5f, 0x68,
+ 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78,
+ 0x70, 0x6f, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x32, 0x0a, 0x07, 0x6d,
+ 0x61, 0x78, 0x5f, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44,
+ 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x41, 0x67, 0x65, 0x12,
+ 0x47, 0x0a, 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
+ 0x69, 0x61, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f,
+ 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x72, 0x65,
+ 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x22, 0x91, 0x05, 0x0a, 0x12, 0x48, 0x54, 0x54,
+ 0x50, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12,
+ 0x49, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33,
+ 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e,
+ 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x46,
+ 0x61, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x65,
+ 0x6c, 0x61, 0x79, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x49, 0x0a, 0x05, 0x61, 0x62,
+ 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x73, 0x74, 0x69,
+ 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61,
+ 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x49,
+ 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x52, 0x05,
+ 0x61, 0x62, 0x6f, 0x72, 0x74, 0x1a, 0x8a, 0x02, 0x0a, 0x05, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12,
+ 0x1c, 0x0a, 0x07, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
+ 0x42, 0x02, 0x18, 0x01, 0x52, 0x07, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x42, 0x0a,
+ 0x0b, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x04, 0xe2,
+ 0x41, 0x01, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x69, 0x78, 0x65, 0x64, 0x44, 0x65, 0x6c, 0x61,
+ 0x79, 0x12, 0x48, 0x0a, 0x11, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c,
+ 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44,
+ 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x10, 0x65, 0x78, 0x70, 0x6f, 0x6e,
+ 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x42, 0x0a, 0x0a, 0x70,
+ 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x22, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69,
+ 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x63,
+ 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x42,
+ 0x11, 0x0a, 0x0f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x74, 0x79,
+ 0x70, 0x65, 0x1a, 0xd7, 0x01, 0x0a, 0x05, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x12, 0x27, 0x0a, 0x0b,
+ 0x68, 0x74, 0x74, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x05, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x68, 0x74, 0x74, 0x70, 0x53,
+ 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x74,
+ 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x67, 0x72,
+ 0x70, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x0b, 0x68, 0x74, 0x74, 0x70,
+ 0x32, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52,
+ 0x0a, 0x68, 0x74, 0x74, 0x70, 0x32, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x42, 0x0a, 0x0a, 0x70,
+ 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x22, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69,
+ 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x63,
+ 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x42,
+ 0x0c, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x4a, 0x04, 0x08,
+ 0x01, 0x10, 0x02, 0x52, 0x07, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x22, 0x32, 0x0a, 0x0c,
+ 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06,
+ 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6e, 0x75,
+ 0x6d, 0x62, 0x65, 0x72, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
+ 0x22, 0x1f, 0x0a, 0x07, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x42, 0x22, 0x5a, 0x20, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70,
+ 0x69, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x61,
+ 0x6c, 0x70, 0x68, 0x61, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
-func (m *TLSMatchAttributes) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
+var (
+ file_networking_v1alpha3_virtual_service_proto_rawDescOnce sync.Once
+ file_networking_v1alpha3_virtual_service_proto_rawDescData = file_networking_v1alpha3_virtual_service_proto_rawDesc
+)
-func (m *TLSMatchAttributes) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.SourceNamespace) > 0 {
- i -= len(m.SourceNamespace)
- copy(dAtA[i:], m.SourceNamespace)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.SourceNamespace)))
- i--
- dAtA[i] = 0x3a
- }
- if len(m.Gateways) > 0 {
- for iNdEx := len(m.Gateways) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.Gateways[iNdEx])
- copy(dAtA[i:], m.Gateways[iNdEx])
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Gateways[iNdEx])))
- i--
- dAtA[i] = 0x32
- }
- }
- if len(m.SourceLabels) > 0 {
- for k := range m.SourceLabels {
- v := m.SourceLabels[k]
- baseI := i
- i -= len(v)
- copy(dAtA[i:], v)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(v)))
- i--
- dAtA[i] = 0x12
- i -= len(k)
- copy(dAtA[i:], k)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(k)))
- i--
- dAtA[i] = 0xa
- i = encodeVarintVirtualService(dAtA, i, uint64(baseI-i))
- i--
- dAtA[i] = 0x2a
- }
+func file_networking_v1alpha3_virtual_service_proto_rawDescGZIP() []byte {
+ file_networking_v1alpha3_virtual_service_proto_rawDescOnce.Do(func() {
+ file_networking_v1alpha3_virtual_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_networking_v1alpha3_virtual_service_proto_rawDescData)
+ })
+ return file_networking_v1alpha3_virtual_service_proto_rawDescData
+}
+
+var file_networking_v1alpha3_virtual_service_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_networking_v1alpha3_virtual_service_proto_msgTypes = make([]protoimpl.MessageInfo, 31)
+var file_networking_v1alpha3_virtual_service_proto_goTypes = []interface{}{
+ (HTTPRedirect_RedirectPortSelection)(0), // 0: istio.networking.v1alpha3.HTTPRedirect.RedirectPortSelection
+ (*VirtualService)(nil), // 1: istio.networking.v1alpha3.VirtualService
+ (*Destination)(nil), // 2: istio.networking.v1alpha3.Destination
+ (*HTTPRoute)(nil), // 3: istio.networking.v1alpha3.HTTPRoute
+ (*Delegate)(nil), // 4: istio.networking.v1alpha3.Delegate
+ (*Headers)(nil), // 5: istio.networking.v1alpha3.Headers
+ (*TLSRoute)(nil), // 6: istio.networking.v1alpha3.TLSRoute
+ (*TCPRoute)(nil), // 7: istio.networking.v1alpha3.TCPRoute
+ (*HTTPMatchRequest)(nil), // 8: istio.networking.v1alpha3.HTTPMatchRequest
+ (*HTTPRouteDestination)(nil), // 9: istio.networking.v1alpha3.HTTPRouteDestination
+ (*RouteDestination)(nil), // 10: istio.networking.v1alpha3.RouteDestination
+ (*L4MatchAttributes)(nil), // 11: istio.networking.v1alpha3.L4MatchAttributes
+ (*TLSMatchAttributes)(nil), // 12: istio.networking.v1alpha3.TLSMatchAttributes
+ (*HTTPRedirect)(nil), // 13: istio.networking.v1alpha3.HTTPRedirect
+ (*HTTPRewrite)(nil), // 14: istio.networking.v1alpha3.HTTPRewrite
+ (*StringMatch)(nil), // 15: istio.networking.v1alpha3.StringMatch
+ (*HTTPRetry)(nil), // 16: istio.networking.v1alpha3.HTTPRetry
+ (*CorsPolicy)(nil), // 17: istio.networking.v1alpha3.CorsPolicy
+ (*HTTPFaultInjection)(nil), // 18: istio.networking.v1alpha3.HTTPFaultInjection
+ (*PortSelector)(nil), // 19: istio.networking.v1alpha3.PortSelector
+ (*Percent)(nil), // 20: istio.networking.v1alpha3.Percent
+ (*Headers_HeaderOperations)(nil), // 21: istio.networking.v1alpha3.Headers.HeaderOperations
+ nil, // 22: istio.networking.v1alpha3.Headers.HeaderOperations.SetEntry
+ nil, // 23: istio.networking.v1alpha3.Headers.HeaderOperations.AddEntry
+ nil, // 24: istio.networking.v1alpha3.HTTPMatchRequest.HeadersEntry
+ nil, // 25: istio.networking.v1alpha3.HTTPMatchRequest.SourceLabelsEntry
+ nil, // 26: istio.networking.v1alpha3.HTTPMatchRequest.QueryParamsEntry
+ nil, // 27: istio.networking.v1alpha3.HTTPMatchRequest.WithoutHeadersEntry
+ nil, // 28: istio.networking.v1alpha3.L4MatchAttributes.SourceLabelsEntry
+ nil, // 29: istio.networking.v1alpha3.TLSMatchAttributes.SourceLabelsEntry
+ (*HTTPFaultInjection_Delay)(nil), // 30: istio.networking.v1alpha3.HTTPFaultInjection.Delay
+ (*HTTPFaultInjection_Abort)(nil), // 31: istio.networking.v1alpha3.HTTPFaultInjection.Abort
+ (*duration.Duration)(nil), // 32: google.protobuf.Duration
+ (*wrappers.UInt32Value)(nil), // 33: google.protobuf.UInt32Value
+ (*wrappers.BoolValue)(nil), // 34: google.protobuf.BoolValue
+}
+var file_networking_v1alpha3_virtual_service_proto_depIdxs = []int32{
+ 3, // 0: istio.networking.v1alpha3.VirtualService.http:type_name -> istio.networking.v1alpha3.HTTPRoute
+ 6, // 1: istio.networking.v1alpha3.VirtualService.tls:type_name -> istio.networking.v1alpha3.TLSRoute
+ 7, // 2: istio.networking.v1alpha3.VirtualService.tcp:type_name -> istio.networking.v1alpha3.TCPRoute
+ 19, // 3: istio.networking.v1alpha3.Destination.port:type_name -> istio.networking.v1alpha3.PortSelector
+ 8, // 4: istio.networking.v1alpha3.HTTPRoute.match:type_name -> istio.networking.v1alpha3.HTTPMatchRequest
+ 9, // 5: istio.networking.v1alpha3.HTTPRoute.route:type_name -> istio.networking.v1alpha3.HTTPRouteDestination
+ 13, // 6: istio.networking.v1alpha3.HTTPRoute.redirect:type_name -> istio.networking.v1alpha3.HTTPRedirect
+ 4, // 7: istio.networking.v1alpha3.HTTPRoute.delegate:type_name -> istio.networking.v1alpha3.Delegate
+ 14, // 8: istio.networking.v1alpha3.HTTPRoute.rewrite:type_name -> istio.networking.v1alpha3.HTTPRewrite
+ 32, // 9: istio.networking.v1alpha3.HTTPRoute.timeout:type_name -> google.protobuf.Duration
+ 16, // 10: istio.networking.v1alpha3.HTTPRoute.retries:type_name -> istio.networking.v1alpha3.HTTPRetry
+ 18, // 11: istio.networking.v1alpha3.HTTPRoute.fault:type_name -> istio.networking.v1alpha3.HTTPFaultInjection
+ 2, // 12: istio.networking.v1alpha3.HTTPRoute.mirror:type_name -> istio.networking.v1alpha3.Destination
+ 33, // 13: istio.networking.v1alpha3.HTTPRoute.mirror_percent:type_name -> google.protobuf.UInt32Value
+ 20, // 14: istio.networking.v1alpha3.HTTPRoute.mirror_percentage:type_name -> istio.networking.v1alpha3.Percent
+ 17, // 15: istio.networking.v1alpha3.HTTPRoute.cors_policy:type_name -> istio.networking.v1alpha3.CorsPolicy
+ 5, // 16: istio.networking.v1alpha3.HTTPRoute.headers:type_name -> istio.networking.v1alpha3.Headers
+ 21, // 17: istio.networking.v1alpha3.Headers.request:type_name -> istio.networking.v1alpha3.Headers.HeaderOperations
+ 21, // 18: istio.networking.v1alpha3.Headers.response:type_name -> istio.networking.v1alpha3.Headers.HeaderOperations
+ 12, // 19: istio.networking.v1alpha3.TLSRoute.match:type_name -> istio.networking.v1alpha3.TLSMatchAttributes
+ 10, // 20: istio.networking.v1alpha3.TLSRoute.route:type_name -> istio.networking.v1alpha3.RouteDestination
+ 11, // 21: istio.networking.v1alpha3.TCPRoute.match:type_name -> istio.networking.v1alpha3.L4MatchAttributes
+ 10, // 22: istio.networking.v1alpha3.TCPRoute.route:type_name -> istio.networking.v1alpha3.RouteDestination
+ 15, // 23: istio.networking.v1alpha3.HTTPMatchRequest.uri:type_name -> istio.networking.v1alpha3.StringMatch
+ 15, // 24: istio.networking.v1alpha3.HTTPMatchRequest.scheme:type_name -> istio.networking.v1alpha3.StringMatch
+ 15, // 25: istio.networking.v1alpha3.HTTPMatchRequest.method:type_name -> istio.networking.v1alpha3.StringMatch
+ 15, // 26: istio.networking.v1alpha3.HTTPMatchRequest.authority:type_name -> istio.networking.v1alpha3.StringMatch
+ 24, // 27: istio.networking.v1alpha3.HTTPMatchRequest.headers:type_name -> istio.networking.v1alpha3.HTTPMatchRequest.HeadersEntry
+ 25, // 28: istio.networking.v1alpha3.HTTPMatchRequest.source_labels:type_name -> istio.networking.v1alpha3.HTTPMatchRequest.SourceLabelsEntry
+ 26, // 29: istio.networking.v1alpha3.HTTPMatchRequest.query_params:type_name -> istio.networking.v1alpha3.HTTPMatchRequest.QueryParamsEntry
+ 27, // 30: istio.networking.v1alpha3.HTTPMatchRequest.without_headers:type_name -> istio.networking.v1alpha3.HTTPMatchRequest.WithoutHeadersEntry
+ 2, // 31: istio.networking.v1alpha3.HTTPRouteDestination.destination:type_name -> istio.networking.v1alpha3.Destination
+ 5, // 32: istio.networking.v1alpha3.HTTPRouteDestination.headers:type_name -> istio.networking.v1alpha3.Headers
+ 2, // 33: istio.networking.v1alpha3.RouteDestination.destination:type_name -> istio.networking.v1alpha3.Destination
+ 28, // 34: istio.networking.v1alpha3.L4MatchAttributes.source_labels:type_name -> istio.networking.v1alpha3.L4MatchAttributes.SourceLabelsEntry
+ 29, // 35: istio.networking.v1alpha3.TLSMatchAttributes.source_labels:type_name -> istio.networking.v1alpha3.TLSMatchAttributes.SourceLabelsEntry
+ 0, // 36: istio.networking.v1alpha3.HTTPRedirect.derive_port:type_name -> istio.networking.v1alpha3.HTTPRedirect.RedirectPortSelection
+ 32, // 37: istio.networking.v1alpha3.HTTPRetry.per_try_timeout:type_name -> google.protobuf.Duration
+ 34, // 38: istio.networking.v1alpha3.HTTPRetry.retry_remote_localities:type_name -> google.protobuf.BoolValue
+ 15, // 39: istio.networking.v1alpha3.CorsPolicy.allow_origins:type_name -> istio.networking.v1alpha3.StringMatch
+ 32, // 40: istio.networking.v1alpha3.CorsPolicy.max_age:type_name -> google.protobuf.Duration
+ 34, // 41: istio.networking.v1alpha3.CorsPolicy.allow_credentials:type_name -> google.protobuf.BoolValue
+ 30, // 42: istio.networking.v1alpha3.HTTPFaultInjection.delay:type_name -> istio.networking.v1alpha3.HTTPFaultInjection.Delay
+ 31, // 43: istio.networking.v1alpha3.HTTPFaultInjection.abort:type_name -> istio.networking.v1alpha3.HTTPFaultInjection.Abort
+ 22, // 44: istio.networking.v1alpha3.Headers.HeaderOperations.set:type_name -> istio.networking.v1alpha3.Headers.HeaderOperations.SetEntry
+ 23, // 45: istio.networking.v1alpha3.Headers.HeaderOperations.add:type_name -> istio.networking.v1alpha3.Headers.HeaderOperations.AddEntry
+ 15, // 46: istio.networking.v1alpha3.HTTPMatchRequest.HeadersEntry.value:type_name -> istio.networking.v1alpha3.StringMatch
+ 15, // 47: istio.networking.v1alpha3.HTTPMatchRequest.QueryParamsEntry.value:type_name -> istio.networking.v1alpha3.StringMatch
+ 15, // 48: istio.networking.v1alpha3.HTTPMatchRequest.WithoutHeadersEntry.value:type_name -> istio.networking.v1alpha3.StringMatch
+ 32, // 49: istio.networking.v1alpha3.HTTPFaultInjection.Delay.fixed_delay:type_name -> google.protobuf.Duration
+ 32, // 50: istio.networking.v1alpha3.HTTPFaultInjection.Delay.exponential_delay:type_name -> google.protobuf.Duration
+ 20, // 51: istio.networking.v1alpha3.HTTPFaultInjection.Delay.percentage:type_name -> istio.networking.v1alpha3.Percent
+ 20, // 52: istio.networking.v1alpha3.HTTPFaultInjection.Abort.percentage:type_name -> istio.networking.v1alpha3.Percent
+ 53, // [53:53] is the sub-list for method output_type
+ 53, // [53:53] is the sub-list for method input_type
+ 53, // [53:53] is the sub-list for extension type_name
+ 53, // [53:53] is the sub-list for extension extendee
+ 0, // [0:53] is the sub-list for field type_name
+}
+
+func init() { file_networking_v1alpha3_virtual_service_proto_init() }
+func file_networking_v1alpha3_virtual_service_proto_init() {
+ if File_networking_v1alpha3_virtual_service_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_networking_v1alpha3_virtual_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VirtualService); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_virtual_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Destination); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_virtual_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HTTPRoute); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_virtual_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Delegate); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_virtual_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Headers); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_virtual_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TLSRoute); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_virtual_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TCPRoute); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_virtual_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HTTPMatchRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_virtual_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HTTPRouteDestination); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_virtual_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RouteDestination); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_virtual_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*L4MatchAttributes); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_virtual_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TLSMatchAttributes); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_virtual_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HTTPRedirect); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_virtual_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HTTPRewrite); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_virtual_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StringMatch); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_virtual_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HTTPRetry); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_virtual_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CorsPolicy); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_virtual_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HTTPFaultInjection); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_virtual_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PortSelector); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_virtual_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Percent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_virtual_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Headers_HeaderOperations); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_virtual_service_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HTTPFaultInjection_Delay); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_virtual_service_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HTTPFaultInjection_Abort); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_networking_v1alpha3_virtual_service_proto_msgTypes[12].OneofWrappers = []interface{}{
+ (*HTTPRedirect_Port)(nil),
+ (*HTTPRedirect_DerivePort)(nil),
}
- if m.Port != 0 {
- i = encodeVarintVirtualService(dAtA, i, uint64(m.Port))
- i--
- dAtA[i] = 0x18
- }
- if len(m.DestinationSubnets) > 0 {
- for iNdEx := len(m.DestinationSubnets) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.DestinationSubnets[iNdEx])
- copy(dAtA[i:], m.DestinationSubnets[iNdEx])
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.DestinationSubnets[iNdEx])))
- i--
- dAtA[i] = 0x12
- }
+ file_networking_v1alpha3_virtual_service_proto_msgTypes[14].OneofWrappers = []interface{}{
+ (*StringMatch_Exact)(nil),
+ (*StringMatch_Prefix)(nil),
+ (*StringMatch_Regex)(nil),
}
- if len(m.SniHosts) > 0 {
- for iNdEx := len(m.SniHosts) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.SniHosts[iNdEx])
- copy(dAtA[i:], m.SniHosts[iNdEx])
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.SniHosts[iNdEx])))
- i--
- dAtA[i] = 0xa
- }
+ file_networking_v1alpha3_virtual_service_proto_msgTypes[29].OneofWrappers = []interface{}{
+ (*HTTPFaultInjection_Delay_FixedDelay)(nil),
+ (*HTTPFaultInjection_Delay_ExponentialDelay)(nil),
}
- return len(dAtA) - i, nil
-}
-
-func (m *HTTPRedirect) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
+ file_networking_v1alpha3_virtual_service_proto_msgTypes[30].OneofWrappers = []interface{}{
+ (*HTTPFaultInjection_Abort_HttpStatus)(nil),
+ (*HTTPFaultInjection_Abort_GrpcStatus)(nil),
+ (*HTTPFaultInjection_Abort_Http2Error)(nil),
}
- return dAtA[:n], nil
-}
-
-func (m *HTTPRedirect) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_networking_v1alpha3_virtual_service_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 31,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_networking_v1alpha3_virtual_service_proto_goTypes,
+ DependencyIndexes: file_networking_v1alpha3_virtual_service_proto_depIdxs,
+ EnumInfos: file_networking_v1alpha3_virtual_service_proto_enumTypes,
+ MessageInfos: file_networking_v1alpha3_virtual_service_proto_msgTypes,
+ }.Build()
+ File_networking_v1alpha3_virtual_service_proto = out.File
+ file_networking_v1alpha3_virtual_service_proto_rawDesc = nil
+ file_networking_v1alpha3_virtual_service_proto_goTypes = nil
+ file_networking_v1alpha3_virtual_service_proto_depIdxs = nil
}
-
-func (m *HTTPRedirect) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Scheme) > 0 {
- i -= len(m.Scheme)
- copy(dAtA[i:], m.Scheme)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Scheme)))
- i--
- dAtA[i] = 0x32
- }
- if m.RedirectPort != nil {
- {
- size := m.RedirectPort.Size()
- i -= size
- if _, err := m.RedirectPort.MarshalTo(dAtA[i:]); err != nil {
- return 0, err
- }
- }
- }
- if m.RedirectCode != 0 {
- i = encodeVarintVirtualService(dAtA, i, uint64(m.RedirectCode))
- i--
- dAtA[i] = 0x18
- }
- if len(m.Authority) > 0 {
- i -= len(m.Authority)
- copy(dAtA[i:], m.Authority)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Authority)))
- i--
- dAtA[i] = 0x12
- }
- if len(m.Uri) > 0 {
- i -= len(m.Uri)
- copy(dAtA[i:], m.Uri)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Uri)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func (m *HTTPRedirect_Port) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HTTPRedirect_Port) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- i = encodeVarintVirtualService(dAtA, i, uint64(m.Port))
- i--
- dAtA[i] = 0x20
- return len(dAtA) - i, nil
-}
-func (m *HTTPRedirect_DerivePort) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HTTPRedirect_DerivePort) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- i = encodeVarintVirtualService(dAtA, i, uint64(m.DerivePort))
- i--
- dAtA[i] = 0x28
- return len(dAtA) - i, nil
-}
-func (m *HTTPRewrite) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *HTTPRewrite) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HTTPRewrite) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Authority) > 0 {
- i -= len(m.Authority)
- copy(dAtA[i:], m.Authority)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Authority)))
- i--
- dAtA[i] = 0x12
- }
- if len(m.Uri) > 0 {
- i -= len(m.Uri)
- copy(dAtA[i:], m.Uri)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Uri)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func (m *StringMatch) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *StringMatch) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *StringMatch) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.MatchType != nil {
- {
- size := m.MatchType.Size()
- i -= size
- if _, err := m.MatchType.MarshalTo(dAtA[i:]); err != nil {
- return 0, err
- }
- }
- }
- return len(dAtA) - i, nil
-}
-
-func (m *StringMatch_Exact) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *StringMatch_Exact) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- i -= len(m.Exact)
- copy(dAtA[i:], m.Exact)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Exact)))
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-func (m *StringMatch_Prefix) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *StringMatch_Prefix) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- i -= len(m.Prefix)
- copy(dAtA[i:], m.Prefix)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Prefix)))
- i--
- dAtA[i] = 0x12
- return len(dAtA) - i, nil
-}
-func (m *StringMatch_Regex) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *StringMatch_Regex) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- i -= len(m.Regex)
- copy(dAtA[i:], m.Regex)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Regex)))
- i--
- dAtA[i] = 0x1a
- return len(dAtA) - i, nil
-}
-func (m *HTTPRetry) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *HTTPRetry) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HTTPRetry) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.RetryRemoteLocalities != nil {
- {
- size, err := m.RetryRemoteLocalities.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x22
- }
- if len(m.RetryOn) > 0 {
- i -= len(m.RetryOn)
- copy(dAtA[i:], m.RetryOn)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.RetryOn)))
- i--
- dAtA[i] = 0x1a
- }
- if m.PerTryTimeout != nil {
- {
- size, err := m.PerTryTimeout.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- if m.Attempts != 0 {
- i = encodeVarintVirtualService(dAtA, i, uint64(m.Attempts))
- i--
- dAtA[i] = 0x8
- }
- return len(dAtA) - i, nil
-}
-
-func (m *CorsPolicy) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *CorsPolicy) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *CorsPolicy) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.AllowOrigins) > 0 {
- for iNdEx := len(m.AllowOrigins) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.AllowOrigins[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x3a
- }
- }
- if m.AllowCredentials != nil {
- {
- size, err := m.AllowCredentials.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x32
- }
- if m.MaxAge != nil {
- {
- size, err := m.MaxAge.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x2a
- }
- if len(m.ExposeHeaders) > 0 {
- for iNdEx := len(m.ExposeHeaders) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.ExposeHeaders[iNdEx])
- copy(dAtA[i:], m.ExposeHeaders[iNdEx])
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.ExposeHeaders[iNdEx])))
- i--
- dAtA[i] = 0x22
- }
- }
- if len(m.AllowHeaders) > 0 {
- for iNdEx := len(m.AllowHeaders) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.AllowHeaders[iNdEx])
- copy(dAtA[i:], m.AllowHeaders[iNdEx])
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.AllowHeaders[iNdEx])))
- i--
- dAtA[i] = 0x1a
- }
- }
- if len(m.AllowMethods) > 0 {
- for iNdEx := len(m.AllowMethods) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.AllowMethods[iNdEx])
- copy(dAtA[i:], m.AllowMethods[iNdEx])
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.AllowMethods[iNdEx])))
- i--
- dAtA[i] = 0x12
- }
- }
- if len(m.AllowOrigin) > 0 {
- for iNdEx := len(m.AllowOrigin) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.AllowOrigin[iNdEx])
- copy(dAtA[i:], m.AllowOrigin[iNdEx])
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.AllowOrigin[iNdEx])))
- i--
- dAtA[i] = 0xa
- }
- }
- return len(dAtA) - i, nil
-}
-
-func (m *HTTPFaultInjection) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *HTTPFaultInjection) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HTTPFaultInjection) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Abort != nil {
- {
- size, err := m.Abort.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- if m.Delay != nil {
- {
- size, err := m.Delay.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func (m *HTTPFaultInjection_Delay) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *HTTPFaultInjection_Delay) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HTTPFaultInjection_Delay) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Percentage != nil {
- {
- size, err := m.Percentage.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x2a
- }
- if m.HttpDelayType != nil {
- {
- size := m.HttpDelayType.Size()
- i -= size
- if _, err := m.HttpDelayType.MarshalTo(dAtA[i:]); err != nil {
- return 0, err
- }
- }
- }
- if m.Percent != 0 {
- i = encodeVarintVirtualService(dAtA, i, uint64(m.Percent))
- i--
- dAtA[i] = 0x8
- }
- return len(dAtA) - i, nil
-}
-
-func (m *HTTPFaultInjection_Delay_FixedDelay) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HTTPFaultInjection_Delay_FixedDelay) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- if m.FixedDelay != nil {
- {
- size, err := m.FixedDelay.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- return len(dAtA) - i, nil
-}
-func (m *HTTPFaultInjection_Delay_ExponentialDelay) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HTTPFaultInjection_Delay_ExponentialDelay) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- if m.ExponentialDelay != nil {
- {
- size, err := m.ExponentialDelay.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- return len(dAtA) - i, nil
-}
-func (m *HTTPFaultInjection_Abort) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *HTTPFaultInjection_Abort) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HTTPFaultInjection_Abort) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Percentage != nil {
- {
- size, err := m.Percentage.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x2a
- }
- if m.ErrorType != nil {
- {
- size := m.ErrorType.Size()
- i -= size
- if _, err := m.ErrorType.MarshalTo(dAtA[i:]); err != nil {
- return 0, err
- }
- }
- }
- return len(dAtA) - i, nil
-}
-
-func (m *HTTPFaultInjection_Abort_HttpStatus) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HTTPFaultInjection_Abort_HttpStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- i = encodeVarintVirtualService(dAtA, i, uint64(m.HttpStatus))
- i--
- dAtA[i] = 0x10
- return len(dAtA) - i, nil
-}
-func (m *HTTPFaultInjection_Abort_GrpcStatus) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HTTPFaultInjection_Abort_GrpcStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- i -= len(m.GrpcStatus)
- copy(dAtA[i:], m.GrpcStatus)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.GrpcStatus)))
- i--
- dAtA[i] = 0x1a
- return len(dAtA) - i, nil
-}
-func (m *HTTPFaultInjection_Abort_Http2Error) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HTTPFaultInjection_Abort_Http2Error) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- i -= len(m.Http2Error)
- copy(dAtA[i:], m.Http2Error)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Http2Error)))
- i--
- dAtA[i] = 0x22
- return len(dAtA) - i, nil
-}
-func (m *PortSelector) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *PortSelector) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *PortSelector) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Number != 0 {
- i = encodeVarintVirtualService(dAtA, i, uint64(m.Number))
- i--
- dAtA[i] = 0x8
- }
- return len(dAtA) - i, nil
-}
-
-func (m *Percent) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *Percent) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Percent) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Value != 0 {
- i -= 8
- encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Value))))
- i--
- dAtA[i] = 0x9
- }
- return len(dAtA) - i, nil
-}
-
-func encodeVarintVirtualService(dAtA []byte, offset int, v uint64) int {
- offset -= sovVirtualService(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
-func (m *VirtualService) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if len(m.Hosts) > 0 {
- for _, s := range m.Hosts {
- l = len(s)
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if len(m.Gateways) > 0 {
- for _, s := range m.Gateways {
- l = len(s)
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if len(m.Http) > 0 {
- for _, e := range m.Http {
- l = e.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if len(m.Tcp) > 0 {
- for _, e := range m.Tcp {
- l = e.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if len(m.Tls) > 0 {
- for _, e := range m.Tls {
- l = e.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if len(m.ExportTo) > 0 {
- for _, s := range m.ExportTo {
- l = len(s)
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *Destination) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Host)
- if l > 0 {
- n += 1 + l + sovVirtualService(uint64(l))
- }
- l = len(m.Subset)
- if l > 0 {
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.Port != nil {
- l = m.Port.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *HTTPRoute) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if len(m.Match) > 0 {
- for _, e := range m.Match {
- l = e.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if len(m.Route) > 0 {
- for _, e := range m.Route {
- l = e.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if m.Redirect != nil {
- l = m.Redirect.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.Rewrite != nil {
- l = m.Rewrite.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.Timeout != nil {
- l = m.Timeout.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.Retries != nil {
- l = m.Retries.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.Fault != nil {
- l = m.Fault.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.Mirror != nil {
- l = m.Mirror.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.CorsPolicy != nil {
- l = m.CorsPolicy.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.Headers != nil {
- l = m.Headers.Size()
- n += 2 + l + sovVirtualService(uint64(l))
- }
- l = len(m.Name)
- if l > 0 {
- n += 2 + l + sovVirtualService(uint64(l))
- }
- if m.MirrorPercent != nil {
- l = m.MirrorPercent.Size()
- n += 2 + l + sovVirtualService(uint64(l))
- }
- if m.MirrorPercentage != nil {
- l = m.MirrorPercentage.Size()
- n += 2 + l + sovVirtualService(uint64(l))
- }
- if m.Delegate != nil {
- l = m.Delegate.Size()
- n += 2 + l + sovVirtualService(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *Delegate) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Name)
- if l > 0 {
- n += 1 + l + sovVirtualService(uint64(l))
- }
- l = len(m.Namespace)
- if l > 0 {
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *Headers) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Request != nil {
- l = m.Request.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.Response != nil {
- l = m.Response.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *Headers_HeaderOperations) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if len(m.Set) > 0 {
- for k, v := range m.Set {
- _ = k
- _ = v
- mapEntrySize := 1 + len(k) + sovVirtualService(uint64(len(k))) + 1 + len(v) + sovVirtualService(uint64(len(v)))
- n += mapEntrySize + 1 + sovVirtualService(uint64(mapEntrySize))
- }
- }
- if len(m.Add) > 0 {
- for k, v := range m.Add {
- _ = k
- _ = v
- mapEntrySize := 1 + len(k) + sovVirtualService(uint64(len(k))) + 1 + len(v) + sovVirtualService(uint64(len(v)))
- n += mapEntrySize + 1 + sovVirtualService(uint64(mapEntrySize))
- }
- }
- if len(m.Remove) > 0 {
- for _, s := range m.Remove {
- l = len(s)
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *TLSRoute) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if len(m.Match) > 0 {
- for _, e := range m.Match {
- l = e.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if len(m.Route) > 0 {
- for _, e := range m.Route {
- l = e.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *TCPRoute) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if len(m.Match) > 0 {
- for _, e := range m.Match {
- l = e.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if len(m.Route) > 0 {
- for _, e := range m.Route {
- l = e.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *HTTPMatchRequest) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Uri != nil {
- l = m.Uri.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.Scheme != nil {
- l = m.Scheme.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.Method != nil {
- l = m.Method.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.Authority != nil {
- l = m.Authority.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if len(m.Headers) > 0 {
- for k, v := range m.Headers {
- _ = k
- _ = v
- l = 0
- if v != nil {
- l = v.Size()
- l += 1 + sovVirtualService(uint64(l))
- }
- mapEntrySize := 1 + len(k) + sovVirtualService(uint64(len(k))) + l
- n += mapEntrySize + 1 + sovVirtualService(uint64(mapEntrySize))
- }
- }
- if m.Port != 0 {
- n += 1 + sovVirtualService(uint64(m.Port))
- }
- if len(m.SourceLabels) > 0 {
- for k, v := range m.SourceLabels {
- _ = k
- _ = v
- mapEntrySize := 1 + len(k) + sovVirtualService(uint64(len(k))) + 1 + len(v) + sovVirtualService(uint64(len(v)))
- n += mapEntrySize + 1 + sovVirtualService(uint64(mapEntrySize))
- }
- }
- if len(m.Gateways) > 0 {
- for _, s := range m.Gateways {
- l = len(s)
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if len(m.QueryParams) > 0 {
- for k, v := range m.QueryParams {
- _ = k
- _ = v
- l = 0
- if v != nil {
- l = v.Size()
- l += 1 + sovVirtualService(uint64(l))
- }
- mapEntrySize := 1 + len(k) + sovVirtualService(uint64(len(k))) + l
- n += mapEntrySize + 1 + sovVirtualService(uint64(mapEntrySize))
- }
- }
- if m.IgnoreUriCase {
- n += 2
- }
- l = len(m.Name)
- if l > 0 {
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if len(m.WithoutHeaders) > 0 {
- for k, v := range m.WithoutHeaders {
- _ = k
- _ = v
- l = 0
- if v != nil {
- l = v.Size()
- l += 1 + sovVirtualService(uint64(l))
- }
- mapEntrySize := 1 + len(k) + sovVirtualService(uint64(len(k))) + l
- n += mapEntrySize + 1 + sovVirtualService(uint64(mapEntrySize))
- }
- }
- l = len(m.SourceNamespace)
- if l > 0 {
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *HTTPRouteDestination) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Destination != nil {
- l = m.Destination.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.Weight != 0 {
- n += 1 + sovVirtualService(uint64(m.Weight))
- }
- if m.Headers != nil {
- l = m.Headers.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *RouteDestination) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Destination != nil {
- l = m.Destination.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.Weight != 0 {
- n += 1 + sovVirtualService(uint64(m.Weight))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *L4MatchAttributes) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if len(m.DestinationSubnets) > 0 {
- for _, s := range m.DestinationSubnets {
- l = len(s)
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if m.Port != 0 {
- n += 1 + sovVirtualService(uint64(m.Port))
- }
- l = len(m.SourceSubnet)
- if l > 0 {
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if len(m.SourceLabels) > 0 {
- for k, v := range m.SourceLabels {
- _ = k
- _ = v
- mapEntrySize := 1 + len(k) + sovVirtualService(uint64(len(k))) + 1 + len(v) + sovVirtualService(uint64(len(v)))
- n += mapEntrySize + 1 + sovVirtualService(uint64(mapEntrySize))
- }
- }
- if len(m.Gateways) > 0 {
- for _, s := range m.Gateways {
- l = len(s)
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- l = len(m.SourceNamespace)
- if l > 0 {
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *TLSMatchAttributes) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if len(m.SniHosts) > 0 {
- for _, s := range m.SniHosts {
- l = len(s)
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if len(m.DestinationSubnets) > 0 {
- for _, s := range m.DestinationSubnets {
- l = len(s)
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if m.Port != 0 {
- n += 1 + sovVirtualService(uint64(m.Port))
- }
- if len(m.SourceLabels) > 0 {
- for k, v := range m.SourceLabels {
- _ = k
- _ = v
- mapEntrySize := 1 + len(k) + sovVirtualService(uint64(len(k))) + 1 + len(v) + sovVirtualService(uint64(len(v)))
- n += mapEntrySize + 1 + sovVirtualService(uint64(mapEntrySize))
- }
- }
- if len(m.Gateways) > 0 {
- for _, s := range m.Gateways {
- l = len(s)
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- l = len(m.SourceNamespace)
- if l > 0 {
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *HTTPRedirect) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Uri)
- if l > 0 {
- n += 1 + l + sovVirtualService(uint64(l))
- }
- l = len(m.Authority)
- if l > 0 {
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.RedirectCode != 0 {
- n += 1 + sovVirtualService(uint64(m.RedirectCode))
- }
- if m.RedirectPort != nil {
- n += m.RedirectPort.Size()
- }
- l = len(m.Scheme)
- if l > 0 {
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *HTTPRedirect_Port) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- n += 1 + sovVirtualService(uint64(m.Port))
- return n
-}
-func (m *HTTPRedirect_DerivePort) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- n += 1 + sovVirtualService(uint64(m.DerivePort))
- return n
-}
-func (m *HTTPRewrite) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Uri)
- if l > 0 {
- n += 1 + l + sovVirtualService(uint64(l))
- }
- l = len(m.Authority)
- if l > 0 {
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *StringMatch) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.MatchType != nil {
- n += m.MatchType.Size()
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *StringMatch_Exact) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Exact)
- n += 1 + l + sovVirtualService(uint64(l))
- return n
-}
-func (m *StringMatch_Prefix) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Prefix)
- n += 1 + l + sovVirtualService(uint64(l))
- return n
-}
-func (m *StringMatch_Regex) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Regex)
- n += 1 + l + sovVirtualService(uint64(l))
- return n
-}
-func (m *HTTPRetry) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Attempts != 0 {
- n += 1 + sovVirtualService(uint64(m.Attempts))
- }
- if m.PerTryTimeout != nil {
- l = m.PerTryTimeout.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- l = len(m.RetryOn)
- if l > 0 {
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.RetryRemoteLocalities != nil {
- l = m.RetryRemoteLocalities.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *CorsPolicy) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if len(m.AllowOrigin) > 0 {
- for _, s := range m.AllowOrigin {
- l = len(s)
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if len(m.AllowMethods) > 0 {
- for _, s := range m.AllowMethods {
- l = len(s)
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if len(m.AllowHeaders) > 0 {
- for _, s := range m.AllowHeaders {
- l = len(s)
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if len(m.ExposeHeaders) > 0 {
- for _, s := range m.ExposeHeaders {
- l = len(s)
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if m.MaxAge != nil {
- l = m.MaxAge.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.AllowCredentials != nil {
- l = m.AllowCredentials.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if len(m.AllowOrigins) > 0 {
- for _, e := range m.AllowOrigins {
- l = e.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *HTTPFaultInjection) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Delay != nil {
- l = m.Delay.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.Abort != nil {
- l = m.Abort.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *HTTPFaultInjection_Delay) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Percent != 0 {
- n += 1 + sovVirtualService(uint64(m.Percent))
- }
- if m.HttpDelayType != nil {
- n += m.HttpDelayType.Size()
- }
- if m.Percentage != nil {
- l = m.Percentage.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *HTTPFaultInjection_Delay_FixedDelay) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.FixedDelay != nil {
- l = m.FixedDelay.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- return n
-}
-func (m *HTTPFaultInjection_Delay_ExponentialDelay) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.ExponentialDelay != nil {
- l = m.ExponentialDelay.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- return n
-}
-func (m *HTTPFaultInjection_Abort) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.ErrorType != nil {
- n += m.ErrorType.Size()
- }
- if m.Percentage != nil {
- l = m.Percentage.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *HTTPFaultInjection_Abort_HttpStatus) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- n += 1 + sovVirtualService(uint64(m.HttpStatus))
- return n
-}
-func (m *HTTPFaultInjection_Abort_GrpcStatus) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.GrpcStatus)
- n += 1 + l + sovVirtualService(uint64(l))
- return n
-}
-func (m *HTTPFaultInjection_Abort_Http2Error) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Http2Error)
- n += 1 + l + sovVirtualService(uint64(l))
- return n
-}
-func (m *PortSelector) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Number != 0 {
- n += 1 + sovVirtualService(uint64(m.Number))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *Percent) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Value != 0 {
- n += 9
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func sovVirtualService(x uint64) (n int) {
- return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozVirtualService(x uint64) (n int) {
- return sovVirtualService(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (m *VirtualService) 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 ErrIntOverflowVirtualService
- }
- 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: VirtualService: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: VirtualService: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Hosts", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Hosts = append(m.Hosts, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Gateways", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Gateways = append(m.Gateways, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Http", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Http = append(m.Http, &HTTPRoute{})
- if err := m.Http[len(m.Http)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Tcp", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Tcp = append(m.Tcp, &TCPRoute{})
- if err := m.Tcp[len(m.Tcp)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Tls", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Tls = append(m.Tls, &TLSRoute{})
- if err := m.Tls[len(m.Tls)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 6:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ExportTo", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.ExportTo = append(m.ExportTo, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *Destination) 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 ErrIntOverflowVirtualService
- }
- 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: Destination: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Destination: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Host", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Host = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Subset", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Subset = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Port", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Port == nil {
- m.Port = &PortSelector{}
- }
- if err := m.Port.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *HTTPRoute) 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 ErrIntOverflowVirtualService
- }
- 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: HTTPRoute: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: HTTPRoute: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Match", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Match = append(m.Match, &HTTPMatchRequest{})
- if err := m.Match[len(m.Match)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Route", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Route = append(m.Route, &HTTPRouteDestination{})
- if err := m.Route[len(m.Route)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Redirect", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Redirect == nil {
- m.Redirect = &HTTPRedirect{}
- }
- if err := m.Redirect.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Rewrite", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Rewrite == nil {
- m.Rewrite = &HTTPRewrite{}
- }
- if err := m.Rewrite.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 6:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Timeout", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Timeout == nil {
- m.Timeout = &types.Duration{}
- }
- if err := m.Timeout.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 7:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Retries", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Retries == nil {
- m.Retries = &HTTPRetry{}
- }
- if err := m.Retries.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 8:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Fault", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Fault == nil {
- m.Fault = &HTTPFaultInjection{}
- }
- if err := m.Fault.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 9:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Mirror", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Mirror == nil {
- m.Mirror = &Destination{}
- }
- if err := m.Mirror.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 10:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field CorsPolicy", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.CorsPolicy == nil {
- m.CorsPolicy = &CorsPolicy{}
- }
- if err := m.CorsPolicy.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 16:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Headers", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Headers == nil {
- m.Headers = &Headers{}
- }
- if err := m.Headers.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 17:
- 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 ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Name = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 18:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field MirrorPercent", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.MirrorPercent == nil {
- m.MirrorPercent = &types.UInt32Value{}
- }
- if err := m.MirrorPercent.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 19:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field MirrorPercentage", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.MirrorPercentage == nil {
- m.MirrorPercentage = &Percent{}
- }
- if err := m.MirrorPercentage.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 20:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Delegate", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Delegate == nil {
- m.Delegate = &Delegate{}
- }
- if err := m.Delegate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *Delegate) 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 ErrIntOverflowVirtualService
- }
- 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: Delegate: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Delegate: 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 ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- 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 Namespace", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Namespace = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *Headers) 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 ErrIntOverflowVirtualService
- }
- 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: Headers: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Headers: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Request", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Request == nil {
- m.Request = &Headers_HeaderOperations{}
- }
- if err := m.Request.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Response", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Response == nil {
- m.Response = &Headers_HeaderOperations{}
- }
- if err := m.Response.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *Headers_HeaderOperations) 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 ErrIntOverflowVirtualService
- }
- 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: HeaderOperations: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: HeaderOperations: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Set", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Set == nil {
- m.Set = make(map[string]string)
- }
- var mapkey string
- var mapvalue string
- for iNdEx < postIndex {
- entryPreIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- if fieldNum == 1 {
- var stringLenmapkey uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapkey |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapkey := int(stringLenmapkey)
- if intStringLenmapkey < 0 {
- return ErrInvalidLengthVirtualService
- }
- postStringIndexmapkey := iNdEx + intStringLenmapkey
- if postStringIndexmapkey < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postStringIndexmapkey > l {
- return io.ErrUnexpectedEOF
- }
- mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
- iNdEx = postStringIndexmapkey
- } else if fieldNum == 2 {
- var stringLenmapvalue uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapvalue |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapvalue := int(stringLenmapvalue)
- if intStringLenmapvalue < 0 {
- return ErrInvalidLengthVirtualService
- }
- postStringIndexmapvalue := iNdEx + intStringLenmapvalue
- if postStringIndexmapvalue < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postStringIndexmapvalue > l {
- return io.ErrUnexpectedEOF
- }
- mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue])
- iNdEx = postStringIndexmapvalue
- } else {
- iNdEx = entryPreIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > postIndex {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- m.Set[mapkey] = mapvalue
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Add", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Add == nil {
- m.Add = make(map[string]string)
- }
- var mapkey string
- var mapvalue string
- for iNdEx < postIndex {
- entryPreIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- if fieldNum == 1 {
- var stringLenmapkey uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapkey |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapkey := int(stringLenmapkey)
- if intStringLenmapkey < 0 {
- return ErrInvalidLengthVirtualService
- }
- postStringIndexmapkey := iNdEx + intStringLenmapkey
- if postStringIndexmapkey < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postStringIndexmapkey > l {
- return io.ErrUnexpectedEOF
- }
- mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
- iNdEx = postStringIndexmapkey
- } else if fieldNum == 2 {
- var stringLenmapvalue uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapvalue |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapvalue := int(stringLenmapvalue)
- if intStringLenmapvalue < 0 {
- return ErrInvalidLengthVirtualService
- }
- postStringIndexmapvalue := iNdEx + intStringLenmapvalue
- if postStringIndexmapvalue < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postStringIndexmapvalue > l {
- return io.ErrUnexpectedEOF
- }
- mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue])
- iNdEx = postStringIndexmapvalue
- } else {
- iNdEx = entryPreIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > postIndex {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- m.Add[mapkey] = mapvalue
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Remove", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Remove = append(m.Remove, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *TLSRoute) 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 ErrIntOverflowVirtualService
- }
- 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: TLSRoute: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: TLSRoute: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Match", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Match = append(m.Match, &TLSMatchAttributes{})
- if err := m.Match[len(m.Match)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Route", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Route = append(m.Route, &RouteDestination{})
- if err := m.Route[len(m.Route)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *TCPRoute) 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 ErrIntOverflowVirtualService
- }
- 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: TCPRoute: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: TCPRoute: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Match", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Match = append(m.Match, &L4MatchAttributes{})
- if err := m.Match[len(m.Match)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Route", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Route = append(m.Route, &RouteDestination{})
- if err := m.Route[len(m.Route)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *HTTPMatchRequest) 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 ErrIntOverflowVirtualService
- }
- 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: HTTPMatchRequest: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: HTTPMatchRequest: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Uri", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Uri == nil {
- m.Uri = &StringMatch{}
- }
- if err := m.Uri.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Scheme", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Scheme == nil {
- m.Scheme = &StringMatch{}
- }
- if err := m.Scheme.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Method", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Method == nil {
- m.Method = &StringMatch{}
- }
- if err := m.Method.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Authority == nil {
- m.Authority = &StringMatch{}
- }
- if err := m.Authority.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Headers", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Headers == nil {
- m.Headers = make(map[string]*StringMatch)
- }
- var mapkey string
- var mapvalue *StringMatch
- for iNdEx < postIndex {
- entryPreIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- if fieldNum == 1 {
- var stringLenmapkey uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapkey |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapkey := int(stringLenmapkey)
- if intStringLenmapkey < 0 {
- return ErrInvalidLengthVirtualService
- }
- postStringIndexmapkey := iNdEx + intStringLenmapkey
- if postStringIndexmapkey < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postStringIndexmapkey > l {
- return io.ErrUnexpectedEOF
- }
- mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
- iNdEx = postStringIndexmapkey
- } else if fieldNum == 2 {
- var mapmsglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- mapmsglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if mapmsglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postmsgIndex := iNdEx + mapmsglen
- if postmsgIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postmsgIndex > l {
- return io.ErrUnexpectedEOF
- }
- mapvalue = &StringMatch{}
- if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil {
- return err
- }
- iNdEx = postmsgIndex
- } else {
- iNdEx = entryPreIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > postIndex {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- m.Headers[mapkey] = mapvalue
- iNdEx = postIndex
- case 6:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Port", wireType)
- }
- m.Port = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Port |= uint32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 7:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field SourceLabels", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.SourceLabels == nil {
- m.SourceLabels = make(map[string]string)
- }
- var mapkey string
- var mapvalue string
- for iNdEx < postIndex {
- entryPreIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- if fieldNum == 1 {
- var stringLenmapkey uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapkey |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapkey := int(stringLenmapkey)
- if intStringLenmapkey < 0 {
- return ErrInvalidLengthVirtualService
- }
- postStringIndexmapkey := iNdEx + intStringLenmapkey
- if postStringIndexmapkey < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postStringIndexmapkey > l {
- return io.ErrUnexpectedEOF
- }
- mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
- iNdEx = postStringIndexmapkey
- } else if fieldNum == 2 {
- var stringLenmapvalue uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapvalue |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapvalue := int(stringLenmapvalue)
- if intStringLenmapvalue < 0 {
- return ErrInvalidLengthVirtualService
- }
- postStringIndexmapvalue := iNdEx + intStringLenmapvalue
- if postStringIndexmapvalue < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postStringIndexmapvalue > l {
- return io.ErrUnexpectedEOF
- }
- mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue])
- iNdEx = postStringIndexmapvalue
- } else {
- iNdEx = entryPreIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > postIndex {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- m.SourceLabels[mapkey] = mapvalue
- iNdEx = postIndex
- case 8:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Gateways", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Gateways = append(m.Gateways, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 9:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field QueryParams", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.QueryParams == nil {
- m.QueryParams = make(map[string]*StringMatch)
- }
- var mapkey string
- var mapvalue *StringMatch
- for iNdEx < postIndex {
- entryPreIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- if fieldNum == 1 {
- var stringLenmapkey uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapkey |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapkey := int(stringLenmapkey)
- if intStringLenmapkey < 0 {
- return ErrInvalidLengthVirtualService
- }
- postStringIndexmapkey := iNdEx + intStringLenmapkey
- if postStringIndexmapkey < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postStringIndexmapkey > l {
- return io.ErrUnexpectedEOF
- }
- mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
- iNdEx = postStringIndexmapkey
- } else if fieldNum == 2 {
- var mapmsglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- mapmsglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if mapmsglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postmsgIndex := iNdEx + mapmsglen
- if postmsgIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postmsgIndex > l {
- return io.ErrUnexpectedEOF
- }
- mapvalue = &StringMatch{}
- if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil {
- return err
- }
- iNdEx = postmsgIndex
- } else {
- iNdEx = entryPreIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > postIndex {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- m.QueryParams[mapkey] = mapvalue
- iNdEx = postIndex
- case 10:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field IgnoreUriCase", wireType)
- }
- var v int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.IgnoreUriCase = bool(v != 0)
- case 11:
- 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 ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Name = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 12:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field WithoutHeaders", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.WithoutHeaders == nil {
- m.WithoutHeaders = make(map[string]*StringMatch)
- }
- var mapkey string
- var mapvalue *StringMatch
- for iNdEx < postIndex {
- entryPreIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- if fieldNum == 1 {
- var stringLenmapkey uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapkey |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapkey := int(stringLenmapkey)
- if intStringLenmapkey < 0 {
- return ErrInvalidLengthVirtualService
- }
- postStringIndexmapkey := iNdEx + intStringLenmapkey
- if postStringIndexmapkey < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postStringIndexmapkey > l {
- return io.ErrUnexpectedEOF
- }
- mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
- iNdEx = postStringIndexmapkey
- } else if fieldNum == 2 {
- var mapmsglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- mapmsglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if mapmsglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postmsgIndex := iNdEx + mapmsglen
- if postmsgIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postmsgIndex > l {
- return io.ErrUnexpectedEOF
- }
- mapvalue = &StringMatch{}
- if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil {
- return err
- }
- iNdEx = postmsgIndex
- } else {
- iNdEx = entryPreIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > postIndex {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- m.WithoutHeaders[mapkey] = mapvalue
- iNdEx = postIndex
- case 13:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field SourceNamespace", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.SourceNamespace = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *HTTPRouteDestination) 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 ErrIntOverflowVirtualService
- }
- 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: HTTPRouteDestination: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: HTTPRouteDestination: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Destination", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Destination == nil {
- m.Destination = &Destination{}
- }
- if err := m.Destination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Weight", wireType)
- }
- m.Weight = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Weight |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 7:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Headers", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Headers == nil {
- m.Headers = &Headers{}
- }
- if err := m.Headers.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *RouteDestination) 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 ErrIntOverflowVirtualService
- }
- 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: RouteDestination: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: RouteDestination: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Destination", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Destination == nil {
- m.Destination = &Destination{}
- }
- if err := m.Destination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Weight", wireType)
- }
- m.Weight = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Weight |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *L4MatchAttributes) 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 ErrIntOverflowVirtualService
- }
- 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: L4MatchAttributes: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: L4MatchAttributes: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field DestinationSubnets", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.DestinationSubnets = append(m.DestinationSubnets, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 2:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Port", wireType)
- }
- m.Port = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Port |= uint32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field SourceSubnet", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.SourceSubnet = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field SourceLabels", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.SourceLabels == nil {
- m.SourceLabels = make(map[string]string)
- }
- var mapkey string
- var mapvalue string
- for iNdEx < postIndex {
- entryPreIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- if fieldNum == 1 {
- var stringLenmapkey uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapkey |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapkey := int(stringLenmapkey)
- if intStringLenmapkey < 0 {
- return ErrInvalidLengthVirtualService
- }
- postStringIndexmapkey := iNdEx + intStringLenmapkey
- if postStringIndexmapkey < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postStringIndexmapkey > l {
- return io.ErrUnexpectedEOF
- }
- mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
- iNdEx = postStringIndexmapkey
- } else if fieldNum == 2 {
- var stringLenmapvalue uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapvalue |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapvalue := int(stringLenmapvalue)
- if intStringLenmapvalue < 0 {
- return ErrInvalidLengthVirtualService
- }
- postStringIndexmapvalue := iNdEx + intStringLenmapvalue
- if postStringIndexmapvalue < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postStringIndexmapvalue > l {
- return io.ErrUnexpectedEOF
- }
- mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue])
- iNdEx = postStringIndexmapvalue
- } else {
- iNdEx = entryPreIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > postIndex {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- m.SourceLabels[mapkey] = mapvalue
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Gateways", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Gateways = append(m.Gateways, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 6:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field SourceNamespace", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.SourceNamespace = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *TLSMatchAttributes) 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 ErrIntOverflowVirtualService
- }
- 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: TLSMatchAttributes: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: TLSMatchAttributes: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field SniHosts", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.SniHosts = append(m.SniHosts, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field DestinationSubnets", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.DestinationSubnets = append(m.DestinationSubnets, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 3:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Port", wireType)
- }
- m.Port = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Port |= uint32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field SourceLabels", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.SourceLabels == nil {
- m.SourceLabels = make(map[string]string)
- }
- var mapkey string
- var mapvalue string
- for iNdEx < postIndex {
- entryPreIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- if fieldNum == 1 {
- var stringLenmapkey uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapkey |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapkey := int(stringLenmapkey)
- if intStringLenmapkey < 0 {
- return ErrInvalidLengthVirtualService
- }
- postStringIndexmapkey := iNdEx + intStringLenmapkey
- if postStringIndexmapkey < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postStringIndexmapkey > l {
- return io.ErrUnexpectedEOF
- }
- mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
- iNdEx = postStringIndexmapkey
- } else if fieldNum == 2 {
- var stringLenmapvalue uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapvalue |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapvalue := int(stringLenmapvalue)
- if intStringLenmapvalue < 0 {
- return ErrInvalidLengthVirtualService
- }
- postStringIndexmapvalue := iNdEx + intStringLenmapvalue
- if postStringIndexmapvalue < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postStringIndexmapvalue > l {
- return io.ErrUnexpectedEOF
- }
- mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue])
- iNdEx = postStringIndexmapvalue
- } else {
- iNdEx = entryPreIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > postIndex {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- m.SourceLabels[mapkey] = mapvalue
- iNdEx = postIndex
- case 6:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Gateways", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Gateways = append(m.Gateways, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 7:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field SourceNamespace", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.SourceNamespace = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *HTTPRedirect) 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 ErrIntOverflowVirtualService
- }
- 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: HTTPRedirect: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: HTTPRedirect: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Uri", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Uri = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Authority = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 3:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field RedirectCode", wireType)
- }
- m.RedirectCode = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.RedirectCode |= uint32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 4:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Port", wireType)
- }
- var v uint32
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= uint32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.RedirectPort = &HTTPRedirect_Port{v}
- case 5:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field DerivePort", wireType)
- }
- var v HTTPRedirect_RedirectPortSelection
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= HTTPRedirect_RedirectPortSelection(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.RedirectPort = &HTTPRedirect_DerivePort{v}
- case 6:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Scheme", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Scheme = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *HTTPRewrite) 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 ErrIntOverflowVirtualService
- }
- 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: HTTPRewrite: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: HTTPRewrite: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Uri", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Uri = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Authority = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *StringMatch) 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 ErrIntOverflowVirtualService
- }
- 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: StringMatch: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: StringMatch: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Exact", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.MatchType = &StringMatch_Exact{string(dAtA[iNdEx:postIndex])}
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Prefix", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.MatchType = &StringMatch_Prefix{string(dAtA[iNdEx:postIndex])}
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Regex", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.MatchType = &StringMatch_Regex{string(dAtA[iNdEx:postIndex])}
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *HTTPRetry) 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 ErrIntOverflowVirtualService
- }
- 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: HTTPRetry: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: HTTPRetry: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Attempts", wireType)
- }
- m.Attempts = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Attempts |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field PerTryTimeout", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.PerTryTimeout == nil {
- m.PerTryTimeout = &types.Duration{}
- }
- if err := m.PerTryTimeout.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field RetryOn", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.RetryOn = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field RetryRemoteLocalities", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.RetryRemoteLocalities == nil {
- m.RetryRemoteLocalities = &types.BoolValue{}
- }
- if err := m.RetryRemoteLocalities.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *CorsPolicy) 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 ErrIntOverflowVirtualService
- }
- 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: CorsPolicy: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: CorsPolicy: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field AllowOrigin", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.AllowOrigin = append(m.AllowOrigin, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field AllowMethods", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.AllowMethods = append(m.AllowMethods, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field AllowHeaders", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.AllowHeaders = append(m.AllowHeaders, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ExposeHeaders", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.ExposeHeaders = append(m.ExposeHeaders, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field MaxAge", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.MaxAge == nil {
- m.MaxAge = &types.Duration{}
- }
- if err := m.MaxAge.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 6:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field AllowCredentials", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.AllowCredentials == nil {
- m.AllowCredentials = &types.BoolValue{}
- }
- if err := m.AllowCredentials.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 7:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field AllowOrigins", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.AllowOrigins = append(m.AllowOrigins, &StringMatch{})
- if err := m.AllowOrigins[len(m.AllowOrigins)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *HTTPFaultInjection) 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 ErrIntOverflowVirtualService
- }
- 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: HTTPFaultInjection: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: HTTPFaultInjection: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Delay", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Delay == nil {
- m.Delay = &HTTPFaultInjection_Delay{}
- }
- if err := m.Delay.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Abort", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Abort == nil {
- m.Abort = &HTTPFaultInjection_Abort{}
- }
- if err := m.Abort.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *HTTPFaultInjection_Delay) 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 ErrIntOverflowVirtualService
- }
- 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: Delay: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Delay: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Percent", wireType)
- }
- m.Percent = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Percent |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field FixedDelay", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- v := &types.Duration{}
- if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- m.HttpDelayType = &HTTPFaultInjection_Delay_FixedDelay{v}
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ExponentialDelay", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- v := &types.Duration{}
- if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- m.HttpDelayType = &HTTPFaultInjection_Delay_ExponentialDelay{v}
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Percentage", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Percentage == nil {
- m.Percentage = &Percent{}
- }
- if err := m.Percentage.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *HTTPFaultInjection_Abort) 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 ErrIntOverflowVirtualService
- }
- 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: Abort: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Abort: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 2:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field HttpStatus", wireType)
- }
- var v int32
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.ErrorType = &HTTPFaultInjection_Abort_HttpStatus{v}
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field GrpcStatus", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.ErrorType = &HTTPFaultInjection_Abort_GrpcStatus{string(dAtA[iNdEx:postIndex])}
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Http2Error", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.ErrorType = &HTTPFaultInjection_Abort_Http2Error{string(dAtA[iNdEx:postIndex])}
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Percentage", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Percentage == nil {
- m.Percentage = &Percent{}
- }
- if err := m.Percentage.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *PortSelector) 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 ErrIntOverflowVirtualService
- }
- 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: PortSelector: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: PortSelector: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Number", wireType)
- }
- m.Number = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Number |= uint32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *Percent) 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 ErrIntOverflowVirtualService
- }
- 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: Percent: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Percent: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 1 {
- return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
- }
- var v uint64
- if (iNdEx + 8) > l {
- return io.ErrUnexpectedEOF
- }
- v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
- iNdEx += 8
- m.Value = float64(math.Float64frombits(v))
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func skipVirtualService(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowVirtualService
- }
- 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, ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLengthVirtualService
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroupVirtualService
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLengthVirtualService
- }
- if depth == 0 {
- return iNdEx, nil
- }
- }
- return 0, io.ErrUnexpectedEOF
-}
-
-var (
- ErrInvalidLengthVirtualService = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflowVirtualService = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroupVirtualService = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/vendor/istio.io/api/networking/v1alpha3/virtual_service.proto b/vendor/istio.io/api/networking/v1alpha3/virtual_service.proto
index 8508fca1a..9d8b3f902 100644
--- a/vendor/istio.io/api/networking/v1alpha3/virtual_service.proto
+++ b/vendor/istio.io/api/networking/v1alpha3/virtual_service.proto
@@ -1258,10 +1258,9 @@ message HTTPRouteDestination {
// to which the request/connection should be forwarded to.
Destination destination = 1 [(google.api.field_behavior) = REQUIRED];
- // The proportion of traffic to be forwarded to the service
- // version. (0-100). Sum of weights across destinations SHOULD BE == 100.
- // If there is only one destination in a rule, the weight value is assumed to
- // be 100.
+ // Weight specifies the relative proportion of traffic to be forwarded to the destination. A destination will receive `weight/(sum of all weights)` requests.
+ // If there is only one destination in a rule, it will receive all traffic.
+ // Otherwise, if weight is `0`, the destination will not receive any traffic.
int32 weight = 2;
reserved 3 to 6;
@@ -1277,9 +1276,9 @@ message RouteDestination {
// to which the request/connection should be forwarded to.
Destination destination = 1 [(google.api.field_behavior) = REQUIRED];
- // The proportion of traffic to be forwarded to the service
- // version. If there is only one destination in a rule, all traffic will be
- // routed to it irrespective of the weight.
+ // Weight specifies the relative proportion of traffic to be forwarded to the destination. A destination will receive `weight/(sum of all weights)` requests.
+ // If there is only one destination in a rule, it will receive all traffic.
+ // Otherwise, if weight is `0`, the destination will not receive any traffic.
int32 weight = 2;
}
diff --git a/vendor/istio.io/api/networking/v1alpha3/virtual_service_deepcopy.gen.go b/vendor/istio.io/api/networking/v1alpha3/virtual_service_deepcopy.gen.go
index dfca279b6..72ed61e87 100644
--- a/vendor/istio.io/api/networking/v1alpha3/virtual_service_deepcopy.gen.go
+++ b/vendor/istio.io/api/networking/v1alpha3/virtual_service_deepcopy.gen.go
@@ -1,169 +1,10 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: networking/v1alpha3/virtual_service.proto
-
-// Configuration affecting traffic routing. Here are a few terms useful to define
-// in the context of traffic routing.
-//
-// `Service` a unit of application behavior bound to a unique name in a
-// service registry. Services consist of multiple network *endpoints*
-// implemented by workload instances running on pods, containers, VMs etc.
-//
-// `Service versions (a.k.a. subsets)` - In a continuous deployment
-// scenario, for a given service, there can be distinct subsets of
-// instances running different variants of the application binary. These
-// variants are not necessarily different API versions. They could be
-// iterative changes to the same service, deployed in different
-// environments (prod, staging, dev, etc.). Common scenarios where this
-// occurs include A/B testing, canary rollouts, etc. The choice of a
-// particular version can be decided based on various criterion (headers,
-// url, etc.) and/or by weights assigned to each version. Each service has
-// a default version consisting of all its instances.
-//
-// `Source` - A downstream client calling a service.
-//
-// `Host` - The address used by a client when attempting to connect to a
-// service.
-//
-// `Access model` - Applications address only the destination service
-// (Host) without knowledge of individual service versions (subsets). The
-// actual choice of the version is determined by the proxy/sidecar, enabling the
-// application code to decouple itself from the evolution of dependent
-// services.
-//
-// A `VirtualService` defines a set of traffic routing rules to apply when a host is
-// addressed. Each routing rule defines matching criteria for traffic of a specific
-// protocol. If the traffic is matched, then it is sent to a named destination service
-// (or subset/version of it) defined in the registry.
-//
-// The source of traffic can also be matched in a routing rule. This allows routing
-// to be customized for specific client contexts.
-//
-// The following example on Kubernetes, routes all HTTP traffic by default to
-// pods of the reviews service with label "version: v1". In addition,
-// HTTP requests with path starting with /wpcatalog/ or /consumercatalog/ will
-// be rewritten to /newcatalog and sent to pods with label "version: v2".
-//
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: VirtualService
-// metadata:
-// name: reviews-route
-// spec:
-// hosts:
-// - reviews.prod.svc.cluster.local
-// http:
-// - name: "reviews-v2-routes"
-// match:
-// - uri:
-// prefix: "/wpcatalog"
-// - uri:
-// prefix: "/consumercatalog"
-// rewrite:
-// uri: "/newcatalog"
-// route:
-// - destination:
-// host: reviews.prod.svc.cluster.local
-// subset: v2
-// - name: "reviews-v1-route"
-// route:
-// - destination:
-// host: reviews.prod.svc.cluster.local
-// subset: v1
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: VirtualService
-// metadata:
-// name: reviews-route
-// spec:
-// hosts:
-// - reviews.prod.svc.cluster.local
-// http:
-// - name: "reviews-v2-routes"
-// match:
-// - uri:
-// prefix: "/wpcatalog"
-// - uri:
-// prefix: "/consumercatalog"
-// rewrite:
-// uri: "/newcatalog"
-// route:
-// - destination:
-// host: reviews.prod.svc.cluster.local
-// subset: v2
-// - name: "reviews-v1-route"
-// route:
-// - destination:
-// host: reviews.prod.svc.cluster.local
-// subset: v1
-// ```
-// {{}}
-// {{}}
-//
-// A subset/version of a route destination is identified with a reference
-// to a named service subset which must be declared in a corresponding
-// `DestinationRule`.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: DestinationRule
-// metadata:
-// name: reviews-destination
-// spec:
-// host: reviews.prod.svc.cluster.local
-// subsets:
-// - name: v1
-// labels:
-// version: v1
-// - name: v2
-// labels:
-// version: v2
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: DestinationRule
-// metadata:
-// name: reviews-destination
-// spec:
-// host: reviews.prod.svc.cluster.local
-// subsets:
-// - name: v1
-// labels:
-// version: v1
-// - name: v2
-// labels:
-// version: v2
-// ```
-// {{}}
-// {{}}
-//
-
+// Code generated by protoc-gen-deepcopy. DO NOT EDIT.
package v1alpha3
import (
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- _ "github.com/gogo/protobuf/types"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
+ proto "github.com/golang/protobuf/proto"
)
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
// DeepCopyInto supports using VirtualService within kubernetes types, where deepcopy-gen is used.
func (in *VirtualService) DeepCopyInto(out *VirtualService) {
p := proto.Clone(in).(*VirtualService)
diff --git a/vendor/istio.io/api/networking/v1alpha3/virtual_service_json.gen.go b/vendor/istio.io/api/networking/v1alpha3/virtual_service_json.gen.go
index 474f22a8e..a456d5f03 100644
--- a/vendor/istio.io/api/networking/v1alpha3/virtual_service_json.gen.go
+++ b/vendor/istio.io/api/networking/v1alpha3/virtual_service_json.gen.go
@@ -1,171 +1,11 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: networking/v1alpha3/virtual_service.proto
-
-// Configuration affecting traffic routing. Here are a few terms useful to define
-// in the context of traffic routing.
-//
-// `Service` a unit of application behavior bound to a unique name in a
-// service registry. Services consist of multiple network *endpoints*
-// implemented by workload instances running on pods, containers, VMs etc.
-//
-// `Service versions (a.k.a. subsets)` - In a continuous deployment
-// scenario, for a given service, there can be distinct subsets of
-// instances running different variants of the application binary. These
-// variants are not necessarily different API versions. They could be
-// iterative changes to the same service, deployed in different
-// environments (prod, staging, dev, etc.). Common scenarios where this
-// occurs include A/B testing, canary rollouts, etc. The choice of a
-// particular version can be decided based on various criterion (headers,
-// url, etc.) and/or by weights assigned to each version. Each service has
-// a default version consisting of all its instances.
-//
-// `Source` - A downstream client calling a service.
-//
-// `Host` - The address used by a client when attempting to connect to a
-// service.
-//
-// `Access model` - Applications address only the destination service
-// (Host) without knowledge of individual service versions (subsets). The
-// actual choice of the version is determined by the proxy/sidecar, enabling the
-// application code to decouple itself from the evolution of dependent
-// services.
-//
-// A `VirtualService` defines a set of traffic routing rules to apply when a host is
-// addressed. Each routing rule defines matching criteria for traffic of a specific
-// protocol. If the traffic is matched, then it is sent to a named destination service
-// (or subset/version of it) defined in the registry.
-//
-// The source of traffic can also be matched in a routing rule. This allows routing
-// to be customized for specific client contexts.
-//
-// The following example on Kubernetes, routes all HTTP traffic by default to
-// pods of the reviews service with label "version: v1". In addition,
-// HTTP requests with path starting with /wpcatalog/ or /consumercatalog/ will
-// be rewritten to /newcatalog and sent to pods with label "version: v2".
-//
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: VirtualService
-// metadata:
-// name: reviews-route
-// spec:
-// hosts:
-// - reviews.prod.svc.cluster.local
-// http:
-// - name: "reviews-v2-routes"
-// match:
-// - uri:
-// prefix: "/wpcatalog"
-// - uri:
-// prefix: "/consumercatalog"
-// rewrite:
-// uri: "/newcatalog"
-// route:
-// - destination:
-// host: reviews.prod.svc.cluster.local
-// subset: v2
-// - name: "reviews-v1-route"
-// route:
-// - destination:
-// host: reviews.prod.svc.cluster.local
-// subset: v1
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: VirtualService
-// metadata:
-// name: reviews-route
-// spec:
-// hosts:
-// - reviews.prod.svc.cluster.local
-// http:
-// - name: "reviews-v2-routes"
-// match:
-// - uri:
-// prefix: "/wpcatalog"
-// - uri:
-// prefix: "/consumercatalog"
-// rewrite:
-// uri: "/newcatalog"
-// route:
-// - destination:
-// host: reviews.prod.svc.cluster.local
-// subset: v2
-// - name: "reviews-v1-route"
-// route:
-// - destination:
-// host: reviews.prod.svc.cluster.local
-// subset: v1
-// ```
-// {{}}
-// {{}}
-//
-// A subset/version of a route destination is identified with a reference
-// to a named service subset which must be declared in a corresponding
-// `DestinationRule`.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: DestinationRule
-// metadata:
-// name: reviews-destination
-// spec:
-// host: reviews.prod.svc.cluster.local
-// subsets:
-// - name: v1
-// labels:
-// version: v1
-// - name: v2
-// labels:
-// version: v2
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: DestinationRule
-// metadata:
-// name: reviews-destination
-// spec:
-// host: reviews.prod.svc.cluster.local
-// subsets:
-// - name: v1
-// labels:
-// version: v1
-// - name: v2
-// labels:
-// version: v2
-// ```
-// {{}}
-// {{}}
-//
-
+// Code generated by protoc-gen-jsonshim. DO NOT EDIT.
package v1alpha3
import (
bytes "bytes"
- fmt "fmt"
- github_com_gogo_protobuf_jsonpb "github.com/gogo/protobuf/jsonpb"
- proto "github.com/gogo/protobuf/proto"
- _ "github.com/gogo/protobuf/types"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
+ jsonpb "github.com/golang/protobuf/jsonpb"
)
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
// MarshalJSON is a custom marshaler for VirtualService
func (this *VirtualService) MarshalJSON() ([]byte, error) {
str, err := VirtualServiceMarshaler.MarshalToString(this)
@@ -420,6 +260,6 @@ func (this *Percent) UnmarshalJSON(b []byte) error {
}
var (
- VirtualServiceMarshaler = &github_com_gogo_protobuf_jsonpb.Marshaler{}
- VirtualServiceUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{AllowUnknownFields: true}
+ VirtualServiceMarshaler = &jsonpb.Marshaler{}
+ VirtualServiceUnmarshaler = &jsonpb.Unmarshaler{AllowUnknownFields: true}
)
diff --git a/vendor/istio.io/api/networking/v1alpha3/workload_entry.pb.go b/vendor/istio.io/api/networking/v1alpha3/workload_entry.pb.go
index 2c819ff60..78228213f 100644
--- a/vendor/istio.io/api/networking/v1alpha3/workload_entry.pb.go
+++ b/vendor/istio.io/api/networking/v1alpha3/workload_entry.pb.go
@@ -1,6 +1,29 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
+// Copyright 2020 Istio 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-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.27.1
+// protoc (unknown)
// source: networking/v1alpha3/workload_entry.proto
+// $schema: istio.networking.v1alpha3.WorkloadEntry
+// $title: Workload Entry
+// $description: Configuration affecting VMs onboarded into the mesh.
+// $location: https://istio.io/docs/reference/config/networking/workload-entry.html
+// $aliases: [/docs/reference/config/networking/v1alpha3/workload-entry]
+
// `WorkloadEntry` enables operators to describe the properties of a
// single non-Kubernetes workload such as a VM or a bare metal server
// as it is onboarded into the mesh. A `WorkloadEntry` must be
@@ -211,24 +234,19 @@
package v1alpha3
import (
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- io "io"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
- math_bits "math/bits"
+ _ "google.golang.org/genproto/googleapis/api/annotations"
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
)
-// 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.GoGoProtoPackageIsVersion3 // please upgrade the proto package
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
// WorkloadEntry enables specifying the properties of a single non-Kubernetes workload such a VM or a bare metal services that can be referred to by service entries.
//
@@ -259,6 +277,10 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
// +istio.io/sync-start
// -->
type WorkloadEntry struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Address associated with the network endpoint without the
// port. Domain names can be used if and only if the resolution is set
// to DNS, and must be fully-qualified without wildcards. Use the form
@@ -315,809 +337,195 @@ type WorkloadEntry struct {
// is present in the workload. The service account must be present
// in the same namespace as the configuration ( WorkloadEntry or a
// ServiceEntry)
- ServiceAccount string `protobuf:"bytes,7,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ ServiceAccount string `protobuf:"bytes,7,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"`
}
-func (m *WorkloadEntry) Reset() { *m = WorkloadEntry{} }
-func (m *WorkloadEntry) String() string { return proto.CompactTextString(m) }
-func (*WorkloadEntry) ProtoMessage() {}
-func (*WorkloadEntry) Descriptor() ([]byte, []int) {
- return fileDescriptor_6d7791a8c20f14f2, []int{0}
+func (x *WorkloadEntry) Reset() {
+ *x = WorkloadEntry{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_workload_entry_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
}
-func (m *WorkloadEntry) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
+
+func (x *WorkloadEntry) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *WorkloadEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_WorkloadEntry.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
+
+func (*WorkloadEntry) ProtoMessage() {}
+
+func (x *WorkloadEntry) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_workload_entry_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- return b[:n], nil
+ return ms
}
-}
-func (m *WorkloadEntry) XXX_Merge(src proto.Message) {
- xxx_messageInfo_WorkloadEntry.Merge(m, src)
-}
-func (m *WorkloadEntry) XXX_Size() int {
- return m.Size()
-}
-func (m *WorkloadEntry) XXX_DiscardUnknown() {
- xxx_messageInfo_WorkloadEntry.DiscardUnknown(m)
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_WorkloadEntry proto.InternalMessageInfo
+// Deprecated: Use WorkloadEntry.ProtoReflect.Descriptor instead.
+func (*WorkloadEntry) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_workload_entry_proto_rawDescGZIP(), []int{0}
+}
-func (m *WorkloadEntry) GetAddress() string {
- if m != nil {
- return m.Address
+func (x *WorkloadEntry) GetAddress() string {
+ if x != nil {
+ return x.Address
}
return ""
}
-func (m *WorkloadEntry) GetPorts() map[string]uint32 {
- if m != nil {
- return m.Ports
+func (x *WorkloadEntry) GetPorts() map[string]uint32 {
+ if x != nil {
+ return x.Ports
}
return nil
}
-func (m *WorkloadEntry) GetLabels() map[string]string {
- if m != nil {
- return m.Labels
+func (x *WorkloadEntry) GetLabels() map[string]string {
+ if x != nil {
+ return x.Labels
}
return nil
}
-func (m *WorkloadEntry) GetNetwork() string {
- if m != nil {
- return m.Network
+func (x *WorkloadEntry) GetNetwork() string {
+ if x != nil {
+ return x.Network
}
return ""
}
-func (m *WorkloadEntry) GetLocality() string {
- if m != nil {
- return m.Locality
+func (x *WorkloadEntry) GetLocality() string {
+ if x != nil {
+ return x.Locality
}
return ""
}
-func (m *WorkloadEntry) GetWeight() uint32 {
- if m != nil {
- return m.Weight
+func (x *WorkloadEntry) GetWeight() uint32 {
+ if x != nil {
+ return x.Weight
}
return 0
}
-func (m *WorkloadEntry) GetServiceAccount() string {
- if m != nil {
- return m.ServiceAccount
+func (x *WorkloadEntry) GetServiceAccount() string {
+ if x != nil {
+ return x.ServiceAccount
}
return ""
}
-func init() {
- proto.RegisterType((*WorkloadEntry)(nil), "istio.networking.v1alpha3.WorkloadEntry")
- proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.WorkloadEntry.LabelsEntry")
- proto.RegisterMapType((map[string]uint32)(nil), "istio.networking.v1alpha3.WorkloadEntry.PortsEntry")
-}
+var File_networking_v1alpha3_workload_entry_proto protoreflect.FileDescriptor
-func init() {
- proto.RegisterFile("networking/v1alpha3/workload_entry.proto", fileDescriptor_6d7791a8c20f14f2)
+var file_networking_v1alpha3_workload_entry_proto_rawDesc = []byte{
+ 0x0a, 0x28, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x61,
+ 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x65,
+ 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x69, 0x73, 0x74, 0x69,
+ 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61,
+ 0x6c, 0x70, 0x68, 0x61, 0x33, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70,
+ 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb4, 0x03, 0x0a, 0x0d, 0x57, 0x6f, 0x72, 0x6b, 0x6c,
+ 0x6f, 0x61, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72,
+ 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52,
+ 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x49, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74,
+ 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e,
+ 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
+ 0x68, 0x61, 0x33, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x70, 0x6f,
+ 0x72, 0x74, 0x73, 0x12, 0x4c, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77,
+ 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e,
+ 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x4c, 0x61,
+ 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c,
+ 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x6c,
+ 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c,
+ 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68,
+ 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12,
+ 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75,
+ 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
+ 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x38, 0x0a, 0x0a, 0x50, 0x6f, 0x72, 0x74,
+ 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
+ 0x38, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
+ 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x22, 0x5a,
+ 0x20, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6e, 0x65,
+ 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
+ 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
-var fileDescriptor_6d7791a8c20f14f2 = []byte{
- // 350 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x92, 0xc1, 0x4e, 0xab, 0x40,
- 0x14, 0x86, 0x33, 0xd0, 0xd2, 0xdb, 0xd3, 0xf4, 0xde, 0x9b, 0x89, 0x31, 0x23, 0x0b, 0x24, 0x6e,
- 0x64, 0x05, 0xd1, 0xba, 0xa8, 0xee, 0xda, 0xc4, 0x85, 0x49, 0x17, 0x86, 0x8d, 0x89, 0x9b, 0x66,
- 0x0a, 0x23, 0x9d, 0x74, 0xc2, 0x10, 0x98, 0xd2, 0xf4, 0xbd, 0x7c, 0x08, 0x97, 0x3e, 0x82, 0xe1,
- 0x49, 0x0c, 0x03, 0xb5, 0x35, 0xd1, 0xe8, 0xee, 0xfc, 0x3f, 0xe7, 0xff, 0xe0, 0x9c, 0x03, 0x78,
- 0x29, 0x53, 0x1b, 0x99, 0xaf, 0x78, 0x9a, 0x04, 0xe5, 0x05, 0x15, 0xd9, 0x92, 0x8e, 0x82, 0xda,
- 0x10, 0x92, 0xc6, 0x73, 0x96, 0xaa, 0x7c, 0xeb, 0x67, 0xb9, 0x54, 0x12, 0x9f, 0xf0, 0x42, 0x71,
- 0xe9, 0xef, 0xfb, 0xfd, 0x5d, 0xbf, 0x7d, 0x9a, 0x48, 0x99, 0x08, 0x16, 0xd0, 0x8c, 0x07, 0x4f,
- 0x9c, 0x89, 0x78, 0xbe, 0x60, 0x4b, 0x5a, 0x72, 0x99, 0x37, 0xd9, 0xb3, 0x67, 0x13, 0x86, 0x0f,
- 0x2d, 0xf4, 0xb6, 0x66, 0x62, 0x07, 0x7a, 0x34, 0x8e, 0x73, 0x56, 0x14, 0x04, 0xb9, 0xc8, 0xeb,
- 0x4f, 0x3b, 0xd5, 0x04, 0x19, 0xe1, 0xce, 0xc4, 0x77, 0xd0, 0xcd, 0x64, 0xae, 0x0a, 0x62, 0xb8,
- 0xa6, 0x37, 0xb8, 0x1c, 0xf9, 0xdf, 0xbe, 0xdd, 0xff, 0x04, 0xf6, 0xef, 0xeb, 0x94, 0x2e, 0xc3,
- 0x86, 0x80, 0x67, 0x60, 0x09, 0xba, 0x60, 0xa2, 0x20, 0xa6, 0x66, 0x5d, 0xfd, 0x9a, 0x35, 0xd3,
- 0xb1, 0x06, 0xd6, 0x32, 0x30, 0x81, 0x5e, 0x1b, 0x24, 0x9d, 0xfa, 0xc3, 0xc3, 0x9d, 0xc4, 0x36,
- 0xfc, 0x11, 0x32, 0xa2, 0x82, 0xab, 0x2d, 0xe9, 0xea, 0x47, 0x1f, 0x1a, 0x1f, 0x83, 0xb5, 0x61,
- 0x3c, 0x59, 0x2a, 0x62, 0xb9, 0xc8, 0x1b, 0x86, 0xad, 0xc2, 0xe7, 0xf0, 0xaf, 0x60, 0x79, 0xc9,
- 0x23, 0x36, 0xa7, 0x51, 0x24, 0xd7, 0xa9, 0x22, 0x3d, 0x1d, 0xfd, 0xdb, 0xda, 0x93, 0xc6, 0xb5,
- 0xc7, 0x00, 0xfb, 0xc9, 0xf0, 0x7f, 0x30, 0x57, 0x6c, 0xdb, 0x6c, 0x2e, 0xac, 0x4b, 0x7c, 0x04,
- 0xdd, 0x92, 0x8a, 0x35, 0x23, 0x86, 0xe6, 0x37, 0xe2, 0xc6, 0x18, 0x23, 0xfb, 0x1a, 0x06, 0x07,
- 0x73, 0xfc, 0x14, 0xed, 0x1f, 0x44, 0xa7, 0xfe, 0x4b, 0xe5, 0xa0, 0xd7, 0xca, 0x41, 0x6f, 0x95,
- 0x83, 0x1e, 0xdd, 0x66, 0x6d, 0x5c, 0xea, 0x3b, 0x7f, 0xf1, 0xdf, 0x2c, 0x2c, 0x7d, 0xed, 0xd1,
- 0x7b, 0x00, 0x00, 0x00, 0xff, 0xff, 0x7d, 0x77, 0x48, 0x53, 0x55, 0x02, 0x00, 0x00,
-}
+var (
+ file_networking_v1alpha3_workload_entry_proto_rawDescOnce sync.Once
+ file_networking_v1alpha3_workload_entry_proto_rawDescData = file_networking_v1alpha3_workload_entry_proto_rawDesc
+)
-func (m *WorkloadEntry) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
+func file_networking_v1alpha3_workload_entry_proto_rawDescGZIP() []byte {
+ file_networking_v1alpha3_workload_entry_proto_rawDescOnce.Do(func() {
+ file_networking_v1alpha3_workload_entry_proto_rawDescData = protoimpl.X.CompressGZIP(file_networking_v1alpha3_workload_entry_proto_rawDescData)
+ })
+ return file_networking_v1alpha3_workload_entry_proto_rawDescData
}
-func (m *WorkloadEntry) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+var file_networking_v1alpha3_workload_entry_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
+var file_networking_v1alpha3_workload_entry_proto_goTypes = []interface{}{
+ (*WorkloadEntry)(nil), // 0: istio.networking.v1alpha3.WorkloadEntry
+ nil, // 1: istio.networking.v1alpha3.WorkloadEntry.PortsEntry
+ nil, // 2: istio.networking.v1alpha3.WorkloadEntry.LabelsEntry
}
-
-func (m *WorkloadEntry) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.ServiceAccount) > 0 {
- i -= len(m.ServiceAccount)
- copy(dAtA[i:], m.ServiceAccount)
- i = encodeVarintWorkloadEntry(dAtA, i, uint64(len(m.ServiceAccount)))
- i--
- dAtA[i] = 0x3a
- }
- if m.Weight != 0 {
- i = encodeVarintWorkloadEntry(dAtA, i, uint64(m.Weight))
- i--
- dAtA[i] = 0x30
- }
- if len(m.Locality) > 0 {
- i -= len(m.Locality)
- copy(dAtA[i:], m.Locality)
- i = encodeVarintWorkloadEntry(dAtA, i, uint64(len(m.Locality)))
- i--
- dAtA[i] = 0x2a
- }
- if len(m.Network) > 0 {
- i -= len(m.Network)
- copy(dAtA[i:], m.Network)
- i = encodeVarintWorkloadEntry(dAtA, i, uint64(len(m.Network)))
- i--
- dAtA[i] = 0x22
- }
- if len(m.Labels) > 0 {
- for k := range m.Labels {
- v := m.Labels[k]
- baseI := i
- i -= len(v)
- copy(dAtA[i:], v)
- i = encodeVarintWorkloadEntry(dAtA, i, uint64(len(v)))
- i--
- dAtA[i] = 0x12
- i -= len(k)
- copy(dAtA[i:], k)
- i = encodeVarintWorkloadEntry(dAtA, i, uint64(len(k)))
- i--
- dAtA[i] = 0xa
- i = encodeVarintWorkloadEntry(dAtA, i, uint64(baseI-i))
- i--
- dAtA[i] = 0x1a
- }
- }
- if len(m.Ports) > 0 {
- for k := range m.Ports {
- v := m.Ports[k]
- baseI := i
- i = encodeVarintWorkloadEntry(dAtA, i, uint64(v))
- i--
- dAtA[i] = 0x10
- i -= len(k)
- copy(dAtA[i:], k)
- i = encodeVarintWorkloadEntry(dAtA, i, uint64(len(k)))
- i--
- dAtA[i] = 0xa
- i = encodeVarintWorkloadEntry(dAtA, i, uint64(baseI-i))
- i--
- dAtA[i] = 0x12
- }
- }
- if len(m.Address) > 0 {
- i -= len(m.Address)
- copy(dAtA[i:], m.Address)
- i = encodeVarintWorkloadEntry(dAtA, i, uint64(len(m.Address)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
+var file_networking_v1alpha3_workload_entry_proto_depIdxs = []int32{
+ 1, // 0: istio.networking.v1alpha3.WorkloadEntry.ports:type_name -> istio.networking.v1alpha3.WorkloadEntry.PortsEntry
+ 2, // 1: istio.networking.v1alpha3.WorkloadEntry.labels:type_name -> istio.networking.v1alpha3.WorkloadEntry.LabelsEntry
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
}
-func encodeVarintWorkloadEntry(dAtA []byte, offset int, v uint64) int {
- offset -= sovWorkloadEntry(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
-func (m *WorkloadEntry) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Address)
- if l > 0 {
- n += 1 + l + sovWorkloadEntry(uint64(l))
- }
- if len(m.Ports) > 0 {
- for k, v := range m.Ports {
- _ = k
- _ = v
- mapEntrySize := 1 + len(k) + sovWorkloadEntry(uint64(len(k))) + 1 + sovWorkloadEntry(uint64(v))
- n += mapEntrySize + 1 + sovWorkloadEntry(uint64(mapEntrySize))
- }
- }
- if len(m.Labels) > 0 {
- for k, v := range m.Labels {
- _ = k
- _ = v
- mapEntrySize := 1 + len(k) + sovWorkloadEntry(uint64(len(k))) + 1 + len(v) + sovWorkloadEntry(uint64(len(v)))
- n += mapEntrySize + 1 + sovWorkloadEntry(uint64(mapEntrySize))
- }
- }
- l = len(m.Network)
- if l > 0 {
- n += 1 + l + sovWorkloadEntry(uint64(l))
- }
- l = len(m.Locality)
- if l > 0 {
- n += 1 + l + sovWorkloadEntry(uint64(l))
+func init() { file_networking_v1alpha3_workload_entry_proto_init() }
+func file_networking_v1alpha3_workload_entry_proto_init() {
+ if File_networking_v1alpha3_workload_entry_proto != nil {
+ return
}
- if m.Weight != 0 {
- n += 1 + sovWorkloadEntry(uint64(m.Weight))
- }
- l = len(m.ServiceAccount)
- if l > 0 {
- n += 1 + l + sovWorkloadEntry(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func sovWorkloadEntry(x uint64) (n int) {
- return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozWorkloadEntry(x uint64) (n int) {
- return sovWorkloadEntry(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (m *WorkloadEntry) 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 ErrIntOverflowWorkloadEntry
+ if !protoimpl.UnsafeEnabled {
+ file_networking_v1alpha3_workload_entry_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WorkloadEntry); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
}
- 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: WorkloadEntry: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: WorkloadEntry: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadEntry
- }
- 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 ErrInvalidLengthWorkloadEntry
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthWorkloadEntry
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Address = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Ports", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadEntry
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthWorkloadEntry
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthWorkloadEntry
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Ports == nil {
- m.Ports = make(map[string]uint32)
- }
- var mapkey string
- var mapvalue uint32
- for iNdEx < postIndex {
- entryPreIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadEntry
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- if fieldNum == 1 {
- var stringLenmapkey uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadEntry
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapkey |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapkey := int(stringLenmapkey)
- if intStringLenmapkey < 0 {
- return ErrInvalidLengthWorkloadEntry
- }
- postStringIndexmapkey := iNdEx + intStringLenmapkey
- if postStringIndexmapkey < 0 {
- return ErrInvalidLengthWorkloadEntry
- }
- if postStringIndexmapkey > l {
- return io.ErrUnexpectedEOF
- }
- mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
- iNdEx = postStringIndexmapkey
- } else if fieldNum == 2 {
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadEntry
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- mapvalue |= uint32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- } else {
- iNdEx = entryPreIndex
- skippy, err := skipWorkloadEntry(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthWorkloadEntry
- }
- if (iNdEx + skippy) > postIndex {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- m.Ports[mapkey] = mapvalue
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Labels", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadEntry
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthWorkloadEntry
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthWorkloadEntry
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Labels == nil {
- m.Labels = make(map[string]string)
- }
- var mapkey string
- var mapvalue string
- for iNdEx < postIndex {
- entryPreIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadEntry
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- if fieldNum == 1 {
- var stringLenmapkey uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadEntry
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapkey |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapkey := int(stringLenmapkey)
- if intStringLenmapkey < 0 {
- return ErrInvalidLengthWorkloadEntry
- }
- postStringIndexmapkey := iNdEx + intStringLenmapkey
- if postStringIndexmapkey < 0 {
- return ErrInvalidLengthWorkloadEntry
- }
- if postStringIndexmapkey > l {
- return io.ErrUnexpectedEOF
- }
- mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
- iNdEx = postStringIndexmapkey
- } else if fieldNum == 2 {
- var stringLenmapvalue uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadEntry
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapvalue |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapvalue := int(stringLenmapvalue)
- if intStringLenmapvalue < 0 {
- return ErrInvalidLengthWorkloadEntry
- }
- postStringIndexmapvalue := iNdEx + intStringLenmapvalue
- if postStringIndexmapvalue < 0 {
- return ErrInvalidLengthWorkloadEntry
- }
- if postStringIndexmapvalue > l {
- return io.ErrUnexpectedEOF
- }
- mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue])
- iNdEx = postStringIndexmapvalue
- } else {
- iNdEx = entryPreIndex
- skippy, err := skipWorkloadEntry(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthWorkloadEntry
- }
- if (iNdEx + skippy) > postIndex {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- m.Labels[mapkey] = mapvalue
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Network", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadEntry
- }
- 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 ErrInvalidLengthWorkloadEntry
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthWorkloadEntry
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Network = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Locality", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadEntry
- }
- 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 ErrInvalidLengthWorkloadEntry
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthWorkloadEntry
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Locality = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 6:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Weight", wireType)
- }
- m.Weight = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadEntry
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Weight |= uint32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 7:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ServiceAccount", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadEntry
- }
- 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 ErrInvalidLengthWorkloadEntry
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthWorkloadEntry
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.ServiceAccount = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipWorkloadEntry(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthWorkloadEntry
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func skipWorkloadEntry(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowWorkloadEntry
- }
- 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, ErrIntOverflowWorkloadEntry
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowWorkloadEntry
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLengthWorkloadEntry
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroupWorkloadEntry
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLengthWorkloadEntry
- }
- if depth == 0 {
- return iNdEx, nil
}
}
- return 0, io.ErrUnexpectedEOF
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_networking_v1alpha3_workload_entry_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 3,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_networking_v1alpha3_workload_entry_proto_goTypes,
+ DependencyIndexes: file_networking_v1alpha3_workload_entry_proto_depIdxs,
+ MessageInfos: file_networking_v1alpha3_workload_entry_proto_msgTypes,
+ }.Build()
+ File_networking_v1alpha3_workload_entry_proto = out.File
+ file_networking_v1alpha3_workload_entry_proto_rawDesc = nil
+ file_networking_v1alpha3_workload_entry_proto_goTypes = nil
+ file_networking_v1alpha3_workload_entry_proto_depIdxs = nil
}
-
-var (
- ErrInvalidLengthWorkloadEntry = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflowWorkloadEntry = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroupWorkloadEntry = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/vendor/istio.io/api/networking/v1alpha3/workload_entry_deepcopy.gen.go b/vendor/istio.io/api/networking/v1alpha3/workload_entry_deepcopy.gen.go
index 34408a2dc..ea79c751f 100644
--- a/vendor/istio.io/api/networking/v1alpha3/workload_entry_deepcopy.gen.go
+++ b/vendor/istio.io/api/networking/v1alpha3/workload_entry_deepcopy.gen.go
@@ -1,227 +1,10 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: networking/v1alpha3/workload_entry.proto
-
-// `WorkloadEntry` enables operators to describe the properties of a
-// single non-Kubernetes workload such as a VM or a bare metal server
-// as it is onboarded into the mesh. A `WorkloadEntry` must be
-// accompanied by an Istio `ServiceEntry` that selects the workload
-// through the appropriate labels and provides the service definition
-// for a `MESH_INTERNAL` service (hostnames, port properties, etc.). A
-// `ServiceEntry` object can select multiple workload entries as well
-// as Kubernetes pods based on the label selector specified in the
-// service entry.
-//
-// When a workload connects to `istiod`, the status field in the
-// custom resource will be updated to indicate the health of the
-// workload along with other details, similar to how Kubernetes
-// updates the status of a pod.
-//
-// The following example declares a workload entry representing a VM
-// for the `details.bookinfo.com` service. This VM has sidecar
-// installed and bootstrapped using the `details-legacy` service
-// account. The service is exposed on port 80 to applications in the
-// mesh. The HTTP traffic to this service is wrapped in Istio mutual
-// TLS and sent to sidecars on VMs on target port 8080, that in turn
-// forward it to the application on localhost on the same port.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: WorkloadEntry
-// metadata:
-// name: details-svc
-// spec:
-// # use of the service account indicates that the workload has a
-// # sidecar proxy bootstrapped with this service account. Pods with
-// # sidecars will automatically communicate with the workload using
-// # istio mutual TLS.
-// serviceAccount: details-legacy
-// address: 2.2.2.2
-// labels:
-// app: details-legacy
-// instance-id: vm1
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: WorkloadEntry
-// metadata:
-// name: details-svc
-// spec:
-// # use of the service account indicates that the workload has a
-// # sidecar proxy bootstrapped with this service account. Pods with
-// # sidecars will automatically communicate with the workload using
-// # istio mutual TLS.
-// serviceAccount: details-legacy
-// address: 2.2.2.2
-// labels:
-// app: details-legacy
-// instance-id: vm1
-// ```
-// {{}}
-// {{}}
-//
-// and the associated service entry
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: details-svc
-// spec:
-// hosts:
-// - details.bookinfo.com
-// location: MESH_INTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// targetPort: 8080
-// resolution: STATIC
-// workloadSelector:
-// labels:
-// app: details-legacy
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: details-svc
-// spec:
-// hosts:
-// - details.bookinfo.com
-// location: MESH_INTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// targetPort: 8080
-// resolution: STATIC
-// workloadSelector:
-// labels:
-// app: details-legacy
-// ```
-// {{}}
-// {{}}
-//
-//
-// The following example declares the same VM workload using
-// its fully qualified DNS name. The service entry's resolution
-// mode should be changed to DNS to indicate that the client-side
-// sidecars should dynamically resolve the DNS name at runtime before
-// forwarding the request.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: WorkloadEntry
-// metadata:
-// name: details-svc
-// spec:
-// # use of the service account indicates that the workload has a
-// # sidecar proxy bootstrapped with this service account. Pods with
-// # sidecars will automatically communicate with the workload using
-// # istio mutual TLS.
-// serviceAccount: details-legacy
-// address: vm1.vpc01.corp.net
-// labels:
-// app: details-legacy
-// instance-id: vm1
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: WorkloadEntry
-// metadata:
-// name: details-svc
-// spec:
-// # use of the service account indicates that the workload has a
-// # sidecar proxy bootstrapped with this service account. Pods with
-// # sidecars will automatically communicate with the workload using
-// # istio mutual TLS.
-// serviceAccount: details-legacy
-// address: vm1.vpc01.corp.net
-// labels:
-// app: details-legacy
-// instance-id: vm1
-// ```
-// {{}}
-// {{}}
-//
-// and the associated service entry
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: details-svc
-// spec:
-// hosts:
-// - details.bookinfo.com
-// location: MESH_INTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// targetPort: 8080
-// resolution: DNS
-// workloadSelector:
-// labels:
-// app: details-legacy
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: details-svc
-// spec:
-// hosts:
-// - details.bookinfo.com
-// location: MESH_INTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// targetPort: 8080
-// resolution: DNS
-// workloadSelector:
-// labels:
-// app: details-legacy
-// ```
-// {{}}
-// {{}}
-//
-
+// Code generated by protoc-gen-deepcopy. DO NOT EDIT.
package v1alpha3
import (
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
+ proto "github.com/golang/protobuf/proto"
)
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
// DeepCopyInto supports using WorkloadEntry within kubernetes types, where deepcopy-gen is used.
func (in *WorkloadEntry) DeepCopyInto(out *WorkloadEntry) {
p := proto.Clone(in).(*WorkloadEntry)
diff --git a/vendor/istio.io/api/networking/v1alpha3/workload_entry_json.gen.go b/vendor/istio.io/api/networking/v1alpha3/workload_entry_json.gen.go
index 69c6ef3ce..2f2c23632 100644
--- a/vendor/istio.io/api/networking/v1alpha3/workload_entry_json.gen.go
+++ b/vendor/istio.io/api/networking/v1alpha3/workload_entry_json.gen.go
@@ -1,229 +1,11 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: networking/v1alpha3/workload_entry.proto
-
-// `WorkloadEntry` enables operators to describe the properties of a
-// single non-Kubernetes workload such as a VM or a bare metal server
-// as it is onboarded into the mesh. A `WorkloadEntry` must be
-// accompanied by an Istio `ServiceEntry` that selects the workload
-// through the appropriate labels and provides the service definition
-// for a `MESH_INTERNAL` service (hostnames, port properties, etc.). A
-// `ServiceEntry` object can select multiple workload entries as well
-// as Kubernetes pods based on the label selector specified in the
-// service entry.
-//
-// When a workload connects to `istiod`, the status field in the
-// custom resource will be updated to indicate the health of the
-// workload along with other details, similar to how Kubernetes
-// updates the status of a pod.
-//
-// The following example declares a workload entry representing a VM
-// for the `details.bookinfo.com` service. This VM has sidecar
-// installed and bootstrapped using the `details-legacy` service
-// account. The service is exposed on port 80 to applications in the
-// mesh. The HTTP traffic to this service is wrapped in Istio mutual
-// TLS and sent to sidecars on VMs on target port 8080, that in turn
-// forward it to the application on localhost on the same port.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: WorkloadEntry
-// metadata:
-// name: details-svc
-// spec:
-// # use of the service account indicates that the workload has a
-// # sidecar proxy bootstrapped with this service account. Pods with
-// # sidecars will automatically communicate with the workload using
-// # istio mutual TLS.
-// serviceAccount: details-legacy
-// address: 2.2.2.2
-// labels:
-// app: details-legacy
-// instance-id: vm1
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: WorkloadEntry
-// metadata:
-// name: details-svc
-// spec:
-// # use of the service account indicates that the workload has a
-// # sidecar proxy bootstrapped with this service account. Pods with
-// # sidecars will automatically communicate with the workload using
-// # istio mutual TLS.
-// serviceAccount: details-legacy
-// address: 2.2.2.2
-// labels:
-// app: details-legacy
-// instance-id: vm1
-// ```
-// {{}}
-// {{}}
-//
-// and the associated service entry
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: details-svc
-// spec:
-// hosts:
-// - details.bookinfo.com
-// location: MESH_INTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// targetPort: 8080
-// resolution: STATIC
-// workloadSelector:
-// labels:
-// app: details-legacy
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: details-svc
-// spec:
-// hosts:
-// - details.bookinfo.com
-// location: MESH_INTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// targetPort: 8080
-// resolution: STATIC
-// workloadSelector:
-// labels:
-// app: details-legacy
-// ```
-// {{}}
-// {{}}
-//
-//
-// The following example declares the same VM workload using
-// its fully qualified DNS name. The service entry's resolution
-// mode should be changed to DNS to indicate that the client-side
-// sidecars should dynamically resolve the DNS name at runtime before
-// forwarding the request.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: WorkloadEntry
-// metadata:
-// name: details-svc
-// spec:
-// # use of the service account indicates that the workload has a
-// # sidecar proxy bootstrapped with this service account. Pods with
-// # sidecars will automatically communicate with the workload using
-// # istio mutual TLS.
-// serviceAccount: details-legacy
-// address: vm1.vpc01.corp.net
-// labels:
-// app: details-legacy
-// instance-id: vm1
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: WorkloadEntry
-// metadata:
-// name: details-svc
-// spec:
-// # use of the service account indicates that the workload has a
-// # sidecar proxy bootstrapped with this service account. Pods with
-// # sidecars will automatically communicate with the workload using
-// # istio mutual TLS.
-// serviceAccount: details-legacy
-// address: vm1.vpc01.corp.net
-// labels:
-// app: details-legacy
-// instance-id: vm1
-// ```
-// {{}}
-// {{}}
-//
-// and the associated service entry
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: details-svc
-// spec:
-// hosts:
-// - details.bookinfo.com
-// location: MESH_INTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// targetPort: 8080
-// resolution: DNS
-// workloadSelector:
-// labels:
-// app: details-legacy
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: details-svc
-// spec:
-// hosts:
-// - details.bookinfo.com
-// location: MESH_INTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// targetPort: 8080
-// resolution: DNS
-// workloadSelector:
-// labels:
-// app: details-legacy
-// ```
-// {{}}
-// {{}}
-//
-
+// Code generated by protoc-gen-jsonshim. DO NOT EDIT.
package v1alpha3
import (
bytes "bytes"
- fmt "fmt"
- github_com_gogo_protobuf_jsonpb "github.com/gogo/protobuf/jsonpb"
- proto "github.com/gogo/protobuf/proto"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
+ jsonpb "github.com/golang/protobuf/jsonpb"
)
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
// MarshalJSON is a custom marshaler for WorkloadEntry
func (this *WorkloadEntry) MarshalJSON() ([]byte, error) {
str, err := WorkloadEntryMarshaler.MarshalToString(this)
@@ -236,6 +18,6 @@ func (this *WorkloadEntry) UnmarshalJSON(b []byte) error {
}
var (
- WorkloadEntryMarshaler = &github_com_gogo_protobuf_jsonpb.Marshaler{}
- WorkloadEntryUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{AllowUnknownFields: true}
+ WorkloadEntryMarshaler = &jsonpb.Marshaler{}
+ WorkloadEntryUnmarshaler = &jsonpb.Unmarshaler{AllowUnknownFields: true}
)
diff --git a/vendor/istio.io/api/networking/v1alpha3/workload_group.pb.go b/vendor/istio.io/api/networking/v1alpha3/workload_group.pb.go
index 35755309e..3759245c8 100644
--- a/vendor/istio.io/api/networking/v1alpha3/workload_group.pb.go
+++ b/vendor/istio.io/api/networking/v1alpha3/workload_group.pb.go
@@ -1,6 +1,29 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
+// Copyright 2020 Istio 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-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.27.1
+// protoc (unknown)
// source: networking/v1alpha3/workload_group.proto
+// $schema: istio.networking.v1alpha3.WorkloadGroup
+// $title: Workload Group
+// $description: Describes a collection of workload instances.
+// $location: https://istio.io/docs/reference/config/networking/workload-group.html
+// $aliases: [/docs/reference/config/networking/v1alpha3/workload-group]
+
// `WorkloadGroup` describes a collection of workload instances.
// It provides a specification that the workload instances can use to bootstrap
// their proxies, including the metadata and identity. It is only intended to
@@ -55,24 +78,19 @@
package v1alpha3
import (
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- io "io"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
- math_bits "math/bits"
+ _ "google.golang.org/genproto/googleapis/api/annotations"
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
)
-// 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.GoGoProtoPackageIsVersion3 // please upgrade the proto package
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
// `WorkloadGroup` enables specifying the properties of a single workload for bootstrap and
// provides a template for `WorkloadEntry`, similar to how `Deployment` specifies properties
@@ -101,7 +119,14 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
// +genclient
// +k8s:deepcopy-gen=true
// -->
+//
type WorkloadGroup struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Metadata that will be used for all corresponding `WorkloadEntries`.
// User labels for a workload group should be set here in `metadata` rather than in `template`.
Metadata *WorkloadGroup_ObjectMeta `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"`
@@ -113,126 +138,67 @@ type WorkloadGroup struct {
Template *WorkloadEntry `protobuf:"bytes,2,opt,name=template,proto3" json:"template,omitempty"`
// `ReadinessProbe` describes the configuration the user must provide for healthchecking on their workload.
// This configuration mirrors K8S in both syntax and logic for the most part.
- Probe *ReadinessProbe `protobuf:"bytes,3,opt,name=probe,proto3" json:"probe,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Probe *ReadinessProbe `protobuf:"bytes,3,opt,name=probe,proto3" json:"probe,omitempty"`
}
-func (m *WorkloadGroup) Reset() { *m = WorkloadGroup{} }
-func (m *WorkloadGroup) String() string { return proto.CompactTextString(m) }
-func (*WorkloadGroup) ProtoMessage() {}
-func (*WorkloadGroup) Descriptor() ([]byte, []int) {
- return fileDescriptor_621fb79d92a8ed09, []int{0}
-}
-func (m *WorkloadGroup) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *WorkloadGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_WorkloadGroup.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *WorkloadGroup) Reset() {
+ *x = WorkloadGroup{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_workload_group_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *WorkloadGroup) XXX_Merge(src proto.Message) {
- xxx_messageInfo_WorkloadGroup.Merge(m, src)
-}
-func (m *WorkloadGroup) XXX_Size() int {
- return m.Size()
-}
-func (m *WorkloadGroup) XXX_DiscardUnknown() {
- xxx_messageInfo_WorkloadGroup.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_WorkloadGroup proto.InternalMessageInfo
-func (m *WorkloadGroup) GetMetadata() *WorkloadGroup_ObjectMeta {
- if m != nil {
- return m.Metadata
- }
- return nil
+func (x *WorkloadGroup) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *WorkloadGroup) GetTemplate() *WorkloadEntry {
- if m != nil {
- return m.Template
- }
- return nil
-}
+func (*WorkloadGroup) ProtoMessage() {}
-func (m *WorkloadGroup) GetProbe() *ReadinessProbe {
- if m != nil {
- return m.Probe
+func (x *WorkloadGroup) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_workload_group_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
}
- return nil
+ return mi.MessageOf(x)
}
-// `ObjectMeta` describes metadata that will be attached to a `WorkloadEntry`.
-// It is a subset of the supported Kubernetes metadata.
-type WorkloadGroup_ObjectMeta struct {
- // Labels to attach
- Labels map[string]string `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
- // Annotations to attach
- Annotations map[string]string `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+// Deprecated: Use WorkloadGroup.ProtoReflect.Descriptor instead.
+func (*WorkloadGroup) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_workload_group_proto_rawDescGZIP(), []int{0}
}
-func (m *WorkloadGroup_ObjectMeta) Reset() { *m = WorkloadGroup_ObjectMeta{} }
-func (m *WorkloadGroup_ObjectMeta) String() string { return proto.CompactTextString(m) }
-func (*WorkloadGroup_ObjectMeta) ProtoMessage() {}
-func (*WorkloadGroup_ObjectMeta) Descriptor() ([]byte, []int) {
- return fileDescriptor_621fb79d92a8ed09, []int{0, 0}
-}
-func (m *WorkloadGroup_ObjectMeta) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *WorkloadGroup_ObjectMeta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_WorkloadGroup_ObjectMeta.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *WorkloadGroup) GetMetadata() *WorkloadGroup_ObjectMeta {
+ if x != nil {
+ return x.Metadata
}
+ return nil
}
-func (m *WorkloadGroup_ObjectMeta) XXX_Merge(src proto.Message) {
- xxx_messageInfo_WorkloadGroup_ObjectMeta.Merge(m, src)
-}
-func (m *WorkloadGroup_ObjectMeta) XXX_Size() int {
- return m.Size()
-}
-func (m *WorkloadGroup_ObjectMeta) XXX_DiscardUnknown() {
- xxx_messageInfo_WorkloadGroup_ObjectMeta.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_WorkloadGroup_ObjectMeta proto.InternalMessageInfo
-func (m *WorkloadGroup_ObjectMeta) GetLabels() map[string]string {
- if m != nil {
- return m.Labels
+func (x *WorkloadGroup) GetTemplate() *WorkloadEntry {
+ if x != nil {
+ return x.Template
}
return nil
}
-func (m *WorkloadGroup_ObjectMeta) GetAnnotations() map[string]string {
- if m != nil {
- return m.Annotations
+func (x *WorkloadGroup) GetProbe() *ReadinessProbe {
+ if x != nil {
+ return x.Probe
}
return nil
}
type ReadinessProbe struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Number of seconds after the container has started before readiness probes are initiated.
InitialDelaySeconds int32 `protobuf:"varint,2,opt,name=initial_delay_seconds,json=initialDelaySeconds,proto3" json:"initial_delay_seconds,omitempty"`
// Number of seconds after which the probe times out.
@@ -251,142 +217,139 @@ type ReadinessProbe struct {
// and this is expressed as a oneof. All of the other configuration values
// hold true for any of the healthcheck methods.
//
- // Types that are valid to be assigned to HealthCheckMethod:
+ // Types that are assignable to HealthCheckMethod:
// *ReadinessProbe_HttpGet
// *ReadinessProbe_TcpSocket
// *ReadinessProbe_Exec
- HealthCheckMethod isReadinessProbe_HealthCheckMethod `protobuf_oneof:"health_check_method"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ HealthCheckMethod isReadinessProbe_HealthCheckMethod `protobuf_oneof:"health_check_method"`
}
-func (m *ReadinessProbe) Reset() { *m = ReadinessProbe{} }
-func (m *ReadinessProbe) String() string { return proto.CompactTextString(m) }
-func (*ReadinessProbe) ProtoMessage() {}
-func (*ReadinessProbe) Descriptor() ([]byte, []int) {
- return fileDescriptor_621fb79d92a8ed09, []int{1}
-}
-func (m *ReadinessProbe) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *ReadinessProbe) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_ReadinessProbe.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *ReadinessProbe) Reset() {
+ *x = ReadinessProbe{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_workload_group_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *ReadinessProbe) XXX_Merge(src proto.Message) {
- xxx_messageInfo_ReadinessProbe.Merge(m, src)
-}
-func (m *ReadinessProbe) XXX_Size() int {
- return m.Size()
-}
-func (m *ReadinessProbe) XXX_DiscardUnknown() {
- xxx_messageInfo_ReadinessProbe.DiscardUnknown(m)
+
+func (x *ReadinessProbe) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-var xxx_messageInfo_ReadinessProbe proto.InternalMessageInfo
+func (*ReadinessProbe) ProtoMessage() {}
-type isReadinessProbe_HealthCheckMethod interface {
- isReadinessProbe_HealthCheckMethod()
- MarshalTo([]byte) (int, error)
- Size() int
+func (x *ReadinessProbe) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_workload_group_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-type ReadinessProbe_HttpGet struct {
- HttpGet *HTTPHealthCheckConfig `protobuf:"bytes,7,opt,name=http_get,json=httpGet,proto3,oneof" json:"http_get,omitempty"`
-}
-type ReadinessProbe_TcpSocket struct {
- TcpSocket *TCPHealthCheckConfig `protobuf:"bytes,8,opt,name=tcp_socket,json=tcpSocket,proto3,oneof" json:"tcp_socket,omitempty"`
-}
-type ReadinessProbe_Exec struct {
- Exec *ExecHealthCheckConfig `protobuf:"bytes,9,opt,name=exec,proto3,oneof" json:"exec,omitempty"`
+// Deprecated: Use ReadinessProbe.ProtoReflect.Descriptor instead.
+func (*ReadinessProbe) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_workload_group_proto_rawDescGZIP(), []int{1}
}
-func (*ReadinessProbe_HttpGet) isReadinessProbe_HealthCheckMethod() {}
-func (*ReadinessProbe_TcpSocket) isReadinessProbe_HealthCheckMethod() {}
-func (*ReadinessProbe_Exec) isReadinessProbe_HealthCheckMethod() {}
-
-func (m *ReadinessProbe) GetHealthCheckMethod() isReadinessProbe_HealthCheckMethod {
- if m != nil {
- return m.HealthCheckMethod
+func (x *ReadinessProbe) GetInitialDelaySeconds() int32 {
+ if x != nil {
+ return x.InitialDelaySeconds
}
- return nil
+ return 0
}
-func (m *ReadinessProbe) GetInitialDelaySeconds() int32 {
- if m != nil {
- return m.InitialDelaySeconds
+func (x *ReadinessProbe) GetTimeoutSeconds() int32 {
+ if x != nil {
+ return x.TimeoutSeconds
}
return 0
}
-func (m *ReadinessProbe) GetTimeoutSeconds() int32 {
- if m != nil {
- return m.TimeoutSeconds
+func (x *ReadinessProbe) GetPeriodSeconds() int32 {
+ if x != nil {
+ return x.PeriodSeconds
}
return 0
}
-func (m *ReadinessProbe) GetPeriodSeconds() int32 {
- if m != nil {
- return m.PeriodSeconds
+func (x *ReadinessProbe) GetSuccessThreshold() int32 {
+ if x != nil {
+ return x.SuccessThreshold
}
return 0
}
-func (m *ReadinessProbe) GetSuccessThreshold() int32 {
- if m != nil {
- return m.SuccessThreshold
+func (x *ReadinessProbe) GetFailureThreshold() int32 {
+ if x != nil {
+ return x.FailureThreshold
}
return 0
}
-func (m *ReadinessProbe) GetFailureThreshold() int32 {
+func (m *ReadinessProbe) GetHealthCheckMethod() isReadinessProbe_HealthCheckMethod {
if m != nil {
- return m.FailureThreshold
+ return m.HealthCheckMethod
}
- return 0
+ return nil
}
-func (m *ReadinessProbe) GetHttpGet() *HTTPHealthCheckConfig {
- if x, ok := m.GetHealthCheckMethod().(*ReadinessProbe_HttpGet); ok {
+func (x *ReadinessProbe) GetHttpGet() *HTTPHealthCheckConfig {
+ if x, ok := x.GetHealthCheckMethod().(*ReadinessProbe_HttpGet); ok {
return x.HttpGet
}
return nil
}
-func (m *ReadinessProbe) GetTcpSocket() *TCPHealthCheckConfig {
- if x, ok := m.GetHealthCheckMethod().(*ReadinessProbe_TcpSocket); ok {
+func (x *ReadinessProbe) GetTcpSocket() *TCPHealthCheckConfig {
+ if x, ok := x.GetHealthCheckMethod().(*ReadinessProbe_TcpSocket); ok {
return x.TcpSocket
}
return nil
}
-func (m *ReadinessProbe) GetExec() *ExecHealthCheckConfig {
- if x, ok := m.GetHealthCheckMethod().(*ReadinessProbe_Exec); ok {
+func (x *ReadinessProbe) GetExec() *ExecHealthCheckConfig {
+ if x, ok := x.GetHealthCheckMethod().(*ReadinessProbe_Exec); ok {
return x.Exec
}
return nil
}
-// XXX_OneofWrappers is for the internal use of the proto package.
-func (*ReadinessProbe) XXX_OneofWrappers() []interface{} {
- return []interface{}{
- (*ReadinessProbe_HttpGet)(nil),
- (*ReadinessProbe_TcpSocket)(nil),
- (*ReadinessProbe_Exec)(nil),
- }
+type isReadinessProbe_HealthCheckMethod interface {
+ isReadinessProbe_HealthCheckMethod()
+}
+
+type ReadinessProbe_HttpGet struct {
+ // `httpGet` is performed to a given endpoint
+ // and the status/able to connect determines health.
+ HttpGet *HTTPHealthCheckConfig `protobuf:"bytes,7,opt,name=http_get,json=httpGet,proto3,oneof"`
}
+type ReadinessProbe_TcpSocket struct {
+ // Health is determined by if the proxy is able to connect.
+ TcpSocket *TCPHealthCheckConfig `protobuf:"bytes,8,opt,name=tcp_socket,json=tcpSocket,proto3,oneof"`
+}
+
+type ReadinessProbe_Exec struct {
+ // Health is determined by how the command that is executed exited.
+ Exec *ExecHealthCheckConfig `protobuf:"bytes,9,opt,name=exec,proto3,oneof"`
+}
+
+func (*ReadinessProbe_HttpGet) isReadinessProbe_HealthCheckMethod() {}
+
+func (*ReadinessProbe_TcpSocket) isReadinessProbe_HealthCheckMethod() {}
+
+func (*ReadinessProbe_Exec) isReadinessProbe_HealthCheckMethod() {}
+
type HTTPHealthCheckConfig struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Path to access on the HTTP server.
Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
// Port on which the endpoint lives.
@@ -398,2263 +361,559 @@ type HTTPHealthCheckConfig struct {
Scheme string `protobuf:"bytes,4,opt,name=scheme,proto3" json:"scheme,omitempty"`
// Headers the proxy will pass on to make the request.
// Allows repeated headers.
- HttpHeaders []*HTTPHeader `protobuf:"bytes,5,rep,name=http_headers,json=httpHeaders,proto3" json:"http_headers,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ HttpHeaders []*HTTPHeader `protobuf:"bytes,5,rep,name=http_headers,json=httpHeaders,proto3" json:"http_headers,omitempty"`
}
-func (m *HTTPHealthCheckConfig) Reset() { *m = HTTPHealthCheckConfig{} }
-func (m *HTTPHealthCheckConfig) String() string { return proto.CompactTextString(m) }
-func (*HTTPHealthCheckConfig) ProtoMessage() {}
-func (*HTTPHealthCheckConfig) Descriptor() ([]byte, []int) {
- return fileDescriptor_621fb79d92a8ed09, []int{2}
-}
-func (m *HTTPHealthCheckConfig) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *HTTPHealthCheckConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_HTTPHealthCheckConfig.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *HTTPHealthCheckConfig) Reset() {
+ *x = HTTPHealthCheckConfig{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_workload_group_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *HTTPHealthCheckConfig) XXX_Merge(src proto.Message) {
- xxx_messageInfo_HTTPHealthCheckConfig.Merge(m, src)
-}
-func (m *HTTPHealthCheckConfig) XXX_Size() int {
- return m.Size()
+
+func (x *HTTPHealthCheckConfig) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *HTTPHealthCheckConfig) XXX_DiscardUnknown() {
- xxx_messageInfo_HTTPHealthCheckConfig.DiscardUnknown(m)
+
+func (*HTTPHealthCheckConfig) ProtoMessage() {}
+
+func (x *HTTPHealthCheckConfig) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_workload_group_proto_msgTypes[2]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_HTTPHealthCheckConfig proto.InternalMessageInfo
+// Deprecated: Use HTTPHealthCheckConfig.ProtoReflect.Descriptor instead.
+func (*HTTPHealthCheckConfig) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_workload_group_proto_rawDescGZIP(), []int{2}
+}
-func (m *HTTPHealthCheckConfig) GetPath() string {
- if m != nil {
- return m.Path
+func (x *HTTPHealthCheckConfig) GetPath() string {
+ if x != nil {
+ return x.Path
}
return ""
}
-func (m *HTTPHealthCheckConfig) GetPort() uint32 {
- if m != nil {
- return m.Port
+func (x *HTTPHealthCheckConfig) GetPort() uint32 {
+ if x != nil {
+ return x.Port
}
return 0
}
-func (m *HTTPHealthCheckConfig) GetHost() string {
- if m != nil {
- return m.Host
+func (x *HTTPHealthCheckConfig) GetHost() string {
+ if x != nil {
+ return x.Host
}
return ""
}
-func (m *HTTPHealthCheckConfig) GetScheme() string {
- if m != nil {
- return m.Scheme
+func (x *HTTPHealthCheckConfig) GetScheme() string {
+ if x != nil {
+ return x.Scheme
}
return ""
}
-func (m *HTTPHealthCheckConfig) GetHttpHeaders() []*HTTPHeader {
- if m != nil {
- return m.HttpHeaders
+func (x *HTTPHealthCheckConfig) GetHttpHeaders() []*HTTPHeader {
+ if x != nil {
+ return x.HttpHeaders
}
return nil
}
type HTTPHeader struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// The header field name
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// The header field value
- Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *HTTPHeader) Reset() { *m = HTTPHeader{} }
-func (m *HTTPHeader) String() string { return proto.CompactTextString(m) }
-func (*HTTPHeader) ProtoMessage() {}
-func (*HTTPHeader) Descriptor() ([]byte, []int) {
- return fileDescriptor_621fb79d92a8ed09, []int{3}
-}
-func (m *HTTPHeader) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *HTTPHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_HTTPHeader.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
+ Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}
-func (m *HTTPHeader) XXX_Merge(src proto.Message) {
- xxx_messageInfo_HTTPHeader.Merge(m, src)
-}
-func (m *HTTPHeader) XXX_Size() int {
- return m.Size()
-}
-func (m *HTTPHeader) XXX_DiscardUnknown() {
- xxx_messageInfo_HTTPHeader.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_HTTPHeader proto.InternalMessageInfo
-func (m *HTTPHeader) GetName() string {
- if m != nil {
- return m.Name
+func (x *HTTPHeader) Reset() {
+ *x = HTTPHeader{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_workload_group_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- return ""
}
-func (m *HTTPHeader) GetValue() string {
- if m != nil {
- return m.Value
- }
- return ""
+func (x *HTTPHeader) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-type TCPHealthCheckConfig struct {
- // Host to connect to, defaults to localhost
- Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
- // Port of host
- Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
+func (*HTTPHeader) ProtoMessage() {}
-func (m *TCPHealthCheckConfig) Reset() { *m = TCPHealthCheckConfig{} }
-func (m *TCPHealthCheckConfig) String() string { return proto.CompactTextString(m) }
-func (*TCPHealthCheckConfig) ProtoMessage() {}
-func (*TCPHealthCheckConfig) Descriptor() ([]byte, []int) {
- return fileDescriptor_621fb79d92a8ed09, []int{4}
-}
-func (m *TCPHealthCheckConfig) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *TCPHealthCheckConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_TCPHealthCheckConfig.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
+func (x *HTTPHeader) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_workload_group_proto_msgTypes[3]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- return b[:n], nil
+ return ms
}
-}
-func (m *TCPHealthCheckConfig) XXX_Merge(src proto.Message) {
- xxx_messageInfo_TCPHealthCheckConfig.Merge(m, src)
-}
-func (m *TCPHealthCheckConfig) XXX_Size() int {
- return m.Size()
-}
-func (m *TCPHealthCheckConfig) XXX_DiscardUnknown() {
- xxx_messageInfo_TCPHealthCheckConfig.DiscardUnknown(m)
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_TCPHealthCheckConfig proto.InternalMessageInfo
+// Deprecated: Use HTTPHeader.ProtoReflect.Descriptor instead.
+func (*HTTPHeader) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_workload_group_proto_rawDescGZIP(), []int{3}
+}
-func (m *TCPHealthCheckConfig) GetHost() string {
- if m != nil {
- return m.Host
+func (x *HTTPHeader) GetName() string {
+ if x != nil {
+ return x.Name
}
return ""
}
-func (m *TCPHealthCheckConfig) GetPort() uint32 {
- if m != nil {
- return m.Port
+func (x *HTTPHeader) GetValue() string {
+ if x != nil {
+ return x.Value
}
- return 0
+ return ""
}
-type ExecHealthCheckConfig struct {
- // Command to run. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
- Command []string `protobuf:"bytes,1,rep,name=command,proto3" json:"command,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
+type TCPHealthCheckConfig struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
-func (m *ExecHealthCheckConfig) Reset() { *m = ExecHealthCheckConfig{} }
-func (m *ExecHealthCheckConfig) String() string { return proto.CompactTextString(m) }
-func (*ExecHealthCheckConfig) ProtoMessage() {}
-func (*ExecHealthCheckConfig) Descriptor() ([]byte, []int) {
- return fileDescriptor_621fb79d92a8ed09, []int{5}
-}
-func (m *ExecHealthCheckConfig) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *ExecHealthCheckConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_ExecHealthCheckConfig.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *ExecHealthCheckConfig) XXX_Merge(src proto.Message) {
- xxx_messageInfo_ExecHealthCheckConfig.Merge(m, src)
-}
-func (m *ExecHealthCheckConfig) XXX_Size() int {
- return m.Size()
-}
-func (m *ExecHealthCheckConfig) XXX_DiscardUnknown() {
- xxx_messageInfo_ExecHealthCheckConfig.DiscardUnknown(m)
+ // Host to connect to, defaults to localhost
+ Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
+ // Port of host
+ Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
}
-var xxx_messageInfo_ExecHealthCheckConfig proto.InternalMessageInfo
-
-func (m *ExecHealthCheckConfig) GetCommand() []string {
- if m != nil {
- return m.Command
+func (x *TCPHealthCheckConfig) Reset() {
+ *x = TCPHealthCheckConfig{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_workload_group_proto_msgTypes[4]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- return nil
}
-func init() {
- proto.RegisterType((*WorkloadGroup)(nil), "istio.networking.v1alpha3.WorkloadGroup")
- proto.RegisterType((*WorkloadGroup_ObjectMeta)(nil), "istio.networking.v1alpha3.WorkloadGroup.ObjectMeta")
- proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.WorkloadGroup.ObjectMeta.AnnotationsEntry")
- proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.WorkloadGroup.ObjectMeta.LabelsEntry")
- proto.RegisterType((*ReadinessProbe)(nil), "istio.networking.v1alpha3.ReadinessProbe")
- proto.RegisterType((*HTTPHealthCheckConfig)(nil), "istio.networking.v1alpha3.HTTPHealthCheckConfig")
- proto.RegisterType((*HTTPHeader)(nil), "istio.networking.v1alpha3.HTTPHeader")
- proto.RegisterType((*TCPHealthCheckConfig)(nil), "istio.networking.v1alpha3.TCPHealthCheckConfig")
- proto.RegisterType((*ExecHealthCheckConfig)(nil), "istio.networking.v1alpha3.ExecHealthCheckConfig")
-}
-
-func init() {
- proto.RegisterFile("networking/v1alpha3/workload_group.proto", fileDescriptor_621fb79d92a8ed09)
-}
-
-var fileDescriptor_621fb79d92a8ed09 = []byte{
- // 708 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x94, 0xdd, 0x4e, 0xdb, 0x4a,
- 0x10, 0xc7, 0x8f, 0xf3, 0x45, 0x3c, 0x39, 0x70, 0x38, 0x0b, 0x39, 0xf2, 0xc9, 0x05, 0x45, 0x91,
- 0x50, 0x53, 0x55, 0x72, 0x0a, 0x48, 0x55, 0xdb, 0x8b, 0x22, 0xbe, 0x4a, 0x54, 0x15, 0x81, 0x4c,
- 0x24, 0xa4, 0xde, 0x58, 0x1b, 0x7b, 0x12, 0x6f, 0x63, 0x7b, 0x2d, 0xef, 0x86, 0xc2, 0x9b, 0x55,
- 0xea, 0x0b, 0x70, 0xd9, 0x47, 0xa8, 0xf2, 0x00, 0x7d, 0x86, 0xca, 0x6b, 0xe7, 0x83, 0xca, 0x84,
- 0x96, 0xbb, 0xf1, 0xcc, 0x7f, 0x7e, 0x3b, 0x1f, 0xeb, 0x85, 0x56, 0x88, 0xf2, 0x33, 0x8f, 0x87,
- 0x2c, 0x1c, 0xb4, 0xaf, 0xb6, 0xa9, 0x1f, 0x79, 0x74, 0xb7, 0x9d, 0x38, 0x7c, 0x4e, 0x5d, 0x7b,
- 0x10, 0xf3, 0x51, 0x64, 0x46, 0x31, 0x97, 0x9c, 0xfc, 0xcf, 0x84, 0x64, 0xdc, 0x9c, 0xe9, 0xcd,
- 0x89, 0xbe, 0xf1, 0x64, 0xc0, 0xf9, 0xc0, 0xc7, 0x36, 0x8d, 0x58, 0xbb, 0xcf, 0xd0, 0x77, 0xed,
- 0x1e, 0x7a, 0xf4, 0x8a, 0xf1, 0x38, 0xcd, 0x6d, 0x2c, 0x3e, 0x05, 0x43, 0x19, 0xdf, 0xa4, 0xca,
- 0xe6, 0x97, 0x12, 0x2c, 0x5f, 0x66, 0x81, 0x93, 0xe4, 0x74, 0x72, 0x06, 0xd5, 0x00, 0x25, 0x75,
- 0xa9, 0xa4, 0x86, 0xb6, 0xa9, 0xb5, 0x6a, 0x3b, 0xbb, 0xe6, 0xbd, 0xa5, 0x98, 0x77, 0x72, 0xcd,
- 0xb3, 0xde, 0x27, 0x74, 0xe4, 0x29, 0x4a, 0x6a, 0x4d, 0x21, 0xe4, 0x3d, 0x54, 0x25, 0x06, 0x91,
- 0x4f, 0x25, 0x1a, 0x05, 0x05, 0x6c, 0xfd, 0x06, 0xf0, 0x38, 0x29, 0xf2, 0xa0, 0x34, 0xde, 0xd7,
- 0x0a, 0xd6, 0x34, 0x9f, 0xec, 0x41, 0x39, 0x8a, 0x79, 0x0f, 0x8d, 0xa2, 0x02, 0x3d, 0x5b, 0x00,
- 0xb2, 0x90, 0xba, 0x2c, 0x44, 0x21, 0xce, 0x93, 0x04, 0x2b, 0xcd, 0x6b, 0xdc, 0x16, 0x00, 0x66,
- 0x55, 0x92, 0x4b, 0xa8, 0xf8, 0xb4, 0x87, 0xbe, 0x30, 0xb4, 0xcd, 0x62, 0xab, 0xb6, 0xb3, 0xf7,
- 0x88, 0x56, 0xcd, 0x0f, 0x8a, 0xa0, 0x0a, 0xb6, 0x32, 0x1c, 0xe9, 0x43, 0x8d, 0x86, 0x21, 0x97,
- 0x54, 0x32, 0x1e, 0x0a, 0xa3, 0xa0, 0xe8, 0x47, 0x8f, 0xa1, 0xef, 0xcf, 0x30, 0xe9, 0x11, 0xf3,
- 0xe0, 0xc6, 0x6b, 0xa8, 0xcd, 0x1d, 0x4f, 0x56, 0xa1, 0x38, 0xc4, 0x1b, 0xb5, 0x37, 0xdd, 0x4a,
- 0x4c, 0xb2, 0x0e, 0xe5, 0x2b, 0xea, 0x8f, 0xd2, 0xd1, 0xeb, 0x56, 0xfa, 0xf1, 0xa6, 0xf0, 0x4a,
- 0x6b, 0xbc, 0x85, 0xd5, 0x5f, 0xd9, 0x7f, 0x92, 0xdf, 0xfc, 0x51, 0x84, 0x95, 0xbb, 0x43, 0x26,
- 0x3b, 0x50, 0x67, 0x21, 0x93, 0x8c, 0xfa, 0xb6, 0x8b, 0x3e, 0xbd, 0xb1, 0x05, 0x3a, 0x3c, 0x74,
- 0x85, 0x4a, 0x2e, 0x5b, 0x6b, 0x59, 0xf0, 0x28, 0x89, 0x5d, 0xa4, 0x21, 0xf2, 0x14, 0xfe, 0x91,
- 0x2c, 0x40, 0x3e, 0x92, 0x53, 0x75, 0x51, 0xa9, 0x57, 0x32, 0xf7, 0x44, 0xb8, 0x05, 0x2b, 0x11,
- 0xc6, 0x8c, 0xbb, 0x53, 0x5d, 0x49, 0xe9, 0x96, 0x53, 0xef, 0x44, 0xf6, 0x1c, 0xfe, 0x15, 0x23,
- 0xc7, 0x41, 0x21, 0x6c, 0xe9, 0xc5, 0x28, 0x3c, 0xee, 0xbb, 0x46, 0x59, 0x29, 0x57, 0xb3, 0x40,
- 0x77, 0xe2, 0x4f, 0xc4, 0x7d, 0xca, 0xfc, 0x51, 0x8c, 0x73, 0xe2, 0x4a, 0x2a, 0xce, 0x02, 0x33,
- 0xf1, 0x29, 0x54, 0x3d, 0x29, 0x23, 0x7b, 0x80, 0xd2, 0x58, 0x52, 0xf7, 0xef, 0xc5, 0x82, 0x85,
- 0x76, 0xba, 0xdd, 0xf3, 0x0e, 0x52, 0x5f, 0x7a, 0x87, 0x1e, 0x3a, 0xc3, 0x43, 0x1e, 0xf6, 0xd9,
- 0xa0, 0xf3, 0x97, 0xb5, 0x94, 0x30, 0x4e, 0x50, 0x92, 0x73, 0x00, 0xe9, 0x44, 0xb6, 0xe0, 0xce,
- 0x10, 0xa5, 0x51, 0x55, 0xc0, 0xf6, 0x02, 0x60, 0xf7, 0x30, 0x97, 0xa7, 0x4b, 0x27, 0xba, 0x50,
- 0x0c, 0xf2, 0x0e, 0x4a, 0x78, 0x8d, 0x8e, 0xa1, 0x3f, 0x58, 0xdc, 0xf1, 0x35, 0x3a, 0x79, 0x30,
- 0x95, 0x7f, 0x50, 0x87, 0x35, 0x4f, 0x05, 0x6d, 0x27, 0x89, 0xda, 0x01, 0x4a, 0x8f, 0xbb, 0xcd,
- 0xaf, 0x1a, 0xd4, 0x73, 0xbb, 0x22, 0x04, 0x4a, 0x11, 0x95, 0x5e, 0x76, 0x6f, 0x94, 0x4d, 0x0c,
- 0x28, 0x45, 0x3c, 0x96, 0x6a, 0xf5, 0xcb, 0xd9, 0x8f, 0xac, 0x3c, 0x89, 0xda, 0xe3, 0x42, 0xaa,
- 0x35, 0xeb, 0x96, 0xb2, 0xc9, 0x7f, 0x50, 0x11, 0x8e, 0x87, 0x01, 0xaa, 0xa5, 0xea, 0x56, 0xf6,
- 0x45, 0x3a, 0xf0, 0xb7, 0x9a, 0xb9, 0x87, 0xd4, 0xc5, 0x58, 0x18, 0x65, 0xf5, 0x23, 0x6d, 0x3d,
- 0x3c, 0x77, 0x17, 0x63, 0xab, 0x96, 0xa4, 0xa6, 0xb6, 0x68, 0xbe, 0x04, 0x98, 0x85, 0x92, 0x1a,
- 0x42, 0x1a, 0xe0, 0xa4, 0xe2, 0xc4, 0xce, 0xbf, 0xea, 0xcd, 0x23, 0x58, 0xcf, 0x9b, 0xfc, 0xb4,
- 0x0b, 0x6d, 0xae, 0x8b, 0x7b, 0x7b, 0x6e, 0x6e, 0x43, 0x3d, 0x77, 0xe6, 0xc4, 0x80, 0x25, 0x87,
- 0x07, 0x01, 0x0d, 0x5d, 0xf5, 0x04, 0xe9, 0xd6, 0xe4, 0xf3, 0xc0, 0xbc, 0x1d, 0x6f, 0x68, 0xdf,
- 0xc6, 0x1b, 0xda, 0xf7, 0xf1, 0x86, 0xf6, 0x71, 0x33, 0xed, 0x98, 0x71, 0xf5, 0xea, 0xe7, 0xbc,
- 0xef, 0xbd, 0x8a, 0x7a, 0xd1, 0x77, 0x7f, 0x06, 0x00, 0x00, 0xff, 0xff, 0x3a, 0xe3, 0x83, 0x8e,
- 0x63, 0x06, 0x00, 0x00,
-}
-
-func (m *WorkloadGroup) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
+func (x *TCPHealthCheckConfig) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *WorkloadGroup) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
+func (*TCPHealthCheckConfig) ProtoMessage() {}
-func (m *WorkloadGroup) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Probe != nil {
- {
- size, err := m.Probe.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintWorkloadGroup(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- if m.Template != nil {
- {
- size, err := m.Template.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintWorkloadGroup(dAtA, i, uint64(size))
+func (x *TCPHealthCheckConfig) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_workload_group_proto_msgTypes[4]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- i--
- dAtA[i] = 0x12
+ return ms
}
- if m.Metadata != nil {
- {
- size, err := m.Metadata.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintWorkloadGroup(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func (m *WorkloadGroup_ObjectMeta) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *WorkloadGroup_ObjectMeta) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+ return mi.MessageOf(x)
}
-func (m *WorkloadGroup_ObjectMeta) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Annotations) > 0 {
- for k := range m.Annotations {
- v := m.Annotations[k]
- baseI := i
- i -= len(v)
- copy(dAtA[i:], v)
- i = encodeVarintWorkloadGroup(dAtA, i, uint64(len(v)))
- i--
- dAtA[i] = 0x12
- i -= len(k)
- copy(dAtA[i:], k)
- i = encodeVarintWorkloadGroup(dAtA, i, uint64(len(k)))
- i--
- dAtA[i] = 0xa
- i = encodeVarintWorkloadGroup(dAtA, i, uint64(baseI-i))
- i--
- dAtA[i] = 0x12
- }
- }
- if len(m.Labels) > 0 {
- for k := range m.Labels {
- v := m.Labels[k]
- baseI := i
- i -= len(v)
- copy(dAtA[i:], v)
- i = encodeVarintWorkloadGroup(dAtA, i, uint64(len(v)))
- i--
- dAtA[i] = 0x12
- i -= len(k)
- copy(dAtA[i:], k)
- i = encodeVarintWorkloadGroup(dAtA, i, uint64(len(k)))
- i--
- dAtA[i] = 0xa
- i = encodeVarintWorkloadGroup(dAtA, i, uint64(baseI-i))
- i--
- dAtA[i] = 0xa
- }
- }
- return len(dAtA) - i, nil
+// Deprecated: Use TCPHealthCheckConfig.ProtoReflect.Descriptor instead.
+func (*TCPHealthCheckConfig) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_workload_group_proto_rawDescGZIP(), []int{4}
}
-func (m *ReadinessProbe) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
+func (x *TCPHealthCheckConfig) GetHost() string {
+ if x != nil {
+ return x.Host
}
- return dAtA[:n], nil
-}
-
-func (m *ReadinessProbe) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+ return ""
}
-func (m *ReadinessProbe) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.HealthCheckMethod != nil {
- {
- size := m.HealthCheckMethod.Size()
- i -= size
- if _, err := m.HealthCheckMethod.MarshalTo(dAtA[i:]); err != nil {
- return 0, err
- }
- }
- }
- if m.FailureThreshold != 0 {
- i = encodeVarintWorkloadGroup(dAtA, i, uint64(m.FailureThreshold))
- i--
- dAtA[i] = 0x30
- }
- if m.SuccessThreshold != 0 {
- i = encodeVarintWorkloadGroup(dAtA, i, uint64(m.SuccessThreshold))
- i--
- dAtA[i] = 0x28
- }
- if m.PeriodSeconds != 0 {
- i = encodeVarintWorkloadGroup(dAtA, i, uint64(m.PeriodSeconds))
- i--
- dAtA[i] = 0x20
- }
- if m.TimeoutSeconds != 0 {
- i = encodeVarintWorkloadGroup(dAtA, i, uint64(m.TimeoutSeconds))
- i--
- dAtA[i] = 0x18
+func (x *TCPHealthCheckConfig) GetPort() uint32 {
+ if x != nil {
+ return x.Port
}
- if m.InitialDelaySeconds != 0 {
- i = encodeVarintWorkloadGroup(dAtA, i, uint64(m.InitialDelaySeconds))
- i--
- dAtA[i] = 0x10
- }
- return len(dAtA) - i, nil
+ return 0
}
-func (m *ReadinessProbe_HttpGet) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
+type ExecHealthCheckConfig struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
-func (m *ReadinessProbe_HttpGet) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- if m.HttpGet != nil {
- {
- size, err := m.HttpGet.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintWorkloadGroup(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x3a
- }
- return len(dAtA) - i, nil
-}
-func (m *ReadinessProbe_TcpSocket) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+ // Command to run. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
+ Command []string `protobuf:"bytes,1,rep,name=command,proto3" json:"command,omitempty"`
}
-func (m *ReadinessProbe_TcpSocket) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- if m.TcpSocket != nil {
- {
- size, err := m.TcpSocket.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintWorkloadGroup(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x42
+func (x *ExecHealthCheckConfig) Reset() {
+ *x = ExecHealthCheckConfig{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_workload_group_proto_msgTypes[5]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- return len(dAtA) - i, nil
-}
-func (m *ReadinessProbe_Exec) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *ReadinessProbe_Exec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- if m.Exec != nil {
- {
- size, err := m.Exec.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintWorkloadGroup(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x4a
- }
- return len(dAtA) - i, nil
-}
-func (m *HTTPHealthCheckConfig) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
+func (x *ExecHealthCheckConfig) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *HTTPHealthCheckConfig) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
+func (*ExecHealthCheckConfig) ProtoMessage() {}
-func (m *HTTPHealthCheckConfig) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.HttpHeaders) > 0 {
- for iNdEx := len(m.HttpHeaders) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.HttpHeaders[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintWorkloadGroup(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x2a
+func (x *ExecHealthCheckConfig) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_workload_group_proto_msgTypes[5]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
+ return ms
}
- if len(m.Scheme) > 0 {
- i -= len(m.Scheme)
- copy(dAtA[i:], m.Scheme)
- i = encodeVarintWorkloadGroup(dAtA, i, uint64(len(m.Scheme)))
- i--
- dAtA[i] = 0x22
- }
- if len(m.Host) > 0 {
- i -= len(m.Host)
- copy(dAtA[i:], m.Host)
- i = encodeVarintWorkloadGroup(dAtA, i, uint64(len(m.Host)))
- i--
- dAtA[i] = 0x1a
- }
- if m.Port != 0 {
- i = encodeVarintWorkloadGroup(dAtA, i, uint64(m.Port))
- i--
- dAtA[i] = 0x10
- }
- if len(m.Path) > 0 {
- i -= len(m.Path)
- copy(dAtA[i:], m.Path)
- i = encodeVarintWorkloadGroup(dAtA, i, uint64(len(m.Path)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func (m *HTTPHeader) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
+ return mi.MessageOf(x)
}
-func (m *HTTPHeader) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+// Deprecated: Use ExecHealthCheckConfig.ProtoReflect.Descriptor instead.
+func (*ExecHealthCheckConfig) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_workload_group_proto_rawDescGZIP(), []int{5}
}
-func (m *HTTPHeader) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Value) > 0 {
- i -= len(m.Value)
- copy(dAtA[i:], m.Value)
- i = encodeVarintWorkloadGroup(dAtA, i, uint64(len(m.Value)))
- i--
- dAtA[i] = 0x12
+func (x *ExecHealthCheckConfig) GetCommand() []string {
+ if x != nil {
+ return x.Command
}
- if len(m.Name) > 0 {
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintWorkloadGroup(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
+ return nil
}
-func (m *TCPHealthCheckConfig) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
+// `ObjectMeta` describes metadata that will be attached to a `WorkloadEntry`.
+// It is a subset of the supported Kubernetes metadata.
+type WorkloadGroup_ObjectMeta struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
-func (m *TCPHealthCheckConfig) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+ // Labels to attach
+ Labels map[string]string `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ // Annotations to attach
+ Annotations map[string]string `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
-func (m *TCPHealthCheckConfig) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Port != 0 {
- i = encodeVarintWorkloadGroup(dAtA, i, uint64(m.Port))
- i--
- dAtA[i] = 0x10
- }
- if len(m.Host) > 0 {
- i -= len(m.Host)
- copy(dAtA[i:], m.Host)
- i = encodeVarintWorkloadGroup(dAtA, i, uint64(len(m.Host)))
- i--
- dAtA[i] = 0xa
+func (x *WorkloadGroup_ObjectMeta) Reset() {
+ *x = WorkloadGroup_ObjectMeta{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_workload_group_proto_msgTypes[6]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- return len(dAtA) - i, nil
}
-func (m *ExecHealthCheckConfig) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
+func (x *WorkloadGroup_ObjectMeta) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *ExecHealthCheckConfig) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
+func (*WorkloadGroup_ObjectMeta) ProtoMessage() {}
-func (m *ExecHealthCheckConfig) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Command) > 0 {
- for iNdEx := len(m.Command) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.Command[iNdEx])
- copy(dAtA[i:], m.Command[iNdEx])
- i = encodeVarintWorkloadGroup(dAtA, i, uint64(len(m.Command[iNdEx])))
- i--
- dAtA[i] = 0xa
+func (x *WorkloadGroup_ObjectMeta) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_workload_group_proto_msgTypes[6]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
+ return ms
}
- return len(dAtA) - i, nil
+ return mi.MessageOf(x)
}
-func encodeVarintWorkloadGroup(dAtA []byte, offset int, v uint64) int {
- offset -= sovWorkloadGroup(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
+// Deprecated: Use WorkloadGroup_ObjectMeta.ProtoReflect.Descriptor instead.
+func (*WorkloadGroup_ObjectMeta) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_workload_group_proto_rawDescGZIP(), []int{0, 0}
}
-func (m *WorkloadGroup) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Metadata != nil {
- l = m.Metadata.Size()
- n += 1 + l + sovWorkloadGroup(uint64(l))
- }
- if m.Template != nil {
- l = m.Template.Size()
- n += 1 + l + sovWorkloadGroup(uint64(l))
- }
- if m.Probe != nil {
- l = m.Probe.Size()
- n += 1 + l + sovWorkloadGroup(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
+
+func (x *WorkloadGroup_ObjectMeta) GetLabels() map[string]string {
+ if x != nil {
+ return x.Labels
}
- return n
+ return nil
}
-func (m *WorkloadGroup_ObjectMeta) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if len(m.Labels) > 0 {
- for k, v := range m.Labels {
- _ = k
- _ = v
- mapEntrySize := 1 + len(k) + sovWorkloadGroup(uint64(len(k))) + 1 + len(v) + sovWorkloadGroup(uint64(len(v)))
- n += mapEntrySize + 1 + sovWorkloadGroup(uint64(mapEntrySize))
- }
- }
- if len(m.Annotations) > 0 {
- for k, v := range m.Annotations {
- _ = k
- _ = v
- mapEntrySize := 1 + len(k) + sovWorkloadGroup(uint64(len(k))) + 1 + len(v) + sovWorkloadGroup(uint64(len(v)))
- n += mapEntrySize + 1 + sovWorkloadGroup(uint64(mapEntrySize))
- }
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
+func (x *WorkloadGroup_ObjectMeta) GetAnnotations() map[string]string {
+ if x != nil {
+ return x.Annotations
}
- return n
+ return nil
}
-func (m *ReadinessProbe) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.InitialDelaySeconds != 0 {
- n += 1 + sovWorkloadGroup(uint64(m.InitialDelaySeconds))
- }
- if m.TimeoutSeconds != 0 {
- n += 1 + sovWorkloadGroup(uint64(m.TimeoutSeconds))
- }
- if m.PeriodSeconds != 0 {
- n += 1 + sovWorkloadGroup(uint64(m.PeriodSeconds))
- }
- if m.SuccessThreshold != 0 {
- n += 1 + sovWorkloadGroup(uint64(m.SuccessThreshold))
- }
- if m.FailureThreshold != 0 {
- n += 1 + sovWorkloadGroup(uint64(m.FailureThreshold))
- }
- if m.HealthCheckMethod != nil {
- n += m.HealthCheckMethod.Size()
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
+var File_networking_v1alpha3_workload_group_proto protoreflect.FileDescriptor
+
+var file_networking_v1alpha3_workload_group_proto_rawDesc = []byte{
+ 0x0a, 0x28, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x61,
+ 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x67,
+ 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x69, 0x73, 0x74, 0x69,
+ 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61,
+ 0x6c, 0x70, 0x68, 0x61, 0x33, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70,
+ 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69,
+ 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2f, 0x77, 0x6f, 0x72, 0x6b,
+ 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xb8, 0x04, 0x0a, 0x0d, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x72, 0x6f,
+ 0x75, 0x70, 0x12, 0x4f, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74,
+ 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33,
+ 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x4f,
+ 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64,
+ 0x61, 0x74, 0x61, 0x12, 0x4a, 0x0a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65,
+ 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
+ 0x33, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42,
+ 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12,
+ 0x3f, 0x0a, 0x05, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29,
+ 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e,
+ 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x69,
+ 0x6e, 0x65, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x52, 0x05, 0x70, 0x72, 0x6f, 0x62, 0x65,
+ 0x1a, 0xc8, 0x02, 0x0a, 0x0a, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12,
+ 0x57, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x3f, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69,
+ 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x57, 0x6f, 0x72, 0x6b,
+ 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74,
+ 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x66, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f,
+ 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e,
+ 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67,
+ 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f,
+ 0x61, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65,
+ 0x74, 0x61, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
+ 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
+ 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x41,
+ 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
+ 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
+ 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xee, 0x03, 0x0a, 0x0e,
+ 0x52, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x12, 0x32,
+ 0x0a, 0x15, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f,
+ 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x69,
+ 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x63, 0x6f, 0x6e,
+ 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65,
+ 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x69, 0x6d,
+ 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x70,
+ 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x0d, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x53, 0x65, 0x63, 0x6f, 0x6e,
+ 0x64, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x68,
+ 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x73,
+ 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12,
+ 0x2b, 0x0a, 0x11, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73,
+ 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x66, 0x61, 0x69, 0x6c,
+ 0x75, 0x72, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x4d, 0x0a, 0x08,
+ 0x68, 0x74, 0x74, 0x70, 0x5f, 0x67, 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30,
+ 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e,
+ 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x48,
+ 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x48, 0x00, 0x52, 0x07, 0x68, 0x74, 0x74, 0x70, 0x47, 0x65, 0x74, 0x12, 0x50, 0x0a, 0x0a, 0x74,
+ 0x63, 0x70, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x2f, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69,
+ 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x54, 0x43, 0x50, 0x48,
+ 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x48, 0x00, 0x52, 0x09, 0x74, 0x63, 0x70, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x46, 0x0a,
+ 0x04, 0x65, 0x78, 0x65, 0x63, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x69, 0x73,
+ 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76,
+ 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x48, 0x65, 0x61, 0x6c,
+ 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52,
+ 0x04, 0x65, 0x78, 0x65, 0x63, 0x42, 0x15, 0x0a, 0x13, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f,
+ 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, 0xbb, 0x01, 0x0a,
+ 0x15, 0x48, 0x54, 0x54, 0x50, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b,
+ 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x04, 0x70, 0x6f,
+ 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x04,
+ 0x70, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65,
+ 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65,
+ 0x12, 0x48, 0x0a, 0x0c, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73,
+ 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e,
+ 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
+ 0x61, 0x33, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0b, 0x68,
+ 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x22, 0x36, 0x0a, 0x0a, 0x48, 0x54,
+ 0x54, 0x50, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x22, 0x44, 0x0a, 0x14, 0x54, 0x43, 0x50, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43,
+ 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f,
+ 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x18,
+ 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x04, 0xe2, 0x41,
+ 0x01, 0x02, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x31, 0x0a, 0x15, 0x45, 0x78, 0x65, 0x63,
+ 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x03,
+ 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x42, 0x22, 0x5a, 0x20, 0x69,
+ 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6e, 0x65, 0x74, 0x77,
+ 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
-func (m *ReadinessProbe_HttpGet) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.HttpGet != nil {
- l = m.HttpGet.Size()
- n += 1 + l + sovWorkloadGroup(uint64(l))
+var (
+ file_networking_v1alpha3_workload_group_proto_rawDescOnce sync.Once
+ file_networking_v1alpha3_workload_group_proto_rawDescData = file_networking_v1alpha3_workload_group_proto_rawDesc
+)
+
+func file_networking_v1alpha3_workload_group_proto_rawDescGZIP() []byte {
+ file_networking_v1alpha3_workload_group_proto_rawDescOnce.Do(func() {
+ file_networking_v1alpha3_workload_group_proto_rawDescData = protoimpl.X.CompressGZIP(file_networking_v1alpha3_workload_group_proto_rawDescData)
+ })
+ return file_networking_v1alpha3_workload_group_proto_rawDescData
+}
+
+var file_networking_v1alpha3_workload_group_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
+var file_networking_v1alpha3_workload_group_proto_goTypes = []interface{}{
+ (*WorkloadGroup)(nil), // 0: istio.networking.v1alpha3.WorkloadGroup
+ (*ReadinessProbe)(nil), // 1: istio.networking.v1alpha3.ReadinessProbe
+ (*HTTPHealthCheckConfig)(nil), // 2: istio.networking.v1alpha3.HTTPHealthCheckConfig
+ (*HTTPHeader)(nil), // 3: istio.networking.v1alpha3.HTTPHeader
+ (*TCPHealthCheckConfig)(nil), // 4: istio.networking.v1alpha3.TCPHealthCheckConfig
+ (*ExecHealthCheckConfig)(nil), // 5: istio.networking.v1alpha3.ExecHealthCheckConfig
+ (*WorkloadGroup_ObjectMeta)(nil), // 6: istio.networking.v1alpha3.WorkloadGroup.ObjectMeta
+ nil, // 7: istio.networking.v1alpha3.WorkloadGroup.ObjectMeta.LabelsEntry
+ nil, // 8: istio.networking.v1alpha3.WorkloadGroup.ObjectMeta.AnnotationsEntry
+ (*WorkloadEntry)(nil), // 9: istio.networking.v1alpha3.WorkloadEntry
+}
+var file_networking_v1alpha3_workload_group_proto_depIdxs = []int32{
+ 6, // 0: istio.networking.v1alpha3.WorkloadGroup.metadata:type_name -> istio.networking.v1alpha3.WorkloadGroup.ObjectMeta
+ 9, // 1: istio.networking.v1alpha3.WorkloadGroup.template:type_name -> istio.networking.v1alpha3.WorkloadEntry
+ 1, // 2: istio.networking.v1alpha3.WorkloadGroup.probe:type_name -> istio.networking.v1alpha3.ReadinessProbe
+ 2, // 3: istio.networking.v1alpha3.ReadinessProbe.http_get:type_name -> istio.networking.v1alpha3.HTTPHealthCheckConfig
+ 4, // 4: istio.networking.v1alpha3.ReadinessProbe.tcp_socket:type_name -> istio.networking.v1alpha3.TCPHealthCheckConfig
+ 5, // 5: istio.networking.v1alpha3.ReadinessProbe.exec:type_name -> istio.networking.v1alpha3.ExecHealthCheckConfig
+ 3, // 6: istio.networking.v1alpha3.HTTPHealthCheckConfig.http_headers:type_name -> istio.networking.v1alpha3.HTTPHeader
+ 7, // 7: istio.networking.v1alpha3.WorkloadGroup.ObjectMeta.labels:type_name -> istio.networking.v1alpha3.WorkloadGroup.ObjectMeta.LabelsEntry
+ 8, // 8: istio.networking.v1alpha3.WorkloadGroup.ObjectMeta.annotations:type_name -> istio.networking.v1alpha3.WorkloadGroup.ObjectMeta.AnnotationsEntry
+ 9, // [9:9] is the sub-list for method output_type
+ 9, // [9:9] is the sub-list for method input_type
+ 9, // [9:9] is the sub-list for extension type_name
+ 9, // [9:9] is the sub-list for extension extendee
+ 0, // [0:9] is the sub-list for field type_name
+}
+
+func init() { file_networking_v1alpha3_workload_group_proto_init() }
+func file_networking_v1alpha3_workload_group_proto_init() {
+ if File_networking_v1alpha3_workload_group_proto != nil {
+ return
+ }
+ file_networking_v1alpha3_workload_entry_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_networking_v1alpha3_workload_group_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WorkloadGroup); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_workload_group_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReadinessProbe); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_workload_group_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HTTPHealthCheckConfig); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_workload_group_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HTTPHeader); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_workload_group_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TCPHealthCheckConfig); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_workload_group_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ExecHealthCheckConfig); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1alpha3_workload_group_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WorkloadGroup_ObjectMeta); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_networking_v1alpha3_workload_group_proto_msgTypes[1].OneofWrappers = []interface{}{
+ (*ReadinessProbe_HttpGet)(nil),
+ (*ReadinessProbe_TcpSocket)(nil),
+ (*ReadinessProbe_Exec)(nil),
}
- return n
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_networking_v1alpha3_workload_group_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 9,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_networking_v1alpha3_workload_group_proto_goTypes,
+ DependencyIndexes: file_networking_v1alpha3_workload_group_proto_depIdxs,
+ MessageInfos: file_networking_v1alpha3_workload_group_proto_msgTypes,
+ }.Build()
+ File_networking_v1alpha3_workload_group_proto = out.File
+ file_networking_v1alpha3_workload_group_proto_rawDesc = nil
+ file_networking_v1alpha3_workload_group_proto_goTypes = nil
+ file_networking_v1alpha3_workload_group_proto_depIdxs = nil
}
-func (m *ReadinessProbe_TcpSocket) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.TcpSocket != nil {
- l = m.TcpSocket.Size()
- n += 1 + l + sovWorkloadGroup(uint64(l))
- }
- return n
-}
-func (m *ReadinessProbe_Exec) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Exec != nil {
- l = m.Exec.Size()
- n += 1 + l + sovWorkloadGroup(uint64(l))
- }
- return n
-}
-func (m *HTTPHealthCheckConfig) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Path)
- if l > 0 {
- n += 1 + l + sovWorkloadGroup(uint64(l))
- }
- if m.Port != 0 {
- n += 1 + sovWorkloadGroup(uint64(m.Port))
- }
- l = len(m.Host)
- if l > 0 {
- n += 1 + l + sovWorkloadGroup(uint64(l))
- }
- l = len(m.Scheme)
- if l > 0 {
- n += 1 + l + sovWorkloadGroup(uint64(l))
- }
- if len(m.HttpHeaders) > 0 {
- for _, e := range m.HttpHeaders {
- l = e.Size()
- n += 1 + l + sovWorkloadGroup(uint64(l))
- }
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *HTTPHeader) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Name)
- if l > 0 {
- n += 1 + l + sovWorkloadGroup(uint64(l))
- }
- l = len(m.Value)
- if l > 0 {
- n += 1 + l + sovWorkloadGroup(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *TCPHealthCheckConfig) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Host)
- if l > 0 {
- n += 1 + l + sovWorkloadGroup(uint64(l))
- }
- if m.Port != 0 {
- n += 1 + sovWorkloadGroup(uint64(m.Port))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *ExecHealthCheckConfig) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if len(m.Command) > 0 {
- for _, s := range m.Command {
- l = len(s)
- n += 1 + l + sovWorkloadGroup(uint64(l))
- }
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func sovWorkloadGroup(x uint64) (n int) {
- return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozWorkloadGroup(x uint64) (n int) {
- return sovWorkloadGroup(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (m *WorkloadGroup) 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 ErrIntOverflowWorkloadGroup
- }
- 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: WorkloadGroup: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: WorkloadGroup: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadGroup
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Metadata == nil {
- m.Metadata = &WorkloadGroup_ObjectMeta{}
- }
- if err := m.Metadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Template", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadGroup
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Template == nil {
- m.Template = &WorkloadEntry{}
- }
- if err := m.Template.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Probe", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadGroup
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Probe == nil {
- m.Probe = &ReadinessProbe{}
- }
- if err := m.Probe.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipWorkloadGroup(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *WorkloadGroup_ObjectMeta) 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 ErrIntOverflowWorkloadGroup
- }
- 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: ObjectMeta: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ObjectMeta: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Labels", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadGroup
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Labels == nil {
- m.Labels = make(map[string]string)
- }
- var mapkey string
- var mapvalue string
- for iNdEx < postIndex {
- entryPreIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadGroup
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- if fieldNum == 1 {
- var stringLenmapkey uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadGroup
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapkey |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapkey := int(stringLenmapkey)
- if intStringLenmapkey < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- postStringIndexmapkey := iNdEx + intStringLenmapkey
- if postStringIndexmapkey < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- if postStringIndexmapkey > l {
- return io.ErrUnexpectedEOF
- }
- mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
- iNdEx = postStringIndexmapkey
- } else if fieldNum == 2 {
- var stringLenmapvalue uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadGroup
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapvalue |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapvalue := int(stringLenmapvalue)
- if intStringLenmapvalue < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- postStringIndexmapvalue := iNdEx + intStringLenmapvalue
- if postStringIndexmapvalue < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- if postStringIndexmapvalue > l {
- return io.ErrUnexpectedEOF
- }
- mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue])
- iNdEx = postStringIndexmapvalue
- } else {
- iNdEx = entryPreIndex
- skippy, err := skipWorkloadGroup(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- if (iNdEx + skippy) > postIndex {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- m.Labels[mapkey] = mapvalue
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Annotations", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadGroup
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Annotations == nil {
- m.Annotations = make(map[string]string)
- }
- var mapkey string
- var mapvalue string
- for iNdEx < postIndex {
- entryPreIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadGroup
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- if fieldNum == 1 {
- var stringLenmapkey uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadGroup
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapkey |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapkey := int(stringLenmapkey)
- if intStringLenmapkey < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- postStringIndexmapkey := iNdEx + intStringLenmapkey
- if postStringIndexmapkey < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- if postStringIndexmapkey > l {
- return io.ErrUnexpectedEOF
- }
- mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
- iNdEx = postStringIndexmapkey
- } else if fieldNum == 2 {
- var stringLenmapvalue uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadGroup
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapvalue |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapvalue := int(stringLenmapvalue)
- if intStringLenmapvalue < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- postStringIndexmapvalue := iNdEx + intStringLenmapvalue
- if postStringIndexmapvalue < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- if postStringIndexmapvalue > l {
- return io.ErrUnexpectedEOF
- }
- mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue])
- iNdEx = postStringIndexmapvalue
- } else {
- iNdEx = entryPreIndex
- skippy, err := skipWorkloadGroup(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- if (iNdEx + skippy) > postIndex {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- m.Annotations[mapkey] = mapvalue
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipWorkloadGroup(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *ReadinessProbe) 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 ErrIntOverflowWorkloadGroup
- }
- 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: ReadinessProbe: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ReadinessProbe: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 2:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field InitialDelaySeconds", wireType)
- }
- m.InitialDelaySeconds = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadGroup
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.InitialDelaySeconds |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 3:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field TimeoutSeconds", wireType)
- }
- m.TimeoutSeconds = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadGroup
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.TimeoutSeconds |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 4:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field PeriodSeconds", wireType)
- }
- m.PeriodSeconds = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadGroup
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.PeriodSeconds |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 5:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field SuccessThreshold", wireType)
- }
- m.SuccessThreshold = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadGroup
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.SuccessThreshold |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 6:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field FailureThreshold", wireType)
- }
- m.FailureThreshold = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadGroup
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.FailureThreshold |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 7:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field HttpGet", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadGroup
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- v := &HTTPHealthCheckConfig{}
- if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- m.HealthCheckMethod = &ReadinessProbe_HttpGet{v}
- iNdEx = postIndex
- case 8:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field TcpSocket", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadGroup
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- v := &TCPHealthCheckConfig{}
- if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- m.HealthCheckMethod = &ReadinessProbe_TcpSocket{v}
- iNdEx = postIndex
- case 9:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Exec", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadGroup
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- v := &ExecHealthCheckConfig{}
- if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- m.HealthCheckMethod = &ReadinessProbe_Exec{v}
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipWorkloadGroup(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *HTTPHealthCheckConfig) 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 ErrIntOverflowWorkloadGroup
- }
- 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: HTTPHealthCheckConfig: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: HTTPHealthCheckConfig: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Path", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadGroup
- }
- 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 ErrInvalidLengthWorkloadGroup
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Path = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Port", wireType)
- }
- m.Port = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadGroup
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Port |= uint32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Host", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadGroup
- }
- 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 ErrInvalidLengthWorkloadGroup
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Host = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Scheme", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadGroup
- }
- 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 ErrInvalidLengthWorkloadGroup
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Scheme = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field HttpHeaders", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadGroup
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.HttpHeaders = append(m.HttpHeaders, &HTTPHeader{})
- if err := m.HttpHeaders[len(m.HttpHeaders)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipWorkloadGroup(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *HTTPHeader) 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 ErrIntOverflowWorkloadGroup
- }
- 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: HTTPHeader: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: HTTPHeader: 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 ErrIntOverflowWorkloadGroup
- }
- 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 ErrInvalidLengthWorkloadGroup
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- 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 Value", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadGroup
- }
- 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 ErrInvalidLengthWorkloadGroup
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Value = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipWorkloadGroup(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *TCPHealthCheckConfig) 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 ErrIntOverflowWorkloadGroup
- }
- 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: TCPHealthCheckConfig: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: TCPHealthCheckConfig: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Host", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadGroup
- }
- 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 ErrInvalidLengthWorkloadGroup
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Host = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Port", wireType)
- }
- m.Port = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadGroup
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Port |= uint32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- default:
- iNdEx = preIndex
- skippy, err := skipWorkloadGroup(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *ExecHealthCheckConfig) 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 ErrIntOverflowWorkloadGroup
- }
- 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: ExecHealthCheckConfig: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ExecHealthCheckConfig: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Command", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadGroup
- }
- 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 ErrInvalidLengthWorkloadGroup
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Command = append(m.Command, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipWorkloadGroup(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthWorkloadGroup
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func skipWorkloadGroup(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowWorkloadGroup
- }
- 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, ErrIntOverflowWorkloadGroup
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowWorkloadGroup
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLengthWorkloadGroup
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroupWorkloadGroup
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLengthWorkloadGroup
- }
- if depth == 0 {
- return iNdEx, nil
- }
- }
- return 0, io.ErrUnexpectedEOF
-}
-
-var (
- ErrInvalidLengthWorkloadGroup = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflowWorkloadGroup = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroupWorkloadGroup = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/vendor/istio.io/api/networking/v1alpha3/workload_group.proto b/vendor/istio.io/api/networking/v1alpha3/workload_group.proto
index 739e20b93..c669e9d4a 100644
--- a/vendor/istio.io/api/networking/v1alpha3/workload_group.proto
+++ b/vendor/istio.io/api/networking/v1alpha3/workload_group.proto
@@ -104,6 +104,9 @@ option go_package = "istio.io/api/networking/v1alpha3";
// +genclient
// +k8s:deepcopy-gen=true
// -->
+//
message WorkloadGroup {
// Metadata that will be used for all corresponding `WorkloadEntries`.
// User labels for a workload group should be set here in `metadata` rather than in `template`.
diff --git a/vendor/istio.io/api/networking/v1alpha3/workload_group_deepcopy.gen.go b/vendor/istio.io/api/networking/v1alpha3/workload_group_deepcopy.gen.go
index c1021473c..83148fc76 100644
--- a/vendor/istio.io/api/networking/v1alpha3/workload_group_deepcopy.gen.go
+++ b/vendor/istio.io/api/networking/v1alpha3/workload_group_deepcopy.gen.go
@@ -1,71 +1,10 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: networking/v1alpha3/workload_group.proto
-
-// `WorkloadGroup` describes a collection of workload instances.
-// It provides a specification that the workload instances can use to bootstrap
-// their proxies, including the metadata and identity. It is only intended to
-// be used with non-k8s workloads like Virtual Machines, and is meant to mimic
-// the existing sidecar injection and deployment specification model used for
-// Kubernetes workloads to bootstrap Istio proxies.
-//
-// The following example declares a workload group representing a collection
-// of workloads that will be registered under `reviews` in namespace
-// `bookinfo`. The set of labels will be associated with each workload
-// instance during the bootstrap process, and the ports 3550 and 8080
-// will be associated with the workload group and use service account `default`.
-// `app.kubernetes.io/version` is just an arbitrary example of a label.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: WorkloadGroup
-// metadata:
-// name: reviews
-// namespace: bookinfo
-// spec:
-// metadata:
-// labels:
-// app.kubernetes.io/name: reviews
-// app.kubernetes.io/version: "1.3.4"
-// template:
-// ports:
-// grpc: 3550
-// http: 8080
-// serviceAccount: default
-// probe:
-// initialDelaySeconds: 5
-// timeoutSeconds: 3
-// periodSeconds: 4
-// successThreshold: 3
-// failureThreshold: 3
-// httpGet:
-// path: /foo/bar
-// host: 127.0.0.1
-// port: 3100
-// scheme: HTTPS
-// httpHeaders:
-// - name: Lit-Header
-// value: Im-The-Best
-// ```
-// {{}}
-// {{}}
-//
-
+// Code generated by protoc-gen-deepcopy. DO NOT EDIT.
package v1alpha3
import (
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
+ proto "github.com/golang/protobuf/proto"
)
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
// DeepCopyInto supports using WorkloadGroup within kubernetes types, where deepcopy-gen is used.
func (in *WorkloadGroup) DeepCopyInto(out *WorkloadGroup) {
p := proto.Clone(in).(*WorkloadGroup)
diff --git a/vendor/istio.io/api/networking/v1alpha3/workload_group_json.gen.go b/vendor/istio.io/api/networking/v1alpha3/workload_group_json.gen.go
index 0d8ebe214..5cc555ec3 100644
--- a/vendor/istio.io/api/networking/v1alpha3/workload_group_json.gen.go
+++ b/vendor/istio.io/api/networking/v1alpha3/workload_group_json.gen.go
@@ -1,73 +1,11 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: networking/v1alpha3/workload_group.proto
-
-// `WorkloadGroup` describes a collection of workload instances.
-// It provides a specification that the workload instances can use to bootstrap
-// their proxies, including the metadata and identity. It is only intended to
-// be used with non-k8s workloads like Virtual Machines, and is meant to mimic
-// the existing sidecar injection and deployment specification model used for
-// Kubernetes workloads to bootstrap Istio proxies.
-//
-// The following example declares a workload group representing a collection
-// of workloads that will be registered under `reviews` in namespace
-// `bookinfo`. The set of labels will be associated with each workload
-// instance during the bootstrap process, and the ports 3550 and 8080
-// will be associated with the workload group and use service account `default`.
-// `app.kubernetes.io/version` is just an arbitrary example of a label.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: WorkloadGroup
-// metadata:
-// name: reviews
-// namespace: bookinfo
-// spec:
-// metadata:
-// labels:
-// app.kubernetes.io/name: reviews
-// app.kubernetes.io/version: "1.3.4"
-// template:
-// ports:
-// grpc: 3550
-// http: 8080
-// serviceAccount: default
-// probe:
-// initialDelaySeconds: 5
-// timeoutSeconds: 3
-// periodSeconds: 4
-// successThreshold: 3
-// failureThreshold: 3
-// httpGet:
-// path: /foo/bar
-// host: 127.0.0.1
-// port: 3100
-// scheme: HTTPS
-// httpHeaders:
-// - name: Lit-Header
-// value: Im-The-Best
-// ```
-// {{}}
-// {{}}
-//
-
+// Code generated by protoc-gen-jsonshim. DO NOT EDIT.
package v1alpha3
import (
bytes "bytes"
- fmt "fmt"
- github_com_gogo_protobuf_jsonpb "github.com/gogo/protobuf/jsonpb"
- proto "github.com/gogo/protobuf/proto"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
+ jsonpb "github.com/golang/protobuf/jsonpb"
)
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
// MarshalJSON is a custom marshaler for WorkloadGroup
func (this *WorkloadGroup) MarshalJSON() ([]byte, error) {
str, err := WorkloadGroupMarshaler.MarshalToString(this)
@@ -146,6 +84,6 @@ func (this *ExecHealthCheckConfig) UnmarshalJSON(b []byte) error {
}
var (
- WorkloadGroupMarshaler = &github_com_gogo_protobuf_jsonpb.Marshaler{}
- WorkloadGroupUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{AllowUnknownFields: true}
+ WorkloadGroupMarshaler = &jsonpb.Marshaler{}
+ WorkloadGroupUnmarshaler = &jsonpb.Unmarshaler{AllowUnknownFields: true}
)
diff --git a/vendor/istio.io/api/networking/v1beta1/destination_rule.gen.json b/vendor/istio.io/api/networking/v1beta1/destination_rule.gen.json
index 208b0db65..08256eb69 100644
--- a/vendor/istio.io/api/networking/v1beta1/destination_rule.gen.json
+++ b/vendor/istio.io/api/networking/v1beta1/destination_rule.gen.json
@@ -37,7 +37,7 @@
}
},
"sni": {
- "description": "SNI string to present to the server during TLS handshake.",
+ "description": "SNI string to present to the server during TLS handshake. If unspecified, SNI will be automatically set based on downstream HTTP host/authority header for SIMPLE and MUTUAL TLS modes, provided `ENABLE_AUTO_SNI` environmental variable is set to `true`.",
"type": "string"
},
"insecureSkipVerify": {
@@ -175,6 +175,9 @@
"items": {
"type": "string"
}
+ },
+ "workloadSelector": {
+ "$ref": "#/components/schemas/istio.type.v1beta1.WorkloadSelector"
}
}
},
@@ -184,6 +187,10 @@
"properties": {
"localityLbSetting": {
"$ref": "#/components/schemas/istio.networking.v1beta1.LocalityLoadBalancerSetting"
+ },
+ "warmupDurationSecs": {
+ "description": "Represents the warmup duration of Service. If set, the newly created endpoint of service remains in warmup mode starting from its creation time for the duration of this window and Istio progressively increases amount of traffic for that endpoint instead of sending proportional amount of traffic. This should be enabled for services that require warm up time to serve full production load with reasonable latency. Currently this is only supported for ROUND_ROBIN and LEAST_CONN load balancers.",
+ "type": "string"
}
},
"oneOf": [
@@ -361,10 +368,12 @@
"description": "Standard load balancing algorithms that require no tuning.",
"type": "string",
"enum": [
- "ROUND_ROBIN",
+ "UNSPECIFIED",
"LEAST_CONN",
"RANDOM",
- "PASSTHROUGH"
+ "PASSTHROUGH",
+ "ROUND_ROBIN",
+ "LEAST_REQUEST"
]
},
"istio.networking.v1beta1.LocalityLoadBalancerSetting": {
@@ -531,6 +540,9 @@
"items": {
"$ref": "#/components/schemas/istio.networking.v1beta1.TrafficPolicy.PortTrafficPolicy"
}
+ },
+ "tunnel": {
+ "$ref": "#/components/schemas/istio.networking.v1beta1.TrafficPolicy.TunnelSettings"
}
}
},
@@ -554,6 +566,36 @@
"$ref": "#/components/schemas/istio.networking.v1beta1.ClientTLSSettings"
}
}
+ },
+ "istio.networking.v1beta1.TrafficPolicy.TunnelSettings": {
+ "type": "object",
+ "properties": {
+ "protocol": {
+ "description": "Specifies which protocol to use for tunneling the downstream connection. Supported protocols are: connect - uses HTTP CONNECT; post - uses HTTP POST. HTTP version for upstream requests is determined by the service protocol defined for the proxy.",
+ "type": "string"
+ },
+ "targetHost": {
+ "description": "Specifies a host to which the downstream connection is tunneled. Target host must be an FQDN or IP address.",
+ "type": "string"
+ },
+ "targetPort": {
+ "description": "Specifies a port to which the downstream connection is tunneled.",
+ "type": "integer"
+ }
+ }
+ },
+ "istio.type.v1beta1.WorkloadSelector": {
+ "description": "WorkloadSelector specifies the criteria used to determine if a policy can be applied to a proxy. The matching criteria includes the metadata associated with a proxy, workload instance info such as labels attached to the pod/VM, or any other info that the proxy provides to Istio during the initial handshake. If multiple conditions are specified, all conditions need to match in order for the workload instance to be selected. Currently, only label based selection mechanism is supported.",
+ "type": "object",
+ "properties": {
+ "matchLabels": {
+ "description": "One or more labels that indicate a specific set of pods/VMs on which a policy should be applied. The scope of label search is restricted to the configuration namespace in which the resource is present.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
}
}
}
diff --git a/vendor/istio.io/api/networking/v1beta1/destination_rule.pb.go b/vendor/istio.io/api/networking/v1beta1/destination_rule.pb.go
index 85d5ca5bc..6044fe33c 100644
--- a/vendor/istio.io/api/networking/v1beta1/destination_rule.pb.go
+++ b/vendor/istio.io/api/networking/v1beta1/destination_rule.pb.go
@@ -1,6 +1,30 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
+// Copyright 2020 Istio 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-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.27.1
+// protoc (unknown)
// source: networking/v1beta1/destination_rule.proto
+// $schema: istio.networking.v1beta1.DestinationRule
+// $title: Destination Rule
+// $description: Configuration affecting load balancing, outlier detection, etc.
+// $location: https://istio.io/docs/reference/config/networking/destination-rule.html
+// $aliases: [/docs/reference/config/networking/v1beta1/destination-rule]
+// $mode: none
+
// `DestinationRule` defines policies that apply to traffic intended for a
// service after routing has occurred. These rules specify configuration
// for load balancing, connection pool size from the sidecar, and outlier
@@ -19,7 +43,7 @@
// host: ratings.prod.svc.cluster.local
// trafficPolicy:
// loadBalancer:
-// simple: LEAST_CONN
+// simple: LEAST_REQUEST
// ```
// {{}}
//
@@ -33,7 +57,7 @@
// host: ratings.prod.svc.cluster.local
// trafficPolicy:
// loadBalancer:
-// simple: LEAST_CONN
+// simple: LEAST_REQUEST
// ```
// {{}}
// {{}}
@@ -55,7 +79,7 @@
// host: ratings.prod.svc.cluster.local
// trafficPolicy:
// loadBalancer:
-// simple: LEAST_CONN
+// simple: LEAST_REQUEST
// subsets:
// - name: testversion
// labels:
@@ -76,7 +100,7 @@
// host: ratings.prod.svc.cluster.local
// trafficPolicy:
// loadBalancer:
-// simple: LEAST_CONN
+// simple: LEAST_REQUEST
// subsets:
// - name: testversion
// labels:
@@ -110,7 +134,7 @@
// - port:
// number: 80
// loadBalancer:
-// simple: LEAST_CONN
+// simple: LEAST_REQUEST
// - port:
// number: 9080
// loadBalancer:
@@ -131,7 +155,7 @@
// - port:
// number: 80
// loadBalancer:
-// simple: LEAST_CONN
+// simple: LEAST_REQUEST
// - port:
// number: 9080
// loadBalancer:
@@ -144,36 +168,33 @@
package v1beta1
import (
- fmt "fmt"
- _ "github.com/gogo/protobuf/gogoproto"
- proto "github.com/gogo/protobuf/proto"
- types "github.com/gogo/protobuf/types"
- io "io"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
- math_bits "math/bits"
+ duration "github.com/golang/protobuf/ptypes/duration"
+ wrappers "github.com/golang/protobuf/ptypes/wrappers"
+ _ "google.golang.org/genproto/googleapis/api/annotations"
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ v1beta1 "istio.io/api/type/v1beta1"
+ reflect "reflect"
+ sync "sync"
)
-// 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.GoGoProtoPackageIsVersion3 // please upgrade the proto package
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
// Standard load balancing algorithms that require no tuning.
type LoadBalancerSettings_SimpleLB int32
const (
- // Round Robin policy. Default
- LoadBalancerSettings_ROUND_ROBIN LoadBalancerSettings_SimpleLB = 0
- // The least request load balancer uses an O(1) algorithm which selects
- // two random healthy hosts and picks the host which has fewer active
- // requests.
+ // No load balancing algorithm has been specified by the user. Istio
+ // will select an appropriate default.
+ LoadBalancerSettings_UNSPECIFIED LoadBalancerSettings_SimpleLB = 0
+ // Deprecated. Use LEAST_REQUEST instead.
+ //
+ // Deprecated: Do not use.
LoadBalancerSettings_LEAST_CONN LoadBalancerSettings_SimpleLB = 1
// The random load balancer selects a random healthy host. The random
// load balancer generally performs better than round robin if no health
@@ -185,28 +206,63 @@ const (
// advanced use cases. Refer to Original Destination load balancer in
// Envoy for further details.
LoadBalancerSettings_PASSTHROUGH LoadBalancerSettings_SimpleLB = 3
+ // A basic round robin load balancing policy. This is generally unsafe
+ // for many scenarios (e.g. when enpoint weighting is used) as it can
+ // overburden endpoints. In general, prefer to use LEAST_REQUEST as a
+ // drop-in replacement for ROUND_ROBIN.
+ LoadBalancerSettings_ROUND_ROBIN LoadBalancerSettings_SimpleLB = 4
+ // The least request load balancer spreads load across endpoints, favoring
+ // endpoints with the least outstanding requests. This is generally safer
+ // and outperforms ROUND_ROBIN in nearly all cases. Prefer to use
+ // LEAST_REQUEST as a drop-in replacement for ROUND_ROBIN.
+ LoadBalancerSettings_LEAST_REQUEST LoadBalancerSettings_SimpleLB = 5
)
-var LoadBalancerSettings_SimpleLB_name = map[int32]string{
- 0: "ROUND_ROBIN",
- 1: "LEAST_CONN",
- 2: "RANDOM",
- 3: "PASSTHROUGH",
-}
+// Enum value maps for LoadBalancerSettings_SimpleLB.
+var (
+ LoadBalancerSettings_SimpleLB_name = map[int32]string{
+ 0: "UNSPECIFIED",
+ 1: "LEAST_CONN",
+ 2: "RANDOM",
+ 3: "PASSTHROUGH",
+ 4: "ROUND_ROBIN",
+ 5: "LEAST_REQUEST",
+ }
+ LoadBalancerSettings_SimpleLB_value = map[string]int32{
+ "UNSPECIFIED": 0,
+ "LEAST_CONN": 1,
+ "RANDOM": 2,
+ "PASSTHROUGH": 3,
+ "ROUND_ROBIN": 4,
+ "LEAST_REQUEST": 5,
+ }
+)
-var LoadBalancerSettings_SimpleLB_value = map[string]int32{
- "ROUND_ROBIN": 0,
- "LEAST_CONN": 1,
- "RANDOM": 2,
- "PASSTHROUGH": 3,
+func (x LoadBalancerSettings_SimpleLB) Enum() *LoadBalancerSettings_SimpleLB {
+ p := new(LoadBalancerSettings_SimpleLB)
+ *p = x
+ return p
}
func (x LoadBalancerSettings_SimpleLB) String() string {
- return proto.EnumName(LoadBalancerSettings_SimpleLB_name, int32(x))
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (LoadBalancerSettings_SimpleLB) Descriptor() protoreflect.EnumDescriptor {
+ return file_networking_v1beta1_destination_rule_proto_enumTypes[0].Descriptor()
+}
+
+func (LoadBalancerSettings_SimpleLB) Type() protoreflect.EnumType {
+ return &file_networking_v1beta1_destination_rule_proto_enumTypes[0]
}
+func (x LoadBalancerSettings_SimpleLB) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use LoadBalancerSettings_SimpleLB.Descriptor instead.
func (LoadBalancerSettings_SimpleLB) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_31054629b619ca4b, []int{3, 0}
+ return file_networking_v1beta1_destination_rule_proto_rawDescGZIP(), []int{3, 0}
}
// Policy for upgrading http1.1 connections to http2.
@@ -223,24 +279,45 @@ const (
ConnectionPoolSettings_HTTPSettings_UPGRADE ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy = 2
)
-var ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy_name = map[int32]string{
- 0: "DEFAULT",
- 1: "DO_NOT_UPGRADE",
- 2: "UPGRADE",
-}
+// Enum value maps for ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy.
+var (
+ ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy_name = map[int32]string{
+ 0: "DEFAULT",
+ 1: "DO_NOT_UPGRADE",
+ 2: "UPGRADE",
+ }
+ ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy_value = map[string]int32{
+ "DEFAULT": 0,
+ "DO_NOT_UPGRADE": 1,
+ "UPGRADE": 2,
+ }
+)
-var ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy_value = map[string]int32{
- "DEFAULT": 0,
- "DO_NOT_UPGRADE": 1,
- "UPGRADE": 2,
+func (x ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy) Enum() *ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy {
+ p := new(ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy)
+ *p = x
+ return p
}
func (x ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy) String() string {
- return proto.EnumName(ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy_name, int32(x))
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy) Descriptor() protoreflect.EnumDescriptor {
+ return file_networking_v1beta1_destination_rule_proto_enumTypes[1].Descriptor()
+}
+
+func (ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy) Type() protoreflect.EnumType {
+ return &file_networking_v1beta1_destination_rule_proto_enumTypes[1]
+}
+
+func (x ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
}
+// Deprecated: Use ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy.Descriptor instead.
func (ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_31054629b619ca4b, []int{4, 1, 0}
+ return file_networking_v1beta1_destination_rule_proto_rawDescGZIP(), []int{4, 1, 0}
}
// TLS connection mode
@@ -262,26 +339,47 @@ const (
ClientTLSSettings_ISTIO_MUTUAL ClientTLSSettings_TLSmode = 3
)
-var ClientTLSSettings_TLSmode_name = map[int32]string{
- 0: "DISABLE",
- 1: "SIMPLE",
- 2: "MUTUAL",
- 3: "ISTIO_MUTUAL",
-}
+// Enum value maps for ClientTLSSettings_TLSmode.
+var (
+ ClientTLSSettings_TLSmode_name = map[int32]string{
+ 0: "DISABLE",
+ 1: "SIMPLE",
+ 2: "MUTUAL",
+ 3: "ISTIO_MUTUAL",
+ }
+ ClientTLSSettings_TLSmode_value = map[string]int32{
+ "DISABLE": 0,
+ "SIMPLE": 1,
+ "MUTUAL": 2,
+ "ISTIO_MUTUAL": 3,
+ }
+)
-var ClientTLSSettings_TLSmode_value = map[string]int32{
- "DISABLE": 0,
- "SIMPLE": 1,
- "MUTUAL": 2,
- "ISTIO_MUTUAL": 3,
+func (x ClientTLSSettings_TLSmode) Enum() *ClientTLSSettings_TLSmode {
+ p := new(ClientTLSSettings_TLSmode)
+ *p = x
+ return p
}
func (x ClientTLSSettings_TLSmode) String() string {
- return proto.EnumName(ClientTLSSettings_TLSmode_name, int32(x))
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ClientTLSSettings_TLSmode) Descriptor() protoreflect.EnumDescriptor {
+ return file_networking_v1beta1_destination_rule_proto_enumTypes[2].Descriptor()
+}
+
+func (ClientTLSSettings_TLSmode) Type() protoreflect.EnumType {
+ return &file_networking_v1beta1_destination_rule_proto_enumTypes[2]
+}
+
+func (x ClientTLSSettings_TLSmode) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
}
+// Deprecated: Use ClientTLSSettings_TLSmode.Descriptor instead.
func (ClientTLSSettings_TLSmode) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_31054629b619ca4b, []int{6, 0}
+ return file_networking_v1beta1_destination_rule_proto_rawDescGZIP(), []int{6, 0}
}
// DestinationRule defines policies that apply to traffic intended for a service
@@ -313,6 +411,10 @@ func (ClientTLSSettings_TLSmode) EnumDescriptor() ([]byte, []int) {
// +istio.io/sync-from:networking/v1alpha3/destination_rule.proto
// -->
type DestinationRule struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// The name of a service from the service registry. Service
// names are looked up from the platform's service registry (e.g.,
// Kubernetes services, Consul services, etc.) and from the hosts
@@ -350,69 +452,82 @@ type DestinationRule struct {
// The value "." is reserved and defines an export to the same namespace that
// the destination rule is declared in. Similarly, the value "*" is reserved and
// defines an export to all namespaces.
- ExportTo []string `protobuf:"bytes,4,rep,name=export_to,json=exportTo,proto3" json:"export_to,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ ExportTo []string `protobuf:"bytes,4,rep,name=export_to,json=exportTo,proto3" json:"export_to,omitempty"`
+ //
+ // Criteria used to select the specific set of pods/VMs on which this
+ // `DestinationRule` configuration should be applied. If specified, the `DestinationRule`
+ // configuration will be applied only to the workload instances matching the workload selector
+ // label in the same namespace. Workload selectors do not apply across namespace boundaries.
+ // If omitted, the `DestinationRule` falls back to its default behavior.
+ // For example, if specific sidecars need to have egress TLS settings for services outside
+ // of the mesh, instead of every sidecar in the mesh needing to have the
+ // configuration (which is the default behaviour), a workload selector can be specified.
+ WorkloadSelector *v1beta1.WorkloadSelector `protobuf:"bytes,5,opt,name=workload_selector,json=workloadSelector,proto3" json:"workload_selector,omitempty"`
}
-func (m *DestinationRule) Reset() { *m = DestinationRule{} }
-func (m *DestinationRule) String() string { return proto.CompactTextString(m) }
-func (*DestinationRule) ProtoMessage() {}
-func (*DestinationRule) Descriptor() ([]byte, []int) {
- return fileDescriptor_31054629b619ca4b, []int{0}
-}
-func (m *DestinationRule) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *DestinationRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_DestinationRule.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *DestinationRule) Reset() {
+ *x = DestinationRule{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_destination_rule_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *DestinationRule) XXX_Merge(src proto.Message) {
- xxx_messageInfo_DestinationRule.Merge(m, src)
-}
-func (m *DestinationRule) XXX_Size() int {
- return m.Size()
+
+func (x *DestinationRule) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *DestinationRule) XXX_DiscardUnknown() {
- xxx_messageInfo_DestinationRule.DiscardUnknown(m)
+
+func (*DestinationRule) ProtoMessage() {}
+
+func (x *DestinationRule) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_destination_rule_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_DestinationRule proto.InternalMessageInfo
+// Deprecated: Use DestinationRule.ProtoReflect.Descriptor instead.
+func (*DestinationRule) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_destination_rule_proto_rawDescGZIP(), []int{0}
+}
-func (m *DestinationRule) GetHost() string {
- if m != nil {
- return m.Host
+func (x *DestinationRule) GetHost() string {
+ if x != nil {
+ return x.Host
}
return ""
}
-func (m *DestinationRule) GetTrafficPolicy() *TrafficPolicy {
- if m != nil {
- return m.TrafficPolicy
+func (x *DestinationRule) GetTrafficPolicy() *TrafficPolicy {
+ if x != nil {
+ return x.TrafficPolicy
}
return nil
}
-func (m *DestinationRule) GetSubsets() []*Subset {
- if m != nil {
- return m.Subsets
+func (x *DestinationRule) GetSubsets() []*Subset {
+ if x != nil {
+ return x.Subsets
}
return nil
}
-func (m *DestinationRule) GetExportTo() []string {
- if m != nil {
- return m.ExportTo
+func (x *DestinationRule) GetExportTo() []string {
+ if x != nil {
+ return x.ExportTo
+ }
+ return nil
+}
+
+func (x *DestinationRule) GetWorkloadSelector() *v1beta1.WorkloadSelector {
+ if x != nil {
+ return x.WorkloadSelector
}
return nil
}
@@ -420,6 +535,10 @@ func (m *DestinationRule) GetExportTo() []string {
// Traffic policies to apply for a specific destination, across all
// destination ports. See DestinationRule for examples.
type TrafficPolicy struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Settings controlling the load balancer algorithms.
LoadBalancer *LoadBalancerSettings `protobuf:"bytes,1,opt,name=load_balancer,json=loadBalancer,proto3" json:"load_balancer,omitempty"`
// Settings controlling the volume of connections to an upstream service
@@ -433,163 +552,83 @@ type TrafficPolicy struct {
// settings specified at the destination-level will not be inherited when
// overridden by port-level settings, i.e. default values will be applied
// to fields omitted in port-level traffic policies.
- PortLevelSettings []*TrafficPolicy_PortTrafficPolicy `protobuf:"bytes,5,rep,name=port_level_settings,json=portLevelSettings,proto3" json:"port_level_settings,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ PortLevelSettings []*TrafficPolicy_PortTrafficPolicy `protobuf:"bytes,5,rep,name=port_level_settings,json=portLevelSettings,proto3" json:"port_level_settings,omitempty"`
+ // Configuration of tunneling TCP over other transport or application layers
+ // for the host configured in the DestinationRule.
+ // Tunnel settings can be applied to TCP or TLS routes and can't be applied to HTTP routes.
+ Tunnel *TrafficPolicy_TunnelSettings `protobuf:"bytes,6,opt,name=tunnel,proto3" json:"tunnel,omitempty"`
}
-func (m *TrafficPolicy) Reset() { *m = TrafficPolicy{} }
-func (m *TrafficPolicy) String() string { return proto.CompactTextString(m) }
-func (*TrafficPolicy) ProtoMessage() {}
-func (*TrafficPolicy) Descriptor() ([]byte, []int) {
- return fileDescriptor_31054629b619ca4b, []int{1}
-}
-func (m *TrafficPolicy) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *TrafficPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_TrafficPolicy.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *TrafficPolicy) Reset() {
+ *x = TrafficPolicy{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_destination_rule_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *TrafficPolicy) XXX_Merge(src proto.Message) {
- xxx_messageInfo_TrafficPolicy.Merge(m, src)
-}
-func (m *TrafficPolicy) XXX_Size() int {
- return m.Size()
-}
-func (m *TrafficPolicy) XXX_DiscardUnknown() {
- xxx_messageInfo_TrafficPolicy.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_TrafficPolicy proto.InternalMessageInfo
-func (m *TrafficPolicy) GetLoadBalancer() *LoadBalancerSettings {
- if m != nil {
- return m.LoadBalancer
- }
- return nil
+func (x *TrafficPolicy) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *TrafficPolicy) GetConnectionPool() *ConnectionPoolSettings {
- if m != nil {
- return m.ConnectionPool
- }
- return nil
-}
+func (*TrafficPolicy) ProtoMessage() {}
-func (m *TrafficPolicy) GetOutlierDetection() *OutlierDetection {
- if m != nil {
- return m.OutlierDetection
+func (x *TrafficPolicy) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_destination_rule_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
}
- return nil
+ return mi.MessageOf(x)
}
-func (m *TrafficPolicy) GetTls() *ClientTLSSettings {
- if m != nil {
- return m.Tls
- }
- return nil
+// Deprecated: Use TrafficPolicy.ProtoReflect.Descriptor instead.
+func (*TrafficPolicy) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_destination_rule_proto_rawDescGZIP(), []int{1}
}
-func (m *TrafficPolicy) GetPortLevelSettings() []*TrafficPolicy_PortTrafficPolicy {
- if m != nil {
- return m.PortLevelSettings
+func (x *TrafficPolicy) GetLoadBalancer() *LoadBalancerSettings {
+ if x != nil {
+ return x.LoadBalancer
}
return nil
}
-// Traffic policies that apply to specific ports of the service
-type TrafficPolicy_PortTrafficPolicy struct {
- // Specifies the number of a port on the destination service
- // on which this policy is being applied.
- //
- Port *PortSelector `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"`
- // Settings controlling the load balancer algorithms.
- LoadBalancer *LoadBalancerSettings `protobuf:"bytes,2,opt,name=load_balancer,json=loadBalancer,proto3" json:"load_balancer,omitempty"`
- // Settings controlling the volume of connections to an upstream service
- ConnectionPool *ConnectionPoolSettings `protobuf:"bytes,3,opt,name=connection_pool,json=connectionPool,proto3" json:"connection_pool,omitempty"`
- // Settings controlling eviction of unhealthy hosts from the load balancing pool
- OutlierDetection *OutlierDetection `protobuf:"bytes,4,opt,name=outlier_detection,json=outlierDetection,proto3" json:"outlier_detection,omitempty"`
- // TLS related settings for connections to the upstream service.
- Tls *ClientTLSSettings `protobuf:"bytes,5,opt,name=tls,proto3" json:"tls,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *TrafficPolicy_PortTrafficPolicy) Reset() { *m = TrafficPolicy_PortTrafficPolicy{} }
-func (m *TrafficPolicy_PortTrafficPolicy) String() string { return proto.CompactTextString(m) }
-func (*TrafficPolicy_PortTrafficPolicy) ProtoMessage() {}
-func (*TrafficPolicy_PortTrafficPolicy) Descriptor() ([]byte, []int) {
- return fileDescriptor_31054629b619ca4b, []int{1, 0}
-}
-func (m *TrafficPolicy_PortTrafficPolicy) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *TrafficPolicy_PortTrafficPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_TrafficPolicy_PortTrafficPolicy.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *TrafficPolicy_PortTrafficPolicy) XXX_Merge(src proto.Message) {
- xxx_messageInfo_TrafficPolicy_PortTrafficPolicy.Merge(m, src)
-}
-func (m *TrafficPolicy_PortTrafficPolicy) XXX_Size() int {
- return m.Size()
-}
-func (m *TrafficPolicy_PortTrafficPolicy) XXX_DiscardUnknown() {
- xxx_messageInfo_TrafficPolicy_PortTrafficPolicy.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_TrafficPolicy_PortTrafficPolicy proto.InternalMessageInfo
-
-func (m *TrafficPolicy_PortTrafficPolicy) GetPort() *PortSelector {
- if m != nil {
- return m.Port
+func (x *TrafficPolicy) GetConnectionPool() *ConnectionPoolSettings {
+ if x != nil {
+ return x.ConnectionPool
}
return nil
}
-func (m *TrafficPolicy_PortTrafficPolicy) GetLoadBalancer() *LoadBalancerSettings {
- if m != nil {
- return m.LoadBalancer
+func (x *TrafficPolicy) GetOutlierDetection() *OutlierDetection {
+ if x != nil {
+ return x.OutlierDetection
}
return nil
}
-func (m *TrafficPolicy_PortTrafficPolicy) GetConnectionPool() *ConnectionPoolSettings {
- if m != nil {
- return m.ConnectionPool
+func (x *TrafficPolicy) GetTls() *ClientTLSSettings {
+ if x != nil {
+ return x.Tls
}
return nil
}
-func (m *TrafficPolicy_PortTrafficPolicy) GetOutlierDetection() *OutlierDetection {
- if m != nil {
- return m.OutlierDetection
+func (x *TrafficPolicy) GetPortLevelSettings() []*TrafficPolicy_PortTrafficPolicy {
+ if x != nil {
+ return x.PortLevelSettings
}
return nil
}
-func (m *TrafficPolicy_PortTrafficPolicy) GetTls() *ClientTLSSettings {
- if m != nil {
- return m.Tls
+func (x *TrafficPolicy) GetTunnel() *TrafficPolicy_TunnelSettings {
+ if x != nil {
+ return x.Tunnel
}
return nil
}
@@ -614,7 +653,7 @@ func (m *TrafficPolicy_PortTrafficPolicy) GetTls() *ClientTLSSettings {
// host: ratings.prod.svc.cluster.local
// trafficPolicy:
// loadBalancer:
-// simple: LEAST_CONN
+// simple: LEAST_REQUEST
// subsets:
// - name: testversion
// labels:
@@ -635,7 +674,7 @@ func (m *TrafficPolicy_PortTrafficPolicy) GetTls() *ClientTLSSettings {
// host: ratings.prod.svc.cluster.local
// trafficPolicy:
// loadBalancer:
-// simple: LEAST_CONN
+// simple: LEAST_REQUEST
// subsets:
// - name: testversion
// labels:
@@ -656,6 +695,10 @@ func (m *TrafficPolicy_PortTrafficPolicy) GetTls() *ClientTLSSettings {
// may be meaningful. In this case a traffic policy with [ClientTLSSettings](#ClientTLSSettings)
// can be used to identify a specific SNI host corresponding to the named subset.
type Subset struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Name of the subset. The service name and the subset name can
// be used for traffic splitting in a route rule.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
@@ -666,62 +709,58 @@ type Subset struct {
// traffic policies specified at the DestinationRule level. Settings
// specified at the subset level will override the corresponding settings
// specified at the DestinationRule level.
- TrafficPolicy *TrafficPolicy `protobuf:"bytes,3,opt,name=traffic_policy,json=trafficPolicy,proto3" json:"traffic_policy,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ TrafficPolicy *TrafficPolicy `protobuf:"bytes,3,opt,name=traffic_policy,json=trafficPolicy,proto3" json:"traffic_policy,omitempty"`
}
-func (m *Subset) Reset() { *m = Subset{} }
-func (m *Subset) String() string { return proto.CompactTextString(m) }
-func (*Subset) ProtoMessage() {}
-func (*Subset) Descriptor() ([]byte, []int) {
- return fileDescriptor_31054629b619ca4b, []int{2}
-}
-func (m *Subset) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *Subset) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Subset.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *Subset) Reset() {
+ *x = Subset{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_destination_rule_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *Subset) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Subset.Merge(m, src)
-}
-func (m *Subset) XXX_Size() int {
- return m.Size()
+
+func (x *Subset) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *Subset) XXX_DiscardUnknown() {
- xxx_messageInfo_Subset.DiscardUnknown(m)
+
+func (*Subset) ProtoMessage() {}
+
+func (x *Subset) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_destination_rule_proto_msgTypes[2]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_Subset proto.InternalMessageInfo
+// Deprecated: Use Subset.ProtoReflect.Descriptor instead.
+func (*Subset) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_destination_rule_proto_rawDescGZIP(), []int{2}
+}
-func (m *Subset) GetName() string {
- if m != nil {
- return m.Name
+func (x *Subset) GetName() string {
+ if x != nil {
+ return x.Name
}
return ""
}
-func (m *Subset) GetLabels() map[string]string {
- if m != nil {
- return m.Labels
+func (x *Subset) GetLabels() map[string]string {
+ if x != nil {
+ return x.Labels
}
return nil
}
-func (m *Subset) GetTrafficPolicy() *TrafficPolicy {
- if m != nil {
- return m.TrafficPolicy
+func (x *Subset) GetTrafficPolicy() *TrafficPolicy {
+ if x != nil {
+ return x.TrafficPolicy
}
return nil
}
@@ -805,69 +844,59 @@ func (m *Subset) GetTrafficPolicy() *TrafficPolicy {
// {{}}
//
type LoadBalancerSettings struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Upstream load balancing policy.
//
- // Types that are valid to be assigned to LbPolicy:
+ // Types that are assignable to LbPolicy:
// *LoadBalancerSettings_Simple
// *LoadBalancerSettings_ConsistentHash
LbPolicy isLoadBalancerSettings_LbPolicy `protobuf_oneof:"lb_policy"`
// Locality load balancer settings, this will override mesh wide settings in entirety, meaning no merging would be performed
// between this object and the object one in MeshConfig
- LocalityLbSetting *LocalityLoadBalancerSetting `protobuf:"bytes,3,opt,name=locality_lb_setting,json=localityLbSetting,proto3" json:"locality_lb_setting,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ LocalityLbSetting *LocalityLoadBalancerSetting `protobuf:"bytes,3,opt,name=locality_lb_setting,json=localityLbSetting,proto3" json:"locality_lb_setting,omitempty"`
+ // Represents the warmup duration of Service. If set, the newly created endpoint of service
+ // remains in warmup mode starting from its creation time for the duration of this window and
+ // Istio progressively increases amount of traffic for that endpoint instead of sending proportional amount of traffic.
+ // This should be enabled for services that require warm up time to serve full production load with reasonable latency.
+ // Currently this is only supported for ROUND_ROBIN and LEAST_CONN load balancers.
+ WarmupDurationSecs *duration.Duration `protobuf:"bytes,4,opt,name=warmup_duration_secs,json=warmupDurationSecs,proto3" json:"warmup_duration_secs,omitempty"`
}
-func (m *LoadBalancerSettings) Reset() { *m = LoadBalancerSettings{} }
-func (m *LoadBalancerSettings) String() string { return proto.CompactTextString(m) }
-func (*LoadBalancerSettings) ProtoMessage() {}
-func (*LoadBalancerSettings) Descriptor() ([]byte, []int) {
- return fileDescriptor_31054629b619ca4b, []int{3}
-}
-func (m *LoadBalancerSettings) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *LoadBalancerSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_LoadBalancerSettings.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *LoadBalancerSettings) Reset() {
+ *x = LoadBalancerSettings{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_destination_rule_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *LoadBalancerSettings) XXX_Merge(src proto.Message) {
- xxx_messageInfo_LoadBalancerSettings.Merge(m, src)
-}
-func (m *LoadBalancerSettings) XXX_Size() int {
- return m.Size()
-}
-func (m *LoadBalancerSettings) XXX_DiscardUnknown() {
- xxx_messageInfo_LoadBalancerSettings.DiscardUnknown(m)
+
+func (x *LoadBalancerSettings) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-var xxx_messageInfo_LoadBalancerSettings proto.InternalMessageInfo
+func (*LoadBalancerSettings) ProtoMessage() {}
-type isLoadBalancerSettings_LbPolicy interface {
- isLoadBalancerSettings_LbPolicy()
- MarshalTo([]byte) (int, error)
- Size() int
+func (x *LoadBalancerSettings) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_destination_rule_proto_msgTypes[3]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-type LoadBalancerSettings_Simple struct {
- Simple LoadBalancerSettings_SimpleLB `protobuf:"varint,1,opt,name=simple,proto3,enum=istio.networking.v1beta1.LoadBalancerSettings_SimpleLB,oneof" json:"simple,omitempty"`
-}
-type LoadBalancerSettings_ConsistentHash struct {
- ConsistentHash *LoadBalancerSettings_ConsistentHashLB `protobuf:"bytes,2,opt,name=consistent_hash,json=consistentHash,proto3,oneof" json:"consistent_hash,omitempty"`
+// Deprecated: Use LoadBalancerSettings.ProtoReflect.Descriptor instead.
+func (*LoadBalancerSettings) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_destination_rule_proto_rawDescGZIP(), []int{3}
}
-func (*LoadBalancerSettings_Simple) isLoadBalancerSettings_LbPolicy() {}
-func (*LoadBalancerSettings_ConsistentHash) isLoadBalancerSettings_LbPolicy() {}
-
func (m *LoadBalancerSettings) GetLbPolicy() isLoadBalancerSettings_LbPolicy {
if m != nil {
return m.LbPolicy
@@ -875,254 +904,171 @@ func (m *LoadBalancerSettings) GetLbPolicy() isLoadBalancerSettings_LbPolicy {
return nil
}
-func (m *LoadBalancerSettings) GetSimple() LoadBalancerSettings_SimpleLB {
- if x, ok := m.GetLbPolicy().(*LoadBalancerSettings_Simple); ok {
+func (x *LoadBalancerSettings) GetSimple() LoadBalancerSettings_SimpleLB {
+ if x, ok := x.GetLbPolicy().(*LoadBalancerSettings_Simple); ok {
return x.Simple
}
- return LoadBalancerSettings_ROUND_ROBIN
+ return LoadBalancerSettings_UNSPECIFIED
}
-func (m *LoadBalancerSettings) GetConsistentHash() *LoadBalancerSettings_ConsistentHashLB {
- if x, ok := m.GetLbPolicy().(*LoadBalancerSettings_ConsistentHash); ok {
+func (x *LoadBalancerSettings) GetConsistentHash() *LoadBalancerSettings_ConsistentHashLB {
+ if x, ok := x.GetLbPolicy().(*LoadBalancerSettings_ConsistentHash); ok {
return x.ConsistentHash
}
return nil
}
-func (m *LoadBalancerSettings) GetLocalityLbSetting() *LocalityLoadBalancerSetting {
- if m != nil {
- return m.LocalityLbSetting
+func (x *LoadBalancerSettings) GetLocalityLbSetting() *LocalityLoadBalancerSetting {
+ if x != nil {
+ return x.LocalityLbSetting
}
return nil
}
-// XXX_OneofWrappers is for the internal use of the proto package.
-func (*LoadBalancerSettings) XXX_OneofWrappers() []interface{} {
- return []interface{}{
- (*LoadBalancerSettings_Simple)(nil),
- (*LoadBalancerSettings_ConsistentHash)(nil),
+func (x *LoadBalancerSettings) GetWarmupDurationSecs() *duration.Duration {
+ if x != nil {
+ return x.WarmupDurationSecs
}
+ return nil
}
-// Consistent Hash-based load balancing can be used to provide soft
-// session affinity based on HTTP headers, cookies or other
-// properties. The affinity to a particular destination host will be
-// lost when one or more hosts are added/removed from the destination
-// service.
-type LoadBalancerSettings_ConsistentHashLB struct {
- // The hash key to use.
- //
- // Types that are valid to be assigned to HashKey:
- // *LoadBalancerSettings_ConsistentHashLB_HttpHeaderName
- // *LoadBalancerSettings_ConsistentHashLB_HttpCookie
- // *LoadBalancerSettings_ConsistentHashLB_UseSourceIp
- // *LoadBalancerSettings_ConsistentHashLB_HttpQueryParameterName
- HashKey isLoadBalancerSettings_ConsistentHashLB_HashKey `protobuf_oneof:"hash_key"`
- // The minimum number of virtual nodes to use for the hash
- // ring. Defaults to 1024. Larger ring sizes result in more granular
- // load distributions. If the number of hosts in the load balancing
- // pool is larger than the ring size, each host will be assigned a
- // single virtual node.
- MinimumRingSize uint64 `protobuf:"varint,4,opt,name=minimum_ring_size,json=minimumRingSize,proto3" json:"minimum_ring_size,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+type isLoadBalancerSettings_LbPolicy interface {
+ isLoadBalancerSettings_LbPolicy()
}
-func (m *LoadBalancerSettings_ConsistentHashLB) Reset() { *m = LoadBalancerSettings_ConsistentHashLB{} }
-func (m *LoadBalancerSettings_ConsistentHashLB) String() string { return proto.CompactTextString(m) }
-func (*LoadBalancerSettings_ConsistentHashLB) ProtoMessage() {}
-func (*LoadBalancerSettings_ConsistentHashLB) Descriptor() ([]byte, []int) {
- return fileDescriptor_31054629b619ca4b, []int{3, 0}
-}
-func (m *LoadBalancerSettings_ConsistentHashLB) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *LoadBalancerSettings_ConsistentHashLB) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *LoadBalancerSettings_ConsistentHashLB) XXX_Merge(src proto.Message) {
- xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB.Merge(m, src)
-}
-func (m *LoadBalancerSettings_ConsistentHashLB) XXX_Size() int {
- return m.Size()
+type LoadBalancerSettings_Simple struct {
+ Simple LoadBalancerSettings_SimpleLB `protobuf:"varint,1,opt,name=simple,proto3,enum=istio.networking.v1beta1.LoadBalancerSettings_SimpleLB,oneof"`
}
-func (m *LoadBalancerSettings_ConsistentHashLB) XXX_DiscardUnknown() {
- xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB.DiscardUnknown(m)
+
+type LoadBalancerSettings_ConsistentHash struct {
+ ConsistentHash *LoadBalancerSettings_ConsistentHashLB `protobuf:"bytes,2,opt,name=consistent_hash,json=consistentHash,proto3,oneof"`
}
-var xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB proto.InternalMessageInfo
+func (*LoadBalancerSettings_Simple) isLoadBalancerSettings_LbPolicy() {}
-type isLoadBalancerSettings_ConsistentHashLB_HashKey interface {
- isLoadBalancerSettings_ConsistentHashLB_HashKey()
- MarshalTo([]byte) (int, error)
- Size() int
-}
+func (*LoadBalancerSettings_ConsistentHash) isLoadBalancerSettings_LbPolicy() {}
-type LoadBalancerSettings_ConsistentHashLB_HttpHeaderName struct {
- HttpHeaderName string `protobuf:"bytes,1,opt,name=http_header_name,json=httpHeaderName,proto3,oneof" json:"http_header_name,omitempty"`
-}
-type LoadBalancerSettings_ConsistentHashLB_HttpCookie struct {
- HttpCookie *LoadBalancerSettings_ConsistentHashLB_HTTPCookie `protobuf:"bytes,2,opt,name=http_cookie,json=httpCookie,proto3,oneof" json:"http_cookie,omitempty"`
-}
-type LoadBalancerSettings_ConsistentHashLB_UseSourceIp struct {
- UseSourceIp bool `protobuf:"varint,3,opt,name=use_source_ip,json=useSourceIp,proto3,oneof" json:"use_source_ip,omitempty"`
-}
-type LoadBalancerSettings_ConsistentHashLB_HttpQueryParameterName struct {
- HttpQueryParameterName string `protobuf:"bytes,5,opt,name=http_query_parameter_name,json=httpQueryParameterName,proto3,oneof" json:"http_query_parameter_name,omitempty"`
-}
+// Connection pool settings for an upstream host. The settings apply to
+// each individual host in the upstream service. See Envoy's [circuit
+// breaker](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/circuit_breaking)
+// for more details. Connection pool settings can be applied at the TCP
+// level as well as at HTTP level.
+//
+// For example, the following rule sets a limit of 100 connections to redis
+// service called myredissrv with a connect timeout of 30ms
+//
+// {{}}
+// {{}}
+// ```yaml
+// apiVersion: networking.istio.io/v1alpha3
+// kind: DestinationRule
+// metadata:
+// name: bookinfo-redis
+// spec:
+// host: myredissrv.prod.svc.cluster.local
+// trafficPolicy:
+// connectionPool:
+// tcp:
+// maxConnections: 100
+// connectTimeout: 30ms
+// tcpKeepalive:
+// time: 7200s
+// interval: 75s
+// ```
+// {{}}
+//
+// {{}}
+// ```yaml
+// apiVersion: networking.istio.io/v1beta1
+// kind: DestinationRule
+// metadata:
+// name: bookinfo-redis
+// spec:
+// host: myredissrv.prod.svc.cluster.local
+// trafficPolicy:
+// connectionPool:
+// tcp:
+// maxConnections: 100
+// connectTimeout: 30ms
+// tcpKeepalive:
+// time: 7200s
+// interval: 75s
+// ```
+// {{}}
+// {{}}
+//
+type ConnectionPoolSettings struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
-func (*LoadBalancerSettings_ConsistentHashLB_HttpHeaderName) isLoadBalancerSettings_ConsistentHashLB_HashKey() {
-}
-func (*LoadBalancerSettings_ConsistentHashLB_HttpCookie) isLoadBalancerSettings_ConsistentHashLB_HashKey() {
+ // Settings common to both HTTP and TCP upstream connections.
+ Tcp *ConnectionPoolSettings_TCPSettings `protobuf:"bytes,1,opt,name=tcp,proto3" json:"tcp,omitempty"`
+ // HTTP connection pool settings.
+ Http *ConnectionPoolSettings_HTTPSettings `protobuf:"bytes,2,opt,name=http,proto3" json:"http,omitempty"`
}
-func (*LoadBalancerSettings_ConsistentHashLB_UseSourceIp) isLoadBalancerSettings_ConsistentHashLB_HashKey() {
+
+func (x *ConnectionPoolSettings) Reset() {
+ *x = ConnectionPoolSettings{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_destination_rule_proto_msgTypes[4]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
}
-func (*LoadBalancerSettings_ConsistentHashLB_HttpQueryParameterName) isLoadBalancerSettings_ConsistentHashLB_HashKey() {
+
+func (x *ConnectionPoolSettings) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *LoadBalancerSettings_ConsistentHashLB) GetHashKey() isLoadBalancerSettings_ConsistentHashLB_HashKey {
- if m != nil {
- return m.HashKey
+func (*ConnectionPoolSettings) ProtoMessage() {}
+
+func (x *ConnectionPoolSettings) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_destination_rule_proto_msgTypes[4]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
}
- return nil
+ return mi.MessageOf(x)
}
-func (m *LoadBalancerSettings_ConsistentHashLB) GetHttpHeaderName() string {
- if x, ok := m.GetHashKey().(*LoadBalancerSettings_ConsistentHashLB_HttpHeaderName); ok {
- return x.HttpHeaderName
- }
- return ""
+// Deprecated: Use ConnectionPoolSettings.ProtoReflect.Descriptor instead.
+func (*ConnectionPoolSettings) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_destination_rule_proto_rawDescGZIP(), []int{4}
}
-func (m *LoadBalancerSettings_ConsistentHashLB) GetHttpCookie() *LoadBalancerSettings_ConsistentHashLB_HTTPCookie {
- if x, ok := m.GetHashKey().(*LoadBalancerSettings_ConsistentHashLB_HttpCookie); ok {
- return x.HttpCookie
+func (x *ConnectionPoolSettings) GetTcp() *ConnectionPoolSettings_TCPSettings {
+ if x != nil {
+ return x.Tcp
}
return nil
}
-func (m *LoadBalancerSettings_ConsistentHashLB) GetUseSourceIp() bool {
- if x, ok := m.GetHashKey().(*LoadBalancerSettings_ConsistentHashLB_UseSourceIp); ok {
- return x.UseSourceIp
- }
- return false
-}
-
-func (m *LoadBalancerSettings_ConsistentHashLB) GetHttpQueryParameterName() string {
- if x, ok := m.GetHashKey().(*LoadBalancerSettings_ConsistentHashLB_HttpQueryParameterName); ok {
- return x.HttpQueryParameterName
- }
- return ""
-}
-
-func (m *LoadBalancerSettings_ConsistentHashLB) GetMinimumRingSize() uint64 {
- if m != nil {
- return m.MinimumRingSize
- }
- return 0
-}
-
-// XXX_OneofWrappers is for the internal use of the proto package.
-func (*LoadBalancerSettings_ConsistentHashLB) XXX_OneofWrappers() []interface{} {
- return []interface{}{
- (*LoadBalancerSettings_ConsistentHashLB_HttpHeaderName)(nil),
- (*LoadBalancerSettings_ConsistentHashLB_HttpCookie)(nil),
- (*LoadBalancerSettings_ConsistentHashLB_UseSourceIp)(nil),
- (*LoadBalancerSettings_ConsistentHashLB_HttpQueryParameterName)(nil),
- }
-}
-
-// Describes a HTTP cookie that will be used as the hash key for the
-// Consistent Hash load balancer. If the cookie is not present, it will
-// be generated.
-type LoadBalancerSettings_ConsistentHashLB_HTTPCookie struct {
- // Name of the cookie.
- Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- // Path to set for the cookie.
- Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
- // Lifetime of the cookie.
- Ttl *types.Duration `protobuf:"bytes,3,opt,name=ttl,proto3" json:"ttl,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Reset() {
- *m = LoadBalancerSettings_ConsistentHashLB_HTTPCookie{}
-}
-func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) String() string {
- return proto.CompactTextString(m)
-}
-func (*LoadBalancerSettings_ConsistentHashLB_HTTPCookie) ProtoMessage() {}
-func (*LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Descriptor() ([]byte, []int) {
- return fileDescriptor_31054629b619ca4b, []int{3, 0, 0}
-}
-func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB_HTTPCookie.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) XXX_Merge(src proto.Message) {
- xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB_HTTPCookie.Merge(m, src)
-}
-func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) XXX_Size() int {
- return m.Size()
-}
-func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) XXX_DiscardUnknown() {
- xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB_HTTPCookie.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB_HTTPCookie proto.InternalMessageInfo
-
-func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) GetName() string {
- if m != nil {
- return m.Name
- }
- return ""
-}
-
-func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) GetPath() string {
- if m != nil {
- return m.Path
- }
- return ""
-}
-
-func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) GetTtl() *types.Duration {
- if m != nil {
- return m.Ttl
+func (x *ConnectionPoolSettings) GetHttp() *ConnectionPoolSettings_HTTPSettings {
+ if x != nil {
+ return x.Http
}
return nil
}
-// Connection pool settings for an upstream host. The settings apply to
-// each individual host in the upstream service. See Envoy's [circuit
-// breaker](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/circuit_breaking)
-// for more details. Connection pool settings can be applied at the TCP
-// level as well as at HTTP level.
+// A Circuit breaker implementation that tracks the status of each
+// individual host in the upstream service. Applicable to both HTTP and
+// TCP services. For HTTP services, hosts that continually return 5xx
+// errors for API calls are ejected from the pool for a pre-defined period
+// of time. For TCP services, connection timeouts or connection
+// failures to a given host counts as an error when measuring the
+// consecutive errors metric. See Envoy's [outlier
+// detection](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/outlier)
+// for more details.
//
-// For example, the following rule sets a limit of 100 connections to redis
-// service called myredissrv with a connect timeout of 30ms
+// The following rule sets a connection pool size of 100 HTTP1 connections
+// with no more than 10 req/connection to the "reviews" service. In addition,
+// it sets a limit of 1000 concurrent HTTP2 requests and configures upstream
+// hosts to be scanned every 5 mins so that any host that fails 7 consecutive
+// times with a 502, 503, or 504 error code will be ejected for 15 minutes.
//
// {{}}
// {{}}
@@ -1130,17 +1076,20 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) GetTtl() *types.Durat
// apiVersion: networking.istio.io/v1alpha3
// kind: DestinationRule
// metadata:
-// name: bookinfo-redis
+// name: reviews-cb-policy
// spec:
-// host: myredissrv.prod.svc.cluster.local
+// host: reviews.prod.svc.cluster.local
// trafficPolicy:
// connectionPool:
// tcp:
// maxConnections: 100
-// connectTimeout: 30ms
-// tcpKeepalive:
-// time: 7200s
-// interval: 75s
+// http:
+// http2MaxRequests: 1000
+// maxRequestsPerConnection: 10
+// outlierDetection:
+// consecutive5xxErrors: 7
+// interval: 5m
+// baseEjectionTime: 15m
// ```
// {{}}
//
@@ -1149,565 +1098,192 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) GetTtl() *types.Durat
// apiVersion: networking.istio.io/v1beta1
// kind: DestinationRule
// metadata:
-// name: bookinfo-redis
+// name: reviews-cb-policy
// spec:
-// host: myredissrv.prod.svc.cluster.local
+// host: reviews.prod.svc.cluster.local
// trafficPolicy:
// connectionPool:
// tcp:
// maxConnections: 100
-// connectTimeout: 30ms
-// tcpKeepalive:
-// time: 7200s
-// interval: 75s
+// http:
+// http2MaxRequests: 1000
+// maxRequestsPerConnection: 10
+// outlierDetection:
+// consecutive5xxErrors: 7
+// interval: 5m
+// baseEjectionTime: 15m
// ```
// {{}}
// {{}}
//
-type ConnectionPoolSettings struct {
- // Settings common to both HTTP and TCP upstream connections.
- Tcp *ConnectionPoolSettings_TCPSettings `protobuf:"bytes,1,opt,name=tcp,proto3" json:"tcp,omitempty"`
- // HTTP connection pool settings.
- Http *ConnectionPoolSettings_HTTPSettings `protobuf:"bytes,2,opt,name=http,proto3" json:"http,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
+type OutlierDetection struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
-func (m *ConnectionPoolSettings) Reset() { *m = ConnectionPoolSettings{} }
-func (m *ConnectionPoolSettings) String() string { return proto.CompactTextString(m) }
-func (*ConnectionPoolSettings) ProtoMessage() {}
-func (*ConnectionPoolSettings) Descriptor() ([]byte, []int) {
- return fileDescriptor_31054629b619ca4b, []int{4}
-}
-func (m *ConnectionPoolSettings) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *ConnectionPoolSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_ConnectionPoolSettings.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *ConnectionPoolSettings) XXX_Merge(src proto.Message) {
- xxx_messageInfo_ConnectionPoolSettings.Merge(m, src)
-}
-func (m *ConnectionPoolSettings) XXX_Size() int {
- return m.Size()
-}
-func (m *ConnectionPoolSettings) XXX_DiscardUnknown() {
- xxx_messageInfo_ConnectionPoolSettings.DiscardUnknown(m)
+ // Number of errors before a host is ejected from the connection
+ // pool. Defaults to 5. When the upstream host is accessed over HTTP, a
+ // 502, 503, or 504 return code qualifies as an error. When the upstream host
+ // is accessed over an opaque TCP connection, connect timeouts and
+ // connection error/failure events qualify as an error.
+ // $hide_from_docs
+ //
+ // Deprecated: Do not use.
+ ConsecutiveErrors int32 `protobuf:"varint,1,opt,name=consecutive_errors,json=consecutiveErrors,proto3" json:"consecutive_errors,omitempty"`
+ // Determines whether to distinguish local origin failures from external errors. If set to true
+ // consecutive_local_origin_failure is taken into account for outlier detection calculations.
+ // This should be used when you want to derive the outlier detection status based on the errors
+ // seen locally such as failure to connect, timeout while connecting etc. rather than the status code
+ // retuned by upstream service. This is especially useful when the upstream service explicitly returns
+ // a 5xx for some requests and you want to ignore those responses from upstream service while determining
+ // the outlier detection status of a host.
+ // Defaults to false.
+ SplitExternalLocalOriginErrors bool `protobuf:"varint,8,opt,name=split_external_local_origin_errors,json=splitExternalLocalOriginErrors,proto3" json:"split_external_local_origin_errors,omitempty"`
+ // The number of consecutive locally originated failures before ejection
+ // occurs. Defaults to 5. Parameter takes effect only when split_external_local_origin_errors
+ // is set to true.
+ ConsecutiveLocalOriginFailures *wrappers.UInt32Value `protobuf:"bytes,9,opt,name=consecutive_local_origin_failures,json=consecutiveLocalOriginFailures,proto3" json:"consecutive_local_origin_failures,omitempty"`
+ // Number of gateway errors before a host is ejected from the connection pool.
+ // When the upstream host is accessed over HTTP, a 502, 503, or 504 return
+ // code qualifies as a gateway error. When the upstream host is accessed over
+ // an opaque TCP connection, connect timeouts and connection error/failure
+ // events qualify as a gateway error.
+ // This feature is disabled by default or when set to the value 0.
+ //
+ // Note that consecutive_gateway_errors and consecutive_5xx_errors can be
+ // used separately or together. Because the errors counted by
+ // consecutive_gateway_errors are also included in consecutive_5xx_errors,
+ // if the value of consecutive_gateway_errors is greater than or equal to
+ // the value of consecutive_5xx_errors, consecutive_gateway_errors will have
+ // no effect.
+ ConsecutiveGatewayErrors *wrappers.UInt32Value `protobuf:"bytes,6,opt,name=consecutive_gateway_errors,json=consecutiveGatewayErrors,proto3" json:"consecutive_gateway_errors,omitempty"`
+ // Number of 5xx errors before a host is ejected from the connection pool.
+ // When the upstream host is accessed over an opaque TCP connection, connect
+ // timeouts, connection error/failure and request failure events qualify as a
+ // 5xx error.
+ // This feature defaults to 5 but can be disabled by setting the value to 0.
+ //
+ // Note that consecutive_gateway_errors and consecutive_5xx_errors can be
+ // used separately or together. Because the errors counted by
+ // consecutive_gateway_errors are also included in consecutive_5xx_errors,
+ // if the value of consecutive_gateway_errors is greater than or equal to
+ // the value of consecutive_5xx_errors, consecutive_gateway_errors will have
+ // no effect.
+ Consecutive_5XxErrors *wrappers.UInt32Value `protobuf:"bytes,7,opt,name=consecutive_5xx_errors,json=consecutive5xxErrors,proto3" json:"consecutive_5xx_errors,omitempty"`
+ // Time interval between ejection sweep analysis. format:
+ // 1h/1m/1s/1ms. MUST BE >=1ms. Default is 10s.
+ Interval *duration.Duration `protobuf:"bytes,2,opt,name=interval,proto3" json:"interval,omitempty"`
+ // Minimum ejection duration. A host will remain ejected for a period
+ // equal to the product of minimum ejection duration and the number of
+ // times the host has been ejected. This technique allows the system to
+ // automatically increase the ejection period for unhealthy upstream
+ // servers. format: 1h/1m/1s/1ms. MUST BE >=1ms. Default is 30s.
+ BaseEjectionTime *duration.Duration `protobuf:"bytes,3,opt,name=base_ejection_time,json=baseEjectionTime,proto3" json:"base_ejection_time,omitempty"`
+ // Maximum % of hosts in the load balancing pool for the upstream
+ // service that can be ejected. Defaults to 10%.
+ MaxEjectionPercent int32 `protobuf:"varint,4,opt,name=max_ejection_percent,json=maxEjectionPercent,proto3" json:"max_ejection_percent,omitempty"`
+ // Outlier detection will be enabled as long as the associated load balancing
+ // pool has at least min_health_percent hosts in healthy mode. When the
+ // percentage of healthy hosts in the load balancing pool drops below this
+ // threshold, outlier detection will be disabled and the proxy will load balance
+ // across all hosts in the pool (healthy and unhealthy). The threshold can be
+ // disabled by setting it to 0%. The default is 0% as it's not typically
+ // applicable in k8s environments with few pods per service.
+ MinHealthPercent int32 `protobuf:"varint,5,opt,name=min_health_percent,json=minHealthPercent,proto3" json:"min_health_percent,omitempty"`
}
-var xxx_messageInfo_ConnectionPoolSettings proto.InternalMessageInfo
-
-func (m *ConnectionPoolSettings) GetTcp() *ConnectionPoolSettings_TCPSettings {
- if m != nil {
- return m.Tcp
+func (x *OutlierDetection) Reset() {
+ *x = OutlierDetection{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_destination_rule_proto_msgTypes[5]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- return nil
}
-func (m *ConnectionPoolSettings) GetHttp() *ConnectionPoolSettings_HTTPSettings {
- if m != nil {
- return m.Http
- }
- return nil
+func (x *OutlierDetection) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-// Settings common to both HTTP and TCP upstream connections.
-type ConnectionPoolSettings_TCPSettings struct {
- // Maximum number of HTTP1 /TCP connections to a destination host. Default 2^32-1.
- MaxConnections int32 `protobuf:"varint,1,opt,name=max_connections,json=maxConnections,proto3" json:"max_connections,omitempty"`
- // TCP connection timeout. format:
- // 1h/1m/1s/1ms. MUST BE >=1ms. Default is 10s.
- ConnectTimeout *types.Duration `protobuf:"bytes,2,opt,name=connect_timeout,json=connectTimeout,proto3" json:"connect_timeout,omitempty"`
- // If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
- TcpKeepalive *ConnectionPoolSettings_TCPSettings_TcpKeepalive `protobuf:"bytes,3,opt,name=tcp_keepalive,json=tcpKeepalive,proto3" json:"tcp_keepalive,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
+func (*OutlierDetection) ProtoMessage() {}
-func (m *ConnectionPoolSettings_TCPSettings) Reset() { *m = ConnectionPoolSettings_TCPSettings{} }
-func (m *ConnectionPoolSettings_TCPSettings) String() string { return proto.CompactTextString(m) }
-func (*ConnectionPoolSettings_TCPSettings) ProtoMessage() {}
-func (*ConnectionPoolSettings_TCPSettings) Descriptor() ([]byte, []int) {
- return fileDescriptor_31054629b619ca4b, []int{4, 0}
-}
-func (m *ConnectionPoolSettings_TCPSettings) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *ConnectionPoolSettings_TCPSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_ConnectionPoolSettings_TCPSettings.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
+func (x *OutlierDetection) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_destination_rule_proto_msgTypes[5]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- return b[:n], nil
+ return ms
}
-}
-func (m *ConnectionPoolSettings_TCPSettings) XXX_Merge(src proto.Message) {
- xxx_messageInfo_ConnectionPoolSettings_TCPSettings.Merge(m, src)
-}
-func (m *ConnectionPoolSettings_TCPSettings) XXX_Size() int {
- return m.Size()
-}
-func (m *ConnectionPoolSettings_TCPSettings) XXX_DiscardUnknown() {
- xxx_messageInfo_ConnectionPoolSettings_TCPSettings.DiscardUnknown(m)
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_ConnectionPoolSettings_TCPSettings proto.InternalMessageInfo
+// Deprecated: Use OutlierDetection.ProtoReflect.Descriptor instead.
+func (*OutlierDetection) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_destination_rule_proto_rawDescGZIP(), []int{5}
+}
-func (m *ConnectionPoolSettings_TCPSettings) GetMaxConnections() int32 {
- if m != nil {
- return m.MaxConnections
+// Deprecated: Do not use.
+func (x *OutlierDetection) GetConsecutiveErrors() int32 {
+ if x != nil {
+ return x.ConsecutiveErrors
}
return 0
}
-func (m *ConnectionPoolSettings_TCPSettings) GetConnectTimeout() *types.Duration {
- if m != nil {
- return m.ConnectTimeout
+func (x *OutlierDetection) GetSplitExternalLocalOriginErrors() bool {
+ if x != nil {
+ return x.SplitExternalLocalOriginErrors
}
- return nil
+ return false
}
-func (m *ConnectionPoolSettings_TCPSettings) GetTcpKeepalive() *ConnectionPoolSettings_TCPSettings_TcpKeepalive {
- if m != nil {
- return m.TcpKeepalive
+func (x *OutlierDetection) GetConsecutiveLocalOriginFailures() *wrappers.UInt32Value {
+ if x != nil {
+ return x.ConsecutiveLocalOriginFailures
}
return nil
}
-// TCP keepalive.
-type ConnectionPoolSettings_TCPSettings_TcpKeepalive struct {
- // Maximum number of keepalive probes to send without response before
- // deciding the connection is dead. Default is to use the OS level configuration
- // (unless overridden, Linux defaults to 9.)
- Probes uint32 `protobuf:"varint,1,opt,name=probes,proto3" json:"probes,omitempty"`
- // The time duration a connection needs to be idle before keep-alive
- // probes start being sent. Default is to use the OS level configuration
- // (unless overridden, Linux defaults to 7200s (ie 2 hours.)
- Time *types.Duration `protobuf:"bytes,2,opt,name=time,proto3" json:"time,omitempty"`
- // The time duration between keep-alive probes.
- // Default is to use the OS level configuration
- // (unless overridden, Linux defaults to 75s.)
- Interval *types.Duration `protobuf:"bytes,3,opt,name=interval,proto3" json:"interval,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+func (x *OutlierDetection) GetConsecutiveGatewayErrors() *wrappers.UInt32Value {
+ if x != nil {
+ return x.ConsecutiveGatewayErrors
+ }
+ return nil
}
-func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Reset() {
- *m = ConnectionPoolSettings_TCPSettings_TcpKeepalive{}
-}
-func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) String() string {
- return proto.CompactTextString(m)
-}
-func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) ProtoMessage() {}
-func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) Descriptor() ([]byte, []int) {
- return fileDescriptor_31054629b619ca4b, []int{4, 0, 0}
-}
-func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_ConnectionPoolSettings_TCPSettings_TcpKeepalive.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *OutlierDetection) GetConsecutive_5XxErrors() *wrappers.UInt32Value {
+ if x != nil {
+ return x.Consecutive_5XxErrors
}
+ return nil
}
-func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) XXX_Merge(src proto.Message) {
- xxx_messageInfo_ConnectionPoolSettings_TCPSettings_TcpKeepalive.Merge(m, src)
-}
-func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) XXX_Size() int {
- return m.Size()
-}
-func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) XXX_DiscardUnknown() {
- xxx_messageInfo_ConnectionPoolSettings_TCPSettings_TcpKeepalive.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_ConnectionPoolSettings_TCPSettings_TcpKeepalive proto.InternalMessageInfo
-func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetProbes() uint32 {
- if m != nil {
- return m.Probes
+func (x *OutlierDetection) GetInterval() *duration.Duration {
+ if x != nil {
+ return x.Interval
}
- return 0
+ return nil
}
-func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetTime() *types.Duration {
- if m != nil {
- return m.Time
+func (x *OutlierDetection) GetBaseEjectionTime() *duration.Duration {
+ if x != nil {
+ return x.BaseEjectionTime
}
return nil
}
-func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetInterval() *types.Duration {
- if m != nil {
- return m.Interval
+func (x *OutlierDetection) GetMaxEjectionPercent() int32 {
+ if x != nil {
+ return x.MaxEjectionPercent
}
- return nil
+ return 0
}
-// Settings applicable to HTTP1.1/HTTP2/GRPC connections.
-type ConnectionPoolSettings_HTTPSettings struct {
- // Maximum number of pending HTTP requests to a destination. Default 2^32-1.
- Http1MaxPendingRequests int32 `protobuf:"varint,1,opt,name=http1_max_pending_requests,json=http1MaxPendingRequests,proto3" json:"http1_max_pending_requests,omitempty"`
- // Maximum number of requests to a backend. Default 2^32-1.
- Http2MaxRequests int32 `protobuf:"varint,2,opt,name=http2_max_requests,json=http2MaxRequests,proto3" json:"http2_max_requests,omitempty"`
- // Maximum number of requests per connection to a backend. Setting this
- // parameter to 1 disables keep alive. Default 0, meaning "unlimited",
- // up to 2^29.
- MaxRequestsPerConnection int32 `protobuf:"varint,3,opt,name=max_requests_per_connection,json=maxRequestsPerConnection,proto3" json:"max_requests_per_connection,omitempty"`
- // Maximum number of retries that can be outstanding to all hosts in a
- // cluster at a given time. Defaults to 2^32-1.
- MaxRetries int32 `protobuf:"varint,4,opt,name=max_retries,json=maxRetries,proto3" json:"max_retries,omitempty"`
- // The idle timeout for upstream connection pool connections. The idle timeout
- // is defined as the period in which there are no active requests.
- // If not set, the default is 1 hour. When the idle timeout is reached,
- // the connection will be closed. If the connection is an HTTP/2
- // connection a drain sequence will occur prior to closing the connection.
- // Note that request based timeouts mean that HTTP/2 PINGs will not
- // keep the connection alive. Applies to both HTTP1.1 and HTTP2 connections.
- IdleTimeout *types.Duration `protobuf:"bytes,5,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"`
- // Specify if http1.1 connection should be upgraded to http2 for the associated destination.
- H2UpgradePolicy ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy `protobuf:"varint,6,opt,name=h2_upgrade_policy,json=h2UpgradePolicy,proto3,enum=istio.networking.v1beta1.ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy" json:"h2_upgrade_policy,omitempty"`
- // If set to true, client protocol will be preserved while initiating connection to backend.
- // Note that when this is set to true, h2_upgrade_policy will be ineffective i.e. the client
- // connections will not be upgraded to http2.
- UseClientProtocol bool `protobuf:"varint,7,opt,name=use_client_protocol,json=useClientProtocol,proto3" json:"use_client_protocol,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *ConnectionPoolSettings_HTTPSettings) Reset() { *m = ConnectionPoolSettings_HTTPSettings{} }
-func (m *ConnectionPoolSettings_HTTPSettings) String() string { return proto.CompactTextString(m) }
-func (*ConnectionPoolSettings_HTTPSettings) ProtoMessage() {}
-func (*ConnectionPoolSettings_HTTPSettings) Descriptor() ([]byte, []int) {
- return fileDescriptor_31054629b619ca4b, []int{4, 1}
-}
-func (m *ConnectionPoolSettings_HTTPSettings) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *ConnectionPoolSettings_HTTPSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_ConnectionPoolSettings_HTTPSettings.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *ConnectionPoolSettings_HTTPSettings) XXX_Merge(src proto.Message) {
- xxx_messageInfo_ConnectionPoolSettings_HTTPSettings.Merge(m, src)
-}
-func (m *ConnectionPoolSettings_HTTPSettings) XXX_Size() int {
- return m.Size()
-}
-func (m *ConnectionPoolSettings_HTTPSettings) XXX_DiscardUnknown() {
- xxx_messageInfo_ConnectionPoolSettings_HTTPSettings.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_ConnectionPoolSettings_HTTPSettings proto.InternalMessageInfo
-
-func (m *ConnectionPoolSettings_HTTPSettings) GetHttp1MaxPendingRequests() int32 {
- if m != nil {
- return m.Http1MaxPendingRequests
- }
- return 0
-}
-
-func (m *ConnectionPoolSettings_HTTPSettings) GetHttp2MaxRequests() int32 {
- if m != nil {
- return m.Http2MaxRequests
- }
- return 0
-}
-
-func (m *ConnectionPoolSettings_HTTPSettings) GetMaxRequestsPerConnection() int32 {
- if m != nil {
- return m.MaxRequestsPerConnection
- }
- return 0
-}
-
-func (m *ConnectionPoolSettings_HTTPSettings) GetMaxRetries() int32 {
- if m != nil {
- return m.MaxRetries
- }
- return 0
-}
-
-func (m *ConnectionPoolSettings_HTTPSettings) GetIdleTimeout() *types.Duration {
- if m != nil {
- return m.IdleTimeout
- }
- return nil
-}
-
-func (m *ConnectionPoolSettings_HTTPSettings) GetH2UpgradePolicy() ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy {
- if m != nil {
- return m.H2UpgradePolicy
- }
- return ConnectionPoolSettings_HTTPSettings_DEFAULT
-}
-
-func (m *ConnectionPoolSettings_HTTPSettings) GetUseClientProtocol() bool {
- if m != nil {
- return m.UseClientProtocol
- }
- return false
-}
-
-// A Circuit breaker implementation that tracks the status of each
-// individual host in the upstream service. Applicable to both HTTP and
-// TCP services. For HTTP services, hosts that continually return 5xx
-// errors for API calls are ejected from the pool for a pre-defined period
-// of time. For TCP services, connection timeouts or connection
-// failures to a given host counts as an error when measuring the
-// consecutive errors metric. See Envoy's [outlier
-// detection](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/outlier)
-// for more details.
-//
-// The following rule sets a connection pool size of 100 HTTP1 connections
-// with no more than 10 req/connection to the "reviews" service. In addition,
-// it sets a limit of 1000 concurrent HTTP2 requests and configures upstream
-// hosts to be scanned every 5 mins so that any host that fails 7 consecutive
-// times with a 502, 503, or 504 error code will be ejected for 15 minutes.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: DestinationRule
-// metadata:
-// name: reviews-cb-policy
-// spec:
-// host: reviews.prod.svc.cluster.local
-// trafficPolicy:
-// connectionPool:
-// tcp:
-// maxConnections: 100
-// http:
-// http2MaxRequests: 1000
-// maxRequestsPerConnection: 10
-// outlierDetection:
-// consecutive5xxErrors: 7
-// interval: 5m
-// baseEjectionTime: 15m
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: DestinationRule
-// metadata:
-// name: reviews-cb-policy
-// spec:
-// host: reviews.prod.svc.cluster.local
-// trafficPolicy:
-// connectionPool:
-// tcp:
-// maxConnections: 100
-// http:
-// http2MaxRequests: 1000
-// maxRequestsPerConnection: 10
-// outlierDetection:
-// consecutive5xxErrors: 7
-// interval: 5m
-// baseEjectionTime: 15m
-// ```
-// {{}}
-// {{}}
-//
-type OutlierDetection struct {
- // Number of errors before a host is ejected from the connection
- // pool. Defaults to 5. When the upstream host is accessed over HTTP, a
- // 502, 503, or 504 return code qualifies as an error. When the upstream host
- // is accessed over an opaque TCP connection, connect timeouts and
- // connection error/failure events qualify as an error.
- // $hide_from_docs
- ConsecutiveErrors int32 `protobuf:"varint,1,opt,name=consecutive_errors,json=consecutiveErrors,proto3" json:"consecutive_errors,omitempty"` // Deprecated: Do not use.
- // Determines whether to distinguish local origin failures from external errors. If set to true
- // consecutive_local_origin_failure is taken into account for outlier detection calculations.
- // This should be used when you want to derive the outlier detection status based on the errors
- // seen locally such as failure to connect, timeout while connecting etc. rather than the status code
- // retuned by upstream service. This is especially useful when the upstream service explicitly returns
- // a 5xx for some requests and you want to ignore those responses from upstream service while determining
- // the outlier detection status of a host.
- // Defaults to false.
- SplitExternalLocalOriginErrors bool `protobuf:"varint,8,opt,name=split_external_local_origin_errors,json=splitExternalLocalOriginErrors,proto3" json:"split_external_local_origin_errors,omitempty"`
- // The number of consecutive locally originated failures before ejection
- // occurs. Defaults to 5. Parameter takes effect only when split_external_local_origin_errors
- // is set to true.
- ConsecutiveLocalOriginFailures *types.UInt32Value `protobuf:"bytes,9,opt,name=consecutive_local_origin_failures,json=consecutiveLocalOriginFailures,proto3" json:"consecutive_local_origin_failures,omitempty"`
- // Number of gateway errors before a host is ejected from the connection pool.
- // When the upstream host is accessed over HTTP, a 502, 503, or 504 return
- // code qualifies as a gateway error. When the upstream host is accessed over
- // an opaque TCP connection, connect timeouts and connection error/failure
- // events qualify as a gateway error.
- // This feature is disabled by default or when set to the value 0.
- //
- // Note that consecutive_gateway_errors and consecutive_5xx_errors can be
- // used separately or together. Because the errors counted by
- // consecutive_gateway_errors are also included in consecutive_5xx_errors,
- // if the value of consecutive_gateway_errors is greater than or equal to
- // the value of consecutive_5xx_errors, consecutive_gateway_errors will have
- // no effect.
- ConsecutiveGatewayErrors *types.UInt32Value `protobuf:"bytes,6,opt,name=consecutive_gateway_errors,json=consecutiveGatewayErrors,proto3" json:"consecutive_gateway_errors,omitempty"`
- // Number of 5xx errors before a host is ejected from the connection pool.
- // When the upstream host is accessed over an opaque TCP connection, connect
- // timeouts, connection error/failure and request failure events qualify as a
- // 5xx error.
- // This feature defaults to 5 but can be disabled by setting the value to 0.
- //
- // Note that consecutive_gateway_errors and consecutive_5xx_errors can be
- // used separately or together. Because the errors counted by
- // consecutive_gateway_errors are also included in consecutive_5xx_errors,
- // if the value of consecutive_gateway_errors is greater than or equal to
- // the value of consecutive_5xx_errors, consecutive_gateway_errors will have
- // no effect.
- Consecutive_5XxErrors *types.UInt32Value `protobuf:"bytes,7,opt,name=consecutive_5xx_errors,json=consecutive5xxErrors,proto3" json:"consecutive_5xx_errors,omitempty"`
- // Time interval between ejection sweep analysis. format:
- // 1h/1m/1s/1ms. MUST BE >=1ms. Default is 10s.
- Interval *types.Duration `protobuf:"bytes,2,opt,name=interval,proto3" json:"interval,omitempty"`
- // Minimum ejection duration. A host will remain ejected for a period
- // equal to the product of minimum ejection duration and the number of
- // times the host has been ejected. This technique allows the system to
- // automatically increase the ejection period for unhealthy upstream
- // servers. format: 1h/1m/1s/1ms. MUST BE >=1ms. Default is 30s.
- BaseEjectionTime *types.Duration `protobuf:"bytes,3,opt,name=base_ejection_time,json=baseEjectionTime,proto3" json:"base_ejection_time,omitempty"`
- // Maximum % of hosts in the load balancing pool for the upstream
- // service that can be ejected. Defaults to 10%.
- MaxEjectionPercent int32 `protobuf:"varint,4,opt,name=max_ejection_percent,json=maxEjectionPercent,proto3" json:"max_ejection_percent,omitempty"`
- // Outlier detection will be enabled as long as the associated load balancing
- // pool has at least min_health_percent hosts in healthy mode. When the
- // percentage of healthy hosts in the load balancing pool drops below this
- // threshold, outlier detection will be disabled and the proxy will load balance
- // across all hosts in the pool (healthy and unhealthy). The threshold can be
- // disabled by setting it to 0%. The default is 0% as it's not typically
- // applicable in k8s environments with few pods per service.
- MinHealthPercent int32 `protobuf:"varint,5,opt,name=min_health_percent,json=minHealthPercent,proto3" json:"min_health_percent,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *OutlierDetection) Reset() { *m = OutlierDetection{} }
-func (m *OutlierDetection) String() string { return proto.CompactTextString(m) }
-func (*OutlierDetection) ProtoMessage() {}
-func (*OutlierDetection) Descriptor() ([]byte, []int) {
- return fileDescriptor_31054629b619ca4b, []int{5}
-}
-func (m *OutlierDetection) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *OutlierDetection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_OutlierDetection.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *OutlierDetection) XXX_Merge(src proto.Message) {
- xxx_messageInfo_OutlierDetection.Merge(m, src)
-}
-func (m *OutlierDetection) XXX_Size() int {
- return m.Size()
-}
-func (m *OutlierDetection) XXX_DiscardUnknown() {
- xxx_messageInfo_OutlierDetection.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_OutlierDetection proto.InternalMessageInfo
-
-// Deprecated: Do not use.
-func (m *OutlierDetection) GetConsecutiveErrors() int32 {
- if m != nil {
- return m.ConsecutiveErrors
- }
- return 0
-}
-
-func (m *OutlierDetection) GetSplitExternalLocalOriginErrors() bool {
- if m != nil {
- return m.SplitExternalLocalOriginErrors
- }
- return false
-}
-
-func (m *OutlierDetection) GetConsecutiveLocalOriginFailures() *types.UInt32Value {
- if m != nil {
- return m.ConsecutiveLocalOriginFailures
- }
- return nil
-}
-
-func (m *OutlierDetection) GetConsecutiveGatewayErrors() *types.UInt32Value {
- if m != nil {
- return m.ConsecutiveGatewayErrors
- }
- return nil
-}
-
-func (m *OutlierDetection) GetConsecutive_5XxErrors() *types.UInt32Value {
- if m != nil {
- return m.Consecutive_5XxErrors
- }
- return nil
-}
-
-func (m *OutlierDetection) GetInterval() *types.Duration {
- if m != nil {
- return m.Interval
- }
- return nil
-}
-
-func (m *OutlierDetection) GetBaseEjectionTime() *types.Duration {
- if m != nil {
- return m.BaseEjectionTime
- }
- return nil
-}
-
-func (m *OutlierDetection) GetMaxEjectionPercent() int32 {
- if m != nil {
- return m.MaxEjectionPercent
- }
- return 0
-}
-
-func (m *OutlierDetection) GetMinHealthPercent() int32 {
- if m != nil {
- return m.MinHealthPercent
+func (x *OutlierDetection) GetMinHealthPercent() int32 {
+ if x != nil {
+ return x.MinHealthPercent
}
return 0
}
@@ -1822,6 +1398,10 @@ func (m *OutlierDetection) GetMinHealthPercent() int32 {
// {{}}
//
type ClientTLSSettings struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Indicates whether connections to this port should be secured
// using TLS. The value of this field determines how TLS is enforced.
Mode ClientTLSSettings_TLSmode `protobuf:"varint,1,opt,name=mode,proto3,enum=istio.networking.v1beta1.ClientTLSSettings_TLSmode" json:"mode,omitempty"`
@@ -1850,8 +1430,10 @@ type ClientTLSSettings struct {
// Only one of client certificates and CA certificate
// or credentialName can be specified.
//
- // **NOTE:** This field is currently applicable only at gateways.
- // Sidecars will continue to use the certificate paths.
+ // **NOTE:** This field is applicable at sidecars only if
+ // `DestinationRule` has a `workloadSelector` specified.
+ // Otherwise the field will be applicable only at gateways, and
+ // sidecars will continue to use the certificate paths.
CredentialName string `protobuf:"bytes,7,opt,name=credential_name,json=credentialName,proto3" json:"credential_name,omitempty"`
// A list of alternate names to verify the subject identity in the
// certificate. If specified, the proxy will verify that the server
@@ -1860,6 +1442,9 @@ type ClientTLSSettings struct {
// from the ServiceEntry.
SubjectAltNames []string `protobuf:"bytes,5,rep,name=subject_alt_names,json=subjectAltNames,proto3" json:"subject_alt_names,omitempty"`
// SNI string to present to the server during TLS handshake.
+ // If unspecified, SNI will be automatically set based on downstream HTTP
+ // host/authority header for SIMPLE and MUTUAL TLS modes, provided `ENABLE_AUTO_SNI`
+ // environmental variable is set to `true`.
Sni string `protobuf:"bytes,6,opt,name=sni,proto3" json:"sni,omitempty"`
// InsecureSkipVerify specifies whether the proxy should skip verifying the
// CA signature and SAN for the server certificate corresponding to the host.
@@ -1873,97 +1458,93 @@ type ClientTLSSettings struct {
// `VerifyCertAtClient` is `false` by default in Istio version 1.9 but will
// be `true` by default in a later version where, going forward, it will be
// enabled by default.
- InsecureSkipVerify *types.BoolValue `protobuf:"bytes,8,opt,name=insecure_skip_verify,json=insecureSkipVerify,proto3" json:"insecure_skip_verify,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ InsecureSkipVerify *wrappers.BoolValue `protobuf:"bytes,8,opt,name=insecure_skip_verify,json=insecureSkipVerify,proto3" json:"insecure_skip_verify,omitempty"`
}
-func (m *ClientTLSSettings) Reset() { *m = ClientTLSSettings{} }
-func (m *ClientTLSSettings) String() string { return proto.CompactTextString(m) }
-func (*ClientTLSSettings) ProtoMessage() {}
-func (*ClientTLSSettings) Descriptor() ([]byte, []int) {
- return fileDescriptor_31054629b619ca4b, []int{6}
-}
-func (m *ClientTLSSettings) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *ClientTLSSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_ClientTLSSettings.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *ClientTLSSettings) Reset() {
+ *x = ClientTLSSettings{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_destination_rule_proto_msgTypes[6]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *ClientTLSSettings) XXX_Merge(src proto.Message) {
- xxx_messageInfo_ClientTLSSettings.Merge(m, src)
-}
-func (m *ClientTLSSettings) XXX_Size() int {
- return m.Size()
+
+func (x *ClientTLSSettings) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *ClientTLSSettings) XXX_DiscardUnknown() {
- xxx_messageInfo_ClientTLSSettings.DiscardUnknown(m)
+
+func (*ClientTLSSettings) ProtoMessage() {}
+
+func (x *ClientTLSSettings) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_destination_rule_proto_msgTypes[6]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_ClientTLSSettings proto.InternalMessageInfo
+// Deprecated: Use ClientTLSSettings.ProtoReflect.Descriptor instead.
+func (*ClientTLSSettings) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_destination_rule_proto_rawDescGZIP(), []int{6}
+}
-func (m *ClientTLSSettings) GetMode() ClientTLSSettings_TLSmode {
- if m != nil {
- return m.Mode
+func (x *ClientTLSSettings) GetMode() ClientTLSSettings_TLSmode {
+ if x != nil {
+ return x.Mode
}
return ClientTLSSettings_DISABLE
}
-func (m *ClientTLSSettings) GetClientCertificate() string {
- if m != nil {
- return m.ClientCertificate
+func (x *ClientTLSSettings) GetClientCertificate() string {
+ if x != nil {
+ return x.ClientCertificate
}
return ""
}
-func (m *ClientTLSSettings) GetPrivateKey() string {
- if m != nil {
- return m.PrivateKey
+func (x *ClientTLSSettings) GetPrivateKey() string {
+ if x != nil {
+ return x.PrivateKey
}
return ""
}
-func (m *ClientTLSSettings) GetCaCertificates() string {
- if m != nil {
- return m.CaCertificates
+func (x *ClientTLSSettings) GetCaCertificates() string {
+ if x != nil {
+ return x.CaCertificates
}
return ""
}
-func (m *ClientTLSSettings) GetCredentialName() string {
- if m != nil {
- return m.CredentialName
+func (x *ClientTLSSettings) GetCredentialName() string {
+ if x != nil {
+ return x.CredentialName
}
return ""
}
-func (m *ClientTLSSettings) GetSubjectAltNames() []string {
- if m != nil {
- return m.SubjectAltNames
+func (x *ClientTLSSettings) GetSubjectAltNames() []string {
+ if x != nil {
+ return x.SubjectAltNames
}
return nil
}
-func (m *ClientTLSSettings) GetSni() string {
- if m != nil {
- return m.Sni
+func (x *ClientTLSSettings) GetSni() string {
+ if x != nil {
+ return x.Sni
}
return ""
}
-func (m *ClientTLSSettings) GetInsecureSkipVerify() *types.BoolValue {
- if m != nil {
- return m.InsecureSkipVerify
+func (x *ClientTLSSettings) GetInsecureSkipVerify() *wrappers.BoolValue {
+ if x != nil {
+ return x.InsecureSkipVerify
}
return nil
}
@@ -2016,6 +1597,10 @@ func (m *ClientTLSSettings) GetInsecureSkipVerify() *types.BoolValue {
// ```
// Locality load balancing settings.
type LocalityLoadBalancerSetting struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Optional: only one of distribute, failover or failoverPriority can be set.
// Explicitly specify loadbalancing weight across different zones and geographical locations.
// Refer to [Locality weighted load balancing](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/locality_weight)
@@ -2067,5220 +1652,1510 @@ type LocalityLoadBalancerSetting struct {
FailoverPriority []string `protobuf:"bytes,4,rep,name=failover_priority,json=failoverPriority,proto3" json:"failover_priority,omitempty"`
// enable locality load balancing, this is DestinationRule-level and will override mesh wide settings in entirety.
// e.g. true means that turn on locality load balancing for this DestinationRule no matter what mesh wide settings is.
- Enabled *types.BoolValue `protobuf:"bytes,3,opt,name=enabled,proto3" json:"enabled,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Enabled *wrappers.BoolValue `protobuf:"bytes,3,opt,name=enabled,proto3" json:"enabled,omitempty"`
}
-func (m *LocalityLoadBalancerSetting) Reset() { *m = LocalityLoadBalancerSetting{} }
-func (m *LocalityLoadBalancerSetting) String() string { return proto.CompactTextString(m) }
-func (*LocalityLoadBalancerSetting) ProtoMessage() {}
-func (*LocalityLoadBalancerSetting) Descriptor() ([]byte, []int) {
- return fileDescriptor_31054629b619ca4b, []int{7}
-}
-func (m *LocalityLoadBalancerSetting) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *LocalityLoadBalancerSetting) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_LocalityLoadBalancerSetting.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *LocalityLoadBalancerSetting) Reset() {
+ *x = LocalityLoadBalancerSetting{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_destination_rule_proto_msgTypes[7]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *LocalityLoadBalancerSetting) XXX_Merge(src proto.Message) {
- xxx_messageInfo_LocalityLoadBalancerSetting.Merge(m, src)
-}
-func (m *LocalityLoadBalancerSetting) XXX_Size() int {
- return m.Size()
-}
-func (m *LocalityLoadBalancerSetting) XXX_DiscardUnknown() {
- xxx_messageInfo_LocalityLoadBalancerSetting.DiscardUnknown(m)
+
+func (x *LocalityLoadBalancerSetting) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-var xxx_messageInfo_LocalityLoadBalancerSetting proto.InternalMessageInfo
+func (*LocalityLoadBalancerSetting) ProtoMessage() {}
-func (m *LocalityLoadBalancerSetting) GetDistribute() []*LocalityLoadBalancerSetting_Distribute {
- if m != nil {
- return m.Distribute
+func (x *LocalityLoadBalancerSetting) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_destination_rule_proto_msgTypes[7]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
}
- return nil
+ return mi.MessageOf(x)
}
-func (m *LocalityLoadBalancerSetting) GetFailover() []*LocalityLoadBalancerSetting_Failover {
- if m != nil {
- return m.Failover
+// Deprecated: Use LocalityLoadBalancerSetting.ProtoReflect.Descriptor instead.
+func (*LocalityLoadBalancerSetting) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_destination_rule_proto_rawDescGZIP(), []int{7}
+}
+
+func (x *LocalityLoadBalancerSetting) GetDistribute() []*LocalityLoadBalancerSetting_Distribute {
+ if x != nil {
+ return x.Distribute
}
return nil
}
-func (m *LocalityLoadBalancerSetting) GetFailoverPriority() []string {
- if m != nil {
- return m.FailoverPriority
+func (x *LocalityLoadBalancerSetting) GetFailover() []*LocalityLoadBalancerSetting_Failover {
+ if x != nil {
+ return x.Failover
}
return nil
}
-func (m *LocalityLoadBalancerSetting) GetEnabled() *types.BoolValue {
- if m != nil {
- return m.Enabled
+func (x *LocalityLoadBalancerSetting) GetFailoverPriority() []string {
+ if x != nil {
+ return x.FailoverPriority
}
return nil
}
-// Describes how traffic originating in the 'from' zone or sub-zone is
-// distributed over a set of 'to' zones. Syntax for specifying a zone is
-// {region}/{zone}/{sub-zone} and terminal wildcards are allowed on any
-// segment of the specification. Examples:
-//
-// `*` - matches all localities
-//
-// `us-west/*` - all zones and sub-zones within the us-west region
-//
-// `us-west/zone-1/*` - all sub-zones within us-west/zone-1
-type LocalityLoadBalancerSetting_Distribute struct {
- // Originating locality, '/' separated, e.g. 'region/zone/sub_zone'.
- From string `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"`
- // Map of upstream localities to traffic distribution weights. The sum of
- // all weights should be 100. Any locality not present will
- // receive no traffic.
- To map[string]uint32 `protobuf:"bytes,2,rep,name=to,proto3" json:"to,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+func (x *LocalityLoadBalancerSetting) GetEnabled() *wrappers.BoolValue {
+ if x != nil {
+ return x.Enabled
+ }
+ return nil
}
-func (m *LocalityLoadBalancerSetting_Distribute) Reset() {
- *m = LocalityLoadBalancerSetting_Distribute{}
+// Traffic policies that apply to specific ports of the service
+type TrafficPolicy_PortTrafficPolicy struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Specifies the number of a port on the destination service
+ // on which this policy is being applied.
+ //
+ Port *PortSelector `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"`
+ // Settings controlling the load balancer algorithms.
+ LoadBalancer *LoadBalancerSettings `protobuf:"bytes,2,opt,name=load_balancer,json=loadBalancer,proto3" json:"load_balancer,omitempty"`
+ // Settings controlling the volume of connections to an upstream service
+ ConnectionPool *ConnectionPoolSettings `protobuf:"bytes,3,opt,name=connection_pool,json=connectionPool,proto3" json:"connection_pool,omitempty"`
+ // Settings controlling eviction of unhealthy hosts from the load balancing pool
+ OutlierDetection *OutlierDetection `protobuf:"bytes,4,opt,name=outlier_detection,json=outlierDetection,proto3" json:"outlier_detection,omitempty"`
+ // TLS related settings for connections to the upstream service.
+ Tls *ClientTLSSettings `protobuf:"bytes,5,opt,name=tls,proto3" json:"tls,omitempty"`
}
-func (m *LocalityLoadBalancerSetting_Distribute) String() string { return proto.CompactTextString(m) }
-func (*LocalityLoadBalancerSetting_Distribute) ProtoMessage() {}
-func (*LocalityLoadBalancerSetting_Distribute) Descriptor() ([]byte, []int) {
- return fileDescriptor_31054629b619ca4b, []int{7, 0}
-}
-func (m *LocalityLoadBalancerSetting_Distribute) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *LocalityLoadBalancerSetting_Distribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_LocalityLoadBalancerSetting_Distribute.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+
+func (x *TrafficPolicy_PortTrafficPolicy) Reset() {
+ *x = TrafficPolicy_PortTrafficPolicy{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_destination_rule_proto_msgTypes[8]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *LocalityLoadBalancerSetting_Distribute) XXX_Merge(src proto.Message) {
- xxx_messageInfo_LocalityLoadBalancerSetting_Distribute.Merge(m, src)
+
+func (x *TrafficPolicy_PortTrafficPolicy) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *LocalityLoadBalancerSetting_Distribute) XXX_Size() int {
- return m.Size()
+
+func (*TrafficPolicy_PortTrafficPolicy) ProtoMessage() {}
+
+func (x *TrafficPolicy_PortTrafficPolicy) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_destination_rule_proto_msgTypes[8]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-func (m *LocalityLoadBalancerSetting_Distribute) XXX_DiscardUnknown() {
- xxx_messageInfo_LocalityLoadBalancerSetting_Distribute.DiscardUnknown(m)
+
+// Deprecated: Use TrafficPolicy_PortTrafficPolicy.ProtoReflect.Descriptor instead.
+func (*TrafficPolicy_PortTrafficPolicy) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_destination_rule_proto_rawDescGZIP(), []int{1, 0}
}
-var xxx_messageInfo_LocalityLoadBalancerSetting_Distribute proto.InternalMessageInfo
+func (x *TrafficPolicy_PortTrafficPolicy) GetPort() *PortSelector {
+ if x != nil {
+ return x.Port
+ }
+ return nil
+}
-func (m *LocalityLoadBalancerSetting_Distribute) GetFrom() string {
- if m != nil {
- return m.From
+func (x *TrafficPolicy_PortTrafficPolicy) GetLoadBalancer() *LoadBalancerSettings {
+ if x != nil {
+ return x.LoadBalancer
}
- return ""
+ return nil
}
-func (m *LocalityLoadBalancerSetting_Distribute) GetTo() map[string]uint32 {
- if m != nil {
- return m.To
+func (x *TrafficPolicy_PortTrafficPolicy) GetConnectionPool() *ConnectionPoolSettings {
+ if x != nil {
+ return x.ConnectionPool
}
return nil
}
-// Specify the traffic failover policy across regions. Since zone and sub-zone
-// failover is supported by default this only needs to be specified for
-// regions when the operator needs to constrain traffic failover so that
-// the default behavior of failing over to any endpoint globally does not
-// apply. This is useful when failing over traffic across regions would not
-// improve service health or may need to be restricted for other reasons
-// like regulatory controls.
-type LocalityLoadBalancerSetting_Failover struct {
- // Originating region.
- From string `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"`
- // Destination region the traffic will fail over to when endpoints in
- // the 'from' region becomes unhealthy.
- To string `protobuf:"bytes,2,opt,name=to,proto3" json:"to,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+func (x *TrafficPolicy_PortTrafficPolicy) GetOutlierDetection() *OutlierDetection {
+ if x != nil {
+ return x.OutlierDetection
+ }
+ return nil
}
-func (m *LocalityLoadBalancerSetting_Failover) Reset() { *m = LocalityLoadBalancerSetting_Failover{} }
-func (m *LocalityLoadBalancerSetting_Failover) String() string { return proto.CompactTextString(m) }
-func (*LocalityLoadBalancerSetting_Failover) ProtoMessage() {}
-func (*LocalityLoadBalancerSetting_Failover) Descriptor() ([]byte, []int) {
- return fileDescriptor_31054629b619ca4b, []int{7, 1}
-}
-func (m *LocalityLoadBalancerSetting_Failover) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *LocalityLoadBalancerSetting_Failover) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_LocalityLoadBalancerSetting_Failover.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *TrafficPolicy_PortTrafficPolicy) GetTls() *ClientTLSSettings {
+ if x != nil {
+ return x.Tls
}
+ return nil
}
-func (m *LocalityLoadBalancerSetting_Failover) XXX_Merge(src proto.Message) {
- xxx_messageInfo_LocalityLoadBalancerSetting_Failover.Merge(m, src)
+
+type TrafficPolicy_TunnelSettings struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Specifies which protocol to use for tunneling the downstream connection.
+ // Supported protocols are:
+ // connect - uses HTTP CONNECT;
+ // post - uses HTTP POST.
+ // HTTP version for upstream requests is determined by the service protocol defined for the proxy.
+ Protocol string `protobuf:"bytes,1,opt,name=protocol,proto3" json:"protocol,omitempty"`
+ // Specifies a host to which the downstream connection is tunneled.
+ // Target host must be an FQDN or IP address.
+ TargetHost string `protobuf:"bytes,2,opt,name=target_host,json=targetHost,proto3" json:"target_host,omitempty"`
+ // Specifies a port to which the downstream connection is tunneled.
+ TargetPort uint32 `protobuf:"varint,3,opt,name=target_port,json=targetPort,proto3" json:"target_port,omitempty"`
}
-func (m *LocalityLoadBalancerSetting_Failover) XXX_Size() int {
- return m.Size()
+
+func (x *TrafficPolicy_TunnelSettings) Reset() {
+ *x = TrafficPolicy_TunnelSettings{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_destination_rule_proto_msgTypes[9]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
}
-func (m *LocalityLoadBalancerSetting_Failover) XXX_DiscardUnknown() {
- xxx_messageInfo_LocalityLoadBalancerSetting_Failover.DiscardUnknown(m)
+
+func (x *TrafficPolicy_TunnelSettings) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-var xxx_messageInfo_LocalityLoadBalancerSetting_Failover proto.InternalMessageInfo
+func (*TrafficPolicy_TunnelSettings) ProtoMessage() {}
-func (m *LocalityLoadBalancerSetting_Failover) GetFrom() string {
- if m != nil {
- return m.From
+func (x *TrafficPolicy_TunnelSettings) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_destination_rule_proto_msgTypes[9]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
}
- return ""
+ return mi.MessageOf(x)
}
-func (m *LocalityLoadBalancerSetting_Failover) GetTo() string {
- if m != nil {
- return m.To
+// Deprecated: Use TrafficPolicy_TunnelSettings.ProtoReflect.Descriptor instead.
+func (*TrafficPolicy_TunnelSettings) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_destination_rule_proto_rawDescGZIP(), []int{1, 1}
+}
+
+func (x *TrafficPolicy_TunnelSettings) GetProtocol() string {
+ if x != nil {
+ return x.Protocol
}
return ""
}
-func init() {
- proto.RegisterEnum("istio.networking.v1beta1.LoadBalancerSettings_SimpleLB", LoadBalancerSettings_SimpleLB_name, LoadBalancerSettings_SimpleLB_value)
- proto.RegisterEnum("istio.networking.v1beta1.ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy", ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy_name, ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy_value)
- proto.RegisterEnum("istio.networking.v1beta1.ClientTLSSettings_TLSmode", ClientTLSSettings_TLSmode_name, ClientTLSSettings_TLSmode_value)
- proto.RegisterType((*DestinationRule)(nil), "istio.networking.v1beta1.DestinationRule")
- proto.RegisterType((*TrafficPolicy)(nil), "istio.networking.v1beta1.TrafficPolicy")
- proto.RegisterType((*TrafficPolicy_PortTrafficPolicy)(nil), "istio.networking.v1beta1.TrafficPolicy.PortTrafficPolicy")
- proto.RegisterType((*Subset)(nil), "istio.networking.v1beta1.Subset")
- proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1beta1.Subset.LabelsEntry")
- proto.RegisterType((*LoadBalancerSettings)(nil), "istio.networking.v1beta1.LoadBalancerSettings")
- proto.RegisterType((*LoadBalancerSettings_ConsistentHashLB)(nil), "istio.networking.v1beta1.LoadBalancerSettings.ConsistentHashLB")
- proto.RegisterType((*LoadBalancerSettings_ConsistentHashLB_HTTPCookie)(nil), "istio.networking.v1beta1.LoadBalancerSettings.ConsistentHashLB.HTTPCookie")
- proto.RegisterType((*ConnectionPoolSettings)(nil), "istio.networking.v1beta1.ConnectionPoolSettings")
- proto.RegisterType((*ConnectionPoolSettings_TCPSettings)(nil), "istio.networking.v1beta1.ConnectionPoolSettings.TCPSettings")
- proto.RegisterType((*ConnectionPoolSettings_TCPSettings_TcpKeepalive)(nil), "istio.networking.v1beta1.ConnectionPoolSettings.TCPSettings.TcpKeepalive")
- proto.RegisterType((*ConnectionPoolSettings_HTTPSettings)(nil), "istio.networking.v1beta1.ConnectionPoolSettings.HTTPSettings")
- proto.RegisterType((*OutlierDetection)(nil), "istio.networking.v1beta1.OutlierDetection")
- proto.RegisterType((*ClientTLSSettings)(nil), "istio.networking.v1beta1.ClientTLSSettings")
- proto.RegisterType((*LocalityLoadBalancerSetting)(nil), "istio.networking.v1beta1.LocalityLoadBalancerSetting")
- proto.RegisterType((*LocalityLoadBalancerSetting_Distribute)(nil), "istio.networking.v1beta1.LocalityLoadBalancerSetting.Distribute")
- proto.RegisterMapType((map[string]uint32)(nil), "istio.networking.v1beta1.LocalityLoadBalancerSetting.Distribute.ToEntry")
- proto.RegisterType((*LocalityLoadBalancerSetting_Failover)(nil), "istio.networking.v1beta1.LocalityLoadBalancerSetting.Failover")
-}
-
-func init() {
- proto.RegisterFile("networking/v1beta1/destination_rule.proto", fileDescriptor_31054629b619ca4b)
-}
-
-var fileDescriptor_31054629b619ca4b = []byte{
- // 1938 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0xcd, 0x73, 0x1b, 0xb7,
- 0x15, 0x17, 0x3f, 0x25, 0x3e, 0xea, 0x83, 0x84, 0x35, 0x2e, 0x43, 0x77, 0x64, 0x97, 0xd3, 0x69,
- 0x54, 0x27, 0x5e, 0x45, 0x74, 0x35, 0x6d, 0x9c, 0xb8, 0x89, 0x28, 0xca, 0xa6, 0x12, 0x4a, 0xa4,
- 0x97, 0x54, 0xda, 0xfa, 0xb2, 0x05, 0x97, 0x10, 0x89, 0x68, 0xb9, 0xd8, 0x60, 0xb1, 0x34, 0x99,
- 0x6b, 0x6f, 0x9d, 0xde, 0x7b, 0xef, 0x7f, 0xd0, 0x53, 0x4f, 0xbd, 0xf7, 0xd2, 0x99, 0x4e, 0xa7,
- 0xc7, 0x1e, 0x3a, 0xfe, 0x17, 0x7a, 0xea, 0xad, 0x03, 0x2c, 0x96, 0x5c, 0x59, 0x5f, 0x96, 0x95,
- 0xdc, 0x80, 0xf7, 0x7e, 0xef, 0x07, 0xe0, 0xbd, 0x87, 0x87, 0xb7, 0x0b, 0x3f, 0x75, 0x89, 0x78,
- 0xc5, 0xf8, 0x29, 0x75, 0x07, 0x5b, 0xe3, 0xed, 0x1e, 0x11, 0x78, 0x7b, 0xab, 0x4f, 0x7c, 0x41,
- 0x5d, 0x2c, 0x28, 0x73, 0x2d, 0x1e, 0x38, 0xc4, 0xf0, 0x38, 0x13, 0x0c, 0x95, 0xa8, 0x2f, 0x28,
- 0x33, 0xe6, 0x06, 0x86, 0x36, 0x28, 0xdf, 0x1f, 0x30, 0x36, 0x70, 0xc8, 0x16, 0xf6, 0xe8, 0xd6,
- 0x09, 0x25, 0x4e, 0xdf, 0xea, 0x91, 0x21, 0x1e, 0x53, 0xc6, 0x43, 0xd3, 0xf2, 0x86, 0x06, 0xa8,
- 0x59, 0x2f, 0x38, 0xd9, 0xea, 0x07, 0x5c, 0xf1, 0x5f, 0xa6, 0x7f, 0xc5, 0xb1, 0xe7, 0x11, 0xee,
- 0x6b, 0xfd, 0xe6, 0x05, 0xbb, 0x1c, 0x53, 0x2e, 0x02, 0xec, 0x58, 0x3e, 0xe1, 0x63, 0x6a, 0xeb,
- 0x4d, 0x96, 0xd7, 0x07, 0x6c, 0xc0, 0xd4, 0x70, 0x4b, 0x8e, 0x42, 0x69, 0xe5, 0x5f, 0x09, 0x58,
- 0xab, 0xcf, 0x4f, 0x65, 0x06, 0x0e, 0x41, 0x25, 0x48, 0x0f, 0x99, 0x2f, 0x4a, 0x89, 0x07, 0x89,
- 0xcd, 0x5c, 0x2d, 0xfd, 0x7a, 0x37, 0x91, 0x34, 0x95, 0x04, 0x1d, 0xc1, 0xaa, 0xe0, 0xf8, 0xe4,
- 0x84, 0xda, 0x96, 0xc7, 0x1c, 0x6a, 0x4f, 0x4b, 0xc9, 0x07, 0x89, 0xcd, 0x7c, 0xf5, 0x7d, 0xe3,
- 0x32, 0x0f, 0x18, 0xdd, 0x10, 0xdf, 0x56, 0x70, 0x73, 0x45, 0xc4, 0xa7, 0xe8, 0x09, 0x2c, 0xfa,
- 0x41, 0xcf, 0x27, 0xc2, 0x2f, 0xa5, 0x1e, 0xa4, 0x36, 0xf3, 0xd5, 0x07, 0x97, 0x13, 0x75, 0x14,
- 0xd0, 0x8c, 0x0c, 0xd0, 0x3d, 0xc8, 0x91, 0x89, 0xc7, 0xb8, 0xb0, 0x04, 0x2b, 0xa5, 0x1f, 0xa4,
- 0x36, 0x73, 0xe6, 0x52, 0x28, 0xe8, 0xb2, 0xca, 0xbf, 0xb3, 0xb0, 0x72, 0x66, 0x65, 0xd4, 0x81,
- 0x15, 0x87, 0xe1, 0xbe, 0xd5, 0xc3, 0x0e, 0x76, 0x6d, 0xc2, 0xd5, 0xe9, 0xf2, 0x55, 0xe3, 0xf2,
- 0x05, 0x9b, 0x0c, 0xf7, 0x6b, 0x1a, 0xdd, 0x21, 0x42, 0x50, 0x77, 0xe0, 0x9b, 0xcb, 0x4e, 0x4c,
- 0x8a, 0x7e, 0x03, 0x6b, 0x36, 0x73, 0x5d, 0x62, 0xab, 0x8c, 0xf0, 0x18, 0x73, 0xb4, 0x43, 0x3e,
- 0xba, 0x9c, 0x76, 0x6f, 0x66, 0xd0, 0x66, 0xcc, 0x99, 0x11, 0xaf, 0xda, 0x67, 0xe4, 0xe8, 0x57,
- 0x50, 0x64, 0x81, 0x70, 0x28, 0xe1, 0x56, 0x9f, 0x88, 0x50, 0x51, 0x4a, 0x29, 0xf2, 0x87, 0x97,
- 0x93, 0xb7, 0x42, 0x93, 0x7a, 0x64, 0x61, 0x16, 0xd8, 0x1b, 0x12, 0xf4, 0x14, 0x52, 0xc2, 0xf1,
- 0x4b, 0x69, 0x45, 0xf5, 0xc1, 0x15, 0xfb, 0x74, 0x28, 0x71, 0x45, 0xb7, 0xd9, 0x99, 0x6d, 0x51,
- 0xda, 0x21, 0x0a, 0x77, 0x94, 0xd3, 0x1d, 0x32, 0x26, 0x32, 0xc5, 0x42, 0x5d, 0x29, 0xa3, 0xc2,
- 0xf7, 0xf1, 0x5b, 0xe6, 0x81, 0xd1, 0x96, 0x61, 0x3a, 0x93, 0x19, 0x45, 0xc9, 0xda, 0x94, 0xa4,
- 0xd1, 0x7a, 0xe5, 0x3f, 0xa6, 0xa0, 0x78, 0x0e, 0x88, 0x9e, 0x40, 0x5a, 0x42, 0x75, 0xfc, 0x7e,
- 0x72, 0xf9, 0x8a, 0xd2, 0xb4, 0x43, 0x1c, 0x62, 0x0b, 0xc6, 0x4d, 0x65, 0x73, 0x3e, 0x09, 0x92,
- 0xdf, 0x4f, 0x12, 0xa4, 0xbe, 0xcf, 0x24, 0x48, 0x7f, 0x77, 0x49, 0x90, 0x79, 0xb7, 0x24, 0xa8,
- 0xfc, 0x37, 0x01, 0xd9, 0xf0, 0x3e, 0xca, 0x62, 0xe1, 0xe2, 0x11, 0x39, 0x5b, 0x2c, 0xa4, 0x04,
- 0xd5, 0x21, 0xeb, 0xe0, 0x1e, 0x71, 0xfc, 0x52, 0x52, 0x25, 0xc7, 0x87, 0xd7, 0xdd, 0x6d, 0xa3,
- 0xa9, 0xe0, 0xfb, 0xae, 0xe0, 0x53, 0x53, 0xdb, 0x5e, 0x50, 0x72, 0x52, 0xb7, 0x29, 0x39, 0xe5,
- 0x8f, 0x21, 0x1f, 0x5b, 0x06, 0x15, 0x20, 0x75, 0x4a, 0xa6, 0xe1, 0xee, 0x4d, 0x39, 0x44, 0xeb,
- 0x90, 0x19, 0x63, 0x27, 0x20, 0x2a, 0x37, 0x72, 0x66, 0x38, 0x79, 0x92, 0xfc, 0x45, 0xa2, 0xf2,
- 0xf7, 0x2c, 0xac, 0x5f, 0x94, 0x0f, 0xe8, 0x05, 0x64, 0x7d, 0x3a, 0xf2, 0x9c, 0xd0, 0x0b, 0xab,
- 0xd5, 0x9f, 0xdf, 0x2c, 0x9f, 0x8c, 0x8e, 0x32, 0x6e, 0xd6, 0x1a, 0x0b, 0xa6, 0x26, 0x42, 0x5f,
- 0xab, 0xa4, 0xf2, 0xa9, 0x2f, 0x88, 0x2b, 0xac, 0x21, 0xf6, 0x87, 0x3a, 0x57, 0x3f, 0xbb, 0x21,
- 0xf7, 0xde, 0x8c, 0xa5, 0x81, 0xfd, 0xa1, 0x5a, 0x63, 0xd5, 0x3e, 0x23, 0x43, 0x04, 0xee, 0x38,
- 0xcc, 0xc6, 0x0e, 0x15, 0x53, 0xcb, 0xe9, 0x45, 0x77, 0x5a, 0xfb, 0x79, 0xe7, 0xaa, 0xf5, 0x42,
- 0xa3, 0x0b, 0xd6, 0x35, 0x8b, 0x11, 0x63, 0xb3, 0xa7, 0x45, 0xe5, 0xbf, 0xa4, 0xa0, 0xf0, 0xe6,
- 0x6e, 0xd0, 0x43, 0x28, 0x0c, 0x85, 0xf0, 0xac, 0x21, 0xc1, 0x7d, 0xc2, 0xad, 0x79, 0x2a, 0xc9,
- 0x7d, 0x4a, 0x4d, 0x43, 0x29, 0x8e, 0x64, 0x42, 0x8d, 0x20, 0xaf, 0xb0, 0x36, 0x63, 0xa7, 0x94,
- 0x68, 0x7f, 0x7c, 0x71, 0x4b, 0x7f, 0x18, 0x8d, 0x6e, 0xb7, 0xbd, 0xa7, 0x18, 0x1b, 0x0b, 0x26,
- 0xc8, 0x05, 0xc2, 0x19, 0xfa, 0x31, 0xac, 0x04, 0x3e, 0xb1, 0x7c, 0x16, 0x70, 0x9b, 0x58, 0xd4,
- 0x53, 0x0e, 0x59, 0x6a, 0x2c, 0x98, 0xf9, 0xc0, 0x27, 0x1d, 0x25, 0x3d, 0xf0, 0xd0, 0x27, 0xf0,
- 0x9e, 0xda, 0xd4, 0x37, 0x01, 0xe1, 0x53, 0xcb, 0xc3, 0x1c, 0x8f, 0x88, 0x88, 0x4e, 0x92, 0xd1,
- 0x27, 0xb9, 0x2b, 0x21, 0x2f, 0x24, 0xa2, 0x1d, 0x01, 0xd4, 0x89, 0x1e, 0x42, 0x71, 0x44, 0x5d,
- 0x3a, 0x0a, 0x46, 0x16, 0xa7, 0xee, 0xc0, 0xf2, 0xe9, 0xb7, 0x44, 0xdd, 0xef, 0xb4, 0xb9, 0xa6,
- 0x15, 0x26, 0x75, 0x07, 0x1d, 0xfa, 0x2d, 0x29, 0x8f, 0x00, 0xe6, 0x5b, 0xbd, 0xe2, 0xda, 0x21,
- 0x48, 0x7b, 0x58, 0x0c, 0x75, 0xfa, 0xaa, 0x31, 0xda, 0x86, 0x94, 0x10, 0x51, 0x59, 0x7a, 0xcf,
- 0x08, 0x7b, 0x0a, 0x23, 0xea, 0x29, 0x8c, 0xba, 0xee, 0x39, 0x34, 0x8f, 0xc4, 0xd6, 0x00, 0x96,
- 0x64, 0xd6, 0x59, 0xa7, 0x64, 0x5a, 0x69, 0xc0, 0x52, 0x94, 0xa2, 0x68, 0x0d, 0xf2, 0x66, 0xeb,
- 0xf8, 0xa8, 0x6e, 0x99, 0xad, 0xda, 0xc1, 0x51, 0x61, 0x01, 0xad, 0x02, 0x34, 0xf7, 0x77, 0x3b,
- 0x5d, 0x6b, 0xaf, 0x75, 0x74, 0x54, 0x48, 0x20, 0x80, 0xac, 0xb9, 0x7b, 0x54, 0x6f, 0x1d, 0x16,
- 0x92, 0x12, 0xdc, 0xde, 0xed, 0x74, 0xba, 0x0d, 0xb3, 0x75, 0xfc, 0xbc, 0x51, 0x48, 0xd5, 0xf2,
- 0x90, 0x73, 0x7a, 0xfa, 0x22, 0x57, 0xfe, 0xba, 0x04, 0x77, 0x2f, 0x2e, 0x84, 0xe8, 0x08, 0x52,
- 0xc2, 0xf6, 0x74, 0x8d, 0xff, 0xf4, 0xa6, 0x75, 0xd4, 0xe8, 0xee, 0xb5, 0x63, 0x05, 0xcb, 0xf6,
- 0xd0, 0x0b, 0x48, 0xcb, 0x10, 0xe8, 0x9c, 0x79, 0x7a, 0x63, 0x42, 0xe9, 0xf9, 0x19, 0xa3, 0xa2,
- 0x2a, 0xff, 0x2f, 0x09, 0xf9, 0xd8, 0x3a, 0xe8, 0x7d, 0x58, 0x1b, 0xe1, 0x89, 0x35, 0xaf, 0xe0,
- 0xbe, 0xda, 0x7e, 0xc6, 0x5c, 0x1d, 0xe1, 0xc9, 0x9c, 0xd6, 0x47, 0xb5, 0xd9, 0x7b, 0x61, 0x09,
- 0x3a, 0x22, 0x2c, 0x10, 0x7a, 0x5b, 0x97, 0x07, 0x66, 0xf6, 0x30, 0x74, 0x43, 0x03, 0xe4, 0xc2,
- 0x8a, 0xb0, 0x3d, 0xeb, 0x94, 0x10, 0x0f, 0x3b, 0x74, 0x4c, 0x74, 0x68, 0x0f, 0x6e, 0xe3, 0x29,
- 0xa3, 0x6b, 0x7b, 0x5f, 0x46, 0x84, 0xe6, 0xb2, 0x88, 0xcd, 0xca, 0x7f, 0x48, 0xc0, 0x72, 0x5c,
- 0x8d, 0xee, 0x42, 0xd6, 0xe3, 0xac, 0x47, 0xc2, 0x43, 0xae, 0x98, 0x7a, 0x86, 0x1e, 0x41, 0x5a,
- 0x1e, 0xea, 0xfa, 0x13, 0x29, 0x18, 0xda, 0x81, 0x25, 0xea, 0x0a, 0xc2, 0xc7, 0xf8, 0xfa, 0xec,
- 0x34, 0x67, 0xd0, 0xf2, 0xef, 0xd2, 0xb0, 0x1c, 0x0f, 0x09, 0xfa, 0x04, 0xca, 0x32, 0x28, 0xdb,
- 0x96, 0x0c, 0x81, 0x47, 0xdc, 0xbe, 0xbc, 0x4d, 0x9c, 0x7c, 0x13, 0x10, 0x5f, 0x44, 0x71, 0xf8,
- 0x81, 0x42, 0x1c, 0xe2, 0x49, 0x3b, 0xd4, 0x9b, 0x5a, 0x8d, 0x3e, 0x04, 0x24, 0x55, 0x55, 0x65,
- 0x3c, 0x33, 0x4a, 0x2a, 0x23, 0x55, 0x9d, 0xaa, 0x87, 0x78, 0x32, 0x43, 0x3f, 0x85, 0x7b, 0x71,
- 0x9c, 0xe5, 0x11, 0x1e, 0x0b, 0xba, 0x3a, 0x45, 0xc6, 0x2c, 0x8d, 0xe6, 0x16, 0x6d, 0xc2, 0xe7,
- 0xce, 0x47, 0xf7, 0x21, 0x1f, 0x9a, 0x0b, 0x4e, 0x49, 0xd8, 0x86, 0x65, 0x4c, 0x50, 0x70, 0x25,
- 0x41, 0x9f, 0xc2, 0x32, 0xed, 0x3b, 0x64, 0x96, 0x1b, 0x99, 0xeb, 0xdc, 0x92, 0x97, 0xf0, 0x28,
- 0x31, 0xa6, 0x50, 0x1c, 0x56, 0xad, 0xc0, 0x1b, 0x70, 0xdc, 0x27, 0xd1, 0x8b, 0x99, 0x55, 0xaf,
- 0xd2, 0xe1, 0xad, 0xb2, 0xde, 0x68, 0x54, 0x8f, 0x43, 0x56, 0xfd, 0xae, 0xae, 0x0d, 0xcf, 0x0a,
- 0x90, 0x01, 0x77, 0x64, 0xbd, 0xb4, 0x55, 0xcb, 0x60, 0xa9, 0x7d, 0xda, 0xcc, 0x29, 0x2d, 0xca,
- 0xaa, 0x69, 0x16, 0x03, 0x9f, 0x84, 0xcd, 0x44, 0x5b, 0x2b, 0x2a, 0x9f, 0xc1, 0xda, 0x1b, 0x9c,
- 0x28, 0x0f, 0x8b, 0xf5, 0xfd, 0x67, 0xbb, 0xc7, 0xcd, 0x6e, 0x61, 0x01, 0x21, 0x58, 0xad, 0xb7,
- 0xac, 0xa3, 0x56, 0xd7, 0x3a, 0x6e, 0x3f, 0x37, 0x77, 0xeb, 0xfb, 0x85, 0x84, 0x04, 0x44, 0x93,
- 0x64, 0xe5, 0xf7, 0x19, 0x28, 0xbc, 0xd9, 0xeb, 0xa0, 0x6d, 0x40, 0xf2, 0x79, 0x23, 0x76, 0x20,
- 0xe8, 0x98, 0x58, 0x84, 0x73, 0xc6, 0x75, 0x06, 0xd4, 0x92, 0xa5, 0x84, 0x59, 0x8c, 0x69, 0xf7,
- 0x95, 0x12, 0x7d, 0x01, 0x15, 0xdf, 0x73, 0xa8, 0xb0, 0xc8, 0x44, 0x10, 0xee, 0x62, 0xc7, 0x52,
- 0x8f, 0x97, 0xc5, 0x38, 0x1d, 0x50, 0x37, 0xa2, 0x58, 0x52, 0xe7, 0xd8, 0x50, 0xc8, 0x7d, 0x0d,
- 0x54, 0x2f, 0x60, 0x4b, 0xc1, 0x34, 0xd7, 0x00, 0x7e, 0x14, 0x5f, 0xfe, 0x0c, 0xd1, 0x09, 0xa6,
- 0x4e, 0xc0, 0x89, 0x5f, 0xca, 0xa9, 0x90, 0xfe, 0xf0, 0x5c, 0x48, 0x8f, 0x0f, 0x5c, 0xf1, 0xb8,
- 0xfa, 0x95, 0x6c, 0x38, 0xcc, 0x8d, 0x18, 0x4d, 0x6c, 0x99, 0x67, 0x9a, 0x03, 0xbd, 0x84, 0x72,
- 0x7c, 0xa1, 0x01, 0x16, 0xe4, 0x15, 0x9e, 0x46, 0x9b, 0xcd, 0xbe, 0xc5, 0x0a, 0xa5, 0x98, 0xfd,
- 0xf3, 0xd0, 0x5c, 0x1f, 0xc2, 0x84, 0xbb, 0x71, 0xee, 0x9d, 0xc9, 0x24, 0xe2, 0x5d, 0x7c, 0x0b,
- 0xde, 0xf5, 0x98, 0xed, 0xce, 0x64, 0xa2, 0x39, 0xe3, 0x37, 0x3d, 0xf9, 0xd6, 0x37, 0x1d, 0x3d,
- 0x07, 0xd4, 0xc3, 0x3e, 0xb1, 0xc8, 0xd7, 0xba, 0xbf, 0x56, 0xd5, 0xe5, 0xda, 0x52, 0x51, 0x90,
- 0x46, 0xfb, 0xda, 0x46, 0xde, 0x0d, 0xf4, 0x11, 0xac, 0xcb, 0x7b, 0x37, 0xe3, 0xf1, 0x08, 0xb7,
- 0x89, 0x2b, 0xf4, 0x05, 0x44, 0x23, 0x3c, 0x89, 0xe0, 0xed, 0x50, 0x23, 0xcb, 0xc2, 0x88, 0xba,
- 0xb2, 0x33, 0x71, 0xc4, 0x70, 0x86, 0xcf, 0x84, 0x65, 0x61, 0x44, 0xdd, 0x86, 0x52, 0x68, 0x74,
- 0xe5, 0x9f, 0x29, 0x28, 0x9e, 0xeb, 0x96, 0xd1, 0x21, 0xa4, 0x47, 0xac, 0x1f, 0xf5, 0x85, 0x8f,
- 0x6f, 0xd0, 0x68, 0x1b, 0xdd, 0x66, 0x47, 0x9a, 0x46, 0x6f, 0xbb, 0x1c, 0xa3, 0x47, 0x80, 0xf4,
- 0xf5, 0xb2, 0x09, 0x17, 0xf4, 0x84, 0xda, 0x58, 0x44, 0x8d, 0x6a, 0x31, 0xd4, 0xec, 0xcd, 0x15,
- 0xb2, 0xd6, 0x78, 0x9c, 0x8e, 0xb1, 0x20, 0xf2, 0x19, 0x57, 0x5e, 0xcb, 0x99, 0xa0, 0x45, 0x5f,
- 0x92, 0xa9, 0x7c, 0xb3, 0x6c, 0x1c, 0xe7, 0x0a, 0x0b, 0x52, 0xce, 0x5c, 0xb5, 0x71, 0x8c, 0x48,
- 0x3d, 0x6e, 0x36, 0x27, 0x7d, 0xe2, 0x0a, 0x8a, 0x9d, 0xb0, 0xb7, 0x59, 0xd4, 0xc0, 0x99, 0x38,
- 0xea, 0x68, 0xfc, 0xa0, 0x27, 0x3d, 0x69, 0x61, 0x47, 0x28, 0x64, 0xf8, 0x71, 0x98, 0x33, 0xd7,
- 0xb4, 0x62, 0xd7, 0x11, 0x12, 0xea, 0xcb, 0xde, 0xdb, 0x77, 0xa9, 0xca, 0xd5, 0x9c, 0x29, 0x87,
- 0xa8, 0x09, 0xeb, 0x54, 0xe5, 0x0e, 0x27, 0x96, 0x7f, 0x4a, 0x3d, 0x6b, 0x4c, 0x38, 0x3d, 0x99,
- 0xaa, 0xbb, 0x97, 0xaf, 0x96, 0xcf, 0xc5, 0xbb, 0xc6, 0x98, 0x13, 0x26, 0x1d, 0x8a, 0xec, 0x3a,
- 0xa7, 0xd4, 0xfb, 0x4a, 0x59, 0x55, 0x3e, 0x87, 0x45, 0xed, 0x44, 0x55, 0x58, 0x0e, 0x3a, 0xbb,
- 0xb5, 0xe6, 0x7e, 0x61, 0x41, 0x76, 0x28, 0x9d, 0x83, 0xc3, 0x76, 0x73, 0x3f, 0xec, 0x56, 0x0e,
- 0x8f, 0xbb, 0xc7, 0xbb, 0xcd, 0x42, 0x12, 0x15, 0x60, 0xf9, 0xa0, 0xd3, 0x3d, 0x68, 0x59, 0x5a,
- 0x92, 0xaa, 0xfc, 0x29, 0x0d, 0xf7, 0xae, 0xe8, 0x72, 0xd1, 0x6f, 0x01, 0xfa, 0xd4, 0x17, 0x9c,
- 0xf6, 0x02, 0x21, 0x83, 0x2c, 0x3f, 0x73, 0x3e, 0x7f, 0xa7, 0x86, 0xd9, 0xa8, 0xcf, 0x78, 0xcc,
- 0x18, 0x27, 0x7a, 0x09, 0x4b, 0xb2, 0x6c, 0xb0, 0xb1, 0xfa, 0x58, 0x95, 0xfc, 0xbf, 0x7c, 0x37,
- 0xfe, 0x67, 0x9a, 0xc5, 0x9c, 0xf1, 0xa1, 0x0f, 0xa0, 0x18, 0x8d, 0x2d, 0x8f, 0x53, 0xc6, 0xa9,
- 0x98, 0xea, 0x3f, 0x29, 0x85, 0x48, 0xd1, 0xd6, 0x72, 0xf4, 0x33, 0x58, 0x24, 0x2e, 0xee, 0x39,
- 0xa4, 0xaf, 0x6f, 0xdf, 0x55, 0xd1, 0x88, 0xa0, 0xe5, 0x3f, 0x27, 0x00, 0xe6, 0x27, 0x93, 0xbd,
- 0xe9, 0x09, 0x67, 0x23, 0xfd, 0xb9, 0xa5, 0xc6, 0xe8, 0xd7, 0x90, 0x14, 0x4c, 0x9f, 0xad, 0x71,
- 0x5b, 0xdf, 0x19, 0x5d, 0x16, 0x7e, 0x3e, 0x26, 0x05, 0x2b, 0xef, 0xc0, 0xa2, 0x9e, 0x5e, 0xf7,
- 0x99, 0xb7, 0x12, 0xfb, 0xcc, 0x2b, 0x1b, 0xb0, 0x14, 0x39, 0xeb, 0xc2, 0x0d, 0xaf, 0xea, 0x0d,
- 0x4b, 0x49, 0x52, 0xb0, 0xda, 0xa3, 0xbf, 0xbd, 0xde, 0x48, 0xfc, 0xe3, 0xf5, 0x46, 0xe2, 0x3f,
- 0xaf, 0x37, 0x12, 0x2f, 0xef, 0x87, 0x27, 0xa0, 0x4c, 0xfd, 0xf3, 0x3b, 0xff, 0x77, 0xae, 0x97,
- 0x55, 0xfe, 0x7a, 0xfc, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x2e, 0xe9, 0x6d, 0x99, 0x60, 0x14,
- 0x00, 0x00,
-}
-
-func (m *DestinationRule) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
+func (x *TrafficPolicy_TunnelSettings) GetTargetHost() string {
+ if x != nil {
+ return x.TargetHost
}
- return dAtA[:n], nil
+ return ""
}
-func (m *DestinationRule) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+func (x *TrafficPolicy_TunnelSettings) GetTargetPort() uint32 {
+ if x != nil {
+ return x.TargetPort
+ }
+ return 0
}
-func (m *DestinationRule) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.ExportTo) > 0 {
- for iNdEx := len(m.ExportTo) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.ExportTo[iNdEx])
- copy(dAtA[i:], m.ExportTo[iNdEx])
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.ExportTo[iNdEx])))
- i--
- dAtA[i] = 0x22
- }
- }
- if len(m.Subsets) > 0 {
- for iNdEx := len(m.Subsets) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Subsets[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- }
- if m.TrafficPolicy != nil {
- {
- size, err := m.TrafficPolicy.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- if len(m.Host) > 0 {
- i -= len(m.Host)
- copy(dAtA[i:], m.Host)
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.Host)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
+// Consistent Hash-based load balancing can be used to provide soft
+// session affinity based on HTTP headers, cookies or other
+// properties. The affinity to a particular destination host will be
+// lost when one or more hosts are added/removed from the destination
+// service.
+type LoadBalancerSettings_ConsistentHashLB struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The hash key to use.
+ //
+ // Types that are assignable to HashKey:
+ // *LoadBalancerSettings_ConsistentHashLB_HttpHeaderName
+ // *LoadBalancerSettings_ConsistentHashLB_HttpCookie
+ // *LoadBalancerSettings_ConsistentHashLB_UseSourceIp
+ // *LoadBalancerSettings_ConsistentHashLB_HttpQueryParameterName
+ HashKey isLoadBalancerSettings_ConsistentHashLB_HashKey `protobuf_oneof:"hash_key"`
+ // The minimum number of virtual nodes to use for the hash
+ // ring. Defaults to 1024. Larger ring sizes result in more granular
+ // load distributions. If the number of hosts in the load balancing
+ // pool is larger than the ring size, each host will be assigned a
+ // single virtual node.
+ MinimumRingSize uint64 `protobuf:"varint,4,opt,name=minimum_ring_size,json=minimumRingSize,proto3" json:"minimum_ring_size,omitempty"`
}
-func (m *TrafficPolicy) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
+func (x *LoadBalancerSettings_ConsistentHashLB) Reset() {
+ *x = LoadBalancerSettings_ConsistentHashLB{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_destination_rule_proto_msgTypes[11]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- return dAtA[:n], nil
}
-func (m *TrafficPolicy) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+func (x *LoadBalancerSettings_ConsistentHashLB) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *TrafficPolicy) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.PortLevelSettings) > 0 {
- for iNdEx := len(m.PortLevelSettings) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.PortLevelSettings[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x2a
- }
- }
- if m.Tls != nil {
- {
- size, err := m.Tls.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x22
- }
- if m.OutlierDetection != nil {
- {
- size, err := m.OutlierDetection.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- if m.ConnectionPool != nil {
- {
- size, err := m.ConnectionPool.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- if m.LoadBalancer != nil {
- {
- size, err := m.LoadBalancer.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
+func (*LoadBalancerSettings_ConsistentHashLB) ProtoMessage() {}
+
+func (x *LoadBalancerSettings_ConsistentHashLB) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_destination_rule_proto_msgTypes[11]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- i--
- dAtA[i] = 0xa
+ return ms
}
- return len(dAtA) - i, nil
+ return mi.MessageOf(x)
}
-func (m *TrafficPolicy_PortTrafficPolicy) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
+// Deprecated: Use LoadBalancerSettings_ConsistentHashLB.ProtoReflect.Descriptor instead.
+func (*LoadBalancerSettings_ConsistentHashLB) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_destination_rule_proto_rawDescGZIP(), []int{3, 0}
}
-func (m *TrafficPolicy_PortTrafficPolicy) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+func (m *LoadBalancerSettings_ConsistentHashLB) GetHashKey() isLoadBalancerSettings_ConsistentHashLB_HashKey {
+ if m != nil {
+ return m.HashKey
+ }
+ return nil
}
-func (m *TrafficPolicy_PortTrafficPolicy) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Tls != nil {
- {
- size, err := m.Tls.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x2a
- }
- if m.OutlierDetection != nil {
- {
- size, err := m.OutlierDetection.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x22
- }
- if m.ConnectionPool != nil {
- {
- size, err := m.ConnectionPool.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- if m.LoadBalancer != nil {
- {
- size, err := m.LoadBalancer.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- if m.Port != nil {
- {
- size, err := m.Port.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
+func (x *LoadBalancerSettings_ConsistentHashLB) GetHttpHeaderName() string {
+ if x, ok := x.GetHashKey().(*LoadBalancerSettings_ConsistentHashLB_HttpHeaderName); ok {
+ return x.HttpHeaderName
}
- return len(dAtA) - i, nil
+ return ""
}
-func (m *Subset) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
+func (x *LoadBalancerSettings_ConsistentHashLB) GetHttpCookie() *LoadBalancerSettings_ConsistentHashLB_HTTPCookie {
+ if x, ok := x.GetHashKey().(*LoadBalancerSettings_ConsistentHashLB_HttpCookie); ok {
+ return x.HttpCookie
}
- return dAtA[:n], nil
+ return nil
}
-func (m *Subset) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+func (x *LoadBalancerSettings_ConsistentHashLB) GetUseSourceIp() bool {
+ if x, ok := x.GetHashKey().(*LoadBalancerSettings_ConsistentHashLB_UseSourceIp); ok {
+ return x.UseSourceIp
+ }
+ return false
}
-func (m *Subset) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.TrafficPolicy != nil {
- {
- size, err := m.TrafficPolicy.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- if len(m.Labels) > 0 {
- for k := range m.Labels {
- v := m.Labels[k]
- baseI := i
- i -= len(v)
- copy(dAtA[i:], v)
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(v)))
- i--
- dAtA[i] = 0x12
- i -= len(k)
- copy(dAtA[i:], k)
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(k)))
- i--
- dAtA[i] = 0xa
- i = encodeVarintDestinationRule(dAtA, i, uint64(baseI-i))
- i--
- dAtA[i] = 0x12
- }
- }
- if len(m.Name) > 0 {
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0xa
+func (x *LoadBalancerSettings_ConsistentHashLB) GetHttpQueryParameterName() string {
+ if x, ok := x.GetHashKey().(*LoadBalancerSettings_ConsistentHashLB_HttpQueryParameterName); ok {
+ return x.HttpQueryParameterName
}
- return len(dAtA) - i, nil
+ return ""
}
-func (m *LoadBalancerSettings) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
+func (x *LoadBalancerSettings_ConsistentHashLB) GetMinimumRingSize() uint64 {
+ if x != nil {
+ return x.MinimumRingSize
}
- return dAtA[:n], nil
+ return 0
}
-func (m *LoadBalancerSettings) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+type isLoadBalancerSettings_ConsistentHashLB_HashKey interface {
+ isLoadBalancerSettings_ConsistentHashLB_HashKey()
}
-func (m *LoadBalancerSettings) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.LocalityLbSetting != nil {
- {
- size, err := m.LocalityLbSetting.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- if m.LbPolicy != nil {
- {
- size := m.LbPolicy.Size()
- i -= size
- if _, err := m.LbPolicy.MarshalTo(dAtA[i:]); err != nil {
- return 0, err
- }
- }
- }
- return len(dAtA) - i, nil
+type LoadBalancerSettings_ConsistentHashLB_HttpHeaderName struct {
+ // Hash based on a specific HTTP header.
+ HttpHeaderName string `protobuf:"bytes,1,opt,name=http_header_name,json=httpHeaderName,proto3,oneof"`
}
-func (m *LoadBalancerSettings_Simple) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+type LoadBalancerSettings_ConsistentHashLB_HttpCookie struct {
+ // Hash based on HTTP cookie.
+ HttpCookie *LoadBalancerSettings_ConsistentHashLB_HTTPCookie `protobuf:"bytes,2,opt,name=http_cookie,json=httpCookie,proto3,oneof"`
}
-func (m *LoadBalancerSettings_Simple) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- i = encodeVarintDestinationRule(dAtA, i, uint64(m.Simple))
- i--
- dAtA[i] = 0x8
- return len(dAtA) - i, nil
-}
-func (m *LoadBalancerSettings_ConsistentHash) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+type LoadBalancerSettings_ConsistentHashLB_UseSourceIp struct {
+ // Hash based on the source IP address.
+ // This is applicable for both TCP and HTTP connections.
+ UseSourceIp bool `protobuf:"varint,3,opt,name=use_source_ip,json=useSourceIp,proto3,oneof"`
}
-func (m *LoadBalancerSettings_ConsistentHash) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- if m.ConsistentHash != nil {
- {
- size, err := m.ConsistentHash.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- return len(dAtA) - i, nil
-}
-func (m *LoadBalancerSettings_ConsistentHashLB) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
+type LoadBalancerSettings_ConsistentHashLB_HttpQueryParameterName struct {
+ // Hash based on a specific HTTP query parameter.
+ HttpQueryParameterName string `protobuf:"bytes,5,opt,name=http_query_parameter_name,json=httpQueryParameterName,proto3,oneof"`
}
-func (m *LoadBalancerSettings_ConsistentHashLB) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+func (*LoadBalancerSettings_ConsistentHashLB_HttpHeaderName) isLoadBalancerSettings_ConsistentHashLB_HashKey() {
}
-func (m *LoadBalancerSettings_ConsistentHashLB) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.HashKey != nil {
- {
- size := m.HashKey.Size()
- i -= size
- if _, err := m.HashKey.MarshalTo(dAtA[i:]); err != nil {
- return 0, err
- }
- }
- }
- if m.MinimumRingSize != 0 {
- i = encodeVarintDestinationRule(dAtA, i, uint64(m.MinimumRingSize))
- i--
- dAtA[i] = 0x20
- }
- return len(dAtA) - i, nil
+func (*LoadBalancerSettings_ConsistentHashLB_HttpCookie) isLoadBalancerSettings_ConsistentHashLB_HashKey() {
}
-func (m *LoadBalancerSettings_ConsistentHashLB_HttpHeaderName) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+func (*LoadBalancerSettings_ConsistentHashLB_UseSourceIp) isLoadBalancerSettings_ConsistentHashLB_HashKey() {
}
-func (m *LoadBalancerSettings_ConsistentHashLB_HttpHeaderName) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- i -= len(m.HttpHeaderName)
- copy(dAtA[i:], m.HttpHeaderName)
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.HttpHeaderName)))
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-func (m *LoadBalancerSettings_ConsistentHashLB_HttpCookie) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+func (*LoadBalancerSettings_ConsistentHashLB_HttpQueryParameterName) isLoadBalancerSettings_ConsistentHashLB_HashKey() {
}
-func (m *LoadBalancerSettings_ConsistentHashLB_HttpCookie) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- if m.HttpCookie != nil {
- {
- size, err := m.HttpCookie.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- return len(dAtA) - i, nil
-}
-func (m *LoadBalancerSettings_ConsistentHashLB_UseSourceIp) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+// Describes a HTTP cookie that will be used as the hash key for the
+// Consistent Hash load balancer. If the cookie is not present, it will
+// be generated.
+type LoadBalancerSettings_ConsistentHashLB_HTTPCookie struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Name of the cookie.
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ // Path to set for the cookie.
+ Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
+ // Lifetime of the cookie.
+ Ttl *duration.Duration `protobuf:"bytes,3,opt,name=ttl,proto3" json:"ttl,omitempty"`
}
-func (m *LoadBalancerSettings_ConsistentHashLB_UseSourceIp) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- i--
- if m.UseSourceIp {
- dAtA[i] = 1
- } else {
- dAtA[i] = 0
+func (x *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Reset() {
+ *x = LoadBalancerSettings_ConsistentHashLB_HTTPCookie{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_destination_rule_proto_msgTypes[12]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- i--
- dAtA[i] = 0x18
- return len(dAtA) - i, nil
-}
-func (m *LoadBalancerSettings_ConsistentHashLB_HttpQueryParameterName) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *LoadBalancerSettings_ConsistentHashLB_HttpQueryParameterName) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- i -= len(m.HttpQueryParameterName)
- copy(dAtA[i:], m.HttpQueryParameterName)
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.HttpQueryParameterName)))
- i--
- dAtA[i] = 0x2a
- return len(dAtA) - i, nil
-}
-func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
}
-func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+func (x *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Ttl != nil {
- {
- size, err := m.Ttl.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
+func (*LoadBalancerSettings_ConsistentHashLB_HTTPCookie) ProtoMessage() {}
+
+func (x *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_destination_rule_proto_msgTypes[12]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- i--
- dAtA[i] = 0x1a
- }
- if len(m.Path) > 0 {
- i -= len(m.Path)
- copy(dAtA[i:], m.Path)
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.Path)))
- i--
- dAtA[i] = 0x12
+ return ms
}
- if len(m.Name) > 0 {
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
+ return mi.MessageOf(x)
}
-func (m *ConnectionPoolSettings) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
+// Deprecated: Use LoadBalancerSettings_ConsistentHashLB_HTTPCookie.ProtoReflect.Descriptor instead.
+func (*LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_destination_rule_proto_rawDescGZIP(), []int{3, 0, 0}
}
-func (m *ConnectionPoolSettings) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+func (x *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
}
-func (m *ConnectionPoolSettings) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Http != nil {
- {
- size, err := m.Http.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
+func (x *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) GetPath() string {
+ if x != nil {
+ return x.Path
}
- if m.Tcp != nil {
- {
- size, err := m.Tcp.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
+ return ""
}
-func (m *ConnectionPoolSettings_TCPSettings) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
+func (x *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) GetTtl() *duration.Duration {
+ if x != nil {
+ return x.Ttl
}
- return dAtA[:n], nil
+ return nil
}
-func (m *ConnectionPoolSettings_TCPSettings) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
+// Settings common to both HTTP and TCP upstream connections.
+type ConnectionPoolSettings_TCPSettings struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
-func (m *ConnectionPoolSettings_TCPSettings) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.TcpKeepalive != nil {
- {
- size, err := m.TcpKeepalive.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- if m.ConnectTimeout != nil {
- {
- size, err := m.ConnectTimeout.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- if m.MaxConnections != 0 {
- i = encodeVarintDestinationRule(dAtA, i, uint64(m.MaxConnections))
- i--
- dAtA[i] = 0x8
- }
- return len(dAtA) - i, nil
+ // Maximum number of HTTP1 /TCP connections to a destination host. Default 2^32-1.
+ MaxConnections int32 `protobuf:"varint,1,opt,name=max_connections,json=maxConnections,proto3" json:"max_connections,omitempty"`
+ // TCP connection timeout. format:
+ // 1h/1m/1s/1ms. MUST BE >=1ms. Default is 10s.
+ ConnectTimeout *duration.Duration `protobuf:"bytes,2,opt,name=connect_timeout,json=connectTimeout,proto3" json:"connect_timeout,omitempty"`
+ // If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
+ TcpKeepalive *ConnectionPoolSettings_TCPSettings_TcpKeepalive `protobuf:"bytes,3,opt,name=tcp_keepalive,json=tcpKeepalive,proto3" json:"tcp_keepalive,omitempty"`
}
-func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
+func (x *ConnectionPoolSettings_TCPSettings) Reset() {
+ *x = ConnectionPoolSettings_TCPSettings{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_destination_rule_proto_msgTypes[13]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- return dAtA[:n], nil
}
-func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+func (x *ConnectionPoolSettings_TCPSettings) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Interval != nil {
- {
- size, err := m.Interval.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- if m.Time != nil {
- {
- size, err := m.Time.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
+func (*ConnectionPoolSettings_TCPSettings) ProtoMessage() {}
+
+func (x *ConnectionPoolSettings_TCPSettings) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_destination_rule_proto_msgTypes[13]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- i--
- dAtA[i] = 0x12
- }
- if m.Probes != 0 {
- i = encodeVarintDestinationRule(dAtA, i, uint64(m.Probes))
- i--
- dAtA[i] = 0x8
+ return ms
}
- return len(dAtA) - i, nil
+ return mi.MessageOf(x)
}
-func (m *ConnectionPoolSettings_HTTPSettings) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
+// Deprecated: Use ConnectionPoolSettings_TCPSettings.ProtoReflect.Descriptor instead.
+func (*ConnectionPoolSettings_TCPSettings) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_destination_rule_proto_rawDescGZIP(), []int{4, 0}
}
-func (m *ConnectionPoolSettings_HTTPSettings) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+func (x *ConnectionPoolSettings_TCPSettings) GetMaxConnections() int32 {
+ if x != nil {
+ return x.MaxConnections
+ }
+ return 0
}
-func (m *ConnectionPoolSettings_HTTPSettings) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
+func (x *ConnectionPoolSettings_TCPSettings) GetConnectTimeout() *duration.Duration {
+ if x != nil {
+ return x.ConnectTimeout
}
- if m.UseClientProtocol {
- i--
- if m.UseClientProtocol {
- dAtA[i] = 1
- } else {
- dAtA[i] = 0
- }
- i--
- dAtA[i] = 0x38
- }
- if m.H2UpgradePolicy != 0 {
- i = encodeVarintDestinationRule(dAtA, i, uint64(m.H2UpgradePolicy))
- i--
- dAtA[i] = 0x30
- }
- if m.IdleTimeout != nil {
- {
- size, err := m.IdleTimeout.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x2a
- }
- if m.MaxRetries != 0 {
- i = encodeVarintDestinationRule(dAtA, i, uint64(m.MaxRetries))
- i--
- dAtA[i] = 0x20
- }
- if m.MaxRequestsPerConnection != 0 {
- i = encodeVarintDestinationRule(dAtA, i, uint64(m.MaxRequestsPerConnection))
- i--
- dAtA[i] = 0x18
- }
- if m.Http2MaxRequests != 0 {
- i = encodeVarintDestinationRule(dAtA, i, uint64(m.Http2MaxRequests))
- i--
- dAtA[i] = 0x10
- }
- if m.Http1MaxPendingRequests != 0 {
- i = encodeVarintDestinationRule(dAtA, i, uint64(m.Http1MaxPendingRequests))
- i--
- dAtA[i] = 0x8
- }
- return len(dAtA) - i, nil
+ return nil
}
-func (m *OutlierDetection) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
+func (x *ConnectionPoolSettings_TCPSettings) GetTcpKeepalive() *ConnectionPoolSettings_TCPSettings_TcpKeepalive {
+ if x != nil {
+ return x.TcpKeepalive
}
- return dAtA[:n], nil
+ return nil
}
-func (m *OutlierDetection) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
+// Settings applicable to HTTP1.1/HTTP2/GRPC connections.
+type ConnectionPoolSettings_HTTPSettings struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
-func (m *OutlierDetection) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.ConsecutiveLocalOriginFailures != nil {
- {
- size, err := m.ConsecutiveLocalOriginFailures.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x4a
- }
- if m.SplitExternalLocalOriginErrors {
- i--
- if m.SplitExternalLocalOriginErrors {
- dAtA[i] = 1
- } else {
- dAtA[i] = 0
- }
- i--
- dAtA[i] = 0x40
- }
- if m.Consecutive_5XxErrors != nil {
- {
- size, err := m.Consecutive_5XxErrors.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x3a
- }
- if m.ConsecutiveGatewayErrors != nil {
- {
- size, err := m.ConsecutiveGatewayErrors.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x32
- }
- if m.MinHealthPercent != 0 {
- i = encodeVarintDestinationRule(dAtA, i, uint64(m.MinHealthPercent))
- i--
- dAtA[i] = 0x28
- }
- if m.MaxEjectionPercent != 0 {
- i = encodeVarintDestinationRule(dAtA, i, uint64(m.MaxEjectionPercent))
- i--
- dAtA[i] = 0x20
- }
- if m.BaseEjectionTime != nil {
- {
- size, err := m.BaseEjectionTime.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- if m.Interval != nil {
- {
- size, err := m.Interval.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- if m.ConsecutiveErrors != 0 {
- i = encodeVarintDestinationRule(dAtA, i, uint64(m.ConsecutiveErrors))
- i--
- dAtA[i] = 0x8
- }
- return len(dAtA) - i, nil
+ // Maximum number of pending HTTP requests to a destination. Default 2^32-1.
+ Http1MaxPendingRequests int32 `protobuf:"varint,1,opt,name=http1_max_pending_requests,json=http1MaxPendingRequests,proto3" json:"http1_max_pending_requests,omitempty"`
+ // Maximum number of requests to a backend. Default 2^32-1.
+ Http2MaxRequests int32 `protobuf:"varint,2,opt,name=http2_max_requests,json=http2MaxRequests,proto3" json:"http2_max_requests,omitempty"`
+ // Maximum number of requests per connection to a backend. Setting this
+ // parameter to 1 disables keep alive. Default 0, meaning "unlimited",
+ // up to 2^29.
+ MaxRequestsPerConnection int32 `protobuf:"varint,3,opt,name=max_requests_per_connection,json=maxRequestsPerConnection,proto3" json:"max_requests_per_connection,omitempty"`
+ // Maximum number of retries that can be outstanding to all hosts in a
+ // cluster at a given time. Defaults to 2^32-1.
+ MaxRetries int32 `protobuf:"varint,4,opt,name=max_retries,json=maxRetries,proto3" json:"max_retries,omitempty"`
+ // The idle timeout for upstream connection pool connections. The idle timeout
+ // is defined as the period in which there are no active requests.
+ // If not set, the default is 1 hour. When the idle timeout is reached,
+ // the connection will be closed. If the connection is an HTTP/2
+ // connection a drain sequence will occur prior to closing the connection.
+ // Note that request based timeouts mean that HTTP/2 PINGs will not
+ // keep the connection alive. Applies to both HTTP1.1 and HTTP2 connections.
+ IdleTimeout *duration.Duration `protobuf:"bytes,5,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"`
+ // Specify if http1.1 connection should be upgraded to http2 for the associated destination.
+ H2UpgradePolicy ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy `protobuf:"varint,6,opt,name=h2_upgrade_policy,json=h2UpgradePolicy,proto3,enum=istio.networking.v1beta1.ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy" json:"h2_upgrade_policy,omitempty"`
+ // If set to true, client protocol will be preserved while initiating connection to backend.
+ // Note that when this is set to true, h2_upgrade_policy will be ineffective i.e. the client
+ // connections will not be upgraded to http2.
+ UseClientProtocol bool `protobuf:"varint,7,opt,name=use_client_protocol,json=useClientProtocol,proto3" json:"use_client_protocol,omitempty"`
}
-func (m *ClientTLSSettings) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
+func (x *ConnectionPoolSettings_HTTPSettings) Reset() {
+ *x = ConnectionPoolSettings_HTTPSettings{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_destination_rule_proto_msgTypes[14]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- return dAtA[:n], nil
}
-func (m *ClientTLSSettings) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+func (x *ConnectionPoolSettings_HTTPSettings) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *ClientTLSSettings) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.InsecureSkipVerify != nil {
- {
- size, err := m.InsecureSkipVerify.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x42
- }
- if len(m.CredentialName) > 0 {
- i -= len(m.CredentialName)
- copy(dAtA[i:], m.CredentialName)
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.CredentialName)))
- i--
- dAtA[i] = 0x3a
- }
- if len(m.Sni) > 0 {
- i -= len(m.Sni)
- copy(dAtA[i:], m.Sni)
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.Sni)))
- i--
- dAtA[i] = 0x32
- }
- if len(m.SubjectAltNames) > 0 {
- for iNdEx := len(m.SubjectAltNames) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.SubjectAltNames[iNdEx])
- copy(dAtA[i:], m.SubjectAltNames[iNdEx])
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.SubjectAltNames[iNdEx])))
- i--
- dAtA[i] = 0x2a
+func (*ConnectionPoolSettings_HTTPSettings) ProtoMessage() {}
+
+func (x *ConnectionPoolSettings_HTTPSettings) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_destination_rule_proto_msgTypes[14]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
+ return ms
}
- if len(m.CaCertificates) > 0 {
- i -= len(m.CaCertificates)
- copy(dAtA[i:], m.CaCertificates)
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.CaCertificates)))
- i--
- dAtA[i] = 0x22
- }
- if len(m.PrivateKey) > 0 {
- i -= len(m.PrivateKey)
- copy(dAtA[i:], m.PrivateKey)
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.PrivateKey)))
- i--
- dAtA[i] = 0x1a
- }
- if len(m.ClientCertificate) > 0 {
- i -= len(m.ClientCertificate)
- copy(dAtA[i:], m.ClientCertificate)
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.ClientCertificate)))
- i--
- dAtA[i] = 0x12
- }
- if m.Mode != 0 {
- i = encodeVarintDestinationRule(dAtA, i, uint64(m.Mode))
- i--
- dAtA[i] = 0x8
- }
- return len(dAtA) - i, nil
+ return mi.MessageOf(x)
}
-func (m *LocalityLoadBalancerSetting) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
+// Deprecated: Use ConnectionPoolSettings_HTTPSettings.ProtoReflect.Descriptor instead.
+func (*ConnectionPoolSettings_HTTPSettings) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_destination_rule_proto_rawDescGZIP(), []int{4, 1}
}
-func (m *LocalityLoadBalancerSetting) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+func (x *ConnectionPoolSettings_HTTPSettings) GetHttp1MaxPendingRequests() int32 {
+ if x != nil {
+ return x.Http1MaxPendingRequests
+ }
+ return 0
}
-func (m *LocalityLoadBalancerSetting) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.FailoverPriority) > 0 {
- for iNdEx := len(m.FailoverPriority) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.FailoverPriority[iNdEx])
- copy(dAtA[i:], m.FailoverPriority[iNdEx])
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.FailoverPriority[iNdEx])))
- i--
- dAtA[i] = 0x22
- }
- }
- if m.Enabled != nil {
- {
- size, err := m.Enabled.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- if len(m.Failover) > 0 {
- for iNdEx := len(m.Failover) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Failover[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- }
- if len(m.Distribute) > 0 {
- for iNdEx := len(m.Distribute) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Distribute[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintDestinationRule(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
+func (x *ConnectionPoolSettings_HTTPSettings) GetHttp2MaxRequests() int32 {
+ if x != nil {
+ return x.Http2MaxRequests
}
- return len(dAtA) - i, nil
+ return 0
}
-func (m *LocalityLoadBalancerSetting_Distribute) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
+func (x *ConnectionPoolSettings_HTTPSettings) GetMaxRequestsPerConnection() int32 {
+ if x != nil {
+ return x.MaxRequestsPerConnection
}
- return dAtA[:n], nil
+ return 0
}
-func (m *LocalityLoadBalancerSetting_Distribute) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+func (x *ConnectionPoolSettings_HTTPSettings) GetMaxRetries() int32 {
+ if x != nil {
+ return x.MaxRetries
+ }
+ return 0
}
-func (m *LocalityLoadBalancerSetting_Distribute) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.To) > 0 {
- for k := range m.To {
- v := m.To[k]
- baseI := i
- i = encodeVarintDestinationRule(dAtA, i, uint64(v))
- i--
- dAtA[i] = 0x10
- i -= len(k)
- copy(dAtA[i:], k)
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(k)))
- i--
- dAtA[i] = 0xa
- i = encodeVarintDestinationRule(dAtA, i, uint64(baseI-i))
- i--
- dAtA[i] = 0x12
- }
+func (x *ConnectionPoolSettings_HTTPSettings) GetIdleTimeout() *duration.Duration {
+ if x != nil {
+ return x.IdleTimeout
}
- if len(m.From) > 0 {
- i -= len(m.From)
- copy(dAtA[i:], m.From)
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.From)))
- i--
- dAtA[i] = 0xa
+ return nil
+}
+
+func (x *ConnectionPoolSettings_HTTPSettings) GetH2UpgradePolicy() ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy {
+ if x != nil {
+ return x.H2UpgradePolicy
}
- return len(dAtA) - i, nil
+ return ConnectionPoolSettings_HTTPSettings_DEFAULT
}
-func (m *LocalityLoadBalancerSetting_Failover) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
+func (x *ConnectionPoolSettings_HTTPSettings) GetUseClientProtocol() bool {
+ if x != nil {
+ return x.UseClientProtocol
}
- return dAtA[:n], nil
+ return false
}
-func (m *LocalityLoadBalancerSetting_Failover) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+// TCP keepalive.
+type ConnectionPoolSettings_TCPSettings_TcpKeepalive struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Maximum number of keepalive probes to send without response before
+ // deciding the connection is dead. Default is to use the OS level configuration
+ // (unless overridden, Linux defaults to 9.)
+ Probes uint32 `protobuf:"varint,1,opt,name=probes,proto3" json:"probes,omitempty"`
+ // The time duration a connection needs to be idle before keep-alive
+ // probes start being sent. Default is to use the OS level configuration
+ // (unless overridden, Linux defaults to 7200s (ie 2 hours.)
+ Time *duration.Duration `protobuf:"bytes,2,opt,name=time,proto3" json:"time,omitempty"`
+ // The time duration between keep-alive probes.
+ // Default is to use the OS level configuration
+ // (unless overridden, Linux defaults to 75s.)
+ Interval *duration.Duration `protobuf:"bytes,3,opt,name=interval,proto3" json:"interval,omitempty"`
}
-func (m *LocalityLoadBalancerSetting_Failover) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.To) > 0 {
- i -= len(m.To)
- copy(dAtA[i:], m.To)
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.To)))
- i--
- dAtA[i] = 0x12
+func (x *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Reset() {
+ *x = ConnectionPoolSettings_TCPSettings_TcpKeepalive{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_destination_rule_proto_msgTypes[15]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- if len(m.From) > 0 {
- i -= len(m.From)
- copy(dAtA[i:], m.From)
- i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.From)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
}
-func encodeVarintDestinationRule(dAtA []byte, offset int, v uint64) int {
- offset -= sovDestinationRule(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
+func (x *ConnectionPoolSettings_TCPSettings_TcpKeepalive) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *DestinationRule) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Host)
- if l > 0 {
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.TrafficPolicy != nil {
- l = m.TrafficPolicy.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if len(m.Subsets) > 0 {
- for _, e := range m.Subsets {
- l = e.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- }
- if len(m.ExportTo) > 0 {
- for _, s := range m.ExportTo {
- l = len(s)
- n += 1 + l + sovDestinationRule(uint64(l))
+
+func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) ProtoMessage() {}
+
+func (x *ConnectionPoolSettings_TCPSettings_TcpKeepalive) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_destination_rule_proto_msgTypes[15]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
+ return ms
}
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
+ return mi.MessageOf(x)
}
-func (m *TrafficPolicy) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.LoadBalancer != nil {
- l = m.LoadBalancer.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.ConnectionPool != nil {
- l = m.ConnectionPool.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.OutlierDetection != nil {
- l = m.OutlierDetection.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.Tls != nil {
- l = m.Tls.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if len(m.PortLevelSettings) > 0 {
- for _, e := range m.PortLevelSettings {
- l = e.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
+// Deprecated: Use ConnectionPoolSettings_TCPSettings_TcpKeepalive.ProtoReflect.Descriptor instead.
+func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_destination_rule_proto_rawDescGZIP(), []int{4, 0, 0}
}
-func (m *TrafficPolicy_PortTrafficPolicy) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Port != nil {
- l = m.Port.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.LoadBalancer != nil {
- l = m.LoadBalancer.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.ConnectionPool != nil {
- l = m.ConnectionPool.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.OutlierDetection != nil {
- l = m.OutlierDetection.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.Tls != nil {
- l = m.Tls.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
+func (x *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetProbes() uint32 {
+ if x != nil {
+ return x.Probes
}
- return n
+ return 0
}
-func (m *Subset) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Name)
- if l > 0 {
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if len(m.Labels) > 0 {
- for k, v := range m.Labels {
- _ = k
- _ = v
- mapEntrySize := 1 + len(k) + sovDestinationRule(uint64(len(k))) + 1 + len(v) + sovDestinationRule(uint64(len(v)))
- n += mapEntrySize + 1 + sovDestinationRule(uint64(mapEntrySize))
- }
+func (x *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetTime() *duration.Duration {
+ if x != nil {
+ return x.Time
}
- if m.TrafficPolicy != nil {
- l = m.TrafficPolicy.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
+ return nil
}
-func (m *LoadBalancerSettings) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.LbPolicy != nil {
- n += m.LbPolicy.Size()
+func (x *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetInterval() *duration.Duration {
+ if x != nil {
+ return x.Interval
}
- if m.LocalityLbSetting != nil {
- l = m.LocalityLbSetting.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
+ return nil
}
-func (m *LoadBalancerSettings_Simple) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- n += 1 + sovDestinationRule(uint64(m.Simple))
- return n
-}
-func (m *LoadBalancerSettings_ConsistentHash) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.ConsistentHash != nil {
- l = m.ConsistentHash.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- return n
+// Describes how traffic originating in the 'from' zone or sub-zone is
+// distributed over a set of 'to' zones. Syntax for specifying a zone is
+// {region}/{zone}/{sub-zone} and terminal wildcards are allowed on any
+// segment of the specification. Examples:
+//
+// `*` - matches all localities
+//
+// `us-west/*` - all zones and sub-zones within the us-west region
+//
+// `us-west/zone-1/*` - all sub-zones within us-west/zone-1
+type LocalityLoadBalancerSetting_Distribute struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Originating locality, '/' separated, e.g. 'region/zone/sub_zone'.
+ From string `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"`
+ // Map of upstream localities to traffic distribution weights. The sum of
+ // all weights should be 100. Any locality not present will
+ // receive no traffic.
+ To map[string]uint32 `protobuf:"bytes,2,rep,name=to,proto3" json:"to,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
}
-func (m *LoadBalancerSettings_ConsistentHashLB) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.HashKey != nil {
- n += m.HashKey.Size()
- }
- if m.MinimumRingSize != 0 {
- n += 1 + sovDestinationRule(uint64(m.MinimumRingSize))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
+
+func (x *LocalityLoadBalancerSetting_Distribute) Reset() {
+ *x = LocalityLoadBalancerSetting_Distribute{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_destination_rule_proto_msgTypes[16]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- return n
}
-func (m *LoadBalancerSettings_ConsistentHashLB_HttpHeaderName) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.HttpHeaderName)
- n += 1 + l + sovDestinationRule(uint64(l))
- return n
-}
-func (m *LoadBalancerSettings_ConsistentHashLB_HttpCookie) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.HttpCookie != nil {
- l = m.HttpCookie.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- return n
+func (x *LocalityLoadBalancerSetting_Distribute) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *LoadBalancerSettings_ConsistentHashLB_UseSourceIp) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- n += 2
- return n
-}
-func (m *LoadBalancerSettings_ConsistentHashLB_HttpQueryParameterName) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.HttpQueryParameterName)
- n += 1 + l + sovDestinationRule(uint64(l))
- return n
-}
-func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Name)
- if l > 0 {
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- l = len(m.Path)
- if l > 0 {
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.Ttl != nil {
- l = m.Ttl.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
+
+func (*LocalityLoadBalancerSetting_Distribute) ProtoMessage() {}
+
+func (x *LocalityLoadBalancerSetting_Distribute) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_destination_rule_proto_msgTypes[16]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
}
- return n
+ return mi.MessageOf(x)
}
-func (m *ConnectionPoolSettings) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Tcp != nil {
- l = m.Tcp.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.Http != nil {
- l = m.Http.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
+// Deprecated: Use LocalityLoadBalancerSetting_Distribute.ProtoReflect.Descriptor instead.
+func (*LocalityLoadBalancerSetting_Distribute) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_destination_rule_proto_rawDescGZIP(), []int{7, 0}
}
-func (m *ConnectionPoolSettings_TCPSettings) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.MaxConnections != 0 {
- n += 1 + sovDestinationRule(uint64(m.MaxConnections))
- }
- if m.ConnectTimeout != nil {
- l = m.ConnectTimeout.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.TcpKeepalive != nil {
- l = m.TcpKeepalive.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
+func (x *LocalityLoadBalancerSetting_Distribute) GetFrom() string {
+ if x != nil {
+ return x.From
}
- return n
+ return ""
}
-func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Probes != 0 {
- n += 1 + sovDestinationRule(uint64(m.Probes))
- }
- if m.Time != nil {
- l = m.Time.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.Interval != nil {
- l = m.Interval.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
+func (x *LocalityLoadBalancerSetting_Distribute) GetTo() map[string]uint32 {
+ if x != nil {
+ return x.To
}
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
+ return nil
}
-func (m *ConnectionPoolSettings_HTTPSettings) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Http1MaxPendingRequests != 0 {
- n += 1 + sovDestinationRule(uint64(m.Http1MaxPendingRequests))
- }
- if m.Http2MaxRequests != 0 {
- n += 1 + sovDestinationRule(uint64(m.Http2MaxRequests))
- }
- if m.MaxRequestsPerConnection != 0 {
- n += 1 + sovDestinationRule(uint64(m.MaxRequestsPerConnection))
- }
- if m.MaxRetries != 0 {
- n += 1 + sovDestinationRule(uint64(m.MaxRetries))
- }
- if m.IdleTimeout != nil {
- l = m.IdleTimeout.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.H2UpgradePolicy != 0 {
- n += 1 + sovDestinationRule(uint64(m.H2UpgradePolicy))
- }
- if m.UseClientProtocol {
- n += 2
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
+// Specify the traffic failover policy across regions. Since zone and sub-zone
+// failover is supported by default this only needs to be specified for
+// regions when the operator needs to constrain traffic failover so that
+// the default behavior of failing over to any endpoint globally does not
+// apply. This is useful when failing over traffic across regions would not
+// improve service health or may need to be restricted for other reasons
+// like regulatory controls.
+type LocalityLoadBalancerSetting_Failover struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Originating region.
+ From string `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"`
+ // Destination region the traffic will fail over to when endpoints in
+ // the 'from' region becomes unhealthy.
+ To string `protobuf:"bytes,2,opt,name=to,proto3" json:"to,omitempty"`
}
-func (m *OutlierDetection) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.ConsecutiveErrors != 0 {
- n += 1 + sovDestinationRule(uint64(m.ConsecutiveErrors))
- }
- if m.Interval != nil {
- l = m.Interval.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.BaseEjectionTime != nil {
- l = m.BaseEjectionTime.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.MaxEjectionPercent != 0 {
- n += 1 + sovDestinationRule(uint64(m.MaxEjectionPercent))
+func (x *LocalityLoadBalancerSetting_Failover) Reset() {
+ *x = LocalityLoadBalancerSetting_Failover{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_destination_rule_proto_msgTypes[17]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- if m.MinHealthPercent != 0 {
- n += 1 + sovDestinationRule(uint64(m.MinHealthPercent))
- }
- if m.ConsecutiveGatewayErrors != nil {
- l = m.ConsecutiveGatewayErrors.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.Consecutive_5XxErrors != nil {
- l = m.Consecutive_5XxErrors.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.SplitExternalLocalOriginErrors {
- n += 2
- }
- if m.ConsecutiveLocalOriginFailures != nil {
- l = m.ConsecutiveLocalOriginFailures.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
}
-func (m *ClientTLSSettings) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Mode != 0 {
- n += 1 + sovDestinationRule(uint64(m.Mode))
- }
- l = len(m.ClientCertificate)
- if l > 0 {
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- l = len(m.PrivateKey)
- if l > 0 {
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- l = len(m.CaCertificates)
- if l > 0 {
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if len(m.SubjectAltNames) > 0 {
- for _, s := range m.SubjectAltNames {
- l = len(s)
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- }
- l = len(m.Sni)
- if l > 0 {
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- l = len(m.CredentialName)
- if l > 0 {
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.InsecureSkipVerify != nil {
- l = m.InsecureSkipVerify.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
+func (x *LocalityLoadBalancerSetting_Failover) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *LocalityLoadBalancerSetting) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if len(m.Distribute) > 0 {
- for _, e := range m.Distribute {
- l = e.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- }
- if len(m.Failover) > 0 {
- for _, e := range m.Failover {
- l = e.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- }
- if m.Enabled != nil {
- l = m.Enabled.Size()
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if len(m.FailoverPriority) > 0 {
- for _, s := range m.FailoverPriority {
- l = len(s)
- n += 1 + l + sovDestinationRule(uint64(l))
+func (*LocalityLoadBalancerSetting_Failover) ProtoMessage() {}
+
+func (x *LocalityLoadBalancerSetting_Failover) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_destination_rule_proto_msgTypes[17]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
+ return ms
}
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
+ return mi.MessageOf(x)
}
-func (m *LocalityLoadBalancerSetting_Distribute) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.From)
- if l > 0 {
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if len(m.To) > 0 {
- for k, v := range m.To {
- _ = k
- _ = v
- mapEntrySize := 1 + len(k) + sovDestinationRule(uint64(len(k))) + 1 + sovDestinationRule(uint64(v))
- n += mapEntrySize + 1 + sovDestinationRule(uint64(mapEntrySize))
- }
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
+// Deprecated: Use LocalityLoadBalancerSetting_Failover.ProtoReflect.Descriptor instead.
+func (*LocalityLoadBalancerSetting_Failover) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_destination_rule_proto_rawDescGZIP(), []int{7, 1}
}
-func (m *LocalityLoadBalancerSetting_Failover) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.From)
- if l > 0 {
- n += 1 + l + sovDestinationRule(uint64(l))
+func (x *LocalityLoadBalancerSetting_Failover) GetFrom() string {
+ if x != nil {
+ return x.From
}
- l = len(m.To)
- if l > 0 {
- n += 1 + l + sovDestinationRule(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func sovDestinationRule(x uint64) (n int) {
- return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozDestinationRule(x uint64) (n int) {
- return sovDestinationRule(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (m *DestinationRule) 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 ErrIntOverflowDestinationRule
- }
- 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: DestinationRule: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: DestinationRule: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Host", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- 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 ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Host = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field TrafficPolicy", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.TrafficPolicy == nil {
- m.TrafficPolicy = &TrafficPolicy{}
- }
- if err := m.TrafficPolicy.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Subsets", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Subsets = append(m.Subsets, &Subset{})
- if err := m.Subsets[len(m.Subsets)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ExportTo", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- 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 ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.ExportTo = append(m.ExportTo, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipDestinationRule(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *TrafficPolicy) 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 ErrIntOverflowDestinationRule
- }
- 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: TrafficPolicy: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: TrafficPolicy: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field LoadBalancer", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.LoadBalancer == nil {
- m.LoadBalancer = &LoadBalancerSettings{}
- }
- if err := m.LoadBalancer.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ConnectionPool", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.ConnectionPool == nil {
- m.ConnectionPool = &ConnectionPoolSettings{}
- }
- if err := m.ConnectionPool.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field OutlierDetection", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.OutlierDetection == nil {
- m.OutlierDetection = &OutlierDetection{}
- }
- if err := m.OutlierDetection.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Tls", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Tls == nil {
- m.Tls = &ClientTLSSettings{}
- }
- if err := m.Tls.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field PortLevelSettings", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.PortLevelSettings = append(m.PortLevelSettings, &TrafficPolicy_PortTrafficPolicy{})
- if err := m.PortLevelSettings[len(m.PortLevelSettings)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipDestinationRule(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *TrafficPolicy_PortTrafficPolicy) 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 ErrIntOverflowDestinationRule
- }
- 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: PortTrafficPolicy: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: PortTrafficPolicy: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Port", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Port == nil {
- m.Port = &PortSelector{}
- }
- if err := m.Port.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field LoadBalancer", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.LoadBalancer == nil {
- m.LoadBalancer = &LoadBalancerSettings{}
- }
- if err := m.LoadBalancer.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ConnectionPool", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.ConnectionPool == nil {
- m.ConnectionPool = &ConnectionPoolSettings{}
- }
- if err := m.ConnectionPool.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field OutlierDetection", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.OutlierDetection == nil {
- m.OutlierDetection = &OutlierDetection{}
- }
- if err := m.OutlierDetection.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Tls", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Tls == nil {
- m.Tls = &ClientTLSSettings{}
- }
- if err := m.Tls.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipDestinationRule(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *Subset) 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 ErrIntOverflowDestinationRule
- }
- 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: Subset: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Subset: 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 ErrIntOverflowDestinationRule
- }
- 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 ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- 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 Labels", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Labels == nil {
- m.Labels = make(map[string]string)
- }
- var mapkey string
- var mapvalue string
- for iNdEx < postIndex {
- entryPreIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- if fieldNum == 1 {
- var stringLenmapkey uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapkey |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapkey := int(stringLenmapkey)
- if intStringLenmapkey < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postStringIndexmapkey := iNdEx + intStringLenmapkey
- if postStringIndexmapkey < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postStringIndexmapkey > l {
- return io.ErrUnexpectedEOF
- }
- mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
- iNdEx = postStringIndexmapkey
- } else if fieldNum == 2 {
- var stringLenmapvalue uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapvalue |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapvalue := int(stringLenmapvalue)
- if intStringLenmapvalue < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postStringIndexmapvalue := iNdEx + intStringLenmapvalue
- if postStringIndexmapvalue < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postStringIndexmapvalue > l {
- return io.ErrUnexpectedEOF
- }
- mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue])
- iNdEx = postStringIndexmapvalue
- } else {
- iNdEx = entryPreIndex
- skippy, err := skipDestinationRule(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if (iNdEx + skippy) > postIndex {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- m.Labels[mapkey] = mapvalue
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field TrafficPolicy", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.TrafficPolicy == nil {
- m.TrafficPolicy = &TrafficPolicy{}
- }
- if err := m.TrafficPolicy.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipDestinationRule(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *LoadBalancerSettings) 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 ErrIntOverflowDestinationRule
- }
- 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: LoadBalancerSettings: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: LoadBalancerSettings: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Simple", wireType)
- }
- var v LoadBalancerSettings_SimpleLB
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= LoadBalancerSettings_SimpleLB(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.LbPolicy = &LoadBalancerSettings_Simple{v}
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ConsistentHash", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- v := &LoadBalancerSettings_ConsistentHashLB{}
- if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- m.LbPolicy = &LoadBalancerSettings_ConsistentHash{v}
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field LocalityLbSetting", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.LocalityLbSetting == nil {
- m.LocalityLbSetting = &LocalityLoadBalancerSetting{}
- }
- if err := m.LocalityLbSetting.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipDestinationRule(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *LoadBalancerSettings_ConsistentHashLB) 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 ErrIntOverflowDestinationRule
- }
- 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: ConsistentHashLB: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ConsistentHashLB: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field HttpHeaderName", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- 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 ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.HashKey = &LoadBalancerSettings_ConsistentHashLB_HttpHeaderName{string(dAtA[iNdEx:postIndex])}
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field HttpCookie", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- v := &LoadBalancerSettings_ConsistentHashLB_HTTPCookie{}
- if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- m.HashKey = &LoadBalancerSettings_ConsistentHashLB_HttpCookie{v}
- iNdEx = postIndex
- case 3:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field UseSourceIp", wireType)
- }
- var v int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- b := bool(v != 0)
- m.HashKey = &LoadBalancerSettings_ConsistentHashLB_UseSourceIp{b}
- case 4:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field MinimumRingSize", wireType)
- }
- m.MinimumRingSize = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.MinimumRingSize |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field HttpQueryParameterName", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- 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 ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.HashKey = &LoadBalancerSettings_ConsistentHashLB_HttpQueryParameterName{string(dAtA[iNdEx:postIndex])}
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipDestinationRule(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) 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 ErrIntOverflowDestinationRule
- }
- 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: HTTPCookie: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: HTTPCookie: 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 ErrIntOverflowDestinationRule
- }
- 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 ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- 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 Path", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- 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 ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Path = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Ttl", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Ttl == nil {
- m.Ttl = &types.Duration{}
- }
- if err := m.Ttl.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipDestinationRule(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *ConnectionPoolSettings) 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 ErrIntOverflowDestinationRule
- }
- 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: ConnectionPoolSettings: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ConnectionPoolSettings: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Tcp", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Tcp == nil {
- m.Tcp = &ConnectionPoolSettings_TCPSettings{}
- }
- if err := m.Tcp.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Http", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Http == nil {
- m.Http = &ConnectionPoolSettings_HTTPSettings{}
- }
- if err := m.Http.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipDestinationRule(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *ConnectionPoolSettings_TCPSettings) 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 ErrIntOverflowDestinationRule
- }
- 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: TCPSettings: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: TCPSettings: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field MaxConnections", wireType)
- }
- m.MaxConnections = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.MaxConnections |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ConnectTimeout", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.ConnectTimeout == nil {
- m.ConnectTimeout = &types.Duration{}
- }
- if err := m.ConnectTimeout.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field TcpKeepalive", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.TcpKeepalive == nil {
- m.TcpKeepalive = &ConnectionPoolSettings_TCPSettings_TcpKeepalive{}
- }
- if err := m.TcpKeepalive.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipDestinationRule(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) 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 ErrIntOverflowDestinationRule
- }
- 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: TcpKeepalive: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: TcpKeepalive: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Probes", wireType)
- }
- m.Probes = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Probes |= uint32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Time", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Time == nil {
- m.Time = &types.Duration{}
- }
- if err := m.Time.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Interval", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Interval == nil {
- m.Interval = &types.Duration{}
- }
- if err := m.Interval.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipDestinationRule(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *ConnectionPoolSettings_HTTPSettings) 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 ErrIntOverflowDestinationRule
- }
- 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: HTTPSettings: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: HTTPSettings: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Http1MaxPendingRequests", wireType)
- }
- m.Http1MaxPendingRequests = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Http1MaxPendingRequests |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 2:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Http2MaxRequests", wireType)
- }
- m.Http2MaxRequests = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Http2MaxRequests |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 3:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field MaxRequestsPerConnection", wireType)
- }
- m.MaxRequestsPerConnection = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.MaxRequestsPerConnection |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 4:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field MaxRetries", wireType)
- }
- m.MaxRetries = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.MaxRetries |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field IdleTimeout", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.IdleTimeout == nil {
- m.IdleTimeout = &types.Duration{}
- }
- if err := m.IdleTimeout.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 6:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field H2UpgradePolicy", wireType)
- }
- m.H2UpgradePolicy = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.H2UpgradePolicy |= ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 7:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field UseClientProtocol", wireType)
- }
- var v int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.UseClientProtocol = bool(v != 0)
- default:
- iNdEx = preIndex
- skippy, err := skipDestinationRule(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *OutlierDetection) 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 ErrIntOverflowDestinationRule
- }
- 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: OutlierDetection: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: OutlierDetection: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field ConsecutiveErrors", wireType)
- }
- m.ConsecutiveErrors = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.ConsecutiveErrors |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Interval", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Interval == nil {
- m.Interval = &types.Duration{}
- }
- if err := m.Interval.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field BaseEjectionTime", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.BaseEjectionTime == nil {
- m.BaseEjectionTime = &types.Duration{}
- }
- if err := m.BaseEjectionTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field MaxEjectionPercent", wireType)
- }
- m.MaxEjectionPercent = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.MaxEjectionPercent |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 5:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field MinHealthPercent", wireType)
- }
- m.MinHealthPercent = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.MinHealthPercent |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 6:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ConsecutiveGatewayErrors", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.ConsecutiveGatewayErrors == nil {
- m.ConsecutiveGatewayErrors = &types.UInt32Value{}
- }
- if err := m.ConsecutiveGatewayErrors.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 7:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Consecutive_5XxErrors", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Consecutive_5XxErrors == nil {
- m.Consecutive_5XxErrors = &types.UInt32Value{}
- }
- if err := m.Consecutive_5XxErrors.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 8:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field SplitExternalLocalOriginErrors", wireType)
- }
- var v int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.SplitExternalLocalOriginErrors = bool(v != 0)
- case 9:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ConsecutiveLocalOriginFailures", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.ConsecutiveLocalOriginFailures == nil {
- m.ConsecutiveLocalOriginFailures = &types.UInt32Value{}
- }
- if err := m.ConsecutiveLocalOriginFailures.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipDestinationRule(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
+ return ""
}
-func (m *ClientTLSSettings) 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 ErrIntOverflowDestinationRule
- }
- 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: ClientTLSSettings: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ClientTLSSettings: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Mode", wireType)
- }
- m.Mode = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Mode |= ClientTLSSettings_TLSmode(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ClientCertificate", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- 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 ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.ClientCertificate = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field PrivateKey", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- 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 ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.PrivateKey = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field CaCertificates", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- 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 ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.CaCertificates = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field SubjectAltNames", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- 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 ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.SubjectAltNames = append(m.SubjectAltNames, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 6:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Sni", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- 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 ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Sni = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 7:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field CredentialName", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- 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 ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.CredentialName = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 8:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field InsecureSkipVerify", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.InsecureSkipVerify == nil {
- m.InsecureSkipVerify = &types.BoolValue{}
- }
- if err := m.InsecureSkipVerify.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipDestinationRule(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
- if iNdEx > l {
- return io.ErrUnexpectedEOF
+func (x *LocalityLoadBalancerSetting_Failover) GetTo() string {
+ if x != nil {
+ return x.To
}
- return nil
+ return ""
}
-func (m *LocalityLoadBalancerSetting) 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 ErrIntOverflowDestinationRule
- }
- 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: LocalityLoadBalancerSetting: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: LocalityLoadBalancerSetting: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Distribute", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Distribute = append(m.Distribute, &LocalityLoadBalancerSetting_Distribute{})
- if err := m.Distribute[len(m.Distribute)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Failover", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Failover = append(m.Failover, &LocalityLoadBalancerSetting_Failover{})
- if err := m.Failover[len(m.Failover)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Enabled", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Enabled == nil {
- m.Enabled = &types.BoolValue{}
- }
- if err := m.Enabled.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field FailoverPriority", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- 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 ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.FailoverPriority = append(m.FailoverPriority, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipDestinationRule(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
+var File_networking_v1beta1_destination_rule_proto protoreflect.FileDescriptor
+
+var file_networking_v1beta1_destination_rule_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62,
+ 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x69, 0x73, 0x74,
+ 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31,
+ 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70,
+ 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69,
+ 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x76, 0x69, 0x72, 0x74, 0x75,
+ 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x1b, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73,
+ 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa7, 0x02,
+ 0x0a, 0x0f, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c,
+ 0x65, 0x12, 0x18, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
+ 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0e, 0x74,
+ 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77,
+ 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54,
+ 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0d, 0x74, 0x72,
+ 0x61, 0x66, 0x66, 0x69, 0x63, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3a, 0x0a, 0x07, 0x73,
+ 0x75, 0x62, 0x73, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x69,
+ 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e,
+ 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x52, 0x07,
+ 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x70, 0x6f, 0x72,
+ 0x74, 0x5f, 0x74, 0x6f, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x70, 0x6f,
+ 0x72, 0x74, 0x54, 0x6f, 0x12, 0x51, 0x0a, 0x11, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64,
+ 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x24, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x62,
+ 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x6c,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x10, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53,
+ 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0xaf, 0x08, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x66,
+ 0x66, 0x69, 0x63, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x53, 0x0a, 0x0d, 0x6c, 0x6f, 0x61,
+ 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x2e, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
+ 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x6f, 0x61, 0x64,
+ 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73,
+ 0x52, 0x0c, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x12, 0x59,
+ 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6f,
+ 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e,
+ 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
+ 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f,
+ 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x6e, 0x65,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x57, 0x0a, 0x11, 0x6f, 0x75, 0x74,
+ 0x6c, 0x69, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74,
+ 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
+ 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x52, 0x10, 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x2b, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69,
+ 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e,
+ 0x74, 0x54, 0x4c, 0x53, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x03, 0x74, 0x6c,
+ 0x73, 0x12, 0x69, 0x0a, 0x13, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f,
+ 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39,
+ 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e,
+ 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69,
+ 0x63, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x54, 0x72, 0x61, 0x66,
+ 0x66, 0x69, 0x63, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x11, 0x70, 0x6f, 0x72, 0x74, 0x4c,
+ 0x65, 0x76, 0x65, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4e, 0x0a, 0x06,
+ 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x69,
+ 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e,
+ 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x50,
+ 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x74, 0x74,
+ 0x69, 0x6e, 0x67, 0x73, 0x52, 0x06, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x1a, 0x97, 0x03, 0x0a,
+ 0x11, 0x50, 0x6f, 0x72, 0x74, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x50, 0x6f, 0x6c, 0x69,
+ 0x63, 0x79, 0x12, 0x3a, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x26, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
+ 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x72, 0x74,
+ 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x53,
+ 0x0a, 0x0d, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65,
+ 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
+ 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x53, 0x65, 0x74,
+ 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x0c, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e,
+ 0x63, 0x65, 0x72, 0x12, 0x59, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x69,
+ 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e,
+ 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x0e,
+ 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x57,
+ 0x0a, 0x11, 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x69, 0x73, 0x74, 0x69,
+ 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62,
+ 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65,
+ 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74,
+ 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
+ 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x4c, 0x53, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
+ 0x73, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x1a, 0x80, 0x01, 0x0a, 0x0e, 0x54, 0x75, 0x6e, 0x6e, 0x65,
+ 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x20, 0x0a, 0x08, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x04, 0xe2, 0x41, 0x01,
+ 0x02, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x25, 0x0a, 0x0b, 0x74,
+ 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+ 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x6f,
+ 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x72,
+ 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x0a, 0x74,
+ 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x22, 0xf3, 0x01, 0x0a, 0x06, 0x53, 0x75,
+ 0x62, 0x73, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x44,
+ 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c,
+ 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e,
+ 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74,
+ 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61,
+ 0x62, 0x65, 0x6c, 0x73, 0x12, 0x4e, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f,
+ 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x69,
+ 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e,
+ 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x50,
+ 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x50, 0x6f,
+ 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22,
+ 0xc2, 0x07, 0x0a, 0x14, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72,
+ 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x51, 0x0a, 0x06, 0x73, 0x69, 0x6d, 0x70,
+ 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f,
+ 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65,
+ 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72,
+ 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x4c,
+ 0x42, 0x48, 0x00, 0x52, 0x06, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x6a, 0x0a, 0x0f, 0x63,
+ 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74,
+ 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
+ 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74,
+ 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x48,
+ 0x61, 0x73, 0x68, 0x4c, 0x42, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74,
+ 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x65, 0x0a, 0x13, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
+ 0x69, 0x74, 0x79, 0x5f, 0x6c, 0x62, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74,
+ 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
+ 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61,
+ 0x6e, 0x63, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x11, 0x6c, 0x6f, 0x63,
+ 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x62, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x4b,
+ 0x0a, 0x14, 0x77, 0x61, 0x72, 0x6d, 0x75, 0x70, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44,
+ 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x77, 0x61, 0x72, 0x6d, 0x75, 0x70, 0x44,
+ 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x73, 0x1a, 0xb7, 0x03, 0x0a, 0x10,
+ 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x4c, 0x42,
+ 0x12, 0x2a, 0x0a, 0x10, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f,
+ 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x68, 0x74,
+ 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x6d, 0x0a, 0x0b,
+ 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x4a, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
+ 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x6f, 0x61,
+ 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
+ 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68,
+ 0x4c, 0x42, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x48, 0x00, 0x52,
+ 0x0a, 0x68, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x75,
+ 0x73, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x08, 0x48, 0x00, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49,
+ 0x70, 0x12, 0x3b, 0x0a, 0x19, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f,
+ 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x16, 0x68, 0x74, 0x74, 0x70, 0x51, 0x75, 0x65, 0x72,
+ 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a,
+ 0x0a, 0x11, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73,
+ 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x6d, 0x69, 0x6e, 0x69, 0x6d,
+ 0x75, 0x6d, 0x52, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x7a, 0x65, 0x1a, 0x6d, 0x0a, 0x0a, 0x48, 0x54,
+ 0x54, 0x50, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x18, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x04, 0x6e, 0x61,
+ 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x31, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x04,
+ 0xe2, 0x41, 0x01, 0x02, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x42, 0x0a, 0x0a, 0x08, 0x68, 0x61, 0x73,
+ 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x22, 0x70, 0x0a, 0x08, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x4c,
+ 0x42, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
+ 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0a, 0x4c, 0x45, 0x41, 0x53, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x4e,
+ 0x10, 0x01, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d,
+ 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x41, 0x53, 0x53, 0x54, 0x48, 0x52, 0x4f, 0x55, 0x47,
+ 0x48, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x52, 0x4f, 0x42,
+ 0x49, 0x4e, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x45, 0x41, 0x53, 0x54, 0x5f, 0x52, 0x45,
+ 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x05, 0x42, 0x0b, 0x0a, 0x09, 0x6c, 0x62, 0x5f, 0x70, 0x6f,
+ 0x6c, 0x69, 0x63, 0x79, 0x22, 0xbd, 0x08, 0x0a, 0x16, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12,
+ 0x4e, 0x0a, 0x03, 0x74, 0x63, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x69,
+ 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e,
+ 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x54,
+ 0x43, 0x50, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x03, 0x74, 0x63, 0x70, 0x12,
+ 0x51, 0x0a, 0x04, 0x68, 0x74, 0x74, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e,
+ 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67,
+ 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e,
+ 0x48, 0x54, 0x54, 0x50, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x04, 0x68, 0x74,
+ 0x74, 0x70, 0x1a, 0xf9, 0x02, 0x0a, 0x0b, 0x54, 0x43, 0x50, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e,
+ 0x67, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
+ 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6d, 0x61, 0x78,
+ 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x42, 0x0a, 0x0f, 0x63,
+ 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
+ 0x0e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12,
+ 0x6e, 0x0a, 0x0d, 0x74, 0x63, 0x70, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e,
+ 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
+ 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c,
+ 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x54, 0x43, 0x50, 0x53, 0x65, 0x74, 0x74,
+ 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x54, 0x63, 0x70, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76,
+ 0x65, 0x52, 0x0c, 0x74, 0x63, 0x70, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x1a,
+ 0x8c, 0x01, 0x0a, 0x0c, 0x54, 0x63, 0x70, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65,
+ 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x06, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72,
+ 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x1a, 0x83,
+ 0x04, 0x0a, 0x0c, 0x48, 0x54, 0x54, 0x50, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12,
+ 0x3b, 0x0a, 0x1a, 0x68, 0x74, 0x74, 0x70, 0x31, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x65, 0x6e,
+ 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x17, 0x68, 0x74, 0x74, 0x70, 0x31, 0x4d, 0x61, 0x78, 0x50, 0x65, 0x6e,
+ 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x12,
+ 0x68, 0x74, 0x74, 0x70, 0x32, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x68, 0x74, 0x74, 0x70, 0x32, 0x4d,
+ 0x61, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x3d, 0x0a, 0x1b, 0x6d, 0x61,
+ 0x78, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x63,
+ 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x18, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x50, 0x65, 0x72, 0x43,
+ 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78,
+ 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a,
+ 0x6d, 0x61, 0x78, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x69, 0x64,
+ 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x69, 0x64, 0x6c,
+ 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x79, 0x0a, 0x11, 0x68, 0x32, 0x5f, 0x75,
+ 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x4d, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77,
+ 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43,
+ 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x65, 0x74,
+ 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e,
+ 0x67, 0x73, 0x2e, 0x48, 0x32, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x50, 0x6f, 0x6c, 0x69,
+ 0x63, 0x79, 0x52, 0x0f, 0x68, 0x32, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x50, 0x6f, 0x6c,
+ 0x69, 0x63, 0x79, 0x12, 0x2e, 0x0a, 0x13, 0x75, 0x73, 0x65, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e,
+ 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x11, 0x75, 0x73, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f,
+ 0x63, 0x6f, 0x6c, 0x22, 0x3f, 0x0a, 0x0f, 0x48, 0x32, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65,
+ 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c,
+ 0x54, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x4f, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x55, 0x50,
+ 0x47, 0x52, 0x41, 0x44, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x50, 0x47, 0x52, 0x41,
+ 0x44, 0x45, 0x10, 0x02, 0x22, 0x8a, 0x05, 0x0a, 0x10, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72,
+ 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x12, 0x63, 0x6f, 0x6e,
+ 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x02, 0x18, 0x01, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x73, 0x65,
+ 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x4a, 0x0a, 0x22,
+ 0x73, 0x70, 0x6c, 0x69, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x6c,
+ 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f,
+ 0x72, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1e, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x45,
+ 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4f, 0x72, 0x69, 0x67,
+ 0x69, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x67, 0x0a, 0x21, 0x63, 0x6f, 0x6e, 0x73,
+ 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6f, 0x72,
+ 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x52, 0x1e, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x6f,
+ 0x63, 0x61, 0x6c, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65,
+ 0x73, 0x12, 0x5a, 0x0a, 0x1a, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65,
+ 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x52, 0x18, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65,
+ 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x52, 0x0a,
+ 0x16, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x35, 0x78, 0x78,
+ 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x63, 0x6f, 0x6e,
+ 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x35, 0x78, 0x78, 0x45, 0x72, 0x72, 0x6f, 0x72,
+ 0x73, 0x12, 0x35, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08,
+ 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x47, 0x0a, 0x12, 0x62, 0x61, 0x73, 0x65,
+ 0x5f, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
+ 0x10, 0x62, 0x61, 0x73, 0x65, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d,
+ 0x65, 0x12, 0x30, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x12, 0x6d, 0x61, 0x78, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x63,
+ 0x65, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x69, 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74,
+ 0x68, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x10, 0x6d, 0x69, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e,
+ 0x74, 0x22, 0xd2, 0x03, 0x0a, 0x11, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x4c, 0x53, 0x53,
+ 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4d, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65,
+ 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
+ 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x4c, 0x53, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e,
+ 0x67, 0x73, 0x2e, 0x54, 0x4c, 0x53, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02,
+ 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x11, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66,
+ 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65,
+ 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76,
+ 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x61, 0x5f, 0x63, 0x65, 0x72,
+ 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x0e, 0x63, 0x61, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x12,
+ 0x27, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x6e, 0x61,
+ 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e,
+ 0x74, 0x69, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x75, 0x62, 0x6a,
+ 0x65, 0x63, 0x74, 0x5f, 0x61, 0x6c, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x05, 0x20,
+ 0x03, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x74, 0x4e,
+ 0x61, 0x6d, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x6e, 0x69, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x03, 0x73, 0x6e, 0x69, 0x12, 0x4c, 0x0a, 0x14, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75,
+ 0x72, 0x65, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65,
+ 0x52, 0x12, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x53, 0x6b, 0x69, 0x70, 0x56, 0x65,
+ 0x72, 0x69, 0x66, 0x79, 0x22, 0x40, 0x0a, 0x07, 0x54, 0x4c, 0x53, 0x6d, 0x6f, 0x64, 0x65, 0x12,
+ 0x0b, 0x0a, 0x07, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06,
+ 0x53, 0x49, 0x4d, 0x50, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x55, 0x54, 0x55,
+ 0x41, 0x4c, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x53, 0x54, 0x49, 0x4f, 0x5f, 0x4d, 0x55,
+ 0x54, 0x55, 0x41, 0x4c, 0x10, 0x03, 0x22, 0xa2, 0x04, 0x0a, 0x1b, 0x4c, 0x6f, 0x63, 0x61, 0x6c,
+ 0x69, 0x74, 0x79, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x53,
+ 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x60, 0x0a, 0x0a, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69,
+ 0x62, 0x75, 0x74, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x69, 0x73, 0x74,
+ 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31,
+ 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x6f,
+ 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e,
+ 0x67, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x0a, 0x64, 0x69,
+ 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x5a, 0x0a, 0x08, 0x66, 0x61, 0x69, 0x6c,
+ 0x6f, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x69, 0x73, 0x74,
+ 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31,
+ 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x6f,
+ 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e,
+ 0x67, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x08, 0x66, 0x61, 0x69, 0x6c,
+ 0x6f, 0x76, 0x65, 0x72, 0x12, 0x2b, 0x0a, 0x11, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72,
+ 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52,
+ 0x10, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74,
+ 0x79, 0x12, 0x34, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07,
+ 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x1a, 0xb1, 0x01, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x74,
+ 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x58, 0x0a, 0x02, 0x74, 0x6f,
+ 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e,
+ 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
+ 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61,
+ 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x44, 0x69,
+ 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x54, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x52, 0x02, 0x74, 0x6f, 0x1a, 0x35, 0x0a, 0x07, 0x54, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
+ 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
+ 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x2e, 0x0a, 0x08, 0x46,
+ 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74,
+ 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x74, 0x6f, 0x42, 0x21, 0x5a, 0x1f, 0x69,
+ 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6e, 0x65, 0x74, 0x77,
+ 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
-func (m *LocalityLoadBalancerSetting_Distribute) 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 ErrIntOverflowDestinationRule
- }
- 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: Distribute: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Distribute: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field From", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- 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 ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.From = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field To", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.To == nil {
- m.To = make(map[string]uint32)
- }
- var mapkey string
- var mapvalue uint32
- for iNdEx < postIndex {
- entryPreIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- if fieldNum == 1 {
- var stringLenmapkey uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapkey |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapkey := int(stringLenmapkey)
- if intStringLenmapkey < 0 {
- return ErrInvalidLengthDestinationRule
- }
- postStringIndexmapkey := iNdEx + intStringLenmapkey
- if postStringIndexmapkey < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postStringIndexmapkey > l {
- return io.ErrUnexpectedEOF
- }
- mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
- iNdEx = postStringIndexmapkey
- } else if fieldNum == 2 {
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- mapvalue |= uint32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- } else {
- iNdEx = entryPreIndex
- skippy, err := skipDestinationRule(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if (iNdEx + skippy) > postIndex {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- m.To[mapkey] = mapvalue
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipDestinationRule(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *LocalityLoadBalancerSetting_Failover) 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 ErrIntOverflowDestinationRule
- }
- 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: Failover: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Failover: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field From", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- 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 ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.From = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field To", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowDestinationRule
- }
- 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 ErrInvalidLengthDestinationRule
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.To = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipDestinationRule(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthDestinationRule
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
+var (
+ file_networking_v1beta1_destination_rule_proto_rawDescOnce sync.Once
+ file_networking_v1beta1_destination_rule_proto_rawDescData = file_networking_v1beta1_destination_rule_proto_rawDesc
+)
- if iNdEx > l {
- return io.ErrUnexpectedEOF
+func file_networking_v1beta1_destination_rule_proto_rawDescGZIP() []byte {
+ file_networking_v1beta1_destination_rule_proto_rawDescOnce.Do(func() {
+ file_networking_v1beta1_destination_rule_proto_rawDescData = protoimpl.X.CompressGZIP(file_networking_v1beta1_destination_rule_proto_rawDescData)
+ })
+ return file_networking_v1beta1_destination_rule_proto_rawDescData
+}
+
+var file_networking_v1beta1_destination_rule_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
+var file_networking_v1beta1_destination_rule_proto_msgTypes = make([]protoimpl.MessageInfo, 19)
+var file_networking_v1beta1_destination_rule_proto_goTypes = []interface{}{
+ (LoadBalancerSettings_SimpleLB)(0), // 0: istio.networking.v1beta1.LoadBalancerSettings.SimpleLB
+ (ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy)(0), // 1: istio.networking.v1beta1.ConnectionPoolSettings.HTTPSettings.H2UpgradePolicy
+ (ClientTLSSettings_TLSmode)(0), // 2: istio.networking.v1beta1.ClientTLSSettings.TLSmode
+ (*DestinationRule)(nil), // 3: istio.networking.v1beta1.DestinationRule
+ (*TrafficPolicy)(nil), // 4: istio.networking.v1beta1.TrafficPolicy
+ (*Subset)(nil), // 5: istio.networking.v1beta1.Subset
+ (*LoadBalancerSettings)(nil), // 6: istio.networking.v1beta1.LoadBalancerSettings
+ (*ConnectionPoolSettings)(nil), // 7: istio.networking.v1beta1.ConnectionPoolSettings
+ (*OutlierDetection)(nil), // 8: istio.networking.v1beta1.OutlierDetection
+ (*ClientTLSSettings)(nil), // 9: istio.networking.v1beta1.ClientTLSSettings
+ (*LocalityLoadBalancerSetting)(nil), // 10: istio.networking.v1beta1.LocalityLoadBalancerSetting
+ (*TrafficPolicy_PortTrafficPolicy)(nil), // 11: istio.networking.v1beta1.TrafficPolicy.PortTrafficPolicy
+ (*TrafficPolicy_TunnelSettings)(nil), // 12: istio.networking.v1beta1.TrafficPolicy.TunnelSettings
+ nil, // 13: istio.networking.v1beta1.Subset.LabelsEntry
+ (*LoadBalancerSettings_ConsistentHashLB)(nil), // 14: istio.networking.v1beta1.LoadBalancerSettings.ConsistentHashLB
+ (*LoadBalancerSettings_ConsistentHashLB_HTTPCookie)(nil), // 15: istio.networking.v1beta1.LoadBalancerSettings.ConsistentHashLB.HTTPCookie
+ (*ConnectionPoolSettings_TCPSettings)(nil), // 16: istio.networking.v1beta1.ConnectionPoolSettings.TCPSettings
+ (*ConnectionPoolSettings_HTTPSettings)(nil), // 17: istio.networking.v1beta1.ConnectionPoolSettings.HTTPSettings
+ (*ConnectionPoolSettings_TCPSettings_TcpKeepalive)(nil), // 18: istio.networking.v1beta1.ConnectionPoolSettings.TCPSettings.TcpKeepalive
+ (*LocalityLoadBalancerSetting_Distribute)(nil), // 19: istio.networking.v1beta1.LocalityLoadBalancerSetting.Distribute
+ (*LocalityLoadBalancerSetting_Failover)(nil), // 20: istio.networking.v1beta1.LocalityLoadBalancerSetting.Failover
+ nil, // 21: istio.networking.v1beta1.LocalityLoadBalancerSetting.Distribute.ToEntry
+ (*v1beta1.WorkloadSelector)(nil), // 22: istio.type.v1beta1.WorkloadSelector
+ (*duration.Duration)(nil), // 23: google.protobuf.Duration
+ (*wrappers.UInt32Value)(nil), // 24: google.protobuf.UInt32Value
+ (*wrappers.BoolValue)(nil), // 25: google.protobuf.BoolValue
+ (*PortSelector)(nil), // 26: istio.networking.v1beta1.PortSelector
+}
+var file_networking_v1beta1_destination_rule_proto_depIdxs = []int32{
+ 4, // 0: istio.networking.v1beta1.DestinationRule.traffic_policy:type_name -> istio.networking.v1beta1.TrafficPolicy
+ 5, // 1: istio.networking.v1beta1.DestinationRule.subsets:type_name -> istio.networking.v1beta1.Subset
+ 22, // 2: istio.networking.v1beta1.DestinationRule.workload_selector:type_name -> istio.type.v1beta1.WorkloadSelector
+ 6, // 3: istio.networking.v1beta1.TrafficPolicy.load_balancer:type_name -> istio.networking.v1beta1.LoadBalancerSettings
+ 7, // 4: istio.networking.v1beta1.TrafficPolicy.connection_pool:type_name -> istio.networking.v1beta1.ConnectionPoolSettings
+ 8, // 5: istio.networking.v1beta1.TrafficPolicy.outlier_detection:type_name -> istio.networking.v1beta1.OutlierDetection
+ 9, // 6: istio.networking.v1beta1.TrafficPolicy.tls:type_name -> istio.networking.v1beta1.ClientTLSSettings
+ 11, // 7: istio.networking.v1beta1.TrafficPolicy.port_level_settings:type_name -> istio.networking.v1beta1.TrafficPolicy.PortTrafficPolicy
+ 12, // 8: istio.networking.v1beta1.TrafficPolicy.tunnel:type_name -> istio.networking.v1beta1.TrafficPolicy.TunnelSettings
+ 13, // 9: istio.networking.v1beta1.Subset.labels:type_name -> istio.networking.v1beta1.Subset.LabelsEntry
+ 4, // 10: istio.networking.v1beta1.Subset.traffic_policy:type_name -> istio.networking.v1beta1.TrafficPolicy
+ 0, // 11: istio.networking.v1beta1.LoadBalancerSettings.simple:type_name -> istio.networking.v1beta1.LoadBalancerSettings.SimpleLB
+ 14, // 12: istio.networking.v1beta1.LoadBalancerSettings.consistent_hash:type_name -> istio.networking.v1beta1.LoadBalancerSettings.ConsistentHashLB
+ 10, // 13: istio.networking.v1beta1.LoadBalancerSettings.locality_lb_setting:type_name -> istio.networking.v1beta1.LocalityLoadBalancerSetting
+ 23, // 14: istio.networking.v1beta1.LoadBalancerSettings.warmup_duration_secs:type_name -> google.protobuf.Duration
+ 16, // 15: istio.networking.v1beta1.ConnectionPoolSettings.tcp:type_name -> istio.networking.v1beta1.ConnectionPoolSettings.TCPSettings
+ 17, // 16: istio.networking.v1beta1.ConnectionPoolSettings.http:type_name -> istio.networking.v1beta1.ConnectionPoolSettings.HTTPSettings
+ 24, // 17: istio.networking.v1beta1.OutlierDetection.consecutive_local_origin_failures:type_name -> google.protobuf.UInt32Value
+ 24, // 18: istio.networking.v1beta1.OutlierDetection.consecutive_gateway_errors:type_name -> google.protobuf.UInt32Value
+ 24, // 19: istio.networking.v1beta1.OutlierDetection.consecutive_5xx_errors:type_name -> google.protobuf.UInt32Value
+ 23, // 20: istio.networking.v1beta1.OutlierDetection.interval:type_name -> google.protobuf.Duration
+ 23, // 21: istio.networking.v1beta1.OutlierDetection.base_ejection_time:type_name -> google.protobuf.Duration
+ 2, // 22: istio.networking.v1beta1.ClientTLSSettings.mode:type_name -> istio.networking.v1beta1.ClientTLSSettings.TLSmode
+ 25, // 23: istio.networking.v1beta1.ClientTLSSettings.insecure_skip_verify:type_name -> google.protobuf.BoolValue
+ 19, // 24: istio.networking.v1beta1.LocalityLoadBalancerSetting.distribute:type_name -> istio.networking.v1beta1.LocalityLoadBalancerSetting.Distribute
+ 20, // 25: istio.networking.v1beta1.LocalityLoadBalancerSetting.failover:type_name -> istio.networking.v1beta1.LocalityLoadBalancerSetting.Failover
+ 25, // 26: istio.networking.v1beta1.LocalityLoadBalancerSetting.enabled:type_name -> google.protobuf.BoolValue
+ 26, // 27: istio.networking.v1beta1.TrafficPolicy.PortTrafficPolicy.port:type_name -> istio.networking.v1beta1.PortSelector
+ 6, // 28: istio.networking.v1beta1.TrafficPolicy.PortTrafficPolicy.load_balancer:type_name -> istio.networking.v1beta1.LoadBalancerSettings
+ 7, // 29: istio.networking.v1beta1.TrafficPolicy.PortTrafficPolicy.connection_pool:type_name -> istio.networking.v1beta1.ConnectionPoolSettings
+ 8, // 30: istio.networking.v1beta1.TrafficPolicy.PortTrafficPolicy.outlier_detection:type_name -> istio.networking.v1beta1.OutlierDetection
+ 9, // 31: istio.networking.v1beta1.TrafficPolicy.PortTrafficPolicy.tls:type_name -> istio.networking.v1beta1.ClientTLSSettings
+ 15, // 32: istio.networking.v1beta1.LoadBalancerSettings.ConsistentHashLB.http_cookie:type_name -> istio.networking.v1beta1.LoadBalancerSettings.ConsistentHashLB.HTTPCookie
+ 23, // 33: istio.networking.v1beta1.LoadBalancerSettings.ConsistentHashLB.HTTPCookie.ttl:type_name -> google.protobuf.Duration
+ 23, // 34: istio.networking.v1beta1.ConnectionPoolSettings.TCPSettings.connect_timeout:type_name -> google.protobuf.Duration
+ 18, // 35: istio.networking.v1beta1.ConnectionPoolSettings.TCPSettings.tcp_keepalive:type_name -> istio.networking.v1beta1.ConnectionPoolSettings.TCPSettings.TcpKeepalive
+ 23, // 36: istio.networking.v1beta1.ConnectionPoolSettings.HTTPSettings.idle_timeout:type_name -> google.protobuf.Duration
+ 1, // 37: istio.networking.v1beta1.ConnectionPoolSettings.HTTPSettings.h2_upgrade_policy:type_name -> istio.networking.v1beta1.ConnectionPoolSettings.HTTPSettings.H2UpgradePolicy
+ 23, // 38: istio.networking.v1beta1.ConnectionPoolSettings.TCPSettings.TcpKeepalive.time:type_name -> google.protobuf.Duration
+ 23, // 39: istio.networking.v1beta1.ConnectionPoolSettings.TCPSettings.TcpKeepalive.interval:type_name -> google.protobuf.Duration
+ 21, // 40: istio.networking.v1beta1.LocalityLoadBalancerSetting.Distribute.to:type_name -> istio.networking.v1beta1.LocalityLoadBalancerSetting.Distribute.ToEntry
+ 41, // [41:41] is the sub-list for method output_type
+ 41, // [41:41] is the sub-list for method input_type
+ 41, // [41:41] is the sub-list for extension type_name
+ 41, // [41:41] is the sub-list for extension extendee
+ 0, // [0:41] is the sub-list for field type_name
+}
+
+func init() { file_networking_v1beta1_destination_rule_proto_init() }
+func file_networking_v1beta1_destination_rule_proto_init() {
+ if File_networking_v1beta1_destination_rule_proto != nil {
+ return
+ }
+ file_networking_v1beta1_virtual_service_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_networking_v1beta1_destination_rule_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DestinationRule); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_destination_rule_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TrafficPolicy); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_destination_rule_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Subset); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_destination_rule_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LoadBalancerSettings); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_destination_rule_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ConnectionPoolSettings); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_destination_rule_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*OutlierDetection); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_destination_rule_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClientTLSSettings); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_destination_rule_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LocalityLoadBalancerSetting); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_destination_rule_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TrafficPolicy_PortTrafficPolicy); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_destination_rule_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TrafficPolicy_TunnelSettings); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_destination_rule_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LoadBalancerSettings_ConsistentHashLB); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_destination_rule_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LoadBalancerSettings_ConsistentHashLB_HTTPCookie); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_destination_rule_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ConnectionPoolSettings_TCPSettings); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_destination_rule_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ConnectionPoolSettings_HTTPSettings); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_destination_rule_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ConnectionPoolSettings_TCPSettings_TcpKeepalive); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_destination_rule_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LocalityLoadBalancerSetting_Distribute); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_destination_rule_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LocalityLoadBalancerSetting_Failover); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_networking_v1beta1_destination_rule_proto_msgTypes[3].OneofWrappers = []interface{}{
+ (*LoadBalancerSettings_Simple)(nil),
+ (*LoadBalancerSettings_ConsistentHash)(nil),
}
- return nil
-}
-func skipDestinationRule(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowDestinationRule
- }
- 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, ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowDestinationRule
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLengthDestinationRule
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroupDestinationRule
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLengthDestinationRule
- }
- if depth == 0 {
- return iNdEx, nil
- }
+ file_networking_v1beta1_destination_rule_proto_msgTypes[11].OneofWrappers = []interface{}{
+ (*LoadBalancerSettings_ConsistentHashLB_HttpHeaderName)(nil),
+ (*LoadBalancerSettings_ConsistentHashLB_HttpCookie)(nil),
+ (*LoadBalancerSettings_ConsistentHashLB_UseSourceIp)(nil),
+ (*LoadBalancerSettings_ConsistentHashLB_HttpQueryParameterName)(nil),
}
- return 0, io.ErrUnexpectedEOF
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_networking_v1beta1_destination_rule_proto_rawDesc,
+ NumEnums: 3,
+ NumMessages: 19,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_networking_v1beta1_destination_rule_proto_goTypes,
+ DependencyIndexes: file_networking_v1beta1_destination_rule_proto_depIdxs,
+ EnumInfos: file_networking_v1beta1_destination_rule_proto_enumTypes,
+ MessageInfos: file_networking_v1beta1_destination_rule_proto_msgTypes,
+ }.Build()
+ File_networking_v1beta1_destination_rule_proto = out.File
+ file_networking_v1beta1_destination_rule_proto_rawDesc = nil
+ file_networking_v1beta1_destination_rule_proto_goTypes = nil
+ file_networking_v1beta1_destination_rule_proto_depIdxs = nil
}
-
-var (
- ErrInvalidLengthDestinationRule = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflowDestinationRule = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroupDestinationRule = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/vendor/istio.io/api/networking/v1beta1/destination_rule.proto b/vendor/istio.io/api/networking/v1beta1/destination_rule.proto
index fd257d4c9..d2b9d33ff 100644
--- a/vendor/istio.io/api/networking/v1beta1/destination_rule.proto
+++ b/vendor/istio.io/api/networking/v1beta1/destination_rule.proto
@@ -17,7 +17,7 @@ import "google/api/field_behavior.proto";
import "google/protobuf/duration.proto";
import "google/protobuf/wrappers.proto";
import "networking/v1beta1/virtual_service.proto";
-import "gogoproto/gogo.proto";
+import "type/v1beta1/selector.proto";
// $schema: istio.networking.v1beta1.DestinationRule
// $title: Destination Rule
@@ -44,7 +44,7 @@ import "gogoproto/gogo.proto";
// host: ratings.prod.svc.cluster.local
// trafficPolicy:
// loadBalancer:
-// simple: LEAST_CONN
+// simple: LEAST_REQUEST
// ```
// {{}}
//
@@ -58,7 +58,7 @@ import "gogoproto/gogo.proto";
// host: ratings.prod.svc.cluster.local
// trafficPolicy:
// loadBalancer:
-// simple: LEAST_CONN
+// simple: LEAST_REQUEST
// ```
// {{}}
// {{}}
@@ -80,7 +80,7 @@ import "gogoproto/gogo.proto";
// host: ratings.prod.svc.cluster.local
// trafficPolicy:
// loadBalancer:
-// simple: LEAST_CONN
+// simple: LEAST_REQUEST
// subsets:
// - name: testversion
// labels:
@@ -101,7 +101,7 @@ import "gogoproto/gogo.proto";
// host: ratings.prod.svc.cluster.local
// trafficPolicy:
// loadBalancer:
-// simple: LEAST_CONN
+// simple: LEAST_REQUEST
// subsets:
// - name: testversion
// labels:
@@ -135,7 +135,7 @@ import "gogoproto/gogo.proto";
// - port:
// number: 80
// loadBalancer:
-// simple: LEAST_CONN
+// simple: LEAST_REQUEST
// - port:
// number: 9080
// loadBalancer:
@@ -156,7 +156,7 @@ import "gogoproto/gogo.proto";
// - port:
// number: 80
// loadBalancer:
-// simple: LEAST_CONN
+// simple: LEAST_REQUEST
// - port:
// number: 9080
// loadBalancer:
@@ -239,6 +239,16 @@ message DestinationRule {
// the destination rule is declared in. Similarly, the value "*" is reserved and
// defines an export to all namespaces.
repeated string export_to = 4;
+ //
+ // Criteria used to select the specific set of pods/VMs on which this
+ // `DestinationRule` configuration should be applied. If specified, the `DestinationRule`
+ // configuration will be applied only to the workload instances matching the workload selector
+ // label in the same namespace. Workload selectors do not apply across namespace boundaries.
+ // If omitted, the `DestinationRule` falls back to its default behavior.
+ // For example, if specific sidecars need to have egress TLS settings for services outside
+ // of the mesh, instead of every sidecar in the mesh needing to have the
+ // configuration (which is the default behaviour), a workload selector can be specified.
+ istio.type.v1beta1.WorkloadSelector workload_selector = 5;
}
// Traffic policies to apply for a specific destination, across all
@@ -282,6 +292,27 @@ message TrafficPolicy {
// overridden by port-level settings, i.e. default values will be applied
// to fields omitted in port-level traffic policies.
repeated PortTrafficPolicy port_level_settings = 5;
+
+ message TunnelSettings {
+ // Specifies which protocol to use for tunneling the downstream connection.
+ // Supported protocols are:
+ // connect - uses HTTP CONNECT;
+ // post - uses HTTP POST.
+ // HTTP version for upstream requests is determined by the service protocol defined for the proxy.
+ string protocol = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Specifies a host to which the downstream connection is tunneled.
+ // Target host must be an FQDN or IP address.
+ string target_host = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Specifies a port to which the downstream connection is tunneled.
+ uint32 target_port = 3 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // Configuration of tunneling TCP over other transport or application layers
+ // for the host configured in the DestinationRule.
+ // Tunnel settings can be applied to TCP or TLS routes and can't be applied to HTTP routes.
+ TunnelSettings tunnel = 6;
}
// A subset of endpoints of a service. Subsets can be used for scenarios
@@ -304,7 +335,7 @@ message TrafficPolicy {
// host: ratings.prod.svc.cluster.local
// trafficPolicy:
// loadBalancer:
-// simple: LEAST_CONN
+// simple: LEAST_REQUEST
// subsets:
// - name: testversion
// labels:
@@ -325,7 +356,7 @@ message TrafficPolicy {
// host: ratings.prod.svc.cluster.local
// trafficPolicy:
// loadBalancer:
-// simple: LEAST_CONN
+// simple: LEAST_REQUEST
// subsets:
// - name: testversion
// labels:
@@ -442,13 +473,12 @@ message Subset {
message LoadBalancerSettings {
// Standard load balancing algorithms that require no tuning.
enum SimpleLB {
- // Round Robin policy. Default
- ROUND_ROBIN = 0;
+ // No load balancing algorithm has been specified by the user. Istio
+ // will select an appropriate default.
+ UNSPECIFIED = 0;
- // The least request load balancer uses an O(1) algorithm which selects
- // two random healthy hosts and picks the host which has fewer active
- // requests.
- LEAST_CONN = 1;
+ // Deprecated. Use LEAST_REQUEST instead.
+ LEAST_CONN = 1 [deprecated=true];
// The random load balancer selects a random healthy host. The random
// load balancer generally performs better than round robin if no health
@@ -461,6 +491,18 @@ message LoadBalancerSettings {
// advanced use cases. Refer to Original Destination load balancer in
// Envoy for further details.
PASSTHROUGH = 3;
+
+ // A basic round robin load balancing policy. This is generally unsafe
+ // for many scenarios (e.g. when enpoint weighting is used) as it can
+ // overburden endpoints. In general, prefer to use LEAST_REQUEST as a
+ // drop-in replacement for ROUND_ROBIN.
+ ROUND_ROBIN = 4;
+
+ // The least request load balancer spreads load across endpoints, favoring
+ // endpoints with the least outstanding requests. This is generally safer
+ // and outperforms ROUND_ROBIN in nearly all cases. Prefer to use
+ // LEAST_REQUEST as a drop-in replacement for ROUND_ROBIN.
+ LEAST_REQUEST = 5;
};
// Consistent Hash-based load balancing can be used to provide soft
@@ -518,6 +560,13 @@ message LoadBalancerSettings {
// Locality load balancer settings, this will override mesh wide settings in entirety, meaning no merging would be performed
// between this object and the object one in MeshConfig
LocalityLoadBalancerSetting locality_lb_setting = 3;
+
+ // Represents the warmup duration of Service. If set, the newly created endpoint of service
+ // remains in warmup mode starting from its creation time for the duration of this window and
+ // Istio progressively increases amount of traffic for that endpoint instead of sending proportional amount of traffic.
+ // This should be enabled for services that require warm up time to serve full production load with reasonable latency.
+ // Currently this is only supported for ROUND_ROBIN and LEAST_CONN load balancers.
+ google.protobuf.Duration warmup_duration_secs = 4;
}
// Connection pool settings for an upstream host. The settings apply to
@@ -955,8 +1004,10 @@ message ClientTLSSettings {
// Only one of client certificates and CA certificate
// or credentialName can be specified.
//
- // **NOTE:** This field is currently applicable only at gateways.
- // Sidecars will continue to use the certificate paths.
+ // **NOTE:** This field is applicable at sidecars only if
+ // `DestinationRule` has a `workloadSelector` specified.
+ // Otherwise the field will be applicable only at gateways, and
+ // sidecars will continue to use the certificate paths.
string credential_name = 7;
// A list of alternate names to verify the subject identity in the
@@ -967,6 +1018,9 @@ message ClientTLSSettings {
repeated string subject_alt_names = 5;
// SNI string to present to the server during TLS handshake.
+ // If unspecified, SNI will be automatically set based on downstream HTTP
+ // host/authority header for SIMPLE and MUTUAL TLS modes, provided `ENABLE_AUTO_SNI`
+ // environmental variable is set to `true`.
string sni = 6;
// InsecureSkipVerify specifies whether the proxy should skip verifying the
diff --git a/vendor/istio.io/api/networking/v1beta1/destination_rule_deepcopy.gen.go b/vendor/istio.io/api/networking/v1beta1/destination_rule_deepcopy.gen.go
index 07a08b7b1..614562c03 100644
--- a/vendor/istio.io/api/networking/v1beta1/destination_rule_deepcopy.gen.go
+++ b/vendor/istio.io/api/networking/v1beta1/destination_rule_deepcopy.gen.go
@@ -1,162 +1,10 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: networking/v1beta1/destination_rule.proto
-
-// `DestinationRule` defines policies that apply to traffic intended for a
-// service after routing has occurred. These rules specify configuration
-// for load balancing, connection pool size from the sidecar, and outlier
-// detection settings to detect and evict unhealthy hosts from the load
-// balancing pool. For example, a simple load balancing policy for the
-// ratings service would look as follows:
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: DestinationRule
-// metadata:
-// name: bookinfo-ratings
-// spec:
-// host: ratings.prod.svc.cluster.local
-// trafficPolicy:
-// loadBalancer:
-// simple: LEAST_CONN
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: DestinationRule
-// metadata:
-// name: bookinfo-ratings
-// spec:
-// host: ratings.prod.svc.cluster.local
-// trafficPolicy:
-// loadBalancer:
-// simple: LEAST_CONN
-// ```
-// {{}}
-// {{}}
-//
-// Version specific policies can be specified by defining a named
-// `subset` and overriding the settings specified at the service level. The
-// following rule uses a round robin load balancing policy for all traffic
-// going to a subset named testversion that is composed of endpoints (e.g.,
-// pods) with labels (version:v3).
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: DestinationRule
-// metadata:
-// name: bookinfo-ratings
-// spec:
-// host: ratings.prod.svc.cluster.local
-// trafficPolicy:
-// loadBalancer:
-// simple: LEAST_CONN
-// subsets:
-// - name: testversion
-// labels:
-// version: v3
-// trafficPolicy:
-// loadBalancer:
-// simple: ROUND_ROBIN
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: DestinationRule
-// metadata:
-// name: bookinfo-ratings
-// spec:
-// host: ratings.prod.svc.cluster.local
-// trafficPolicy:
-// loadBalancer:
-// simple: LEAST_CONN
-// subsets:
-// - name: testversion
-// labels:
-// version: v3
-// trafficPolicy:
-// loadBalancer:
-// simple: ROUND_ROBIN
-// ```
-// {{}}
-// {{}}
-//
-// **Note:** Policies specified for subsets will not take effect until
-// a route rule explicitly sends traffic to this subset.
-//
-// Traffic policies can be customized to specific ports as well. The
-// following rule uses the least connection load balancing policy for all
-// traffic to port 80, while uses a round robin load balancing setting for
-// traffic to the port 9080.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: DestinationRule
-// metadata:
-// name: bookinfo-ratings-port
-// spec:
-// host: ratings.prod.svc.cluster.local
-// trafficPolicy: # Apply to all ports
-// portLevelSettings:
-// - port:
-// number: 80
-// loadBalancer:
-// simple: LEAST_CONN
-// - port:
-// number: 9080
-// loadBalancer:
-// simple: ROUND_ROBIN
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: DestinationRule
-// metadata:
-// name: bookinfo-ratings-port
-// spec:
-// host: ratings.prod.svc.cluster.local
-// trafficPolicy: # Apply to all ports
-// portLevelSettings:
-// - port:
-// number: 80
-// loadBalancer:
-// simple: LEAST_CONN
-// - port:
-// number: 9080
-// loadBalancer:
-// simple: ROUND_ROBIN
-// ```
-// {{}}
-// {{}}
-//
-
+// Code generated by protoc-gen-deepcopy. DO NOT EDIT.
package v1beta1
import (
- fmt "fmt"
- _ "github.com/gogo/protobuf/gogoproto"
- proto "github.com/gogo/protobuf/proto"
- _ "github.com/gogo/protobuf/types"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
+ proto "github.com/golang/protobuf/proto"
)
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
// DeepCopyInto supports using DestinationRule within kubernetes types, where deepcopy-gen is used.
func (in *DestinationRule) DeepCopyInto(out *DestinationRule) {
p := proto.Clone(in).(*DestinationRule)
@@ -220,6 +68,27 @@ func (in *TrafficPolicy_PortTrafficPolicy) DeepCopyInterface() interface{} {
return in.DeepCopy()
}
+// DeepCopyInto supports using TrafficPolicy_TunnelSettings within kubernetes types, where deepcopy-gen is used.
+func (in *TrafficPolicy_TunnelSettings) DeepCopyInto(out *TrafficPolicy_TunnelSettings) {
+ p := proto.Clone(in).(*TrafficPolicy_TunnelSettings)
+ *out = *p
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficPolicy_TunnelSettings. Required by controller-gen.
+func (in *TrafficPolicy_TunnelSettings) DeepCopy() *TrafficPolicy_TunnelSettings {
+ if in == nil {
+ return nil
+ }
+ out := new(TrafficPolicy_TunnelSettings)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new TrafficPolicy_TunnelSettings. Required by controller-gen.
+func (in *TrafficPolicy_TunnelSettings) DeepCopyInterface() interface{} {
+ return in.DeepCopy()
+}
+
// DeepCopyInto supports using Subset within kubernetes types, where deepcopy-gen is used.
func (in *Subset) DeepCopyInto(out *Subset) {
p := proto.Clone(in).(*Subset)
diff --git a/vendor/istio.io/api/networking/v1beta1/destination_rule_json.gen.go b/vendor/istio.io/api/networking/v1beta1/destination_rule_json.gen.go
index 01d8b860c..c19da9e37 100644
--- a/vendor/istio.io/api/networking/v1beta1/destination_rule_json.gen.go
+++ b/vendor/istio.io/api/networking/v1beta1/destination_rule_json.gen.go
@@ -1,164 +1,11 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: networking/v1beta1/destination_rule.proto
-
-// `DestinationRule` defines policies that apply to traffic intended for a
-// service after routing has occurred. These rules specify configuration
-// for load balancing, connection pool size from the sidecar, and outlier
-// detection settings to detect and evict unhealthy hosts from the load
-// balancing pool. For example, a simple load balancing policy for the
-// ratings service would look as follows:
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: DestinationRule
-// metadata:
-// name: bookinfo-ratings
-// spec:
-// host: ratings.prod.svc.cluster.local
-// trafficPolicy:
-// loadBalancer:
-// simple: LEAST_CONN
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: DestinationRule
-// metadata:
-// name: bookinfo-ratings
-// spec:
-// host: ratings.prod.svc.cluster.local
-// trafficPolicy:
-// loadBalancer:
-// simple: LEAST_CONN
-// ```
-// {{}}
-// {{}}
-//
-// Version specific policies can be specified by defining a named
-// `subset` and overriding the settings specified at the service level. The
-// following rule uses a round robin load balancing policy for all traffic
-// going to a subset named testversion that is composed of endpoints (e.g.,
-// pods) with labels (version:v3).
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: DestinationRule
-// metadata:
-// name: bookinfo-ratings
-// spec:
-// host: ratings.prod.svc.cluster.local
-// trafficPolicy:
-// loadBalancer:
-// simple: LEAST_CONN
-// subsets:
-// - name: testversion
-// labels:
-// version: v3
-// trafficPolicy:
-// loadBalancer:
-// simple: ROUND_ROBIN
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: DestinationRule
-// metadata:
-// name: bookinfo-ratings
-// spec:
-// host: ratings.prod.svc.cluster.local
-// trafficPolicy:
-// loadBalancer:
-// simple: LEAST_CONN
-// subsets:
-// - name: testversion
-// labels:
-// version: v3
-// trafficPolicy:
-// loadBalancer:
-// simple: ROUND_ROBIN
-// ```
-// {{}}
-// {{}}
-//
-// **Note:** Policies specified for subsets will not take effect until
-// a route rule explicitly sends traffic to this subset.
-//
-// Traffic policies can be customized to specific ports as well. The
-// following rule uses the least connection load balancing policy for all
-// traffic to port 80, while uses a round robin load balancing setting for
-// traffic to the port 9080.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: DestinationRule
-// metadata:
-// name: bookinfo-ratings-port
-// spec:
-// host: ratings.prod.svc.cluster.local
-// trafficPolicy: # Apply to all ports
-// portLevelSettings:
-// - port:
-// number: 80
-// loadBalancer:
-// simple: LEAST_CONN
-// - port:
-// number: 9080
-// loadBalancer:
-// simple: ROUND_ROBIN
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: DestinationRule
-// metadata:
-// name: bookinfo-ratings-port
-// spec:
-// host: ratings.prod.svc.cluster.local
-// trafficPolicy: # Apply to all ports
-// portLevelSettings:
-// - port:
-// number: 80
-// loadBalancer:
-// simple: LEAST_CONN
-// - port:
-// number: 9080
-// loadBalancer:
-// simple: ROUND_ROBIN
-// ```
-// {{}}
-// {{}}
-//
-
+// Code generated by protoc-gen-jsonshim. DO NOT EDIT.
package v1beta1
import (
bytes "bytes"
- fmt "fmt"
- _ "github.com/gogo/protobuf/gogoproto"
- github_com_gogo_protobuf_jsonpb "github.com/gogo/protobuf/jsonpb"
- proto "github.com/gogo/protobuf/proto"
- _ "github.com/gogo/protobuf/types"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
+ jsonpb "github.com/golang/protobuf/jsonpb"
)
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
// MarshalJSON is a custom marshaler for DestinationRule
func (this *DestinationRule) MarshalJSON() ([]byte, error) {
str, err := DestinationRuleMarshaler.MarshalToString(this)
@@ -192,6 +39,17 @@ func (this *TrafficPolicy_PortTrafficPolicy) UnmarshalJSON(b []byte) error {
return DestinationRuleUnmarshaler.Unmarshal(bytes.NewReader(b), this)
}
+// MarshalJSON is a custom marshaler for TrafficPolicy_TunnelSettings
+func (this *TrafficPolicy_TunnelSettings) MarshalJSON() ([]byte, error) {
+ str, err := DestinationRuleMarshaler.MarshalToString(this)
+ return []byte(str), err
+}
+
+// UnmarshalJSON is a custom unmarshaler for TrafficPolicy_TunnelSettings
+func (this *TrafficPolicy_TunnelSettings) UnmarshalJSON(b []byte) error {
+ return DestinationRuleUnmarshaler.Unmarshal(bytes.NewReader(b), this)
+}
+
// MarshalJSON is a custom marshaler for Subset
func (this *Subset) MarshalJSON() ([]byte, error) {
str, err := DestinationRuleMarshaler.MarshalToString(this)
@@ -336,6 +194,6 @@ func (this *LocalityLoadBalancerSetting_Failover) UnmarshalJSON(b []byte) error
}
var (
- DestinationRuleMarshaler = &github_com_gogo_protobuf_jsonpb.Marshaler{}
- DestinationRuleUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{AllowUnknownFields: true}
+ DestinationRuleMarshaler = &jsonpb.Marshaler{}
+ DestinationRuleUnmarshaler = &jsonpb.Unmarshaler{AllowUnknownFields: true}
)
diff --git a/vendor/istio.io/api/networking/v1beta1/gateway.pb.go b/vendor/istio.io/api/networking/v1beta1/gateway.pb.go
index 74c001ead..f74e7d80a 100644
--- a/vendor/istio.io/api/networking/v1beta1/gateway.pb.go
+++ b/vendor/istio.io/api/networking/v1beta1/gateway.pb.go
@@ -1,6 +1,30 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
+// Copyright 2020 Istio 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-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.27.1
+// protoc (unknown)
// source: networking/v1beta1/gateway.proto
+// $schema: istio.networking.v1beta1.Gateway
+// $title: Gateway
+// $description: Configuration affecting edge load balancer.
+// $location: https://istio.io/docs/reference/config/networking/gateway.html
+// $aliases: [/docs/reference/config/networking/v1beta1/gateway]
+// $mode: none
+
// `Gateway` describes a load balancer operating at the edge of the mesh
// receiving incoming or outgoing HTTP/TCP connections. The specification
// describes a set of ports that should be exposed, the type of protocol to
@@ -330,24 +354,19 @@
package v1beta1
import (
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- io "io"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
- math_bits "math/bits"
+ _ "google.golang.org/genproto/googleapis/api/annotations"
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
)
-// 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.GoGoProtoPackageIsVersion3 // please upgrade the proto package
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
// TLS modes enforced by the proxy
type ServerTLSSettings_TLSmode int32
@@ -383,28 +402,49 @@ const (
ServerTLSSettings_ISTIO_MUTUAL ServerTLSSettings_TLSmode = 4
)
-var ServerTLSSettings_TLSmode_name = map[int32]string{
- 0: "PASSTHROUGH",
- 1: "SIMPLE",
- 2: "MUTUAL",
- 3: "AUTO_PASSTHROUGH",
- 4: "ISTIO_MUTUAL",
-}
+// Enum value maps for ServerTLSSettings_TLSmode.
+var (
+ ServerTLSSettings_TLSmode_name = map[int32]string{
+ 0: "PASSTHROUGH",
+ 1: "SIMPLE",
+ 2: "MUTUAL",
+ 3: "AUTO_PASSTHROUGH",
+ 4: "ISTIO_MUTUAL",
+ }
+ ServerTLSSettings_TLSmode_value = map[string]int32{
+ "PASSTHROUGH": 0,
+ "SIMPLE": 1,
+ "MUTUAL": 2,
+ "AUTO_PASSTHROUGH": 3,
+ "ISTIO_MUTUAL": 4,
+ }
+)
-var ServerTLSSettings_TLSmode_value = map[string]int32{
- "PASSTHROUGH": 0,
- "SIMPLE": 1,
- "MUTUAL": 2,
- "AUTO_PASSTHROUGH": 3,
- "ISTIO_MUTUAL": 4,
+func (x ServerTLSSettings_TLSmode) Enum() *ServerTLSSettings_TLSmode {
+ p := new(ServerTLSSettings_TLSmode)
+ *p = x
+ return p
}
func (x ServerTLSSettings_TLSmode) String() string {
- return proto.EnumName(ServerTLSSettings_TLSmode_name, int32(x))
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ServerTLSSettings_TLSmode) Descriptor() protoreflect.EnumDescriptor {
+ return file_networking_v1beta1_gateway_proto_enumTypes[0].Descriptor()
+}
+
+func (ServerTLSSettings_TLSmode) Type() protoreflect.EnumType {
+ return &file_networking_v1beta1_gateway_proto_enumTypes[0]
}
+func (x ServerTLSSettings_TLSmode) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ServerTLSSettings_TLSmode.Descriptor instead.
func (ServerTLSSettings_TLSmode) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_6ed1f6b211144a0d, []int{3, 0}
+ return file_networking_v1beta1_gateway_proto_rawDescGZIP(), []int{3, 0}
}
// TLS protocol versions.
@@ -423,28 +463,49 @@ const (
ServerTLSSettings_TLSV1_3 ServerTLSSettings_TLSProtocol = 4
)
-var ServerTLSSettings_TLSProtocol_name = map[int32]string{
- 0: "TLS_AUTO",
- 1: "TLSV1_0",
- 2: "TLSV1_1",
- 3: "TLSV1_2",
- 4: "TLSV1_3",
-}
+// Enum value maps for ServerTLSSettings_TLSProtocol.
+var (
+ ServerTLSSettings_TLSProtocol_name = map[int32]string{
+ 0: "TLS_AUTO",
+ 1: "TLSV1_0",
+ 2: "TLSV1_1",
+ 3: "TLSV1_2",
+ 4: "TLSV1_3",
+ }
+ ServerTLSSettings_TLSProtocol_value = map[string]int32{
+ "TLS_AUTO": 0,
+ "TLSV1_0": 1,
+ "TLSV1_1": 2,
+ "TLSV1_2": 3,
+ "TLSV1_3": 4,
+ }
+)
-var ServerTLSSettings_TLSProtocol_value = map[string]int32{
- "TLS_AUTO": 0,
- "TLSV1_0": 1,
- "TLSV1_1": 2,
- "TLSV1_2": 3,
- "TLSV1_3": 4,
+func (x ServerTLSSettings_TLSProtocol) Enum() *ServerTLSSettings_TLSProtocol {
+ p := new(ServerTLSSettings_TLSProtocol)
+ *p = x
+ return p
}
func (x ServerTLSSettings_TLSProtocol) String() string {
- return proto.EnumName(ServerTLSSettings_TLSProtocol_name, int32(x))
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
+func (ServerTLSSettings_TLSProtocol) Descriptor() protoreflect.EnumDescriptor {
+ return file_networking_v1beta1_gateway_proto_enumTypes[1].Descriptor()
+}
+
+func (ServerTLSSettings_TLSProtocol) Type() protoreflect.EnumType {
+ return &file_networking_v1beta1_gateway_proto_enumTypes[1]
+}
+
+func (x ServerTLSSettings_TLSProtocol) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ServerTLSSettings_TLSProtocol.Descriptor instead.
func (ServerTLSSettings_TLSProtocol) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_6ed1f6b211144a0d, []int{3, 1}
+ return file_networking_v1beta1_gateway_proto_rawDescGZIP(), []int{3, 1}
}
// Gateway describes a load balancer operating at the edge of the mesh
@@ -471,6 +532,10 @@ func (ServerTLSSettings_TLSProtocol) EnumDescriptor() ([]byte, []int) {
// +istio.io/sync-from:networking/v1alpha3/gateway.proto
// -->
type Gateway struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// A list of server specifications.
Servers []*Server `protobuf:"bytes,1,rep,name=servers,proto3" json:"servers,omitempty"`
// One or more labels that indicate a specific set of pods/VMs
@@ -485,55 +550,51 @@ type Gateway struct {
// resource must reside in the same namespace as the gateway workload
// instance.
// If selector is nil, the Gateway will be applied to all workloads.
- Selector map[string]string `protobuf:"bytes,2,rep,name=selector,proto3" json:"selector,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Selector map[string]string `protobuf:"bytes,2,rep,name=selector,proto3" json:"selector,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
-func (m *Gateway) Reset() { *m = Gateway{} }
-func (m *Gateway) String() string { return proto.CompactTextString(m) }
-func (*Gateway) ProtoMessage() {}
-func (*Gateway) Descriptor() ([]byte, []int) {
- return fileDescriptor_6ed1f6b211144a0d, []int{0}
+func (x *Gateway) Reset() {
+ *x = Gateway{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_gateway_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
}
-func (m *Gateway) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
+
+func (x *Gateway) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *Gateway) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Gateway.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
+
+func (*Gateway) ProtoMessage() {}
+
+func (x *Gateway) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_gateway_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- return b[:n], nil
+ return ms
}
-}
-func (m *Gateway) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Gateway.Merge(m, src)
-}
-func (m *Gateway) XXX_Size() int {
- return m.Size()
-}
-func (m *Gateway) XXX_DiscardUnknown() {
- xxx_messageInfo_Gateway.DiscardUnknown(m)
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_Gateway proto.InternalMessageInfo
+// Deprecated: Use Gateway.ProtoReflect.Descriptor instead.
+func (*Gateway) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_gateway_proto_rawDescGZIP(), []int{0}
+}
-func (m *Gateway) GetServers() []*Server {
- if m != nil {
- return m.Servers
+func (x *Gateway) GetServers() []*Server {
+ if x != nil {
+ return x.Servers
}
return nil
}
-func (m *Gateway) GetSelector() map[string]string {
- if m != nil {
- return m.Selector
+func (x *Gateway) GetSelector() map[string]string {
+ if x != nil {
+ return x.Selector
}
return nil
}
@@ -644,8 +705,7 @@ func (m *Gateway) GetSelector() map[string]string {
// - "*"
// tls:
// mode: SIMPLE
-// serverCertificate: /etc/certs/server.pem
-// privateKey: /etc/certs/privatekey.pem
+// credentialName: tls-cert
// ```
// {{}}
//
@@ -667,13 +727,16 @@ func (m *Gateway) GetSelector() map[string]string {
// - "*"
// tls:
// mode: SIMPLE
-// serverCertificate: /etc/certs/server.pem
-// privateKey: /etc/certs/privatekey.pem
+// credentialName: tls-cert
// ```
// {{}}
// {{}}
//
type Server struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// The Port on which the proxy should listen for incoming
// connections.
Port *Port `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"`
@@ -729,89 +792,89 @@ type Server struct {
// An optional name of the server, when set must be unique across all servers.
// This will be used for variety of purposes like prefixing stats generated with
// this name etc.
- Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
}
-func (m *Server) Reset() { *m = Server{} }
-func (m *Server) String() string { return proto.CompactTextString(m) }
-func (*Server) ProtoMessage() {}
-func (*Server) Descriptor() ([]byte, []int) {
- return fileDescriptor_6ed1f6b211144a0d, []int{1}
+func (x *Server) Reset() {
+ *x = Server{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_gateway_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
}
-func (m *Server) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
+
+func (x *Server) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *Server) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Server.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
+
+func (*Server) ProtoMessage() {}
+
+func (x *Server) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_gateway_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- return b[:n], nil
+ return ms
}
-}
-func (m *Server) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Server.Merge(m, src)
-}
-func (m *Server) XXX_Size() int {
- return m.Size()
-}
-func (m *Server) XXX_DiscardUnknown() {
- xxx_messageInfo_Server.DiscardUnknown(m)
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_Server proto.InternalMessageInfo
+// Deprecated: Use Server.ProtoReflect.Descriptor instead.
+func (*Server) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_gateway_proto_rawDescGZIP(), []int{1}
+}
-func (m *Server) GetPort() *Port {
- if m != nil {
- return m.Port
+func (x *Server) GetPort() *Port {
+ if x != nil {
+ return x.Port
}
return nil
}
-func (m *Server) GetBind() string {
- if m != nil {
- return m.Bind
+func (x *Server) GetBind() string {
+ if x != nil {
+ return x.Bind
}
return ""
}
-func (m *Server) GetHosts() []string {
- if m != nil {
- return m.Hosts
+func (x *Server) GetHosts() []string {
+ if x != nil {
+ return x.Hosts
}
return nil
}
-func (m *Server) GetTls() *ServerTLSSettings {
- if m != nil {
- return m.Tls
+func (x *Server) GetTls() *ServerTLSSettings {
+ if x != nil {
+ return x.Tls
}
return nil
}
-func (m *Server) GetDefaultEndpoint() string {
- if m != nil {
- return m.DefaultEndpoint
+func (x *Server) GetDefaultEndpoint() string {
+ if x != nil {
+ return x.DefaultEndpoint
}
return ""
}
-func (m *Server) GetName() string {
- if m != nil {
- return m.Name
+func (x *Server) GetName() string {
+ if x != nil {
+ return x.Name
}
return ""
}
// Port describes the properties of a specific port of a service.
type Port struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// A valid non-negative integer port number.
Number uint32 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"`
// The protocol exposed on the port.
@@ -823,74 +886,74 @@ type Port struct {
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
// The port number on the endpoint where the traffic will be
// received. Applicable only when used with ServiceEntries.
- TargetPort uint32 `protobuf:"varint,4,opt,name=target_port,json=targetPort,proto3" json:"target_port,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ TargetPort uint32 `protobuf:"varint,4,opt,name=target_port,json=targetPort,proto3" json:"target_port,omitempty"`
}
-func (m *Port) Reset() { *m = Port{} }
-func (m *Port) String() string { return proto.CompactTextString(m) }
-func (*Port) ProtoMessage() {}
-func (*Port) Descriptor() ([]byte, []int) {
- return fileDescriptor_6ed1f6b211144a0d, []int{2}
+func (x *Port) Reset() {
+ *x = Port{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_gateway_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
}
-func (m *Port) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
+
+func (x *Port) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *Port) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Port.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
+
+func (*Port) ProtoMessage() {}
+
+func (x *Port) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_gateway_proto_msgTypes[2]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- return b[:n], nil
+ return ms
}
-}
-func (m *Port) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Port.Merge(m, src)
-}
-func (m *Port) XXX_Size() int {
- return m.Size()
-}
-func (m *Port) XXX_DiscardUnknown() {
- xxx_messageInfo_Port.DiscardUnknown(m)
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_Port proto.InternalMessageInfo
+// Deprecated: Use Port.ProtoReflect.Descriptor instead.
+func (*Port) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_gateway_proto_rawDescGZIP(), []int{2}
+}
-func (m *Port) GetNumber() uint32 {
- if m != nil {
- return m.Number
+func (x *Port) GetNumber() uint32 {
+ if x != nil {
+ return x.Number
}
return 0
}
-func (m *Port) GetProtocol() string {
- if m != nil {
- return m.Protocol
+func (x *Port) GetProtocol() string {
+ if x != nil {
+ return x.Protocol
}
return ""
}
-func (m *Port) GetName() string {
- if m != nil {
- return m.Name
+func (x *Port) GetName() string {
+ if x != nil {
+ return x.Name
}
return ""
}
-func (m *Port) GetTargetPort() uint32 {
- if m != nil {
- return m.TargetPort
+func (x *Port) GetTargetPort() uint32 {
+ if x != nil {
+ return x.TargetPort
}
return 0
}
type ServerTLSSettings struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// If set to true, the load balancer will send a 301 redirect for
// all http connections, asking the clients to use HTTPS.
HttpsRedirect bool `protobuf:"varint,1,opt,name=https_redirect,json=httpsRedirect,proto3" json:"https_redirect,omitempty"`
@@ -942,1755 +1005,341 @@ type ServerTLSSettings struct {
MaxProtocolVersion ServerTLSSettings_TLSProtocol `protobuf:"varint,8,opt,name=max_protocol_version,json=maxProtocolVersion,proto3,enum=istio.networking.v1beta1.ServerTLSSettings_TLSProtocol" json:"max_protocol_version,omitempty"`
// Optional: If specified, only support the specified cipher list.
// Otherwise default to the default cipher list supported by Envoy.
- CipherSuites []string `protobuf:"bytes,9,rep,name=cipher_suites,json=cipherSuites,proto3" json:"cipher_suites,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ CipherSuites []string `protobuf:"bytes,9,rep,name=cipher_suites,json=cipherSuites,proto3" json:"cipher_suites,omitempty"`
}
-func (m *ServerTLSSettings) Reset() { *m = ServerTLSSettings{} }
-func (m *ServerTLSSettings) String() string { return proto.CompactTextString(m) }
-func (*ServerTLSSettings) ProtoMessage() {}
-func (*ServerTLSSettings) Descriptor() ([]byte, []int) {
- return fileDescriptor_6ed1f6b211144a0d, []int{3}
+func (x *ServerTLSSettings) Reset() {
+ *x = ServerTLSSettings{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_gateway_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
}
-func (m *ServerTLSSettings) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
+
+func (x *ServerTLSSettings) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *ServerTLSSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_ServerTLSSettings.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
+
+func (*ServerTLSSettings) ProtoMessage() {}
+
+func (x *ServerTLSSettings) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_gateway_proto_msgTypes[3]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- return b[:n], nil
+ return ms
}
-}
-func (m *ServerTLSSettings) XXX_Merge(src proto.Message) {
- xxx_messageInfo_ServerTLSSettings.Merge(m, src)
-}
-func (m *ServerTLSSettings) XXX_Size() int {
- return m.Size()
-}
-func (m *ServerTLSSettings) XXX_DiscardUnknown() {
- xxx_messageInfo_ServerTLSSettings.DiscardUnknown(m)
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_ServerTLSSettings proto.InternalMessageInfo
+// Deprecated: Use ServerTLSSettings.ProtoReflect.Descriptor instead.
+func (*ServerTLSSettings) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_gateway_proto_rawDescGZIP(), []int{3}
+}
-func (m *ServerTLSSettings) GetHttpsRedirect() bool {
- if m != nil {
- return m.HttpsRedirect
+func (x *ServerTLSSettings) GetHttpsRedirect() bool {
+ if x != nil {
+ return x.HttpsRedirect
}
return false
}
-func (m *ServerTLSSettings) GetMode() ServerTLSSettings_TLSmode {
- if m != nil {
- return m.Mode
+func (x *ServerTLSSettings) GetMode() ServerTLSSettings_TLSmode {
+ if x != nil {
+ return x.Mode
}
return ServerTLSSettings_PASSTHROUGH
}
-func (m *ServerTLSSettings) GetServerCertificate() string {
- if m != nil {
- return m.ServerCertificate
+func (x *ServerTLSSettings) GetServerCertificate() string {
+ if x != nil {
+ return x.ServerCertificate
}
return ""
}
-func (m *ServerTLSSettings) GetPrivateKey() string {
- if m != nil {
- return m.PrivateKey
+func (x *ServerTLSSettings) GetPrivateKey() string {
+ if x != nil {
+ return x.PrivateKey
}
return ""
}
-func (m *ServerTLSSettings) GetCaCertificates() string {
- if m != nil {
- return m.CaCertificates
+func (x *ServerTLSSettings) GetCaCertificates() string {
+ if x != nil {
+ return x.CaCertificates
}
return ""
}
-func (m *ServerTLSSettings) GetCredentialName() string {
- if m != nil {
- return m.CredentialName
+func (x *ServerTLSSettings) GetCredentialName() string {
+ if x != nil {
+ return x.CredentialName
}
return ""
}
-func (m *ServerTLSSettings) GetSubjectAltNames() []string {
- if m != nil {
- return m.SubjectAltNames
+func (x *ServerTLSSettings) GetSubjectAltNames() []string {
+ if x != nil {
+ return x.SubjectAltNames
}
return nil
}
-func (m *ServerTLSSettings) GetVerifyCertificateSpki() []string {
- if m != nil {
- return m.VerifyCertificateSpki
+func (x *ServerTLSSettings) GetVerifyCertificateSpki() []string {
+ if x != nil {
+ return x.VerifyCertificateSpki
}
return nil
}
-func (m *ServerTLSSettings) GetVerifyCertificateHash() []string {
- if m != nil {
- return m.VerifyCertificateHash
+func (x *ServerTLSSettings) GetVerifyCertificateHash() []string {
+ if x != nil {
+ return x.VerifyCertificateHash
}
return nil
}
-func (m *ServerTLSSettings) GetMinProtocolVersion() ServerTLSSettings_TLSProtocol {
- if m != nil {
- return m.MinProtocolVersion
+func (x *ServerTLSSettings) GetMinProtocolVersion() ServerTLSSettings_TLSProtocol {
+ if x != nil {
+ return x.MinProtocolVersion
}
return ServerTLSSettings_TLS_AUTO
}
-func (m *ServerTLSSettings) GetMaxProtocolVersion() ServerTLSSettings_TLSProtocol {
- if m != nil {
- return m.MaxProtocolVersion
+func (x *ServerTLSSettings) GetMaxProtocolVersion() ServerTLSSettings_TLSProtocol {
+ if x != nil {
+ return x.MaxProtocolVersion
}
return ServerTLSSettings_TLS_AUTO
}
-func (m *ServerTLSSettings) GetCipherSuites() []string {
- if m != nil {
- return m.CipherSuites
+func (x *ServerTLSSettings) GetCipherSuites() []string {
+ if x != nil {
+ return x.CipherSuites
}
return nil
}
-func init() {
- proto.RegisterEnum("istio.networking.v1beta1.ServerTLSSettings_TLSmode", ServerTLSSettings_TLSmode_name, ServerTLSSettings_TLSmode_value)
- proto.RegisterEnum("istio.networking.v1beta1.ServerTLSSettings_TLSProtocol", ServerTLSSettings_TLSProtocol_name, ServerTLSSettings_TLSProtocol_value)
- proto.RegisterType((*Gateway)(nil), "istio.networking.v1beta1.Gateway")
- proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1beta1.Gateway.SelectorEntry")
- proto.RegisterType((*Server)(nil), "istio.networking.v1beta1.Server")
- proto.RegisterType((*Port)(nil), "istio.networking.v1beta1.Port")
- proto.RegisterType((*ServerTLSSettings)(nil), "istio.networking.v1beta1.ServerTLSSettings")
-}
-
-func init() { proto.RegisterFile("networking/v1beta1/gateway.proto", fileDescriptor_6ed1f6b211144a0d) }
-
-var fileDescriptor_6ed1f6b211144a0d = []byte{
- // 785 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x55, 0x4d, 0x6f, 0x22, 0x47,
- 0x10, 0xdd, 0x81, 0x31, 0xc6, 0x85, 0xb1, 0xc7, 0x2d, 0x47, 0x19, 0x59, 0x91, 0x8d, 0x88, 0xa2,
- 0x6c, 0x12, 0x2d, 0xc4, 0xb6, 0x94, 0xac, 0x12, 0x45, 0x0a, 0x1b, 0x59, 0xb6, 0x15, 0x36, 0x90,
- 0x19, 0xd8, 0xc3, 0x5e, 0x5a, 0xcd, 0xd0, 0x40, 0x87, 0x61, 0x7a, 0xd4, 0xdd, 0xb0, 0xcb, 0x31,
- 0xff, 0x2e, 0xc7, 0xdc, 0x73, 0x89, 0xb8, 0xe5, 0x96, 0x9f, 0x10, 0xf5, 0x07, 0x0b, 0x89, 0x85,
- 0x22, 0x6b, 0x6f, 0xdd, 0xaf, 0xeb, 0xbd, 0xaa, 0x7a, 0x55, 0x30, 0x50, 0xcb, 0xa8, 0x7a, 0xc3,
- 0xc5, 0x94, 0x65, 0xe3, 0xe6, 0xe2, 0x72, 0x40, 0x15, 0xb9, 0x6c, 0x8e, 0x89, 0xa2, 0x6f, 0xc8,
- 0xb2, 0x91, 0x0b, 0xae, 0x38, 0x0a, 0x99, 0x54, 0x8c, 0x37, 0x36, 0x71, 0x0d, 0x17, 0x77, 0x76,
- 0x31, 0xe6, 0x7c, 0x9c, 0xd2, 0x26, 0xc9, 0x59, 0x73, 0xc4, 0x68, 0x3a, 0xc4, 0x03, 0x3a, 0x21,
- 0x0b, 0xc6, 0x85, 0xa5, 0xd6, 0xff, 0xf0, 0x60, 0xff, 0xd6, 0x8a, 0xa1, 0xef, 0x61, 0x5f, 0x52,
- 0xb1, 0xa0, 0x42, 0x86, 0x5e, 0xad, 0xf8, 0xb4, 0x72, 0x55, 0x6b, 0xec, 0x12, 0x6e, 0xc4, 0x26,
- 0xf0, 0x85, 0xbf, 0x6a, 0x79, 0x85, 0x68, 0x4d, 0x43, 0x3f, 0x43, 0x59, 0xd2, 0x94, 0x26, 0x8a,
- 0x8b, 0xb0, 0x60, 0x24, 0x9a, 0xbb, 0x25, 0x5c, 0xda, 0x46, 0xec, 0x18, 0x37, 0x99, 0x12, 0x4b,
- 0xa7, 0xf8, 0x4e, 0xe6, 0xec, 0x5b, 0xa8, 0xfe, 0x2b, 0x00, 0x05, 0x50, 0x9c, 0xd2, 0x65, 0xe8,
- 0xd5, 0xbc, 0xa7, 0x07, 0x91, 0x3e, 0xa2, 0x53, 0xd8, 0x5b, 0x90, 0x74, 0x4e, 0xc3, 0x82, 0xc1,
- 0xec, 0xe5, 0x9b, 0xc2, 0x73, 0xaf, 0xfe, 0xb7, 0x07, 0x25, 0x5b, 0x29, 0x7a, 0x0e, 0x7e, 0xce,
- 0x85, 0x32, 0xbc, 0xca, 0xd5, 0xf9, 0xee, 0xb2, 0xba, 0x5c, 0x28, 0x57, 0x85, 0x61, 0x20, 0x04,
- 0xfe, 0x80, 0x65, 0xc3, 0xd0, 0x37, 0xea, 0xe6, 0x8c, 0xce, 0x60, 0x6f, 0xc2, 0xa5, 0x92, 0xa6,
- 0xcb, 0x03, 0x17, 0x6e, 0x21, 0xf4, 0x1d, 0x14, 0x55, 0x2a, 0xc3, 0xa2, 0x49, 0xf4, 0xc5, 0xff,
- 0x59, 0xd8, 0x6b, 0xc7, 0x31, 0x55, 0x8a, 0x65, 0x63, 0x19, 0x69, 0x1e, 0xfa, 0x0c, 0x82, 0x21,
- 0x1d, 0x91, 0x79, 0xaa, 0x30, 0xcd, 0x86, 0x39, 0x67, 0x99, 0x0a, 0xf7, 0x4c, 0xea, 0x63, 0x87,
- 0xdf, 0x38, 0x58, 0x57, 0x96, 0x91, 0x19, 0x0d, 0x4b, 0xb6, 0x32, 0x7d, 0xae, 0xff, 0xea, 0x81,
- 0xaf, 0x5b, 0x40, 0x1f, 0x41, 0x29, 0x9b, 0xcf, 0x06, 0x54, 0x98, 0x96, 0xab, 0xae, 0x46, 0x87,
- 0xa1, 0x1a, 0x94, 0xcd, 0x02, 0x24, 0x3c, 0xb5, 0xb6, 0xad, 0x8d, 0x5f, 0xa3, 0x28, 0x74, 0xe2,
- 0xc5, 0xad, 0x57, 0x83, 0xa0, 0x0b, 0xa8, 0x28, 0x22, 0xc6, 0x54, 0x61, 0xe3, 0xa8, 0xf6, 0xa5,
- 0x1a, 0x81, 0x85, 0x74, 0xea, 0xfa, 0x5f, 0x25, 0x38, 0x79, 0xd0, 0x1d, 0xfa, 0x04, 0x8e, 0x26,
- 0x4a, 0xe5, 0x12, 0x0b, 0x3a, 0x64, 0x82, 0x26, 0x76, 0x16, 0xe5, 0xa8, 0x6a, 0xd0, 0xc8, 0x81,
- 0xe8, 0x16, 0xfc, 0x19, 0x1f, 0xda, 0x61, 0x1e, 0x5d, 0x5d, 0x3f, 0xc2, 0xbf, 0x46, 0xaf, 0x1d,
- 0x6b, 0x6a, 0x64, 0x04, 0xd0, 0x33, 0x40, 0x76, 0x2f, 0x71, 0x42, 0x85, 0x62, 0x23, 0x96, 0x10,
- 0xe5, 0xda, 0x89, 0x4e, 0xec, 0xcb, 0x0f, 0x9b, 0x07, 0xdd, 0x55, 0x2e, 0xd8, 0x82, 0x28, 0x8a,
- 0xf5, 0x7e, 0xd9, 0x69, 0x83, 0x83, 0x7e, 0xa4, 0x4b, 0xf4, 0x29, 0x1c, 0x27, 0x64, 0x5b, 0x4b,
- 0xba, 0xb9, 0x1c, 0x25, 0x64, 0x4b, 0x48, 0x9a, 0x40, 0x41, 0x87, 0x34, 0x53, 0x8c, 0xa4, 0xd8,
- 0x98, 0x08, 0x2e, 0xf0, 0x1d, 0xfc, 0x93, 0x36, 0xf2, 0x73, 0x38, 0x91, 0xf3, 0xc1, 0x2f, 0x34,
- 0x51, 0x98, 0xa4, 0xca, 0x44, 0xca, 0xb0, 0xa4, 0x37, 0x2a, 0x3a, 0x76, 0x0f, 0xad, 0x54, 0xe9,
- 0x50, 0x89, 0xbe, 0x82, 0x0f, 0x17, 0x54, 0xb0, 0xd1, 0x72, 0xbb, 0x02, 0x2c, 0xf3, 0x29, 0x0b,
- 0x2b, 0x86, 0xf1, 0x81, 0x7d, 0xde, 0xaa, 0x24, 0xce, 0xa7, 0x6c, 0x07, 0x6f, 0x42, 0xe4, 0x24,
- 0x3c, 0xdc, 0xc1, 0xbb, 0x23, 0x72, 0x82, 0x18, 0x9c, 0xce, 0x58, 0x86, 0xd7, 0xeb, 0x80, 0xf5,
- 0xef, 0x9b, 0xf1, 0x2c, 0xdc, 0x37, 0x63, 0xf9, 0xfa, 0x91, 0x63, 0xe9, 0x3a, 0x99, 0x08, 0xcd,
- 0x58, 0xb6, 0xbe, 0xbc, 0xb2, 0x92, 0x26, 0x15, 0x79, 0xfb, 0x30, 0x55, 0xf9, 0x7d, 0x53, 0x91,
- 0xb7, 0xff, 0x4d, 0xf5, 0x31, 0x54, 0x13, 0x96, 0x4f, 0xa8, 0xc0, 0x72, 0xce, 0xf4, 0x04, 0x0f,
- 0x8c, 0x07, 0x87, 0x16, 0x8c, 0x0d, 0x56, 0x7f, 0x0d, 0xfb, 0x6e, 0x93, 0xd0, 0x31, 0x54, 0xba,
- 0xad, 0x38, 0xee, 0xdd, 0x45, 0x9d, 0xfe, 0xed, 0x5d, 0xf0, 0x04, 0x01, 0x94, 0xe2, 0xfb, 0x97,
- 0xdd, 0xf6, 0x4d, 0xe0, 0xe9, 0xf3, 0xcb, 0x7e, 0xaf, 0xdf, 0x6a, 0x07, 0x05, 0x74, 0x0a, 0x41,
- 0xab, 0xdf, 0xeb, 0xe0, 0xed, 0xe8, 0x22, 0x0a, 0xe0, 0xf0, 0x3e, 0xee, 0xdd, 0x77, 0xb0, 0x8b,
- 0xf3, 0xeb, 0x1d, 0xa8, 0x6c, 0xd5, 0x88, 0x0e, 0xa1, 0xdc, 0x6b, 0xc7, 0x58, 0x53, 0x83, 0x27,
- 0xa8, 0x62, 0x12, 0xbf, 0xba, 0xc4, 0x5f, 0x06, 0xde, 0xe6, 0x72, 0x19, 0x14, 0x36, 0x97, 0xab,
- 0xa0, 0xb8, 0xb9, 0x5c, 0x07, 0xfe, 0x8b, 0x67, 0xbf, 0xad, 0xce, 0xbd, 0xdf, 0x57, 0xe7, 0xde,
- 0x9f, 0xab, 0x73, 0xef, 0xf5, 0x85, 0xf5, 0x8a, 0x71, 0xf3, 0x8f, 0xff, 0xf0, 0xc3, 0x31, 0x28,
- 0x19, 0x97, 0xaf, 0xff, 0x09, 0x00, 0x00, 0xff, 0xff, 0x07, 0x06, 0x3c, 0xd0, 0x55, 0x06, 0x00,
- 0x00,
-}
-
-func (m *Gateway) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *Gateway) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Gateway) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Selector) > 0 {
- for k := range m.Selector {
- v := m.Selector[k]
- baseI := i
- i -= len(v)
- copy(dAtA[i:], v)
- i = encodeVarintGateway(dAtA, i, uint64(len(v)))
- i--
- dAtA[i] = 0x12
- i -= len(k)
- copy(dAtA[i:], k)
- i = encodeVarintGateway(dAtA, i, uint64(len(k)))
- i--
- dAtA[i] = 0xa
- i = encodeVarintGateway(dAtA, i, uint64(baseI-i))
- i--
- dAtA[i] = 0x12
- }
- }
- if len(m.Servers) > 0 {
- for iNdEx := len(m.Servers) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Servers[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGateway(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- }
- return len(dAtA) - i, nil
-}
-
-func (m *Server) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *Server) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+var File_networking_v1beta1_gateway_proto protoreflect.FileDescriptor
+
+var file_networking_v1beta1_gateway_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62,
+ 0x65, 0x74, 0x61, 0x31, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x18, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
+ 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1f, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62,
+ 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdb, 0x01,
+ 0x0a, 0x07, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x12, 0x40, 0x0a, 0x07, 0x73, 0x65, 0x72,
+ 0x76, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x69, 0x73, 0x74,
+ 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31,
+ 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x04, 0xe2, 0x41,
+ 0x01, 0x02, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x51, 0x0a, 0x08, 0x73,
+ 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e,
+ 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67,
+ 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79,
+ 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x04,
+ 0xe2, 0x41, 0x01, 0x02, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x1a, 0x3b,
+ 0x0a, 0x0d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
+ 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
+ 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf0, 0x01, 0x0a, 0x06,
+ 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74,
+ 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
+ 0x50, 0x6f, 0x72, 0x74, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74,
+ 0x12, 0x12, 0x0a, 0x04, 0x62, 0x69, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
+ 0x62, 0x69, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20,
+ 0x03, 0x28, 0x09, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73,
+ 0x12, 0x3d, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
+ 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67,
+ 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54,
+ 0x4c, 0x53, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x12,
+ 0x29, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f,
+ 0x69, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75,
+ 0x6c, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
+ 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x81,
+ 0x01, 0x0a, 0x04, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65,
+ 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x06, 0x6e,
+ 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
+ 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x08, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x18, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d,
+ 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f,
+ 0x72, 0x74, 0x22, 0xe9, 0x06, 0x0a, 0x11, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x4c, 0x53,
+ 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x68, 0x74, 0x74, 0x70,
+ 0x73, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x0d, 0x68, 0x74, 0x74, 0x70, 0x73, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12,
+ 0x47, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e,
+ 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67,
+ 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54,
+ 0x4c, 0x53, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x54, 0x4c, 0x53, 0x6d, 0x6f,
+ 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x73, 0x65, 0x72, 0x76,
+ 0x65, 0x72, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x65, 0x72, 0x74,
+ 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x76, 0x61,
+ 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72,
+ 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x61, 0x5f, 0x63,
+ 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x0e, 0x63, 0x61, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65,
+ 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f,
+ 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x64,
+ 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x75,
+ 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x6c, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18,
+ 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c,
+ 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79,
+ 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x70, 0x6b,
+ 0x69, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43,
+ 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x53, 0x70, 0x6b, 0x69, 0x12, 0x36,
+ 0x0a, 0x17, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69,
+ 0x63, 0x61, 0x74, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52,
+ 0x15, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,
+ 0x74, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x69, 0x0a, 0x14, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74,
+ 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
+ 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x4c, 0x53, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
+ 0x73, 0x2e, 0x54, 0x4c, 0x53, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x12, 0x6d,
+ 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
+ 0x6e, 0x12, 0x69, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
+ 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32,
+ 0x37, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69,
+ 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65,
+ 0x72, 0x54, 0x4c, 0x53, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x54, 0x4c, 0x53,
+ 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x50, 0x72, 0x6f,
+ 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d,
+ 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x5f, 0x73, 0x75, 0x69, 0x74, 0x65, 0x73, 0x18, 0x09, 0x20,
+ 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x53, 0x75, 0x69, 0x74, 0x65,
+ 0x73, 0x22, 0x5a, 0x0a, 0x07, 0x54, 0x4c, 0x53, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x0f, 0x0a, 0x0b,
+ 0x50, 0x41, 0x53, 0x53, 0x54, 0x48, 0x52, 0x4f, 0x55, 0x47, 0x48, 0x10, 0x00, 0x12, 0x0a, 0x0a,
+ 0x06, 0x53, 0x49, 0x4d, 0x50, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x55, 0x54,
+ 0x55, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x50, 0x41,
+ 0x53, 0x53, 0x54, 0x48, 0x52, 0x4f, 0x55, 0x47, 0x48, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x49,
+ 0x53, 0x54, 0x49, 0x4f, 0x5f, 0x4d, 0x55, 0x54, 0x55, 0x41, 0x4c, 0x10, 0x04, 0x22, 0x4f, 0x0a,
+ 0x0b, 0x54, 0x4c, 0x53, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x0c, 0x0a, 0x08,
+ 0x54, 0x4c, 0x53, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x4c,
+ 0x53, 0x56, 0x31, 0x5f, 0x30, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x4c, 0x53, 0x56, 0x31,
+ 0x5f, 0x31, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x4c, 0x53, 0x56, 0x31, 0x5f, 0x32, 0x10,
+ 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x4c, 0x53, 0x56, 0x31, 0x5f, 0x33, 0x10, 0x04, 0x42, 0x21,
+ 0x5a, 0x1f, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6e,
+ 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
+ 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
-func (m *Server) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Name) > 0 {
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintGateway(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0x32
- }
- if len(m.DefaultEndpoint) > 0 {
- i -= len(m.DefaultEndpoint)
- copy(dAtA[i:], m.DefaultEndpoint)
- i = encodeVarintGateway(dAtA, i, uint64(len(m.DefaultEndpoint)))
- i--
- dAtA[i] = 0x2a
- }
- if len(m.Bind) > 0 {
- i -= len(m.Bind)
- copy(dAtA[i:], m.Bind)
- i = encodeVarintGateway(dAtA, i, uint64(len(m.Bind)))
- i--
- dAtA[i] = 0x22
- }
- if m.Tls != nil {
- {
- size, err := m.Tls.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGateway(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- if len(m.Hosts) > 0 {
- for iNdEx := len(m.Hosts) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.Hosts[iNdEx])
- copy(dAtA[i:], m.Hosts[iNdEx])
- i = encodeVarintGateway(dAtA, i, uint64(len(m.Hosts[iNdEx])))
- i--
- dAtA[i] = 0x12
- }
- }
- if m.Port != nil {
- {
- size, err := m.Port.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGateway(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func (m *Port) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *Port) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Port) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.TargetPort != 0 {
- i = encodeVarintGateway(dAtA, i, uint64(m.TargetPort))
- i--
- dAtA[i] = 0x20
- }
- if len(m.Name) > 0 {
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintGateway(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0x1a
- }
- if len(m.Protocol) > 0 {
- i -= len(m.Protocol)
- copy(dAtA[i:], m.Protocol)
- i = encodeVarintGateway(dAtA, i, uint64(len(m.Protocol)))
- i--
- dAtA[i] = 0x12
- }
- if m.Number != 0 {
- i = encodeVarintGateway(dAtA, i, uint64(m.Number))
- i--
- dAtA[i] = 0x8
- }
- return len(dAtA) - i, nil
-}
-
-func (m *ServerTLSSettings) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *ServerTLSSettings) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *ServerTLSSettings) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.VerifyCertificateHash) > 0 {
- for iNdEx := len(m.VerifyCertificateHash) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.VerifyCertificateHash[iNdEx])
- copy(dAtA[i:], m.VerifyCertificateHash[iNdEx])
- i = encodeVarintGateway(dAtA, i, uint64(len(m.VerifyCertificateHash[iNdEx])))
- i--
- dAtA[i] = 0x62
- }
- }
- if len(m.VerifyCertificateSpki) > 0 {
- for iNdEx := len(m.VerifyCertificateSpki) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.VerifyCertificateSpki[iNdEx])
- copy(dAtA[i:], m.VerifyCertificateSpki[iNdEx])
- i = encodeVarintGateway(dAtA, i, uint64(len(m.VerifyCertificateSpki[iNdEx])))
- i--
- dAtA[i] = 0x5a
- }
- }
- if len(m.CredentialName) > 0 {
- i -= len(m.CredentialName)
- copy(dAtA[i:], m.CredentialName)
- i = encodeVarintGateway(dAtA, i, uint64(len(m.CredentialName)))
- i--
- dAtA[i] = 0x52
- }
- if len(m.CipherSuites) > 0 {
- for iNdEx := len(m.CipherSuites) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.CipherSuites[iNdEx])
- copy(dAtA[i:], m.CipherSuites[iNdEx])
- i = encodeVarintGateway(dAtA, i, uint64(len(m.CipherSuites[iNdEx])))
- i--
- dAtA[i] = 0x4a
- }
- }
- if m.MaxProtocolVersion != 0 {
- i = encodeVarintGateway(dAtA, i, uint64(m.MaxProtocolVersion))
- i--
- dAtA[i] = 0x40
- }
- if m.MinProtocolVersion != 0 {
- i = encodeVarintGateway(dAtA, i, uint64(m.MinProtocolVersion))
- i--
- dAtA[i] = 0x38
- }
- if len(m.SubjectAltNames) > 0 {
- for iNdEx := len(m.SubjectAltNames) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.SubjectAltNames[iNdEx])
- copy(dAtA[i:], m.SubjectAltNames[iNdEx])
- i = encodeVarintGateway(dAtA, i, uint64(len(m.SubjectAltNames[iNdEx])))
- i--
- dAtA[i] = 0x32
- }
- }
- if len(m.CaCertificates) > 0 {
- i -= len(m.CaCertificates)
- copy(dAtA[i:], m.CaCertificates)
- i = encodeVarintGateway(dAtA, i, uint64(len(m.CaCertificates)))
- i--
- dAtA[i] = 0x2a
- }
- if len(m.PrivateKey) > 0 {
- i -= len(m.PrivateKey)
- copy(dAtA[i:], m.PrivateKey)
- i = encodeVarintGateway(dAtA, i, uint64(len(m.PrivateKey)))
- i--
- dAtA[i] = 0x22
- }
- if len(m.ServerCertificate) > 0 {
- i -= len(m.ServerCertificate)
- copy(dAtA[i:], m.ServerCertificate)
- i = encodeVarintGateway(dAtA, i, uint64(len(m.ServerCertificate)))
- i--
- dAtA[i] = 0x1a
- }
- if m.Mode != 0 {
- i = encodeVarintGateway(dAtA, i, uint64(m.Mode))
- i--
- dAtA[i] = 0x10
- }
- if m.HttpsRedirect {
- i--
- if m.HttpsRedirect {
- dAtA[i] = 1
- } else {
- dAtA[i] = 0
- }
- i--
- dAtA[i] = 0x8
- }
- return len(dAtA) - i, nil
-}
-
-func encodeVarintGateway(dAtA []byte, offset int, v uint64) int {
- offset -= sovGateway(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
-func (m *Gateway) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if len(m.Servers) > 0 {
- for _, e := range m.Servers {
- l = e.Size()
- n += 1 + l + sovGateway(uint64(l))
- }
- }
- if len(m.Selector) > 0 {
- for k, v := range m.Selector {
- _ = k
- _ = v
- mapEntrySize := 1 + len(k) + sovGateway(uint64(len(k))) + 1 + len(v) + sovGateway(uint64(len(v)))
- n += mapEntrySize + 1 + sovGateway(uint64(mapEntrySize))
- }
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *Server) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Port != nil {
- l = m.Port.Size()
- n += 1 + l + sovGateway(uint64(l))
- }
- if len(m.Hosts) > 0 {
- for _, s := range m.Hosts {
- l = len(s)
- n += 1 + l + sovGateway(uint64(l))
- }
- }
- if m.Tls != nil {
- l = m.Tls.Size()
- n += 1 + l + sovGateway(uint64(l))
- }
- l = len(m.Bind)
- if l > 0 {
- n += 1 + l + sovGateway(uint64(l))
- }
- l = len(m.DefaultEndpoint)
- if l > 0 {
- n += 1 + l + sovGateway(uint64(l))
- }
- l = len(m.Name)
- if l > 0 {
- n += 1 + l + sovGateway(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *Port) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Number != 0 {
- n += 1 + sovGateway(uint64(m.Number))
- }
- l = len(m.Protocol)
- if l > 0 {
- n += 1 + l + sovGateway(uint64(l))
- }
- l = len(m.Name)
- if l > 0 {
- n += 1 + l + sovGateway(uint64(l))
- }
- if m.TargetPort != 0 {
- n += 1 + sovGateway(uint64(m.TargetPort))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *ServerTLSSettings) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.HttpsRedirect {
- n += 2
- }
- if m.Mode != 0 {
- n += 1 + sovGateway(uint64(m.Mode))
- }
- l = len(m.ServerCertificate)
- if l > 0 {
- n += 1 + l + sovGateway(uint64(l))
- }
- l = len(m.PrivateKey)
- if l > 0 {
- n += 1 + l + sovGateway(uint64(l))
- }
- l = len(m.CaCertificates)
- if l > 0 {
- n += 1 + l + sovGateway(uint64(l))
- }
- if len(m.SubjectAltNames) > 0 {
- for _, s := range m.SubjectAltNames {
- l = len(s)
- n += 1 + l + sovGateway(uint64(l))
- }
- }
- if m.MinProtocolVersion != 0 {
- n += 1 + sovGateway(uint64(m.MinProtocolVersion))
- }
- if m.MaxProtocolVersion != 0 {
- n += 1 + sovGateway(uint64(m.MaxProtocolVersion))
- }
- if len(m.CipherSuites) > 0 {
- for _, s := range m.CipherSuites {
- l = len(s)
- n += 1 + l + sovGateway(uint64(l))
- }
- }
- l = len(m.CredentialName)
- if l > 0 {
- n += 1 + l + sovGateway(uint64(l))
- }
- if len(m.VerifyCertificateSpki) > 0 {
- for _, s := range m.VerifyCertificateSpki {
- l = len(s)
- n += 1 + l + sovGateway(uint64(l))
- }
- }
- if len(m.VerifyCertificateHash) > 0 {
- for _, s := range m.VerifyCertificateHash {
- l = len(s)
- n += 1 + l + sovGateway(uint64(l))
- }
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func sovGateway(x uint64) (n int) {
- return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozGateway(x uint64) (n int) {
- return sovGateway(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (m *Gateway) 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 ErrIntOverflowGateway
- }
- 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: Gateway: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Gateway: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Servers", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGateway
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGateway
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Servers = append(m.Servers, &Server{})
- if err := m.Servers[len(m.Servers)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Selector", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGateway
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGateway
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Selector == nil {
- m.Selector = make(map[string]string)
- }
- var mapkey string
- var mapvalue string
- for iNdEx < postIndex {
- entryPreIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- if fieldNum == 1 {
- var stringLenmapkey uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapkey |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapkey := int(stringLenmapkey)
- if intStringLenmapkey < 0 {
- return ErrInvalidLengthGateway
- }
- postStringIndexmapkey := iNdEx + intStringLenmapkey
- if postStringIndexmapkey < 0 {
- return ErrInvalidLengthGateway
- }
- if postStringIndexmapkey > l {
- return io.ErrUnexpectedEOF
- }
- mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
- iNdEx = postStringIndexmapkey
- } else if fieldNum == 2 {
- var stringLenmapvalue uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapvalue |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapvalue := int(stringLenmapvalue)
- if intStringLenmapvalue < 0 {
- return ErrInvalidLengthGateway
- }
- postStringIndexmapvalue := iNdEx + intStringLenmapvalue
- if postStringIndexmapvalue < 0 {
- return ErrInvalidLengthGateway
- }
- if postStringIndexmapvalue > l {
- return io.ErrUnexpectedEOF
- }
- mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue])
- iNdEx = postStringIndexmapvalue
- } else {
- iNdEx = entryPreIndex
- skippy, err := skipGateway(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGateway
- }
- if (iNdEx + skippy) > postIndex {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- m.Selector[mapkey] = mapvalue
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGateway(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGateway
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *Server) 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 ErrIntOverflowGateway
- }
- 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: Server: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Server: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Port", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGateway
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGateway
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Port == nil {
- m.Port = &Port{}
- }
- if err := m.Port.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Hosts", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- 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 ErrInvalidLengthGateway
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGateway
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Hosts = append(m.Hosts, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Tls", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGateway
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGateway
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Tls == nil {
- m.Tls = &ServerTLSSettings{}
- }
- if err := m.Tls.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Bind", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- 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 ErrInvalidLengthGateway
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGateway
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Bind = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field DefaultEndpoint", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- 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 ErrInvalidLengthGateway
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGateway
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.DefaultEndpoint = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 6:
- 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 ErrIntOverflowGateway
- }
- 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 ErrInvalidLengthGateway
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGateway
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Name = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGateway(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGateway
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *Port) 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 ErrIntOverflowGateway
- }
- 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: Port: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Port: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Number", wireType)
- }
- m.Number = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Number |= uint32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Protocol", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- 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 ErrInvalidLengthGateway
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGateway
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Protocol = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 3:
- 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 ErrIntOverflowGateway
- }
- 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 ErrInvalidLengthGateway
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGateway
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Name = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 4:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field TargetPort", wireType)
- }
- m.TargetPort = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.TargetPort |= uint32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- default:
- iNdEx = preIndex
- skippy, err := skipGateway(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGateway
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
+var (
+ file_networking_v1beta1_gateway_proto_rawDescOnce sync.Once
+ file_networking_v1beta1_gateway_proto_rawDescData = file_networking_v1beta1_gateway_proto_rawDesc
+)
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *ServerTLSSettings) 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 ErrIntOverflowGateway
+func file_networking_v1beta1_gateway_proto_rawDescGZIP() []byte {
+ file_networking_v1beta1_gateway_proto_rawDescOnce.Do(func() {
+ file_networking_v1beta1_gateway_proto_rawDescData = protoimpl.X.CompressGZIP(file_networking_v1beta1_gateway_proto_rawDescData)
+ })
+ return file_networking_v1beta1_gateway_proto_rawDescData
+}
+
+var file_networking_v1beta1_gateway_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
+var file_networking_v1beta1_gateway_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
+var file_networking_v1beta1_gateway_proto_goTypes = []interface{}{
+ (ServerTLSSettings_TLSmode)(0), // 0: istio.networking.v1beta1.ServerTLSSettings.TLSmode
+ (ServerTLSSettings_TLSProtocol)(0), // 1: istio.networking.v1beta1.ServerTLSSettings.TLSProtocol
+ (*Gateway)(nil), // 2: istio.networking.v1beta1.Gateway
+ (*Server)(nil), // 3: istio.networking.v1beta1.Server
+ (*Port)(nil), // 4: istio.networking.v1beta1.Port
+ (*ServerTLSSettings)(nil), // 5: istio.networking.v1beta1.ServerTLSSettings
+ nil, // 6: istio.networking.v1beta1.Gateway.SelectorEntry
+}
+var file_networking_v1beta1_gateway_proto_depIdxs = []int32{
+ 3, // 0: istio.networking.v1beta1.Gateway.servers:type_name -> istio.networking.v1beta1.Server
+ 6, // 1: istio.networking.v1beta1.Gateway.selector:type_name -> istio.networking.v1beta1.Gateway.SelectorEntry
+ 4, // 2: istio.networking.v1beta1.Server.port:type_name -> istio.networking.v1beta1.Port
+ 5, // 3: istio.networking.v1beta1.Server.tls:type_name -> istio.networking.v1beta1.ServerTLSSettings
+ 0, // 4: istio.networking.v1beta1.ServerTLSSettings.mode:type_name -> istio.networking.v1beta1.ServerTLSSettings.TLSmode
+ 1, // 5: istio.networking.v1beta1.ServerTLSSettings.min_protocol_version:type_name -> istio.networking.v1beta1.ServerTLSSettings.TLSProtocol
+ 1, // 6: istio.networking.v1beta1.ServerTLSSettings.max_protocol_version:type_name -> istio.networking.v1beta1.ServerTLSSettings.TLSProtocol
+ 7, // [7:7] is the sub-list for method output_type
+ 7, // [7:7] is the sub-list for method input_type
+ 7, // [7:7] is the sub-list for extension type_name
+ 7, // [7:7] is the sub-list for extension extendee
+ 0, // [0:7] is the sub-list for field type_name
+}
+
+func init() { file_networking_v1beta1_gateway_proto_init() }
+func file_networking_v1beta1_gateway_proto_init() {
+ if File_networking_v1beta1_gateway_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_networking_v1beta1_gateway_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Gateway); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
}
- 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: ServerTLSSettings: wiretype end group for non-group")
}
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ServerTLSSettings: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field HttpsRedirect", wireType)
- }
- var v int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.HttpsRedirect = bool(v != 0)
- case 2:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Mode", wireType)
- }
- m.Mode = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Mode |= ServerTLSSettings_TLSmode(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ServerCertificate", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- 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 ErrInvalidLengthGateway
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGateway
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.ServerCertificate = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field PrivateKey", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- 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 ErrInvalidLengthGateway
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGateway
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.PrivateKey = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field CaCertificates", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- 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 ErrInvalidLengthGateway
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGateway
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.CaCertificates = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 6:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field SubjectAltNames", wireType)
+ file_networking_v1beta1_gateway_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Server); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
}
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- 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 ErrInvalidLengthGateway
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGateway
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.SubjectAltNames = append(m.SubjectAltNames, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 7:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field MinProtocolVersion", wireType)
- }
- m.MinProtocolVersion = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.MinProtocolVersion |= ServerTLSSettings_TLSProtocol(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 8:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field MaxProtocolVersion", wireType)
- }
- m.MaxProtocolVersion = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.MaxProtocolVersion |= ServerTLSSettings_TLSProtocol(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 9:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field CipherSuites", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- 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 ErrInvalidLengthGateway
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGateway
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.CipherSuites = append(m.CipherSuites, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 10:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field CredentialName", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- 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 ErrInvalidLengthGateway
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGateway
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.CredentialName = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 11:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field VerifyCertificateSpki", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- 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 ErrInvalidLengthGateway
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGateway
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.VerifyCertificateSpki = append(m.VerifyCertificateSpki, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 12:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field VerifyCertificateHash", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGateway
- }
- 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 ErrInvalidLengthGateway
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGateway
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.VerifyCertificateHash = append(m.VerifyCertificateHash, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGateway(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGateway
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
}
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func skipGateway(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowGateway
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
+ file_networking_v1beta1_gateway_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Port); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
}
}
- wireType := int(wire & 0x7)
- switch wireType {
- case 0:
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowGateway
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowGateway
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLengthGateway
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroupGateway
+ file_networking_v1beta1_gateway_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ServerTLSSettings); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
}
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLengthGateway
- }
- if depth == 0 {
- return iNdEx, nil
}
}
- return 0, io.ErrUnexpectedEOF
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_networking_v1beta1_gateway_proto_rawDesc,
+ NumEnums: 2,
+ NumMessages: 5,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_networking_v1beta1_gateway_proto_goTypes,
+ DependencyIndexes: file_networking_v1beta1_gateway_proto_depIdxs,
+ EnumInfos: file_networking_v1beta1_gateway_proto_enumTypes,
+ MessageInfos: file_networking_v1beta1_gateway_proto_msgTypes,
+ }.Build()
+ File_networking_v1beta1_gateway_proto = out.File
+ file_networking_v1beta1_gateway_proto_rawDesc = nil
+ file_networking_v1beta1_gateway_proto_goTypes = nil
+ file_networking_v1beta1_gateway_proto_depIdxs = nil
}
-
-var (
- ErrInvalidLengthGateway = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflowGateway = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroupGateway = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/vendor/istio.io/api/networking/v1beta1/gateway.proto b/vendor/istio.io/api/networking/v1beta1/gateway.proto
index f44f020a0..7f0883807 100644
--- a/vendor/istio.io/api/networking/v1beta1/gateway.proto
+++ b/vendor/istio.io/api/networking/v1beta1/gateway.proto
@@ -500,8 +500,7 @@ message Gateway {
// - "*"
// tls:
// mode: SIMPLE
-// serverCertificate: /etc/certs/server.pem
-// privateKey: /etc/certs/privatekey.pem
+// credentialName: tls-cert
// ```
// {{}}
//
@@ -523,8 +522,7 @@ message Gateway {
// - "*"
// tls:
// mode: SIMPLE
-// serverCertificate: /etc/certs/server.pem
-// privateKey: /etc/certs/privatekey.pem
+// credentialName: tls-cert
// ```
// {{}}
// {{}}
diff --git a/vendor/istio.io/api/networking/v1beta1/gateway_deepcopy.gen.go b/vendor/istio.io/api/networking/v1beta1/gateway_deepcopy.gen.go
index b5692b22a..1a4088603 100644
--- a/vendor/istio.io/api/networking/v1beta1/gateway_deepcopy.gen.go
+++ b/vendor/istio.io/api/networking/v1beta1/gateway_deepcopy.gen.go
@@ -1,346 +1,10 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: networking/v1beta1/gateway.proto
-
-// `Gateway` describes a load balancer operating at the edge of the mesh
-// receiving incoming or outgoing HTTP/TCP connections. The specification
-// describes a set of ports that should be exposed, the type of protocol to
-// use, SNI configuration for the load balancer, etc.
-//
-// For example, the following Gateway configuration sets up a proxy to act
-// as a load balancer exposing port 80 and 9080 (http), 443 (https),
-// 9443(https) and port 2379 (TCP) for ingress. The gateway will be
-// applied to the proxy running on a pod with labels `app:
-// my-gateway-controller`. While Istio will configure the proxy to listen
-// on these ports, it is the responsibility of the user to ensure that
-// external traffic to these ports are allowed into the mesh.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: Gateway
-// metadata:
-// name: my-gateway
-// namespace: some-config-namespace
-// spec:
-// selector:
-// app: my-gateway-controller
-// servers:
-// - port:
-// number: 80
-// name: http
-// protocol: HTTP
-// hosts:
-// - uk.bookinfo.com
-// - eu.bookinfo.com
-// tls:
-// httpsRedirect: true # sends 301 redirect for http requests
-// - port:
-// number: 443
-// name: https-443
-// protocol: HTTPS
-// hosts:
-// - uk.bookinfo.com
-// - eu.bookinfo.com
-// tls:
-// mode: SIMPLE # enables HTTPS on this port
-// serverCertificate: /etc/certs/servercert.pem
-// privateKey: /etc/certs/privatekey.pem
-// - port:
-// number: 9443
-// name: https-9443
-// protocol: HTTPS
-// hosts:
-// - "bookinfo-namespace/*.bookinfo.com"
-// tls:
-// mode: SIMPLE # enables HTTPS on this port
-// credentialName: bookinfo-secret # fetches certs from Kubernetes secret
-// - port:
-// number: 9080
-// name: http-wildcard
-// protocol: HTTP
-// hosts:
-// - "*"
-// - port:
-// number: 2379 # to expose internal service via external port 2379
-// name: mongo
-// protocol: MONGO
-// hosts:
-// - "*"
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: Gateway
-// metadata:
-// name: my-gateway
-// namespace: some-config-namespace
-// spec:
-// selector:
-// app: my-gateway-controller
-// servers:
-// - port:
-// number: 80
-// name: http
-// protocol: HTTP
-// hosts:
-// - uk.bookinfo.com
-// - eu.bookinfo.com
-// tls:
-// httpsRedirect: true # sends 301 redirect for http requests
-// - port:
-// number: 443
-// name: https-443
-// protocol: HTTPS
-// hosts:
-// - uk.bookinfo.com
-// - eu.bookinfo.com
-// tls:
-// mode: SIMPLE # enables HTTPS on this port
-// serverCertificate: /etc/certs/servercert.pem
-// privateKey: /etc/certs/privatekey.pem
-// - port:
-// number: 9443
-// name: https-9443
-// protocol: HTTPS
-// hosts:
-// - "bookinfo-namespace/*.bookinfo.com"
-// tls:
-// mode: SIMPLE # enables HTTPS on this port
-// credentialName: bookinfo-secret # fetches certs from Kubernetes secret
-// - port:
-// number: 9080
-// name: http-wildcard
-// protocol: HTTP
-// hosts:
-// - "*"
-// - port:
-// number: 2379 # to expose internal service via external port 2379
-// name: mongo
-// protocol: MONGO
-// hosts:
-// - "*"
-// ```
-// {{}}
-// {{}}
-//
-// The Gateway specification above describes the L4-L6 properties of a load
-// balancer. A `VirtualService` can then be bound to a gateway to control
-// the forwarding of traffic arriving at a particular host or gateway port.
-//
-// For example, the following VirtualService splits traffic for
-// `https://uk.bookinfo.com/reviews`, `https://eu.bookinfo.com/reviews`,
-// `http://uk.bookinfo.com:9080/reviews`,
-// `http://eu.bookinfo.com:9080/reviews` into two versions (prod and qa) of
-// an internal reviews service on port 9080. In addition, requests
-// containing the cookie "user: dev-123" will be sent to special port 7777
-// in the qa version. The same rule is also applicable inside the mesh for
-// requests to the "reviews.prod.svc.cluster.local" service. This rule is
-// applicable across ports 443, 9080. Note that `http://uk.bookinfo.com`
-// gets redirected to `https://uk.bookinfo.com` (i.e. 80 redirects to 443).
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: VirtualService
-// metadata:
-// name: bookinfo-rule
-// namespace: bookinfo-namespace
-// spec:
-// hosts:
-// - reviews.prod.svc.cluster.local
-// - uk.bookinfo.com
-// - eu.bookinfo.com
-// gateways:
-// - some-config-namespace/my-gateway
-// - mesh # applies to all the sidecars in the mesh
-// http:
-// - match:
-// - headers:
-// cookie:
-// exact: "user=dev-123"
-// route:
-// - destination:
-// port:
-// number: 7777
-// host: reviews.qa.svc.cluster.local
-// - match:
-// - uri:
-// prefix: /reviews/
-// route:
-// - destination:
-// port:
-// number: 9080 # can be omitted if it's the only port for reviews
-// host: reviews.prod.svc.cluster.local
-// weight: 80
-// - destination:
-// host: reviews.qa.svc.cluster.local
-// weight: 20
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: VirtualService
-// metadata:
-// name: bookinfo-rule
-// namespace: bookinfo-namespace
-// spec:
-// hosts:
-// - reviews.prod.svc.cluster.local
-// - uk.bookinfo.com
-// - eu.bookinfo.com
-// gateways:
-// - some-config-namespace/my-gateway
-// - mesh # applies to all the sidecars in the mesh
-// http:
-// - match:
-// - headers:
-// cookie:
-// exact: "user=dev-123"
-// route:
-// - destination:
-// port:
-// number: 7777
-// host: reviews.qa.svc.cluster.local
-// - match:
-// - uri:
-// prefix: /reviews/
-// route:
-// - destination:
-// port:
-// number: 9080 # can be omitted if it's the only port for reviews
-// host: reviews.prod.svc.cluster.local
-// weight: 80
-// - destination:
-// host: reviews.qa.svc.cluster.local
-// weight: 20
-// ```
-// {{}}
-// {{}}
-//
-// The following VirtualService forwards traffic arriving at (external)
-// port 27017 to internal Mongo server on port 5555. This rule is not
-// applicable internally in the mesh as the gateway list omits the
-// reserved name `mesh`.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: VirtualService
-// metadata:
-// name: bookinfo-mongo
-// namespace: bookinfo-namespace
-// spec:
-// hosts:
-// - mongosvr.prod.svc.cluster.local # name of internal Mongo service
-// gateways:
-// - some-config-namespace/my-gateway # can omit the namespace if gateway is in same namespace as virtual service.
-// tcp:
-// - match:
-// - port: 27017
-// route:
-// - destination:
-// host: mongo.prod.svc.cluster.local
-// port:
-// number: 5555
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: VirtualService
-// metadata:
-// name: bookinfo-mongo
-// namespace: bookinfo-namespace
-// spec:
-// hosts:
-// - mongosvr.prod.svc.cluster.local # name of internal Mongo service
-// gateways:
-// - some-config-namespace/my-gateway # can omit the namespace if gateway is in same namespace as virtual service.
-// tcp:
-// - match:
-// - port: 27017
-// route:
-// - destination:
-// host: mongo.prod.svc.cluster.local
-// port:
-// number: 5555
-// ```
-// {{}}
-// {{}}
-//
-// It is possible to restrict the set of virtual services that can bind to
-// a gateway server using the namespace/hostname syntax in the hosts field.
-// For example, the following Gateway allows any virtual service in the ns1
-// namespace to bind to it, while restricting only the virtual service with
-// foo.bar.com host in the ns2 namespace to bind to it.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: Gateway
-// metadata:
-// name: my-gateway
-// namespace: some-config-namespace
-// spec:
-// selector:
-// app: my-gateway-controller
-// servers:
-// - port:
-// number: 80
-// name: http
-// protocol: HTTP
-// hosts:
-// - "ns1/*"
-// - "ns2/foo.bar.com"
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: Gateway
-// metadata:
-// name: my-gateway
-// namespace: some-config-namespace
-// spec:
-// selector:
-// app: my-gateway-controller
-// servers:
-// - port:
-// number: 80
-// name: http
-// protocol: HTTP
-// hosts:
-// - "ns1/*"
-// - "ns2/foo.bar.com"
-// ```
-// {{}}
-// {{}}
-//
-
+// Code generated by protoc-gen-deepcopy. DO NOT EDIT.
package v1beta1
import (
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
+ proto "github.com/golang/protobuf/proto"
)
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
// DeepCopyInto supports using Gateway within kubernetes types, where deepcopy-gen is used.
func (in *Gateway) DeepCopyInto(out *Gateway) {
p := proto.Clone(in).(*Gateway)
diff --git a/vendor/istio.io/api/networking/v1beta1/gateway_json.gen.go b/vendor/istio.io/api/networking/v1beta1/gateway_json.gen.go
index cfce62e15..7f6c0b55f 100644
--- a/vendor/istio.io/api/networking/v1beta1/gateway_json.gen.go
+++ b/vendor/istio.io/api/networking/v1beta1/gateway_json.gen.go
@@ -1,348 +1,11 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: networking/v1beta1/gateway.proto
-
-// `Gateway` describes a load balancer operating at the edge of the mesh
-// receiving incoming or outgoing HTTP/TCP connections. The specification
-// describes a set of ports that should be exposed, the type of protocol to
-// use, SNI configuration for the load balancer, etc.
-//
-// For example, the following Gateway configuration sets up a proxy to act
-// as a load balancer exposing port 80 and 9080 (http), 443 (https),
-// 9443(https) and port 2379 (TCP) for ingress. The gateway will be
-// applied to the proxy running on a pod with labels `app:
-// my-gateway-controller`. While Istio will configure the proxy to listen
-// on these ports, it is the responsibility of the user to ensure that
-// external traffic to these ports are allowed into the mesh.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: Gateway
-// metadata:
-// name: my-gateway
-// namespace: some-config-namespace
-// spec:
-// selector:
-// app: my-gateway-controller
-// servers:
-// - port:
-// number: 80
-// name: http
-// protocol: HTTP
-// hosts:
-// - uk.bookinfo.com
-// - eu.bookinfo.com
-// tls:
-// httpsRedirect: true # sends 301 redirect for http requests
-// - port:
-// number: 443
-// name: https-443
-// protocol: HTTPS
-// hosts:
-// - uk.bookinfo.com
-// - eu.bookinfo.com
-// tls:
-// mode: SIMPLE # enables HTTPS on this port
-// serverCertificate: /etc/certs/servercert.pem
-// privateKey: /etc/certs/privatekey.pem
-// - port:
-// number: 9443
-// name: https-9443
-// protocol: HTTPS
-// hosts:
-// - "bookinfo-namespace/*.bookinfo.com"
-// tls:
-// mode: SIMPLE # enables HTTPS on this port
-// credentialName: bookinfo-secret # fetches certs from Kubernetes secret
-// - port:
-// number: 9080
-// name: http-wildcard
-// protocol: HTTP
-// hosts:
-// - "*"
-// - port:
-// number: 2379 # to expose internal service via external port 2379
-// name: mongo
-// protocol: MONGO
-// hosts:
-// - "*"
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: Gateway
-// metadata:
-// name: my-gateway
-// namespace: some-config-namespace
-// spec:
-// selector:
-// app: my-gateway-controller
-// servers:
-// - port:
-// number: 80
-// name: http
-// protocol: HTTP
-// hosts:
-// - uk.bookinfo.com
-// - eu.bookinfo.com
-// tls:
-// httpsRedirect: true # sends 301 redirect for http requests
-// - port:
-// number: 443
-// name: https-443
-// protocol: HTTPS
-// hosts:
-// - uk.bookinfo.com
-// - eu.bookinfo.com
-// tls:
-// mode: SIMPLE # enables HTTPS on this port
-// serverCertificate: /etc/certs/servercert.pem
-// privateKey: /etc/certs/privatekey.pem
-// - port:
-// number: 9443
-// name: https-9443
-// protocol: HTTPS
-// hosts:
-// - "bookinfo-namespace/*.bookinfo.com"
-// tls:
-// mode: SIMPLE # enables HTTPS on this port
-// credentialName: bookinfo-secret # fetches certs from Kubernetes secret
-// - port:
-// number: 9080
-// name: http-wildcard
-// protocol: HTTP
-// hosts:
-// - "*"
-// - port:
-// number: 2379 # to expose internal service via external port 2379
-// name: mongo
-// protocol: MONGO
-// hosts:
-// - "*"
-// ```
-// {{}}
-// {{}}
-//
-// The Gateway specification above describes the L4-L6 properties of a load
-// balancer. A `VirtualService` can then be bound to a gateway to control
-// the forwarding of traffic arriving at a particular host or gateway port.
-//
-// For example, the following VirtualService splits traffic for
-// `https://uk.bookinfo.com/reviews`, `https://eu.bookinfo.com/reviews`,
-// `http://uk.bookinfo.com:9080/reviews`,
-// `http://eu.bookinfo.com:9080/reviews` into two versions (prod and qa) of
-// an internal reviews service on port 9080. In addition, requests
-// containing the cookie "user: dev-123" will be sent to special port 7777
-// in the qa version. The same rule is also applicable inside the mesh for
-// requests to the "reviews.prod.svc.cluster.local" service. This rule is
-// applicable across ports 443, 9080. Note that `http://uk.bookinfo.com`
-// gets redirected to `https://uk.bookinfo.com` (i.e. 80 redirects to 443).
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: VirtualService
-// metadata:
-// name: bookinfo-rule
-// namespace: bookinfo-namespace
-// spec:
-// hosts:
-// - reviews.prod.svc.cluster.local
-// - uk.bookinfo.com
-// - eu.bookinfo.com
-// gateways:
-// - some-config-namespace/my-gateway
-// - mesh # applies to all the sidecars in the mesh
-// http:
-// - match:
-// - headers:
-// cookie:
-// exact: "user=dev-123"
-// route:
-// - destination:
-// port:
-// number: 7777
-// host: reviews.qa.svc.cluster.local
-// - match:
-// - uri:
-// prefix: /reviews/
-// route:
-// - destination:
-// port:
-// number: 9080 # can be omitted if it's the only port for reviews
-// host: reviews.prod.svc.cluster.local
-// weight: 80
-// - destination:
-// host: reviews.qa.svc.cluster.local
-// weight: 20
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: VirtualService
-// metadata:
-// name: bookinfo-rule
-// namespace: bookinfo-namespace
-// spec:
-// hosts:
-// - reviews.prod.svc.cluster.local
-// - uk.bookinfo.com
-// - eu.bookinfo.com
-// gateways:
-// - some-config-namespace/my-gateway
-// - mesh # applies to all the sidecars in the mesh
-// http:
-// - match:
-// - headers:
-// cookie:
-// exact: "user=dev-123"
-// route:
-// - destination:
-// port:
-// number: 7777
-// host: reviews.qa.svc.cluster.local
-// - match:
-// - uri:
-// prefix: /reviews/
-// route:
-// - destination:
-// port:
-// number: 9080 # can be omitted if it's the only port for reviews
-// host: reviews.prod.svc.cluster.local
-// weight: 80
-// - destination:
-// host: reviews.qa.svc.cluster.local
-// weight: 20
-// ```
-// {{}}
-// {{}}
-//
-// The following VirtualService forwards traffic arriving at (external)
-// port 27017 to internal Mongo server on port 5555. This rule is not
-// applicable internally in the mesh as the gateway list omits the
-// reserved name `mesh`.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: VirtualService
-// metadata:
-// name: bookinfo-mongo
-// namespace: bookinfo-namespace
-// spec:
-// hosts:
-// - mongosvr.prod.svc.cluster.local # name of internal Mongo service
-// gateways:
-// - some-config-namespace/my-gateway # can omit the namespace if gateway is in same namespace as virtual service.
-// tcp:
-// - match:
-// - port: 27017
-// route:
-// - destination:
-// host: mongo.prod.svc.cluster.local
-// port:
-// number: 5555
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: VirtualService
-// metadata:
-// name: bookinfo-mongo
-// namespace: bookinfo-namespace
-// spec:
-// hosts:
-// - mongosvr.prod.svc.cluster.local # name of internal Mongo service
-// gateways:
-// - some-config-namespace/my-gateway # can omit the namespace if gateway is in same namespace as virtual service.
-// tcp:
-// - match:
-// - port: 27017
-// route:
-// - destination:
-// host: mongo.prod.svc.cluster.local
-// port:
-// number: 5555
-// ```
-// {{}}
-// {{}}
-//
-// It is possible to restrict the set of virtual services that can bind to
-// a gateway server using the namespace/hostname syntax in the hosts field.
-// For example, the following Gateway allows any virtual service in the ns1
-// namespace to bind to it, while restricting only the virtual service with
-// foo.bar.com host in the ns2 namespace to bind to it.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: Gateway
-// metadata:
-// name: my-gateway
-// namespace: some-config-namespace
-// spec:
-// selector:
-// app: my-gateway-controller
-// servers:
-// - port:
-// number: 80
-// name: http
-// protocol: HTTP
-// hosts:
-// - "ns1/*"
-// - "ns2/foo.bar.com"
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: Gateway
-// metadata:
-// name: my-gateway
-// namespace: some-config-namespace
-// spec:
-// selector:
-// app: my-gateway-controller
-// servers:
-// - port:
-// number: 80
-// name: http
-// protocol: HTTP
-// hosts:
-// - "ns1/*"
-// - "ns2/foo.bar.com"
-// ```
-// {{}}
-// {{}}
-//
-
+// Code generated by protoc-gen-jsonshim. DO NOT EDIT.
package v1beta1
import (
bytes "bytes"
- fmt "fmt"
- github_com_gogo_protobuf_jsonpb "github.com/gogo/protobuf/jsonpb"
- proto "github.com/gogo/protobuf/proto"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
+ jsonpb "github.com/golang/protobuf/jsonpb"
)
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
// MarshalJSON is a custom marshaler for Gateway
func (this *Gateway) MarshalJSON() ([]byte, error) {
str, err := GatewayMarshaler.MarshalToString(this)
@@ -388,6 +51,6 @@ func (this *ServerTLSSettings) UnmarshalJSON(b []byte) error {
}
var (
- GatewayMarshaler = &github_com_gogo_protobuf_jsonpb.Marshaler{}
- GatewayUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{AllowUnknownFields: true}
+ GatewayMarshaler = &jsonpb.Marshaler{}
+ GatewayUnmarshaler = &jsonpb.Unmarshaler{AllowUnknownFields: true}
)
diff --git a/vendor/istio.io/api/networking/v1beta1/proxy_config.gen.json b/vendor/istio.io/api/networking/v1beta1/proxy_config.gen.json
new file mode 100644
index 000000000..66b343560
--- /dev/null
+++ b/vendor/istio.io/api/networking/v1beta1/proxy_config.gen.json
@@ -0,0 +1,58 @@
+{
+ "openapi": "3.0.0",
+ "info": {
+ "title": "Provides configuration for individual workloads.",
+ "version": "v1beta1"
+ },
+ "components": {
+ "schemas": {
+ "istio.networking.v1beta1.ProxyConfig": {
+ "description": "`ProxyConfig` exposes proxy level configuration options.",
+ "type": "object",
+ "properties": {
+ "selector": {
+ "$ref": "#/components/schemas/istio.type.v1beta1.WorkloadSelector"
+ },
+ "concurrency": {
+ "description": "The number of worker threads to run. If unset, defaults to 2. If set to 0, this will be configured to use all cores on the machine using CPU requests and limits to choose a value, with limits taking precedence over requests.",
+ "type": "integer",
+ "nullable": true
+ },
+ "environmentVariables": {
+ "description": "Additional environment variables for the proxy. Names starting with `ISTIO_META_` will be included in the generated bootstrap configuration and sent to the XDS server.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "image": {
+ "$ref": "#/components/schemas/istio.networking.v1beta1.ProxyImage"
+ }
+ }
+ },
+ "istio.networking.v1beta1.ProxyImage": {
+ "description": "The following values are used to construct proxy image url. $hub/$image_name/$tag-$image_type example: docker.io/istio/proxyv2:1.11.1 or docker.io/istio/proxyv2:1.11.1-distroless This information was previously part of the Values API.",
+ "type": "object",
+ "properties": {
+ "imageType": {
+ "description": "The image type of the image. Istio publishes default, debug, and distroless images. Other values are allowed if those image types (example: centos) are published to the specified hub. supported values: default, debug, distroless.",
+ "type": "string"
+ }
+ }
+ },
+ "istio.type.v1beta1.WorkloadSelector": {
+ "description": "WorkloadSelector specifies the criteria used to determine if a policy can be applied to a proxy. The matching criteria includes the metadata associated with a proxy, workload instance info such as labels attached to the pod/VM, or any other info that the proxy provides to Istio during the initial handshake. If multiple conditions are specified, all conditions need to match in order for the workload instance to be selected. Currently, only label based selection mechanism is supported.",
+ "type": "object",
+ "properties": {
+ "matchLabels": {
+ "description": "One or more labels that indicate a specific set of pods/VMs on which a policy should be applied. The scope of label search is restricted to the configuration namespace in which the resource is present.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/vendor/istio.io/api/networking/v1beta1/proxy_config.pb.go b/vendor/istio.io/api/networking/v1beta1/proxy_config.pb.go
new file mode 100644
index 000000000..9f5dce35a
--- /dev/null
+++ b/vendor/istio.io/api/networking/v1beta1/proxy_config.pb.go
@@ -0,0 +1,386 @@
+// Copyright 2021 Istio 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-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.27.1
+// protoc (unknown)
+// source: networking/v1beta1/proxy_config.proto
+
+// $schema: istio.networking.v1beta1.ProxyConfig
+// $title: ProxyConfig
+// $description: Provides configuration for individual workloads.
+// $location: https://istio.io/docs/reference/config/networking/proxy-config.html
+// $aliases: [/docs/reference/config/networking/v1beta1/proxy-config]
+// $mode: file
+
+// `ProxyConfig` exposes proxy level configuration options. `ProxyConfig` can be configured on a per-workload basis,
+// a per-namespace basis, or mesh-wide. `ProxyConfig` is not a required resource; there are default values in place, which are documented
+// inline with each field.
+//
+// **NOTE**: fields in ProxyConfig are not dynamically configured - changes will require restart of workloads to take effect.
+//
+// For any namespace, including the root configuration namespace, it is only valid
+// to have a single workload selector-less `ProxyConfig` resource.
+//
+// For resources with a workload selector, it is only valid to have one resource selecting
+// any given workload.
+//
+// For mesh level configuration, put the resource in the root configuration namespace for
+// your Istio installation *without* a workload selector:
+//
+// ```yaml
+// apiVersion: networking.istio.io/v1beta1
+// kind: ProxyConfig
+// metadata:
+// name: my-proxyconfig
+// namespace: istio-system
+// spec:
+// concurrency: 0
+// image:
+// type: distroless
+// ```
+//
+// For namespace level configuration, put the resource in the desired namespace without a workload selector:
+//
+// ```yaml
+// apiVersion: networking.istio.io/v1beta1
+// kind: ProxyConfig
+// metadata:
+// name: my-ns-proxyconfig
+// namespace: user-namespace
+// spec:
+// concurrency: 0
+// ```
+//
+// For workload level configuration, set the `selector` field on the `ProxyConfig` resource:
+//
+// ```yaml
+// apiVersion: networking.istio.io/v1beta1
+// kind: ProxyConfig
+// metadata:
+// name: per-workload-proxyconfig
+// namespace: example
+// spec:
+// selector:
+// labels:
+// app: ratings
+// concurrency: 0
+// image:
+// type: debug
+// ```
+//
+// If a `ProxyConfig` CR is defined that matches a workload it will merge with its `proxy.istio.io/config` annotation if present,
+// with the CR taking precedence over the annotation for overlapping fields. Similarly, if a mesh wide `ProxyConfig` CR is defined and
+// `meshConfig.DefaultConfig` is set, the two resources will be merged with the CR taking precedence for overlapping fields.
+//
+
+package v1beta1
+
+import (
+ wrappers "github.com/golang/protobuf/ptypes/wrappers"
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ v1beta1 "istio.io/api/type/v1beta1"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// `ProxyConfig` exposes proxy level configuration options.
+//
+//
+//
+//
+type ProxyConfig struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Optional. Selectors specify the set of pods/VMs on which this `ProxyConfig` resource should be applied.
+ // If not set, the `ProxyConfig` resource will be applied to all workloads in the namespace where this resource is defined.
+ Selector *v1beta1.WorkloadSelector `protobuf:"bytes,1,opt,name=selector,proto3" json:"selector,omitempty"`
+ // The number of worker threads to run.
+ // If unset, defaults to 2. If set to 0, this will be configured to use all cores on the machine using
+ // CPU requests and limits to choose a value, with limits taking precedence over requests.
+ Concurrency *wrappers.Int32Value `protobuf:"bytes,2,opt,name=concurrency,proto3" json:"concurrency,omitempty"`
+ // Additional environment variables for the proxy.
+ // Names starting with `ISTIO_META_` will be included in the generated bootstrap configuration and sent to the XDS server.
+ EnvironmentVariables map[string]string `protobuf:"bytes,3,rep,name=environment_variables,json=environmentVariables,proto3" json:"environment_variables,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ // Specifies the details of the proxy image.
+ Image *ProxyImage `protobuf:"bytes,4,opt,name=image,proto3" json:"image,omitempty"`
+}
+
+func (x *ProxyConfig) Reset() {
+ *x = ProxyConfig{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_proxy_config_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ProxyConfig) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ProxyConfig) ProtoMessage() {}
+
+func (x *ProxyConfig) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_proxy_config_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ProxyConfig.ProtoReflect.Descriptor instead.
+func (*ProxyConfig) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_proxy_config_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ProxyConfig) GetSelector() *v1beta1.WorkloadSelector {
+ if x != nil {
+ return x.Selector
+ }
+ return nil
+}
+
+func (x *ProxyConfig) GetConcurrency() *wrappers.Int32Value {
+ if x != nil {
+ return x.Concurrency
+ }
+ return nil
+}
+
+func (x *ProxyConfig) GetEnvironmentVariables() map[string]string {
+ if x != nil {
+ return x.EnvironmentVariables
+ }
+ return nil
+}
+
+func (x *ProxyConfig) GetImage() *ProxyImage {
+ if x != nil {
+ return x.Image
+ }
+ return nil
+}
+
+// The following values are used to construct proxy image url.
+// $hub/$image_name/$tag-$image_type
+// example: docker.io/istio/proxyv2:1.11.1 or docker.io/istio/proxyv2:1.11.1-distroless
+// This information was previously part of the Values API.
+type ProxyImage struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The image type of the image.
+ // Istio publishes default, debug, and distroless images.
+ // Other values are allowed if those image types (example: centos) are published to the specified hub.
+ // supported values: default, debug, distroless.
+ ImageType string `protobuf:"bytes,1,opt,name=image_type,json=imageType,proto3" json:"image_type,omitempty"`
+}
+
+func (x *ProxyImage) Reset() {
+ *x = ProxyImage{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_proxy_config_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ProxyImage) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ProxyImage) ProtoMessage() {}
+
+func (x *ProxyImage) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_proxy_config_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ProxyImage.ProtoReflect.Descriptor instead.
+func (*ProxyImage) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_proxy_config_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *ProxyImage) GetImageType() string {
+ if x != nil {
+ return x.ImageType
+ }
+ return ""
+}
+
+var File_networking_v1beta1_proxy_config_proto protoreflect.FileDescriptor
+
+var file_networking_v1beta1_proxy_config_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62,
+ 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e,
+ 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
+ 0x31, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x1b, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f,
+ 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x89,
+ 0x03, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x40,
+ 0x0a, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x24, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31,
+ 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65,
+ 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72,
+ 0x12, 0x3d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c,
+ 0x75, 0x65, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12,
+ 0x74, 0x0a, 0x15, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x76,
+ 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f,
+ 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e,
+ 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e,
+ 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
+ 0x14, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69,
+ 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x3a, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74,
+ 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
+ 0x50, 0x72, 0x6f, 0x78, 0x79, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67,
+ 0x65, 0x1a, 0x47, 0x0a, 0x19, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
+ 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
+ 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
+ 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x2b, 0x0a, 0x0a, 0x50, 0x72,
+ 0x6f, 0x78, 0x79, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6d, 0x61, 0x67,
+ 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d,
+ 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x21, 0x5a, 0x1f, 0x69, 0x73, 0x74, 0x69, 0x6f,
+ 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69,
+ 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_networking_v1beta1_proxy_config_proto_rawDescOnce sync.Once
+ file_networking_v1beta1_proxy_config_proto_rawDescData = file_networking_v1beta1_proxy_config_proto_rawDesc
+)
+
+func file_networking_v1beta1_proxy_config_proto_rawDescGZIP() []byte {
+ file_networking_v1beta1_proxy_config_proto_rawDescOnce.Do(func() {
+ file_networking_v1beta1_proxy_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_networking_v1beta1_proxy_config_proto_rawDescData)
+ })
+ return file_networking_v1beta1_proxy_config_proto_rawDescData
+}
+
+var file_networking_v1beta1_proxy_config_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
+var file_networking_v1beta1_proxy_config_proto_goTypes = []interface{}{
+ (*ProxyConfig)(nil), // 0: istio.networking.v1beta1.ProxyConfig
+ (*ProxyImage)(nil), // 1: istio.networking.v1beta1.ProxyImage
+ nil, // 2: istio.networking.v1beta1.ProxyConfig.EnvironmentVariablesEntry
+ (*v1beta1.WorkloadSelector)(nil), // 3: istio.type.v1beta1.WorkloadSelector
+ (*wrappers.Int32Value)(nil), // 4: google.protobuf.Int32Value
+}
+var file_networking_v1beta1_proxy_config_proto_depIdxs = []int32{
+ 3, // 0: istio.networking.v1beta1.ProxyConfig.selector:type_name -> istio.type.v1beta1.WorkloadSelector
+ 4, // 1: istio.networking.v1beta1.ProxyConfig.concurrency:type_name -> google.protobuf.Int32Value
+ 2, // 2: istio.networking.v1beta1.ProxyConfig.environment_variables:type_name -> istio.networking.v1beta1.ProxyConfig.EnvironmentVariablesEntry
+ 1, // 3: istio.networking.v1beta1.ProxyConfig.image:type_name -> istio.networking.v1beta1.ProxyImage
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_networking_v1beta1_proxy_config_proto_init() }
+func file_networking_v1beta1_proxy_config_proto_init() {
+ if File_networking_v1beta1_proxy_config_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_networking_v1beta1_proxy_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ProxyConfig); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_proxy_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ProxyImage); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_networking_v1beta1_proxy_config_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 3,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_networking_v1beta1_proxy_config_proto_goTypes,
+ DependencyIndexes: file_networking_v1beta1_proxy_config_proto_depIdxs,
+ MessageInfos: file_networking_v1beta1_proxy_config_proto_msgTypes,
+ }.Build()
+ File_networking_v1beta1_proxy_config_proto = out.File
+ file_networking_v1beta1_proxy_config_proto_rawDesc = nil
+ file_networking_v1beta1_proxy_config_proto_goTypes = nil
+ file_networking_v1beta1_proxy_config_proto_depIdxs = nil
+}
diff --git a/vendor/istio.io/api/networking/v1beta1/proxy_config.proto b/vendor/istio.io/api/networking/v1beta1/proxy_config.proto
new file mode 100644
index 000000000..28fa4ca0e
--- /dev/null
+++ b/vendor/istio.io/api/networking/v1beta1/proxy_config.proto
@@ -0,0 +1,139 @@
+// Copyright 2021 Istio 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.
+
+syntax = "proto3";
+
+import "google/protobuf/wrappers.proto";
+import "type/v1beta1/selector.proto";
+
+// $schema: istio.networking.v1beta1.ProxyConfig
+// $title: ProxyConfig
+// $description: Provides configuration for individual workloads.
+// $location: https://istio.io/docs/reference/config/networking/proxy-config.html
+// $aliases: [/docs/reference/config/networking/v1beta1/proxy-config]
+// $mode: file
+
+// `ProxyConfig` exposes proxy level configuration options. `ProxyConfig` can be configured on a per-workload basis,
+// a per-namespace basis, or mesh-wide. `ProxyConfig` is not a required resource; there are default values in place, which are documented
+// inline with each field.
+//
+// **NOTE**: fields in ProxyConfig are not dynamically configured - changes will require restart of workloads to take effect.
+//
+// For any namespace, including the root configuration namespace, it is only valid
+// to have a single workload selector-less `ProxyConfig` resource.
+//
+// For resources with a workload selector, it is only valid to have one resource selecting
+// any given workload.
+//
+// For mesh level configuration, put the resource in the root configuration namespace for
+// your Istio installation *without* a workload selector:
+//
+// ```yaml
+// apiVersion: networking.istio.io/v1beta1
+// kind: ProxyConfig
+// metadata:
+// name: my-proxyconfig
+// namespace: istio-system
+// spec:
+// concurrency: 0
+// image:
+// type: distroless
+// ```
+//
+// For namespace level configuration, put the resource in the desired namespace without a workload selector:
+//
+// ```yaml
+// apiVersion: networking.istio.io/v1beta1
+// kind: ProxyConfig
+// metadata:
+// name: my-ns-proxyconfig
+// namespace: user-namespace
+// spec:
+// concurrency: 0
+// ```
+//
+// For workload level configuration, set the `selector` field on the `ProxyConfig` resource:
+//
+// ```yaml
+// apiVersion: networking.istio.io/v1beta1
+// kind: ProxyConfig
+// metadata:
+// name: per-workload-proxyconfig
+// namespace: example
+// spec:
+// selector:
+// labels:
+// app: ratings
+// concurrency: 0
+// image:
+// type: debug
+// ```
+//
+// If a `ProxyConfig` CR is defined that matches a workload it will merge with its `proxy.istio.io/config` annotation if present,
+// with the CR taking precedence over the annotation for overlapping fields. Similarly, if a mesh wide `ProxyConfig` CR is defined and
+// `meshConfig.DefaultConfig` is set, the two resources will be merged with the CR taking precedence for overlapping fields.
+//
+package istio.networking.v1beta1;
+
+option go_package= "istio.io/api/networking/v1beta1";
+
+// `ProxyConfig` exposes proxy level configuration options.
+//
+//
+//
+//
+message ProxyConfig {
+ // Optional. Selectors specify the set of pods/VMs on which this `ProxyConfig` resource should be applied.
+ // If not set, the `ProxyConfig` resource will be applied to all workloads in the namespace where this resource is defined.
+ istio.type.v1beta1.WorkloadSelector selector = 1;
+
+ // The number of worker threads to run.
+ // If unset, defaults to 2. If set to 0, this will be configured to use all cores on the machine using
+ // CPU requests and limits to choose a value, with limits taking precedence over requests.
+ google.protobuf.Int32Value concurrency = 2;
+
+ // Additional environment variables for the proxy.
+ // Names starting with `ISTIO_META_` will be included in the generated bootstrap configuration and sent to the XDS server.
+ map environment_variables = 3;
+
+ // Specifies the details of the proxy image.
+ ProxyImage image = 4;
+}
+
+// The following values are used to construct proxy image url.
+// $hub/$image_name/$tag-$image_type
+// example: docker.io/istio/proxyv2:1.11.1 or docker.io/istio/proxyv2:1.11.1-distroless
+// This information was previously part of the Values API.
+message ProxyImage {
+ // The image type of the image.
+ // Istio publishes default, debug, and distroless images.
+ // Other values are allowed if those image types (example: centos) are published to the specified hub.
+ // supported values: default, debug, distroless.
+ string image_type = 1;
+}
diff --git a/vendor/istio.io/api/networking/v1beta1/proxy_config_deepcopy.gen.go b/vendor/istio.io/api/networking/v1beta1/proxy_config_deepcopy.gen.go
new file mode 100644
index 000000000..7ed271c93
--- /dev/null
+++ b/vendor/istio.io/api/networking/v1beta1/proxy_config_deepcopy.gen.go
@@ -0,0 +1,48 @@
+// Code generated by protoc-gen-deepcopy. DO NOT EDIT.
+package v1beta1
+
+import (
+ proto "github.com/golang/protobuf/proto"
+)
+
+// DeepCopyInto supports using ProxyConfig within kubernetes types, where deepcopy-gen is used.
+func (in *ProxyConfig) DeepCopyInto(out *ProxyConfig) {
+ p := proto.Clone(in).(*ProxyConfig)
+ *out = *p
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyConfig. Required by controller-gen.
+func (in *ProxyConfig) DeepCopy() *ProxyConfig {
+ if in == nil {
+ return nil
+ }
+ out := new(ProxyConfig)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new ProxyConfig. Required by controller-gen.
+func (in *ProxyConfig) DeepCopyInterface() interface{} {
+ return in.DeepCopy()
+}
+
+// DeepCopyInto supports using ProxyImage within kubernetes types, where deepcopy-gen is used.
+func (in *ProxyImage) DeepCopyInto(out *ProxyImage) {
+ p := proto.Clone(in).(*ProxyImage)
+ *out = *p
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyImage. Required by controller-gen.
+func (in *ProxyImage) DeepCopy() *ProxyImage {
+ if in == nil {
+ return nil
+ }
+ out := new(ProxyImage)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new ProxyImage. Required by controller-gen.
+func (in *ProxyImage) DeepCopyInterface() interface{} {
+ return in.DeepCopy()
+}
diff --git a/vendor/istio.io/api/networking/v1beta1/proxy_config_json.gen.go b/vendor/istio.io/api/networking/v1beta1/proxy_config_json.gen.go
new file mode 100644
index 000000000..b8d37db40
--- /dev/null
+++ b/vendor/istio.io/api/networking/v1beta1/proxy_config_json.gen.go
@@ -0,0 +1,34 @@
+// Code generated by protoc-gen-jsonshim. DO NOT EDIT.
+package v1beta1
+
+import (
+ bytes "bytes"
+ jsonpb "github.com/golang/protobuf/jsonpb"
+)
+
+// MarshalJSON is a custom marshaler for ProxyConfig
+func (this *ProxyConfig) MarshalJSON() ([]byte, error) {
+ str, err := ProxyConfigMarshaler.MarshalToString(this)
+ return []byte(str), err
+}
+
+// UnmarshalJSON is a custom unmarshaler for ProxyConfig
+func (this *ProxyConfig) UnmarshalJSON(b []byte) error {
+ return ProxyConfigUnmarshaler.Unmarshal(bytes.NewReader(b), this)
+}
+
+// MarshalJSON is a custom marshaler for ProxyImage
+func (this *ProxyImage) MarshalJSON() ([]byte, error) {
+ str, err := ProxyConfigMarshaler.MarshalToString(this)
+ return []byte(str), err
+}
+
+// UnmarshalJSON is a custom unmarshaler for ProxyImage
+func (this *ProxyImage) UnmarshalJSON(b []byte) error {
+ return ProxyConfigUnmarshaler.Unmarshal(bytes.NewReader(b), this)
+}
+
+var (
+ ProxyConfigMarshaler = &jsonpb.Marshaler{}
+ ProxyConfigUnmarshaler = &jsonpb.Unmarshaler{AllowUnknownFields: true}
+)
diff --git a/vendor/istio.io/api/networking/v1beta1/service_entry.gen.json b/vendor/istio.io/api/networking/v1beta1/service_entry.gen.json
index e711ffbb1..ba9e846d6 100644
--- a/vendor/istio.io/api/networking/v1beta1/service_entry.gen.json
+++ b/vendor/istio.io/api/networking/v1beta1/service_entry.gen.json
@@ -144,7 +144,7 @@
}
},
"istio.networking.v1beta1.WorkloadSelector": {
- "description": "`WorkloadSelector` specifies the criteria used to determine if the `Gateway`, `Sidecar`, `EnvoyFilter`, or `ServiceEntry` configuration can be applied to a proxy. The matching criteria includes the metadata associated with a proxy, workload instance info such as labels attached to the pod/VM, or any other info that the proxy provides to Istio during the initial handshake. If multiple conditions are specified, all conditions need to match in order for the workload instance to be selected. Currently, only label based selection mechanism is supported.",
+ "description": "`WorkloadSelector` specifies the criteria used to determine if the `Gateway`, `Sidecar`, `EnvoyFilter`, `ServiceEntry`, or `DestinationRule` configuration can be applied to a proxy. The matching criteria includes the metadata associated with a proxy, workload instance info such as labels attached to the pod/VM, or any other info that the proxy provides to Istio during the initial handshake. If multiple conditions are specified, all conditions need to match in order for the workload instance to be selected. Currently, only label based selection mechanism is supported.",
"type": "object",
"properties": {
"labels": {
diff --git a/vendor/istio.io/api/networking/v1beta1/service_entry.pb.go b/vendor/istio.io/api/networking/v1beta1/service_entry.pb.go
index 19eeaf54f..0572fc8dc 100644
--- a/vendor/istio.io/api/networking/v1beta1/service_entry.pb.go
+++ b/vendor/istio.io/api/networking/v1beta1/service_entry.pb.go
@@ -1,6 +1,30 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
+// Copyright 2020 Istio 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-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.27.1
+// protoc (unknown)
// source: networking/v1beta1/service_entry.proto
+// $schema: istio.networking.v1beta1.ServiceEntry
+// $title: Service Entry
+// $description: Configuration affecting service registry.
+// $location: https://istio.io/docs/reference/config/networking/service-entry.html
+// $aliases: [/docs/reference/config/networking/v1beta1/service-entry]
+// $mode: none
+
// `ServiceEntry` enables adding additional entries into Istio's
// internal service registry, so that auto-discovered services in the
// mesh can access/route to these manually specified services. A
@@ -266,7 +290,7 @@
// namespace : egress
// spec:
// hosts:
-// - httpbin.com
+// - example.com
// exportTo:
// - "."
// location: MESH_EXTERNAL
@@ -287,7 +311,7 @@
// namespace : egress
// spec:
// hosts:
-// - httpbin.com
+// - example.com
// exportTo:
// - "."
// location: MESH_EXTERNAL
@@ -361,7 +385,7 @@
// namespace: egress
// spec:
// hosts:
-// - httpbin.com
+// - example.com
// exportTo:
// - "*"
// gateways:
@@ -381,7 +405,7 @@
// - istio-egressgateway
// route:
// - destination:
-// host: httpbin.com
+// host: example.com
// ```
// {{}}
//
@@ -394,7 +418,7 @@
// namespace: egress
// spec:
// hosts:
-// - httpbin.com
+// - example.com
// exportTo:
// - "*"
// gateways:
@@ -414,7 +438,7 @@
// - istio-egressgateway
// route:
// - destination:
-// host: httpbin.com
+// host: example.com
// ```
// {{}}
// {{}}
@@ -593,7 +617,7 @@
// namespace : httpbin-ns
// spec:
// hosts:
-// - httpbin.com
+// - example.com
// location: MESH_INTERNAL
// ports:
// - number: 80
@@ -617,7 +641,7 @@
// namespace : httpbin-ns
// spec:
// hosts:
-// - httpbin.com
+// - example.com
// location: MESH_INTERNAL
// ports:
// - number: 80
@@ -751,24 +775,19 @@
package v1beta1
import (
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- io "io"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
- math_bits "math/bits"
+ _ "google.golang.org/genproto/googleapis/api/annotations"
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
)
-// 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.GoGoProtoPackageIsVersion3 // please upgrade the proto package
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
// Location specifies whether the service is part of Istio mesh or
// outside the mesh. Location determines the behavior of several
@@ -789,22 +808,43 @@ const (
ServiceEntry_MESH_INTERNAL ServiceEntry_Location = 1
)
-var ServiceEntry_Location_name = map[int32]string{
- 0: "MESH_EXTERNAL",
- 1: "MESH_INTERNAL",
-}
+// Enum value maps for ServiceEntry_Location.
+var (
+ ServiceEntry_Location_name = map[int32]string{
+ 0: "MESH_EXTERNAL",
+ 1: "MESH_INTERNAL",
+ }
+ ServiceEntry_Location_value = map[string]int32{
+ "MESH_EXTERNAL": 0,
+ "MESH_INTERNAL": 1,
+ }
+)
-var ServiceEntry_Location_value = map[string]int32{
- "MESH_EXTERNAL": 0,
- "MESH_INTERNAL": 1,
+func (x ServiceEntry_Location) Enum() *ServiceEntry_Location {
+ p := new(ServiceEntry_Location)
+ *p = x
+ return p
}
func (x ServiceEntry_Location) String() string {
- return proto.EnumName(ServiceEntry_Location_name, int32(x))
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ServiceEntry_Location) Descriptor() protoreflect.EnumDescriptor {
+ return file_networking_v1beta1_service_entry_proto_enumTypes[0].Descriptor()
}
+func (ServiceEntry_Location) Type() protoreflect.EnumType {
+ return &file_networking_v1beta1_service_entry_proto_enumTypes[0]
+}
+
+func (x ServiceEntry_Location) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ServiceEntry_Location.Descriptor instead.
func (ServiceEntry_Location) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_be685d9fa1e5ca12, []int{0, 0}
+ return file_networking_v1beta1_service_entry_proto_rawDescGZIP(), []int{0, 0}
}
// Resolution determines how the proxy will resolve the IP addresses of
@@ -850,26 +890,47 @@ const (
ServiceEntry_DNS_ROUND_ROBIN ServiceEntry_Resolution = 3
)
-var ServiceEntry_Resolution_name = map[int32]string{
- 0: "NONE",
- 1: "STATIC",
- 2: "DNS",
- 3: "DNS_ROUND_ROBIN",
-}
+// Enum value maps for ServiceEntry_Resolution.
+var (
+ ServiceEntry_Resolution_name = map[int32]string{
+ 0: "NONE",
+ 1: "STATIC",
+ 2: "DNS",
+ 3: "DNS_ROUND_ROBIN",
+ }
+ ServiceEntry_Resolution_value = map[string]int32{
+ "NONE": 0,
+ "STATIC": 1,
+ "DNS": 2,
+ "DNS_ROUND_ROBIN": 3,
+ }
+)
-var ServiceEntry_Resolution_value = map[string]int32{
- "NONE": 0,
- "STATIC": 1,
- "DNS": 2,
- "DNS_ROUND_ROBIN": 3,
+func (x ServiceEntry_Resolution) Enum() *ServiceEntry_Resolution {
+ p := new(ServiceEntry_Resolution)
+ *p = x
+ return p
}
func (x ServiceEntry_Resolution) String() string {
- return proto.EnumName(ServiceEntry_Resolution_name, int32(x))
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ServiceEntry_Resolution) Descriptor() protoreflect.EnumDescriptor {
+ return file_networking_v1beta1_service_entry_proto_enumTypes[1].Descriptor()
+}
+
+func (ServiceEntry_Resolution) Type() protoreflect.EnumType {
+ return &file_networking_v1beta1_service_entry_proto_enumTypes[1]
+}
+
+func (x ServiceEntry_Resolution) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
}
+// Deprecated: Use ServiceEntry_Resolution.Descriptor instead.
func (ServiceEntry_Resolution) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_be685d9fa1e5ca12, []int{0, 1}
+ return file_networking_v1beta1_service_entry_proto_rawDescGZIP(), []int{0, 1}
}
// ServiceEntry enables adding additional entries into Istio's internal
@@ -905,6 +966,10 @@ func (ServiceEntry_Resolution) EnumDescriptor() ([]byte, []int) {
// +istio.io/sync-from:networking/v1alpha3/service_entry.proto
// -->
type ServiceEntry struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// The hosts associated with the ServiceEntry. Could be a DNS
// name with wildcard prefix.
//
@@ -991,743 +1056,240 @@ type ServiceEntry struct {
// service account specified in the workloadEntry will also be used
// to derive the additional subject alternate names that should be
// verified.
- SubjectAltNames []string `protobuf:"bytes,8,rep,name=subject_alt_names,json=subjectAltNames,proto3" json:"subject_alt_names,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ SubjectAltNames []string `protobuf:"bytes,8,rep,name=subject_alt_names,json=subjectAltNames,proto3" json:"subject_alt_names,omitempty"`
}
-func (m *ServiceEntry) Reset() { *m = ServiceEntry{} }
-func (m *ServiceEntry) String() string { return proto.CompactTextString(m) }
-func (*ServiceEntry) ProtoMessage() {}
-func (*ServiceEntry) Descriptor() ([]byte, []int) {
- return fileDescriptor_be685d9fa1e5ca12, []int{0}
+func (x *ServiceEntry) Reset() {
+ *x = ServiceEntry{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_service_entry_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
}
-func (m *ServiceEntry) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
+
+func (x *ServiceEntry) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *ServiceEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_ServiceEntry.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
+
+func (*ServiceEntry) ProtoMessage() {}
+
+func (x *ServiceEntry) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_service_entry_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- return b[:n], nil
+ return ms
}
-}
-func (m *ServiceEntry) XXX_Merge(src proto.Message) {
- xxx_messageInfo_ServiceEntry.Merge(m, src)
-}
-func (m *ServiceEntry) XXX_Size() int {
- return m.Size()
-}
-func (m *ServiceEntry) XXX_DiscardUnknown() {
- xxx_messageInfo_ServiceEntry.DiscardUnknown(m)
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_ServiceEntry proto.InternalMessageInfo
+// Deprecated: Use ServiceEntry.ProtoReflect.Descriptor instead.
+func (*ServiceEntry) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_service_entry_proto_rawDescGZIP(), []int{0}
+}
-func (m *ServiceEntry) GetHosts() []string {
- if m != nil {
- return m.Hosts
+func (x *ServiceEntry) GetHosts() []string {
+ if x != nil {
+ return x.Hosts
}
return nil
}
-func (m *ServiceEntry) GetAddresses() []string {
- if m != nil {
- return m.Addresses
+func (x *ServiceEntry) GetAddresses() []string {
+ if x != nil {
+ return x.Addresses
}
return nil
}
-func (m *ServiceEntry) GetPorts() []*Port {
- if m != nil {
- return m.Ports
+func (x *ServiceEntry) GetPorts() []*Port {
+ if x != nil {
+ return x.Ports
}
return nil
}
-func (m *ServiceEntry) GetLocation() ServiceEntry_Location {
- if m != nil {
- return m.Location
+func (x *ServiceEntry) GetLocation() ServiceEntry_Location {
+ if x != nil {
+ return x.Location
}
return ServiceEntry_MESH_EXTERNAL
}
-func (m *ServiceEntry) GetResolution() ServiceEntry_Resolution {
- if m != nil {
- return m.Resolution
+func (x *ServiceEntry) GetResolution() ServiceEntry_Resolution {
+ if x != nil {
+ return x.Resolution
}
return ServiceEntry_NONE
}
-func (m *ServiceEntry) GetEndpoints() []*WorkloadEntry {
- if m != nil {
- return m.Endpoints
+func (x *ServiceEntry) GetEndpoints() []*WorkloadEntry {
+ if x != nil {
+ return x.Endpoints
}
return nil
}
-func (m *ServiceEntry) GetWorkloadSelector() *WorkloadSelector {
- if m != nil {
- return m.WorkloadSelector
+func (x *ServiceEntry) GetWorkloadSelector() *WorkloadSelector {
+ if x != nil {
+ return x.WorkloadSelector
}
return nil
}
-func (m *ServiceEntry) GetExportTo() []string {
- if m != nil {
- return m.ExportTo
+func (x *ServiceEntry) GetExportTo() []string {
+ if x != nil {
+ return x.ExportTo
}
return nil
}
-func (m *ServiceEntry) GetSubjectAltNames() []string {
- if m != nil {
- return m.SubjectAltNames
+func (x *ServiceEntry) GetSubjectAltNames() []string {
+ if x != nil {
+ return x.SubjectAltNames
}
return nil
}
-func init() {
- proto.RegisterEnum("istio.networking.v1beta1.ServiceEntry_Location", ServiceEntry_Location_name, ServiceEntry_Location_value)
- proto.RegisterEnum("istio.networking.v1beta1.ServiceEntry_Resolution", ServiceEntry_Resolution_name, ServiceEntry_Resolution_value)
- proto.RegisterType((*ServiceEntry)(nil), "istio.networking.v1beta1.ServiceEntry")
-}
+var File_networking_v1beta1_service_entry_proto protoreflect.FileDescriptor
-func init() {
- proto.RegisterFile("networking/v1beta1/service_entry.proto", fileDescriptor_be685d9fa1e5ca12)
+var file_networking_v1beta1_service_entry_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62,
+ 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x74,
+ 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e,
+ 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
+ 0x61, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66,
+ 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f,
+ 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e,
+ 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x69, 0x64, 0x65, 0x63, 0x61,
+ 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
+ 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x77, 0x6f, 0x72, 0x6b,
+ 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x87, 0x05, 0x0a, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x12, 0x1a, 0x0a, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09,
+ 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x1c, 0x0a,
+ 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09,
+ 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x3a, 0x0a, 0x05, 0x70,
+ 0x6f, 0x72, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x73, 0x74,
+ 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31,
+ 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02,
+ 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x4b, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x69, 0x73, 0x74, 0x69,
+ 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62,
+ 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x57, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69,
+ 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f,
+ 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65,
+ 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x04, 0xe2, 0x41, 0x01,
+ 0x02, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a,
+ 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x27, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
+ 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b,
+ 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f,
+ 0x69, 0x6e, 0x74, 0x73, 0x12, 0x57, 0x0a, 0x11, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64,
+ 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x2a, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69,
+ 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c,
+ 0x6f, 0x61, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x10, 0x77, 0x6f, 0x72,
+ 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1b, 0x0a,
+ 0x09, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x74, 0x6f, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09,
+ 0x52, 0x08, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x6f, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x75,
+ 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x6c, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18,
+ 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c,
+ 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x30, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x12, 0x11, 0x0a, 0x0d, 0x4d, 0x45, 0x53, 0x48, 0x5f, 0x45, 0x58, 0x54, 0x45, 0x52,
+ 0x4e, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4d, 0x45, 0x53, 0x48, 0x5f, 0x49, 0x4e,
+ 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x22, 0x40, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x6f,
+ 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00,
+ 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03,
+ 0x44, 0x4e, 0x53, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x44, 0x4e, 0x53, 0x5f, 0x52, 0x4f, 0x55,
+ 0x4e, 0x44, 0x5f, 0x52, 0x4f, 0x42, 0x49, 0x4e, 0x10, 0x03, 0x42, 0x21, 0x5a, 0x1f, 0x69, 0x73,
+ 0x74, 0x69, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f,
+ 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
-var fileDescriptor_be685d9fa1e5ca12 = []byte{
- // 488 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0xdf, 0x8e, 0xd2, 0x40,
- 0x18, 0xc5, 0xb7, 0x14, 0xd8, 0xf6, 0x5b, 0x75, 0xcb, 0x78, 0xd3, 0xa0, 0x61, 0x1b, 0x2e, 0x5c,
- 0xb2, 0x89, 0xad, 0xe0, 0x9d, 0x57, 0x82, 0x34, 0x91, 0xb8, 0x16, 0xd3, 0x62, 0x30, 0xde, 0x34,
- 0x43, 0x3b, 0xb2, 0xa3, 0xb5, 0x43, 0x66, 0x66, 0xc1, 0x7d, 0x02, 0x5f, 0xcd, 0x4b, 0x1f, 0xc1,
- 0xf0, 0x24, 0xa6, 0x7f, 0xf8, 0x13, 0x5d, 0x74, 0x2f, 0x7b, 0xe6, 0x9c, 0x5f, 0xbf, 0x9e, 0xf9,
- 0x0a, 0x4f, 0x52, 0x22, 0x57, 0x8c, 0x7f, 0xa1, 0xe9, 0xdc, 0x59, 0x76, 0x67, 0x44, 0xe2, 0xae,
- 0x23, 0x08, 0x5f, 0xd2, 0x88, 0x84, 0x24, 0x95, 0xfc, 0xc6, 0x5e, 0x70, 0x26, 0x19, 0x32, 0xa9,
- 0x90, 0x94, 0xd9, 0x3b, 0xb7, 0x5d, 0xba, 0x9b, 0x67, 0x73, 0xc6, 0xe6, 0x09, 0x71, 0xf0, 0x82,
- 0x3a, 0x9f, 0x28, 0x49, 0xe2, 0x70, 0x46, 0xae, 0xf0, 0x92, 0x32, 0x5e, 0x44, 0x9b, 0xd6, 0x2d,
- 0xaf, 0x98, 0x63, 0x49, 0x56, 0xf8, 0xe6, 0x1f, 0x0e, 0x41, 0x63, 0x12, 0xe1, 0x0d, 0xe3, 0xfc,
- 0x16, 0x47, 0xf6, 0x9c, 0x30, 0x1c, 0xef, 0xcf, 0xd9, 0xfe, 0x5e, 0x83, 0x7b, 0x41, 0x31, 0xbf,
- 0x9b, 0xc9, 0xa8, 0x09, 0xb5, 0x2b, 0x26, 0xa4, 0x30, 0x15, 0x4b, 0xed, 0xe8, 0x83, 0xea, 0xba,
- 0xaf, 0x54, 0xfc, 0x42, 0x42, 0x8f, 0x41, 0xc7, 0x71, 0xcc, 0x89, 0x10, 0x44, 0x98, 0x95, 0xec,
- 0xdc, 0xdf, 0x09, 0xe8, 0x05, 0xd4, 0x16, 0x8c, 0x4b, 0x61, 0xaa, 0x96, 0xda, 0x39, 0xe9, 0xb5,
- 0xec, 0x43, 0x15, 0xd8, 0xef, 0x18, 0x97, 0x1b, 0x72, 0x1e, 0x41, 0x6f, 0x40, 0x4b, 0x58, 0x84,
- 0x25, 0x65, 0xa9, 0x59, 0xb5, 0x94, 0xce, 0x83, 0x9e, 0x73, 0x38, 0xbe, 0x3f, 0xaf, 0x7d, 0x59,
- 0xc6, 0xfc, 0x2d, 0x00, 0x4d, 0x01, 0x38, 0x11, 0x2c, 0xb9, 0xce, 0x71, 0xb5, 0x1c, 0xd7, 0xbd,
- 0x23, 0xce, 0xdf, 0x06, 0xcb, 0x01, 0xf7, 0x50, 0xc8, 0x05, 0x9d, 0xa4, 0xf1, 0x82, 0xd1, 0x54,
- 0x0a, 0xb3, 0x9e, 0x7f, 0xe5, 0xf9, 0x61, 0xee, 0xb4, 0xec, 0x3b, 0x07, 0xfb, 0xbb, 0x24, 0x9a,
- 0x42, 0x63, 0x7b, 0x17, 0x82, 0x24, 0x24, 0x92, 0x8c, 0x9b, 0xba, 0xa5, 0x74, 0x4e, 0x7a, 0x17,
- 0xff, 0xc7, 0x05, 0x65, 0xc2, 0x37, 0x56, 0x7f, 0x28, 0xe8, 0x11, 0xe8, 0xe4, 0x5b, 0x56, 0x68,
- 0x28, 0x99, 0x79, 0x9c, 0xdf, 0x8f, 0x56, 0x08, 0x13, 0x86, 0x2e, 0xa0, 0x21, 0xae, 0x67, 0x9f,
- 0x49, 0x24, 0x43, 0x9c, 0xc8, 0x30, 0xc5, 0x5f, 0x89, 0x30, 0xb5, 0xdc, 0x74, 0x5a, 0x1e, 0xf4,
- 0x13, 0xe9, 0x65, 0x72, 0xfb, 0x19, 0x68, 0x9b, 0x5e, 0x51, 0x03, 0xee, 0xbf, 0x75, 0x83, 0xd7,
- 0xa1, 0xfb, 0x61, 0xe2, 0xfa, 0x5e, 0xff, 0xd2, 0x38, 0xda, 0x4a, 0x23, 0xaf, 0x94, 0x94, 0xf6,
- 0x4b, 0x80, 0x5d, 0x75, 0x48, 0x83, 0xaa, 0x37, 0xf6, 0x5c, 0xe3, 0x08, 0x01, 0xd4, 0x83, 0x49,
- 0x7f, 0x32, 0x7a, 0x65, 0x28, 0xe8, 0x18, 0xd4, 0xa1, 0x17, 0x18, 0x15, 0xf4, 0x10, 0x4e, 0x87,
- 0x5e, 0x10, 0xfa, 0xe3, 0xf7, 0xde, 0x30, 0xf4, 0xc7, 0x83, 0x91, 0x67, 0xa8, 0x83, 0xa7, 0x3f,
- 0xd6, 0x2d, 0xe5, 0xe7, 0xba, 0xa5, 0xfc, 0x5a, 0xb7, 0x94, 0x8f, 0x67, 0x45, 0x0f, 0x94, 0xe5,
- 0xff, 0xc9, 0xdf, 0xdb, 0x3c, 0xab, 0xe7, 0xfb, 0xfb, 0xfc, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff,
- 0x75, 0xdd, 0x93, 0xb1, 0x91, 0x03, 0x00, 0x00,
-}
+var (
+ file_networking_v1beta1_service_entry_proto_rawDescOnce sync.Once
+ file_networking_v1beta1_service_entry_proto_rawDescData = file_networking_v1beta1_service_entry_proto_rawDesc
+)
-func (m *ServiceEntry) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
+func file_networking_v1beta1_service_entry_proto_rawDescGZIP() []byte {
+ file_networking_v1beta1_service_entry_proto_rawDescOnce.Do(func() {
+ file_networking_v1beta1_service_entry_proto_rawDescData = protoimpl.X.CompressGZIP(file_networking_v1beta1_service_entry_proto_rawDescData)
+ })
+ return file_networking_v1beta1_service_entry_proto_rawDescData
}
-func (m *ServiceEntry) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+var file_networking_v1beta1_service_entry_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
+var file_networking_v1beta1_service_entry_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_networking_v1beta1_service_entry_proto_goTypes = []interface{}{
+ (ServiceEntry_Location)(0), // 0: istio.networking.v1beta1.ServiceEntry.Location
+ (ServiceEntry_Resolution)(0), // 1: istio.networking.v1beta1.ServiceEntry.Resolution
+ (*ServiceEntry)(nil), // 2: istio.networking.v1beta1.ServiceEntry
+ (*Port)(nil), // 3: istio.networking.v1beta1.Port
+ (*WorkloadEntry)(nil), // 4: istio.networking.v1beta1.WorkloadEntry
+ (*WorkloadSelector)(nil), // 5: istio.networking.v1beta1.WorkloadSelector
}
-
-func (m *ServiceEntry) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.WorkloadSelector != nil {
- {
- size, err := m.WorkloadSelector.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintServiceEntry(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x4a
- }
- if len(m.SubjectAltNames) > 0 {
- for iNdEx := len(m.SubjectAltNames) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.SubjectAltNames[iNdEx])
- copy(dAtA[i:], m.SubjectAltNames[iNdEx])
- i = encodeVarintServiceEntry(dAtA, i, uint64(len(m.SubjectAltNames[iNdEx])))
- i--
- dAtA[i] = 0x42
- }
- }
- if len(m.ExportTo) > 0 {
- for iNdEx := len(m.ExportTo) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.ExportTo[iNdEx])
- copy(dAtA[i:], m.ExportTo[iNdEx])
- i = encodeVarintServiceEntry(dAtA, i, uint64(len(m.ExportTo[iNdEx])))
- i--
- dAtA[i] = 0x3a
- }
- }
- if len(m.Endpoints) > 0 {
- for iNdEx := len(m.Endpoints) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Endpoints[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintServiceEntry(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x32
- }
- }
- if m.Resolution != 0 {
- i = encodeVarintServiceEntry(dAtA, i, uint64(m.Resolution))
- i--
- dAtA[i] = 0x28
- }
- if m.Location != 0 {
- i = encodeVarintServiceEntry(dAtA, i, uint64(m.Location))
- i--
- dAtA[i] = 0x20
- }
- if len(m.Ports) > 0 {
- for iNdEx := len(m.Ports) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Ports[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintServiceEntry(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- }
- if len(m.Addresses) > 0 {
- for iNdEx := len(m.Addresses) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.Addresses[iNdEx])
- copy(dAtA[i:], m.Addresses[iNdEx])
- i = encodeVarintServiceEntry(dAtA, i, uint64(len(m.Addresses[iNdEx])))
- i--
- dAtA[i] = 0x12
- }
- }
- if len(m.Hosts) > 0 {
- for iNdEx := len(m.Hosts) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.Hosts[iNdEx])
- copy(dAtA[i:], m.Hosts[iNdEx])
- i = encodeVarintServiceEntry(dAtA, i, uint64(len(m.Hosts[iNdEx])))
- i--
- dAtA[i] = 0xa
- }
- }
- return len(dAtA) - i, nil
+var file_networking_v1beta1_service_entry_proto_depIdxs = []int32{
+ 3, // 0: istio.networking.v1beta1.ServiceEntry.ports:type_name -> istio.networking.v1beta1.Port
+ 0, // 1: istio.networking.v1beta1.ServiceEntry.location:type_name -> istio.networking.v1beta1.ServiceEntry.Location
+ 1, // 2: istio.networking.v1beta1.ServiceEntry.resolution:type_name -> istio.networking.v1beta1.ServiceEntry.Resolution
+ 4, // 3: istio.networking.v1beta1.ServiceEntry.endpoints:type_name -> istio.networking.v1beta1.WorkloadEntry
+ 5, // 4: istio.networking.v1beta1.ServiceEntry.workload_selector:type_name -> istio.networking.v1beta1.WorkloadSelector
+ 5, // [5:5] is the sub-list for method output_type
+ 5, // [5:5] is the sub-list for method input_type
+ 5, // [5:5] is the sub-list for extension type_name
+ 5, // [5:5] is the sub-list for extension extendee
+ 0, // [0:5] is the sub-list for field type_name
}
-func encodeVarintServiceEntry(dAtA []byte, offset int, v uint64) int {
- offset -= sovServiceEntry(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
-func (m *ServiceEntry) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if len(m.Hosts) > 0 {
- for _, s := range m.Hosts {
- l = len(s)
- n += 1 + l + sovServiceEntry(uint64(l))
- }
- }
- if len(m.Addresses) > 0 {
- for _, s := range m.Addresses {
- l = len(s)
- n += 1 + l + sovServiceEntry(uint64(l))
- }
- }
- if len(m.Ports) > 0 {
- for _, e := range m.Ports {
- l = e.Size()
- n += 1 + l + sovServiceEntry(uint64(l))
- }
+func init() { file_networking_v1beta1_service_entry_proto_init() }
+func file_networking_v1beta1_service_entry_proto_init() {
+ if File_networking_v1beta1_service_entry_proto != nil {
+ return
}
- if m.Location != 0 {
- n += 1 + sovServiceEntry(uint64(m.Location))
- }
- if m.Resolution != 0 {
- n += 1 + sovServiceEntry(uint64(m.Resolution))
- }
- if len(m.Endpoints) > 0 {
- for _, e := range m.Endpoints {
- l = e.Size()
- n += 1 + l + sovServiceEntry(uint64(l))
- }
- }
- if len(m.ExportTo) > 0 {
- for _, s := range m.ExportTo {
- l = len(s)
- n += 1 + l + sovServiceEntry(uint64(l))
- }
- }
- if len(m.SubjectAltNames) > 0 {
- for _, s := range m.SubjectAltNames {
- l = len(s)
- n += 1 + l + sovServiceEntry(uint64(l))
- }
- }
- if m.WorkloadSelector != nil {
- l = m.WorkloadSelector.Size()
- n += 1 + l + sovServiceEntry(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func sovServiceEntry(x uint64) (n int) {
- return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozServiceEntry(x uint64) (n int) {
- return sovServiceEntry(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (m *ServiceEntry) 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 ErrIntOverflowServiceEntry
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
+ file_networking_v1beta1_gateway_proto_init()
+ file_networking_v1beta1_sidecar_proto_init()
+ file_networking_v1beta1_workload_entry_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_networking_v1beta1_service_entry_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ServiceEntry); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
}
- 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: ServiceEntry: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ServiceEntry: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Hosts", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowServiceEntry
- }
- 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 ErrInvalidLengthServiceEntry
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthServiceEntry
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Hosts = append(m.Hosts, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Addresses", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowServiceEntry
- }
- 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 ErrInvalidLengthServiceEntry
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthServiceEntry
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Addresses = append(m.Addresses, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Ports", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowServiceEntry
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthServiceEntry
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthServiceEntry
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Ports = append(m.Ports, &Port{})
- if err := m.Ports[len(m.Ports)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Location", wireType)
- }
- m.Location = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowServiceEntry
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Location |= ServiceEntry_Location(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 5:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Resolution", wireType)
- }
- m.Resolution = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowServiceEntry
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Resolution |= ServiceEntry_Resolution(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 6:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Endpoints", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowServiceEntry
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthServiceEntry
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthServiceEntry
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Endpoints = append(m.Endpoints, &WorkloadEntry{})
- if err := m.Endpoints[len(m.Endpoints)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 7:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ExportTo", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowServiceEntry
- }
- 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 ErrInvalidLengthServiceEntry
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthServiceEntry
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.ExportTo = append(m.ExportTo, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 8:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field SubjectAltNames", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowServiceEntry
- }
- 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 ErrInvalidLengthServiceEntry
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthServiceEntry
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.SubjectAltNames = append(m.SubjectAltNames, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 9:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field WorkloadSelector", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowServiceEntry
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthServiceEntry
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthServiceEntry
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.WorkloadSelector == nil {
- m.WorkloadSelector = &WorkloadSelector{}
- }
- if err := m.WorkloadSelector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipServiceEntry(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthServiceEntry
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
}
}
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_networking_v1beta1_service_entry_proto_rawDesc,
+ NumEnums: 2,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_networking_v1beta1_service_entry_proto_goTypes,
+ DependencyIndexes: file_networking_v1beta1_service_entry_proto_depIdxs,
+ EnumInfos: file_networking_v1beta1_service_entry_proto_enumTypes,
+ MessageInfos: file_networking_v1beta1_service_entry_proto_msgTypes,
+ }.Build()
+ File_networking_v1beta1_service_entry_proto = out.File
+ file_networking_v1beta1_service_entry_proto_rawDesc = nil
+ file_networking_v1beta1_service_entry_proto_goTypes = nil
+ file_networking_v1beta1_service_entry_proto_depIdxs = nil
}
-func skipServiceEntry(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowServiceEntry
- }
- 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, ErrIntOverflowServiceEntry
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowServiceEntry
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLengthServiceEntry
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroupServiceEntry
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLengthServiceEntry
- }
- if depth == 0 {
- return iNdEx, nil
- }
- }
- return 0, io.ErrUnexpectedEOF
-}
-
-var (
- ErrInvalidLengthServiceEntry = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflowServiceEntry = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroupServiceEntry = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/vendor/istio.io/api/networking/v1beta1/service_entry.proto b/vendor/istio.io/api/networking/v1beta1/service_entry.proto
index ac24ce350..32482a7db 100644
--- a/vendor/istio.io/api/networking/v1beta1/service_entry.proto
+++ b/vendor/istio.io/api/networking/v1beta1/service_entry.proto
@@ -291,7 +291,7 @@ import "networking/v1beta1/workload_entry.proto";
// namespace : egress
// spec:
// hosts:
-// - httpbin.com
+// - example.com
// exportTo:
// - "."
// location: MESH_EXTERNAL
@@ -312,7 +312,7 @@ import "networking/v1beta1/workload_entry.proto";
// namespace : egress
// spec:
// hosts:
-// - httpbin.com
+// - example.com
// exportTo:
// - "."
// location: MESH_EXTERNAL
@@ -386,7 +386,7 @@ import "networking/v1beta1/workload_entry.proto";
// namespace: egress
// spec:
// hosts:
-// - httpbin.com
+// - example.com
// exportTo:
// - "*"
// gateways:
@@ -406,7 +406,7 @@ import "networking/v1beta1/workload_entry.proto";
// - istio-egressgateway
// route:
// - destination:
-// host: httpbin.com
+// host: example.com
// ```
// {{}}
//
@@ -419,7 +419,7 @@ import "networking/v1beta1/workload_entry.proto";
// namespace: egress
// spec:
// hosts:
-// - httpbin.com
+// - example.com
// exportTo:
// - "*"
// gateways:
@@ -439,7 +439,7 @@ import "networking/v1beta1/workload_entry.proto";
// - istio-egressgateway
// route:
// - destination:
-// host: httpbin.com
+// host: example.com
// ```
// {{}}
// {{}}
@@ -618,7 +618,7 @@ import "networking/v1beta1/workload_entry.proto";
// namespace : httpbin-ns
// spec:
// hosts:
-// - httpbin.com
+// - example.com
// location: MESH_INTERNAL
// ports:
// - number: 80
@@ -642,7 +642,7 @@ import "networking/v1beta1/workload_entry.proto";
// namespace : httpbin-ns
// spec:
// hosts:
-// - httpbin.com
+// - example.com
// location: MESH_INTERNAL
// ports:
// - number: 80
diff --git a/vendor/istio.io/api/networking/v1beta1/service_entry_deepcopy.gen.go b/vendor/istio.io/api/networking/v1beta1/service_entry_deepcopy.gen.go
index 7b574726e..acddd51c7 100644
--- a/vendor/istio.io/api/networking/v1beta1/service_entry_deepcopy.gen.go
+++ b/vendor/istio.io/api/networking/v1beta1/service_entry_deepcopy.gen.go
@@ -1,767 +1,10 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: networking/v1beta1/service_entry.proto
-
-// `ServiceEntry` enables adding additional entries into Istio's
-// internal service registry, so that auto-discovered services in the
-// mesh can access/route to these manually specified services. A
-// service entry describes the properties of a service (DNS name,
-// VIPs, ports, protocols, endpoints). These services could be
-// external to the mesh (e.g., web APIs) or mesh-internal services
-// that are not part of the platform's service registry (e.g., a set
-// of VMs talking to services in Kubernetes). In addition, the
-// endpoints of a service entry can also be dynamically selected by
-// using the `workloadSelector` field. These endpoints can be VM
-// workloads declared using the `WorkloadEntry` object or Kubernetes
-// pods. The ability to select both pods and VMs under a single
-// service allows for migration of services from VMs to Kubernetes
-// without having to change the existing DNS names associated with the
-// services.
-//
-// The following example declares a few external APIs accessed by internal
-// applications over HTTPS. The sidecar inspects the SNI value in the
-// ClientHello message to route to the appropriate external service.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-https
-// spec:
-// hosts:
-// - api.dropboxapi.com
-// - www.googleapis.com
-// - api.facebook.com
-// location: MESH_EXTERNAL
-// ports:
-// - number: 443
-// name: https
-// protocol: TLS
-// resolution: DNS
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-https
-// spec:
-// hosts:
-// - api.dropboxapi.com
-// - www.googleapis.com
-// - api.facebook.com
-// location: MESH_EXTERNAL
-// ports:
-// - number: 443
-// name: https
-// protocol: TLS
-// resolution: DNS
-// ```
-// {{}}
-// {{}}
-//
-// The following configuration adds a set of MongoDB instances running on
-// unmanaged VMs to Istio's registry, so that these services can be treated
-// as any other service in the mesh. The associated DestinationRule is used
-// to initiate mTLS connections to the database instances.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-mongocluster
-// spec:
-// hosts:
-// - mymongodb.somedomain # not used
-// addresses:
-// - 192.192.192.192/24 # VIPs
-// ports:
-// - number: 27018
-// name: mongodb
-// protocol: MONGO
-// location: MESH_INTERNAL
-// resolution: STATIC
-// endpoints:
-// - address: 2.2.2.2
-// - address: 3.3.3.3
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-mongocluster
-// spec:
-// hosts:
-// - mymongodb.somedomain # not used
-// addresses:
-// - 192.192.192.192/24 # VIPs
-// ports:
-// - number: 27018
-// name: mongodb
-// protocol: MONGO
-// location: MESH_INTERNAL
-// resolution: STATIC
-// endpoints:
-// - address: 2.2.2.2
-// - address: 3.3.3.3
-// ```
-// {{}}
-// {{}}
-//
-// and the associated DestinationRule
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: DestinationRule
-// metadata:
-// name: mtls-mongocluster
-// spec:
-// host: mymongodb.somedomain
-// trafficPolicy:
-// tls:
-// mode: MUTUAL
-// clientCertificate: /etc/certs/myclientcert.pem
-// privateKey: /etc/certs/client_private_key.pem
-// caCertificates: /etc/certs/rootcacerts.pem
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: DestinationRule
-// metadata:
-// name: mtls-mongocluster
-// spec:
-// host: mymongodb.somedomain
-// trafficPolicy:
-// tls:
-// mode: MUTUAL
-// clientCertificate: /etc/certs/myclientcert.pem
-// privateKey: /etc/certs/client_private_key.pem
-// caCertificates: /etc/certs/rootcacerts.pem
-// ```
-// {{}}
-// {{}}
-//
-// The following example uses a combination of service entry and TLS
-// routing in a virtual service to steer traffic based on the SNI value to
-// an internal egress firewall.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-redirect
-// spec:
-// hosts:
-// - wikipedia.org
-// - "*.wikipedia.org"
-// location: MESH_EXTERNAL
-// ports:
-// - number: 443
-// name: https
-// protocol: TLS
-// resolution: NONE
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-redirect
-// spec:
-// hosts:
-// - wikipedia.org
-// - "*.wikipedia.org"
-// location: MESH_EXTERNAL
-// ports:
-// - number: 443
-// name: https
-// protocol: TLS
-// resolution: NONE
-// ```
-// {{}}
-// {{}}
-//
-// And the associated VirtualService to route based on the SNI value.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: VirtualService
-// metadata:
-// name: tls-routing
-// spec:
-// hosts:
-// - wikipedia.org
-// - "*.wikipedia.org"
-// tls:
-// - match:
-// - sniHosts:
-// - wikipedia.org
-// - "*.wikipedia.org"
-// route:
-// - destination:
-// host: internal-egress-firewall.ns1.svc.cluster.local
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: VirtualService
-// metadata:
-// name: tls-routing
-// spec:
-// hosts:
-// - wikipedia.org
-// - "*.wikipedia.org"
-// tls:
-// - match:
-// - sniHosts:
-// - wikipedia.org
-// - "*.wikipedia.org"
-// route:
-// - destination:
-// host: internal-egress-firewall.ns1.svc.cluster.local
-// ```
-// {{}}
-// {{}}
-//
-// The virtual service with TLS match serves to override the default SNI
-// match. In the absence of a virtual service, traffic will be forwarded to
-// the wikipedia domains.
-//
-// The following example demonstrates the use of a dedicated egress gateway
-// through which all external service traffic is forwarded.
-// The 'exportTo' field allows for control over the visibility of a service
-// declaration to other namespaces in the mesh. By default, a service is exported
-// to all namespaces. The following example restricts the visibility to the
-// current namespace, represented by ".", so that it cannot be used by other
-// namespaces.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-httpbin
-// namespace : egress
-// spec:
-// hosts:
-// - httpbin.com
-// exportTo:
-// - "."
-// location: MESH_EXTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: DNS
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-httpbin
-// namespace : egress
-// spec:
-// hosts:
-// - httpbin.com
-// exportTo:
-// - "."
-// location: MESH_EXTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: DNS
-// ```
-// {{}}
-// {{}}
-//
-// Define a gateway to handle all egress traffic.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: Gateway
-// metadata:
-// name: istio-egressgateway
-// namespace: istio-system
-// spec:
-// selector:
-// istio: egressgateway
-// servers:
-// - port:
-// number: 80
-// name: http
-// protocol: HTTP
-// hosts:
-// - "*"
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: Gateway
-// metadata:
-// name: istio-egressgateway
-// namespace: istio-system
-// spec:
-// selector:
-// istio: egressgateway
-// servers:
-// - port:
-// number: 80
-// name: http
-// protocol: HTTP
-// hosts:
-// - "*"
-// ```
-// {{}}
-// {{}}
-//
-// And the associated `VirtualService` to route from the sidecar to the
-// gateway service (`istio-egressgateway.istio-system.svc.cluster.local`), as
-// well as route from the gateway to the external service. Note that the
-// virtual service is exported to all namespaces enabling them to route traffic
-// through the gateway to the external service. Forcing traffic to go through
-// a managed middle proxy like this is a common practice.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: VirtualService
-// metadata:
-// name: gateway-routing
-// namespace: egress
-// spec:
-// hosts:
-// - httpbin.com
-// exportTo:
-// - "*"
-// gateways:
-// - mesh
-// - istio-egressgateway
-// http:
-// - match:
-// - port: 80
-// gateways:
-// - mesh
-// route:
-// - destination:
-// host: istio-egressgateway.istio-system.svc.cluster.local
-// - match:
-// - port: 80
-// gateways:
-// - istio-egressgateway
-// route:
-// - destination:
-// host: httpbin.com
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: VirtualService
-// metadata:
-// name: gateway-routing
-// namespace: egress
-// spec:
-// hosts:
-// - httpbin.com
-// exportTo:
-// - "*"
-// gateways:
-// - mesh
-// - istio-egressgateway
-// http:
-// - match:
-// - port: 80
-// gateways:
-// - mesh
-// route:
-// - destination:
-// host: istio-egressgateway.istio-system.svc.cluster.local
-// - match:
-// - port: 80
-// gateways:
-// - istio-egressgateway
-// route:
-// - destination:
-// host: httpbin.com
-// ```
-// {{}}
-// {{}}
-//
-// The following example demonstrates the use of wildcards in the hosts for
-// external services. If the connection has to be routed to the IP address
-// requested by the application (i.e. application resolves DNS and attempts
-// to connect to a specific IP), the discovery mode must be set to `NONE`.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-wildcard-example
-// spec:
-// hosts:
-// - "*.bar.com"
-// location: MESH_EXTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: NONE
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-wildcard-example
-// spec:
-// hosts:
-// - "*.bar.com"
-// location: MESH_EXTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: NONE
-// ```
-// {{}}
-// {{}}
-//
-// The following example demonstrates a service that is available via a
-// Unix Domain Socket on the host of the client. The resolution must be
-// set to STATIC to use Unix address endpoints.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: unix-domain-socket-example
-// spec:
-// hosts:
-// - "example.unix.local"
-// location: MESH_EXTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: STATIC
-// endpoints:
-// - address: unix:///var/run/example/socket
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: unix-domain-socket-example
-// spec:
-// hosts:
-// - "example.unix.local"
-// location: MESH_EXTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: STATIC
-// endpoints:
-// - address: unix:///var/run/example/socket
-// ```
-// {{}}
-// {{}}
-//
-// For HTTP-based services, it is possible to create a `VirtualService`
-// backed by multiple DNS addressable endpoints. In such a scenario, the
-// application can use the `HTTP_PROXY` environment variable to transparently
-// reroute API calls for the `VirtualService` to a chosen backend. For
-// example, the following configuration creates a non-existent external
-// service called foo.bar.com backed by three domains: us.foo.bar.com:8080,
-// uk.foo.bar.com:9080, and in.foo.bar.com:7080
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-dns
-// spec:
-// hosts:
-// - foo.bar.com
-// location: MESH_EXTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: DNS
-// endpoints:
-// - address: us.foo.bar.com
-// ports:
-// http: 8080
-// - address: uk.foo.bar.com
-// ports:
-// http: 9080
-// - address: in.foo.bar.com
-// ports:
-// http: 7080
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-dns
-// spec:
-// hosts:
-// - foo.bar.com
-// location: MESH_EXTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: DNS
-// endpoints:
-// - address: us.foo.bar.com
-// ports:
-// http: 8080
-// - address: uk.foo.bar.com
-// ports:
-// http: 9080
-// - address: in.foo.bar.com
-// ports:
-// http: 7080
-// ```
-// {{}}
-// {{}}
-//
-// With `HTTP_PROXY=http://localhost/`, calls from the application to
-// `http://foo.bar.com` will be load balanced across the three domains
-// specified above. In other words, a call to `http://foo.bar.com/baz` would
-// be translated to `http://uk.foo.bar.com/baz`.
-//
-// The following example illustrates the usage of a `ServiceEntry`
-// containing a subject alternate name
-// whose format conforms to the [SPIFFE standard](https://github.com/spiffe/spiffe/blob/master/standards/SPIFFE-ID.md):
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: httpbin
-// namespace : httpbin-ns
-// spec:
-// hosts:
-// - httpbin.com
-// location: MESH_INTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: STATIC
-// endpoints:
-// - address: 2.2.2.2
-// - address: 3.3.3.3
-// subjectAltNames:
-// - "spiffe://cluster.local/ns/httpbin-ns/sa/httpbin-service-account"
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: httpbin
-// namespace : httpbin-ns
-// spec:
-// hosts:
-// - httpbin.com
-// location: MESH_INTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: STATIC
-// endpoints:
-// - address: 2.2.2.2
-// - address: 3.3.3.3
-// subjectAltNames:
-// - "spiffe://cluster.local/ns/httpbin-ns/sa/httpbin-service-account"
-// ```
-// {{}}
-// {{}}
-//
-// The following example demonstrates the use of `ServiceEntry` with a
-// `workloadSelector` to handle the migration of a service
-// `details.bookinfo.com` from VMs to Kubernetes. The service has two
-// VM-based instances with sidecars as well as a set of Kubernetes
-// pods managed by a standard deployment object. Consumers of this
-// service in the mesh will be automatically load balanced across the
-// VMs and Kubernetes. VM for the `details.bookinfo.com`
-// service. This VM has sidecar installed and bootstrapped using the
-// `details-legacy` service account. The sidecar receives HTTP traffic
-// on port 80 (wrapped in istio mutual TLS) and forwards it to the
-// application on the localhost on the same port.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: WorkloadEntry
-// metadata:
-// name: details-vm-1
-// spec:
-// serviceAccount: details
-// address: 2.2.2.2
-// labels:
-// app: details
-// instance-id: vm1
-// ---
-// apiVersion: networking.istio.io/v1alpha3
-// kind: WorkloadEntry
-// metadata:
-// name: details-vm-2
-// spec:
-// serviceAccount: details
-// address: 3.3.3.3
-// labels:
-// app: details
-// instance-id: vm2
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: WorkloadEntry
-// metadata:
-// name: details-vm-1
-// spec:
-// serviceAccount: details
-// address: 2.2.2.2
-// labels:
-// app: details
-// instance-id: vm1
-// ---
-// apiVersion: networking.istio.io/v1beta1
-// kind: WorkloadEntry
-// metadata:
-// name: details-vm-2
-// spec:
-// serviceAccount: details
-// address: 3.3.3.3
-// labels:
-// app: details
-// instance-id: vm2
-// ```
-// {{}}
-// {{}}
-//
-// Assuming there is also a Kubernetes deployment with pod labels
-// `app: details` using the same service account `details`, the
-// following service entry declares a service spanning both VMs and
-// Kubernetes:
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: details-svc
-// spec:
-// hosts:
-// - details.bookinfo.com
-// location: MESH_INTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: STATIC
-// workloadSelector:
-// labels:
-// app: details
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: details-svc
-// spec:
-// hosts:
-// - details.bookinfo.com
-// location: MESH_INTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: STATIC
-// workloadSelector:
-// labels:
-// app: details
-// ```
-// {{}}
-// {{}}
-
+// Code generated by protoc-gen-deepcopy. DO NOT EDIT.
package v1beta1
import (
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
+ proto "github.com/golang/protobuf/proto"
)
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
// DeepCopyInto supports using ServiceEntry within kubernetes types, where deepcopy-gen is used.
func (in *ServiceEntry) DeepCopyInto(out *ServiceEntry) {
p := proto.Clone(in).(*ServiceEntry)
diff --git a/vendor/istio.io/api/networking/v1beta1/service_entry_json.gen.go b/vendor/istio.io/api/networking/v1beta1/service_entry_json.gen.go
index ed69c3c6e..7eea2c8d9 100644
--- a/vendor/istio.io/api/networking/v1beta1/service_entry_json.gen.go
+++ b/vendor/istio.io/api/networking/v1beta1/service_entry_json.gen.go
@@ -1,769 +1,11 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: networking/v1beta1/service_entry.proto
-
-// `ServiceEntry` enables adding additional entries into Istio's
-// internal service registry, so that auto-discovered services in the
-// mesh can access/route to these manually specified services. A
-// service entry describes the properties of a service (DNS name,
-// VIPs, ports, protocols, endpoints). These services could be
-// external to the mesh (e.g., web APIs) or mesh-internal services
-// that are not part of the platform's service registry (e.g., a set
-// of VMs talking to services in Kubernetes). In addition, the
-// endpoints of a service entry can also be dynamically selected by
-// using the `workloadSelector` field. These endpoints can be VM
-// workloads declared using the `WorkloadEntry` object or Kubernetes
-// pods. The ability to select both pods and VMs under a single
-// service allows for migration of services from VMs to Kubernetes
-// without having to change the existing DNS names associated with the
-// services.
-//
-// The following example declares a few external APIs accessed by internal
-// applications over HTTPS. The sidecar inspects the SNI value in the
-// ClientHello message to route to the appropriate external service.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-https
-// spec:
-// hosts:
-// - api.dropboxapi.com
-// - www.googleapis.com
-// - api.facebook.com
-// location: MESH_EXTERNAL
-// ports:
-// - number: 443
-// name: https
-// protocol: TLS
-// resolution: DNS
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-https
-// spec:
-// hosts:
-// - api.dropboxapi.com
-// - www.googleapis.com
-// - api.facebook.com
-// location: MESH_EXTERNAL
-// ports:
-// - number: 443
-// name: https
-// protocol: TLS
-// resolution: DNS
-// ```
-// {{}}
-// {{}}
-//
-// The following configuration adds a set of MongoDB instances running on
-// unmanaged VMs to Istio's registry, so that these services can be treated
-// as any other service in the mesh. The associated DestinationRule is used
-// to initiate mTLS connections to the database instances.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-mongocluster
-// spec:
-// hosts:
-// - mymongodb.somedomain # not used
-// addresses:
-// - 192.192.192.192/24 # VIPs
-// ports:
-// - number: 27018
-// name: mongodb
-// protocol: MONGO
-// location: MESH_INTERNAL
-// resolution: STATIC
-// endpoints:
-// - address: 2.2.2.2
-// - address: 3.3.3.3
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-mongocluster
-// spec:
-// hosts:
-// - mymongodb.somedomain # not used
-// addresses:
-// - 192.192.192.192/24 # VIPs
-// ports:
-// - number: 27018
-// name: mongodb
-// protocol: MONGO
-// location: MESH_INTERNAL
-// resolution: STATIC
-// endpoints:
-// - address: 2.2.2.2
-// - address: 3.3.3.3
-// ```
-// {{}}
-// {{}}
-//
-// and the associated DestinationRule
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: DestinationRule
-// metadata:
-// name: mtls-mongocluster
-// spec:
-// host: mymongodb.somedomain
-// trafficPolicy:
-// tls:
-// mode: MUTUAL
-// clientCertificate: /etc/certs/myclientcert.pem
-// privateKey: /etc/certs/client_private_key.pem
-// caCertificates: /etc/certs/rootcacerts.pem
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: DestinationRule
-// metadata:
-// name: mtls-mongocluster
-// spec:
-// host: mymongodb.somedomain
-// trafficPolicy:
-// tls:
-// mode: MUTUAL
-// clientCertificate: /etc/certs/myclientcert.pem
-// privateKey: /etc/certs/client_private_key.pem
-// caCertificates: /etc/certs/rootcacerts.pem
-// ```
-// {{}}
-// {{}}
-//
-// The following example uses a combination of service entry and TLS
-// routing in a virtual service to steer traffic based on the SNI value to
-// an internal egress firewall.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-redirect
-// spec:
-// hosts:
-// - wikipedia.org
-// - "*.wikipedia.org"
-// location: MESH_EXTERNAL
-// ports:
-// - number: 443
-// name: https
-// protocol: TLS
-// resolution: NONE
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-redirect
-// spec:
-// hosts:
-// - wikipedia.org
-// - "*.wikipedia.org"
-// location: MESH_EXTERNAL
-// ports:
-// - number: 443
-// name: https
-// protocol: TLS
-// resolution: NONE
-// ```
-// {{}}
-// {{}}
-//
-// And the associated VirtualService to route based on the SNI value.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: VirtualService
-// metadata:
-// name: tls-routing
-// spec:
-// hosts:
-// - wikipedia.org
-// - "*.wikipedia.org"
-// tls:
-// - match:
-// - sniHosts:
-// - wikipedia.org
-// - "*.wikipedia.org"
-// route:
-// - destination:
-// host: internal-egress-firewall.ns1.svc.cluster.local
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: VirtualService
-// metadata:
-// name: tls-routing
-// spec:
-// hosts:
-// - wikipedia.org
-// - "*.wikipedia.org"
-// tls:
-// - match:
-// - sniHosts:
-// - wikipedia.org
-// - "*.wikipedia.org"
-// route:
-// - destination:
-// host: internal-egress-firewall.ns1.svc.cluster.local
-// ```
-// {{}}
-// {{}}
-//
-// The virtual service with TLS match serves to override the default SNI
-// match. In the absence of a virtual service, traffic will be forwarded to
-// the wikipedia domains.
-//
-// The following example demonstrates the use of a dedicated egress gateway
-// through which all external service traffic is forwarded.
-// The 'exportTo' field allows for control over the visibility of a service
-// declaration to other namespaces in the mesh. By default, a service is exported
-// to all namespaces. The following example restricts the visibility to the
-// current namespace, represented by ".", so that it cannot be used by other
-// namespaces.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-httpbin
-// namespace : egress
-// spec:
-// hosts:
-// - httpbin.com
-// exportTo:
-// - "."
-// location: MESH_EXTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: DNS
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-httpbin
-// namespace : egress
-// spec:
-// hosts:
-// - httpbin.com
-// exportTo:
-// - "."
-// location: MESH_EXTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: DNS
-// ```
-// {{}}
-// {{}}
-//
-// Define a gateway to handle all egress traffic.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: Gateway
-// metadata:
-// name: istio-egressgateway
-// namespace: istio-system
-// spec:
-// selector:
-// istio: egressgateway
-// servers:
-// - port:
-// number: 80
-// name: http
-// protocol: HTTP
-// hosts:
-// - "*"
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: Gateway
-// metadata:
-// name: istio-egressgateway
-// namespace: istio-system
-// spec:
-// selector:
-// istio: egressgateway
-// servers:
-// - port:
-// number: 80
-// name: http
-// protocol: HTTP
-// hosts:
-// - "*"
-// ```
-// {{}}
-// {{}}
-//
-// And the associated `VirtualService` to route from the sidecar to the
-// gateway service (`istio-egressgateway.istio-system.svc.cluster.local`), as
-// well as route from the gateway to the external service. Note that the
-// virtual service is exported to all namespaces enabling them to route traffic
-// through the gateway to the external service. Forcing traffic to go through
-// a managed middle proxy like this is a common practice.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: VirtualService
-// metadata:
-// name: gateway-routing
-// namespace: egress
-// spec:
-// hosts:
-// - httpbin.com
-// exportTo:
-// - "*"
-// gateways:
-// - mesh
-// - istio-egressgateway
-// http:
-// - match:
-// - port: 80
-// gateways:
-// - mesh
-// route:
-// - destination:
-// host: istio-egressgateway.istio-system.svc.cluster.local
-// - match:
-// - port: 80
-// gateways:
-// - istio-egressgateway
-// route:
-// - destination:
-// host: httpbin.com
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: VirtualService
-// metadata:
-// name: gateway-routing
-// namespace: egress
-// spec:
-// hosts:
-// - httpbin.com
-// exportTo:
-// - "*"
-// gateways:
-// - mesh
-// - istio-egressgateway
-// http:
-// - match:
-// - port: 80
-// gateways:
-// - mesh
-// route:
-// - destination:
-// host: istio-egressgateway.istio-system.svc.cluster.local
-// - match:
-// - port: 80
-// gateways:
-// - istio-egressgateway
-// route:
-// - destination:
-// host: httpbin.com
-// ```
-// {{}}
-// {{}}
-//
-// The following example demonstrates the use of wildcards in the hosts for
-// external services. If the connection has to be routed to the IP address
-// requested by the application (i.e. application resolves DNS and attempts
-// to connect to a specific IP), the discovery mode must be set to `NONE`.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-wildcard-example
-// spec:
-// hosts:
-// - "*.bar.com"
-// location: MESH_EXTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: NONE
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-wildcard-example
-// spec:
-// hosts:
-// - "*.bar.com"
-// location: MESH_EXTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: NONE
-// ```
-// {{}}
-// {{}}
-//
-// The following example demonstrates a service that is available via a
-// Unix Domain Socket on the host of the client. The resolution must be
-// set to STATIC to use Unix address endpoints.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: unix-domain-socket-example
-// spec:
-// hosts:
-// - "example.unix.local"
-// location: MESH_EXTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: STATIC
-// endpoints:
-// - address: unix:///var/run/example/socket
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: unix-domain-socket-example
-// spec:
-// hosts:
-// - "example.unix.local"
-// location: MESH_EXTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: STATIC
-// endpoints:
-// - address: unix:///var/run/example/socket
-// ```
-// {{}}
-// {{}}
-//
-// For HTTP-based services, it is possible to create a `VirtualService`
-// backed by multiple DNS addressable endpoints. In such a scenario, the
-// application can use the `HTTP_PROXY` environment variable to transparently
-// reroute API calls for the `VirtualService` to a chosen backend. For
-// example, the following configuration creates a non-existent external
-// service called foo.bar.com backed by three domains: us.foo.bar.com:8080,
-// uk.foo.bar.com:9080, and in.foo.bar.com:7080
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-dns
-// spec:
-// hosts:
-// - foo.bar.com
-// location: MESH_EXTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: DNS
-// endpoints:
-// - address: us.foo.bar.com
-// ports:
-// http: 8080
-// - address: uk.foo.bar.com
-// ports:
-// http: 9080
-// - address: in.foo.bar.com
-// ports:
-// http: 7080
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-dns
-// spec:
-// hosts:
-// - foo.bar.com
-// location: MESH_EXTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: DNS
-// endpoints:
-// - address: us.foo.bar.com
-// ports:
-// http: 8080
-// - address: uk.foo.bar.com
-// ports:
-// http: 9080
-// - address: in.foo.bar.com
-// ports:
-// http: 7080
-// ```
-// {{}}
-// {{}}
-//
-// With `HTTP_PROXY=http://localhost/`, calls from the application to
-// `http://foo.bar.com` will be load balanced across the three domains
-// specified above. In other words, a call to `http://foo.bar.com/baz` would
-// be translated to `http://uk.foo.bar.com/baz`.
-//
-// The following example illustrates the usage of a `ServiceEntry`
-// containing a subject alternate name
-// whose format conforms to the [SPIFFE standard](https://github.com/spiffe/spiffe/blob/master/standards/SPIFFE-ID.md):
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: httpbin
-// namespace : httpbin-ns
-// spec:
-// hosts:
-// - httpbin.com
-// location: MESH_INTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: STATIC
-// endpoints:
-// - address: 2.2.2.2
-// - address: 3.3.3.3
-// subjectAltNames:
-// - "spiffe://cluster.local/ns/httpbin-ns/sa/httpbin-service-account"
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: httpbin
-// namespace : httpbin-ns
-// spec:
-// hosts:
-// - httpbin.com
-// location: MESH_INTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: STATIC
-// endpoints:
-// - address: 2.2.2.2
-// - address: 3.3.3.3
-// subjectAltNames:
-// - "spiffe://cluster.local/ns/httpbin-ns/sa/httpbin-service-account"
-// ```
-// {{}}
-// {{}}
-//
-// The following example demonstrates the use of `ServiceEntry` with a
-// `workloadSelector` to handle the migration of a service
-// `details.bookinfo.com` from VMs to Kubernetes. The service has two
-// VM-based instances with sidecars as well as a set of Kubernetes
-// pods managed by a standard deployment object. Consumers of this
-// service in the mesh will be automatically load balanced across the
-// VMs and Kubernetes. VM for the `details.bookinfo.com`
-// service. This VM has sidecar installed and bootstrapped using the
-// `details-legacy` service account. The sidecar receives HTTP traffic
-// on port 80 (wrapped in istio mutual TLS) and forwards it to the
-// application on the localhost on the same port.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: WorkloadEntry
-// metadata:
-// name: details-vm-1
-// spec:
-// serviceAccount: details
-// address: 2.2.2.2
-// labels:
-// app: details
-// instance-id: vm1
-// ---
-// apiVersion: networking.istio.io/v1alpha3
-// kind: WorkloadEntry
-// metadata:
-// name: details-vm-2
-// spec:
-// serviceAccount: details
-// address: 3.3.3.3
-// labels:
-// app: details
-// instance-id: vm2
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: WorkloadEntry
-// metadata:
-// name: details-vm-1
-// spec:
-// serviceAccount: details
-// address: 2.2.2.2
-// labels:
-// app: details
-// instance-id: vm1
-// ---
-// apiVersion: networking.istio.io/v1beta1
-// kind: WorkloadEntry
-// metadata:
-// name: details-vm-2
-// spec:
-// serviceAccount: details
-// address: 3.3.3.3
-// labels:
-// app: details
-// instance-id: vm2
-// ```
-// {{}}
-// {{}}
-//
-// Assuming there is also a Kubernetes deployment with pod labels
-// `app: details` using the same service account `details`, the
-// following service entry declares a service spanning both VMs and
-// Kubernetes:
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: details-svc
-// spec:
-// hosts:
-// - details.bookinfo.com
-// location: MESH_INTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: STATIC
-// workloadSelector:
-// labels:
-// app: details
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: details-svc
-// spec:
-// hosts:
-// - details.bookinfo.com
-// location: MESH_INTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// resolution: STATIC
-// workloadSelector:
-// labels:
-// app: details
-// ```
-// {{}}
-// {{}}
-
+// Code generated by protoc-gen-jsonshim. DO NOT EDIT.
package v1beta1
import (
bytes "bytes"
- fmt "fmt"
- github_com_gogo_protobuf_jsonpb "github.com/gogo/protobuf/jsonpb"
- proto "github.com/gogo/protobuf/proto"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
+ jsonpb "github.com/golang/protobuf/jsonpb"
)
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
// MarshalJSON is a custom marshaler for ServiceEntry
func (this *ServiceEntry) MarshalJSON() ([]byte, error) {
str, err := ServiceEntryMarshaler.MarshalToString(this)
@@ -776,6 +18,6 @@ func (this *ServiceEntry) UnmarshalJSON(b []byte) error {
}
var (
- ServiceEntryMarshaler = &github_com_gogo_protobuf_jsonpb.Marshaler{}
- ServiceEntryUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{AllowUnknownFields: true}
+ ServiceEntryMarshaler = &jsonpb.Marshaler{}
+ ServiceEntryUnmarshaler = &jsonpb.Unmarshaler{AllowUnknownFields: true}
)
diff --git a/vendor/istio.io/api/networking/v1beta1/sidecar.gen.json b/vendor/istio.io/api/networking/v1beta1/sidecar.gen.json
index 68223d587..c8d7d8ad3 100644
--- a/vendor/istio.io/api/networking/v1beta1/sidecar.gen.json
+++ b/vendor/istio.io/api/networking/v1beta1/sidecar.gen.json
@@ -72,6 +72,9 @@
"defaultEndpoint": {
"description": "The IP endpoint or Unix domain socket to which traffic should be forwarded to. This configuration can be used to redirect traffic arriving at the bind `IP:Port` on the sidecar to a `localhost:port` or Unix domain socket where the application workload instance is listening for connections. Arbitrary IPs are not supported. Format should be one of `127.0.0.1:PORT`, `0.0.0.0:PORT` (which will forward to the instance IP), or `unix:///path/to/socket`",
"type": "string"
+ },
+ "tls": {
+ "$ref": "#/components/schemas/istio.networking.v1beta1.ServerTLSSettings"
}
}
},
@@ -126,6 +129,90 @@
}
}
},
+ "istio.networking.v1beta1.ServerTLSSettings": {
+ "type": "object",
+ "properties": {
+ "httpsRedirect": {
+ "description": "If set to true, the load balancer will send a 301 redirect for all http connections, asking the clients to use HTTPS.",
+ "type": "boolean"
+ },
+ "mode": {
+ "$ref": "#/components/schemas/istio.networking.v1beta1.ServerTLSSettings.TLSmode"
+ },
+ "serverCertificate": {
+ "description": "REQUIRED if mode is `SIMPLE` or `MUTUAL`. The path to the file holding the server-side TLS certificate to use.",
+ "type": "string"
+ },
+ "privateKey": {
+ "description": "REQUIRED if mode is `SIMPLE` or `MUTUAL`. The path to the file holding the server's private key.",
+ "type": "string"
+ },
+ "caCertificates": {
+ "description": "REQUIRED if mode is `MUTUAL`. The path to a file containing certificate authority certificates to use in verifying a presented client side certificate.",
+ "type": "string"
+ },
+ "credentialName": {
+ "description": "For gateways running on Kubernetes, the name of the secret that holds the TLS certs including the CA certificates. Applicable only on Kubernetes. The secret (of type `generic`) should contain the following keys and values: `key: \u003cprivateKey\u003e` and `cert: \u003cserverCert\u003e`. For mutual TLS, `cacert: \u003cCACertificate\u003e` can be provided in the same secret or a separate secret named `\u003csecret\u003e-cacert`. Secret of type tls for server certificates along with ca.crt key for CA certificates is also supported. Only one of server certificates and CA certificate or credentialName can be specified.",
+ "type": "string"
+ },
+ "subjectAltNames": {
+ "description": "A list of alternate names to verify the subject identity in the certificate presented by the client.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "verifyCertificateSpki": {
+ "description": "An optional list of base64-encoded SHA-256 hashes of the SKPIs of authorized client certificates. Note: When both verify_certificate_hash and verify_certificate_spki are specified, a hash matching either value will result in the certificate being accepted.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "verifyCertificateHash": {
+ "description": "An optional list of hex-encoded SHA-256 hashes of the authorized client certificates. Both simple and colon separated formats are acceptable. Note: When both verify_certificate_hash and verify_certificate_spki are specified, a hash matching either value will result in the certificate being accepted.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "minProtocolVersion": {
+ "$ref": "#/components/schemas/istio.networking.v1beta1.ServerTLSSettings.TLSProtocol"
+ },
+ "maxProtocolVersion": {
+ "$ref": "#/components/schemas/istio.networking.v1beta1.ServerTLSSettings.TLSProtocol"
+ },
+ "cipherSuites": {
+ "description": "Optional: If specified, only support the specified cipher list. Otherwise default to the default cipher list supported by Envoy.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "istio.networking.v1beta1.ServerTLSSettings.TLSProtocol": {
+ "description": "TLS protocol versions.",
+ "type": "string",
+ "enum": [
+ "TLS_AUTO",
+ "TLSV1_0",
+ "TLSV1_1",
+ "TLSV1_2",
+ "TLSV1_3"
+ ]
+ },
+ "istio.networking.v1beta1.ServerTLSSettings.TLSmode": {
+ "description": "TLS modes enforced by the proxy",
+ "type": "string",
+ "enum": [
+ "PASSTHROUGH",
+ "SIMPLE",
+ "MUTUAL",
+ "AUTO_PASSTHROUGH",
+ "ISTIO_MUTUAL"
+ ]
+ },
"istio.networking.v1beta1.Sidecar": {
"description": "`Sidecar` describes the configuration of the sidecar proxy that mediates inbound and outbound communication of the workload instance to which it is attached.",
"type": "object",
@@ -153,7 +240,7 @@
}
},
"istio.networking.v1beta1.WorkloadSelector": {
- "description": "`WorkloadSelector` specifies the criteria used to determine if the `Gateway`, `Sidecar`, `EnvoyFilter`, or `ServiceEntry` configuration can be applied to a proxy. The matching criteria includes the metadata associated with a proxy, workload instance info such as labels attached to the pod/VM, or any other info that the proxy provides to Istio during the initial handshake. If multiple conditions are specified, all conditions need to match in order for the workload instance to be selected. Currently, only label based selection mechanism is supported.",
+ "description": "`WorkloadSelector` specifies the criteria used to determine if the `Gateway`, `Sidecar`, `EnvoyFilter`, `ServiceEntry`, or `DestinationRule` configuration can be applied to a proxy. The matching criteria includes the metadata associated with a proxy, workload instance info such as labels attached to the pod/VM, or any other info that the proxy provides to Istio during the initial handshake. If multiple conditions are specified, all conditions need to match in order for the workload instance to be selected. Currently, only label based selection mechanism is supported.",
"type": "object",
"properties": {
"labels": {
diff --git a/vendor/istio.io/api/networking/v1beta1/sidecar.pb.go b/vendor/istio.io/api/networking/v1beta1/sidecar.pb.go
index ededa0626..fa6199a88 100644
--- a/vendor/istio.io/api/networking/v1beta1/sidecar.pb.go
+++ b/vendor/istio.io/api/networking/v1beta1/sidecar.pb.go
@@ -1,6 +1,30 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
+// Copyright 2020 Istio 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-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.27.1
+// protoc (unknown)
// source: networking/v1beta1/sidecar.proto
+// $schema: istio.networking.v1beta1.Sidecar
+// $title: Sidecar
+// $description: Configuration affecting network reachability of a sidecar.
+// $location: https://istio.io/docs/reference/config/networking/sidecar.html
+// $aliases: [/docs/reference/config/networking/v1beta1/sidecar]
+// $mode: none
+
// `Sidecar` describes the configuration of the sidecar proxy that mediates
// inbound and outbound communication to the workload instance it is attached to. By
// default, Istio will program all sidecar proxies in the mesh with the
@@ -382,24 +406,19 @@
package v1beta1
import (
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- io "io"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
- math_bits "math/bits"
+ _ "google.golang.org/genproto/googleapis/api/annotations"
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
)
-// 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.GoGoProtoPackageIsVersion3 // please upgrade the proto package
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
// `CaptureMode` describes how traffic to a listener is expected to be
// captured. Applicable only when the listener is bound to an IP.
@@ -418,24 +437,45 @@ const (
CaptureMode_NONE CaptureMode = 2
)
-var CaptureMode_name = map[int32]string{
- 0: "DEFAULT",
- 1: "IPTABLES",
- 2: "NONE",
-}
+// Enum value maps for CaptureMode.
+var (
+ CaptureMode_name = map[int32]string{
+ 0: "DEFAULT",
+ 1: "IPTABLES",
+ 2: "NONE",
+ }
+ CaptureMode_value = map[string]int32{
+ "DEFAULT": 0,
+ "IPTABLES": 1,
+ "NONE": 2,
+ }
+)
-var CaptureMode_value = map[string]int32{
- "DEFAULT": 0,
- "IPTABLES": 1,
- "NONE": 2,
+func (x CaptureMode) Enum() *CaptureMode {
+ p := new(CaptureMode)
+ *p = x
+ return p
}
func (x CaptureMode) String() string {
- return proto.EnumName(CaptureMode_name, int32(x))
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
+func (CaptureMode) Descriptor() protoreflect.EnumDescriptor {
+ return file_networking_v1beta1_sidecar_proto_enumTypes[0].Descriptor()
+}
+
+func (CaptureMode) Type() protoreflect.EnumType {
+ return &file_networking_v1beta1_sidecar_proto_enumTypes[0]
+}
+
+func (x CaptureMode) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use CaptureMode.Descriptor instead.
func (CaptureMode) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_e7023408fb338e10, []int{0}
+ return file_networking_v1beta1_sidecar_proto_rawDescGZIP(), []int{0}
}
type OutboundTrafficPolicy_Mode int32
@@ -449,22 +489,43 @@ const (
OutboundTrafficPolicy_ALLOW_ANY OutboundTrafficPolicy_Mode = 1
)
-var OutboundTrafficPolicy_Mode_name = map[int32]string{
- 0: "REGISTRY_ONLY",
- 1: "ALLOW_ANY",
-}
+// Enum value maps for OutboundTrafficPolicy_Mode.
+var (
+ OutboundTrafficPolicy_Mode_name = map[int32]string{
+ 0: "REGISTRY_ONLY",
+ 1: "ALLOW_ANY",
+ }
+ OutboundTrafficPolicy_Mode_value = map[string]int32{
+ "REGISTRY_ONLY": 0,
+ "ALLOW_ANY": 1,
+ }
+)
-var OutboundTrafficPolicy_Mode_value = map[string]int32{
- "REGISTRY_ONLY": 0,
- "ALLOW_ANY": 1,
+func (x OutboundTrafficPolicy_Mode) Enum() *OutboundTrafficPolicy_Mode {
+ p := new(OutboundTrafficPolicy_Mode)
+ *p = x
+ return p
}
func (x OutboundTrafficPolicy_Mode) String() string {
- return proto.EnumName(OutboundTrafficPolicy_Mode_name, int32(x))
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
+func (OutboundTrafficPolicy_Mode) Descriptor() protoreflect.EnumDescriptor {
+ return file_networking_v1beta1_sidecar_proto_enumTypes[1].Descriptor()
+}
+
+func (OutboundTrafficPolicy_Mode) Type() protoreflect.EnumType {
+ return &file_networking_v1beta1_sidecar_proto_enumTypes[1]
+}
+
+func (x OutboundTrafficPolicy_Mode) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use OutboundTrafficPolicy_Mode.Descriptor instead.
func (OutboundTrafficPolicy_Mode) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_e7023408fb338e10, []int{4, 0}
+ return file_networking_v1beta1_sidecar_proto_rawDescGZIP(), []int{4, 0}
}
// `Sidecar` describes the configuration of the sidecar proxy that mediates
@@ -492,6 +553,10 @@ func (OutboundTrafficPolicy_Mode) EnumDescriptor() ([]byte, []int) {
// +istio.io/sync-from:networking/v1alpha3/sidecar.proto
// -->
type Sidecar struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Criteria used to select the specific set of pods/VMs on which this
// `Sidecar` configuration should be applied. If omitted, the `Sidecar`
// configuration will be applied to all workload instances in the same namespace.
@@ -516,68 +581,64 @@ type Sidecar struct {
// inherits the system detected defaults from the namespace-wide or
// the global default Sidecar.
OutboundTrafficPolicy *OutboundTrafficPolicy `protobuf:"bytes,4,opt,name=outbound_traffic_policy,json=outboundTrafficPolicy,proto3" json:"outbound_traffic_policy,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
}
-func (m *Sidecar) Reset() { *m = Sidecar{} }
-func (m *Sidecar) String() string { return proto.CompactTextString(m) }
-func (*Sidecar) ProtoMessage() {}
-func (*Sidecar) Descriptor() ([]byte, []int) {
- return fileDescriptor_e7023408fb338e10, []int{0}
+func (x *Sidecar) Reset() {
+ *x = Sidecar{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_sidecar_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
}
-func (m *Sidecar) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
+
+func (x *Sidecar) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *Sidecar) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Sidecar.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
+
+func (*Sidecar) ProtoMessage() {}
+
+func (x *Sidecar) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_sidecar_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- return b[:n], nil
+ return ms
}
-}
-func (m *Sidecar) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Sidecar.Merge(m, src)
-}
-func (m *Sidecar) XXX_Size() int {
- return m.Size()
-}
-func (m *Sidecar) XXX_DiscardUnknown() {
- xxx_messageInfo_Sidecar.DiscardUnknown(m)
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_Sidecar proto.InternalMessageInfo
+// Deprecated: Use Sidecar.ProtoReflect.Descriptor instead.
+func (*Sidecar) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_sidecar_proto_rawDescGZIP(), []int{0}
+}
-func (m *Sidecar) GetWorkloadSelector() *WorkloadSelector {
- if m != nil {
- return m.WorkloadSelector
+func (x *Sidecar) GetWorkloadSelector() *WorkloadSelector {
+ if x != nil {
+ return x.WorkloadSelector
}
return nil
}
-func (m *Sidecar) GetIngress() []*IstioIngressListener {
- if m != nil {
- return m.Ingress
+func (x *Sidecar) GetIngress() []*IstioIngressListener {
+ if x != nil {
+ return x.Ingress
}
return nil
}
-func (m *Sidecar) GetEgress() []*IstioEgressListener {
- if m != nil {
- return m.Egress
+func (x *Sidecar) GetEgress() []*IstioEgressListener {
+ if x != nil {
+ return x.Egress
}
return nil
}
-func (m *Sidecar) GetOutboundTrafficPolicy() *OutboundTrafficPolicy {
- if m != nil {
- return m.OutboundTrafficPolicy
+func (x *Sidecar) GetOutboundTrafficPolicy() *OutboundTrafficPolicy {
+ if x != nil {
+ return x.OutboundTrafficPolicy
}
return nil
}
@@ -585,6 +646,10 @@ func (m *Sidecar) GetOutboundTrafficPolicy() *OutboundTrafficPolicy {
// `IstioIngressListener` specifies the properties of an inbound
// traffic listener on the sidecar proxy attached to a workload instance.
type IstioIngressListener struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// The port associated with the listener.
Port *Port `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"`
// The IP to which the listener should be bound. Must be in the
@@ -603,76 +668,88 @@ type IstioIngressListener struct {
// or Unix domain socket where the application workload instance is listening for
// connections. Arbitrary IPs are not supported. Format should be one of `127.0.0.1:PORT`, `0.0.0.0:PORT`
// (which will forward to the instance IP), or `unix:///path/to/socket`
- DefaultEndpoint string `protobuf:"bytes,4,opt,name=default_endpoint,json=defaultEndpoint,proto3" json:"default_endpoint,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ DefaultEndpoint string `protobuf:"bytes,4,opt,name=default_endpoint,json=defaultEndpoint,proto3" json:"default_endpoint,omitempty"`
+ // Set of TLS related options that will enable TLS termination on the
+ // sidecar for requests originating from outside the mesh.
+ // Currently supports only SIMPLE and MUTUAL TLS modes.
+ // $hide_from_docs
+ Tls *ServerTLSSettings `protobuf:"bytes,7,opt,name=tls,proto3" json:"tls,omitempty"`
}
-func (m *IstioIngressListener) Reset() { *m = IstioIngressListener{} }
-func (m *IstioIngressListener) String() string { return proto.CompactTextString(m) }
-func (*IstioIngressListener) ProtoMessage() {}
-func (*IstioIngressListener) Descriptor() ([]byte, []int) {
- return fileDescriptor_e7023408fb338e10, []int{1}
+func (x *IstioIngressListener) Reset() {
+ *x = IstioIngressListener{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_sidecar_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
}
-func (m *IstioIngressListener) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
+
+func (x *IstioIngressListener) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *IstioIngressListener) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_IstioIngressListener.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
+
+func (*IstioIngressListener) ProtoMessage() {}
+
+func (x *IstioIngressListener) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_sidecar_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- return b[:n], nil
+ return ms
}
-}
-func (m *IstioIngressListener) XXX_Merge(src proto.Message) {
- xxx_messageInfo_IstioIngressListener.Merge(m, src)
-}
-func (m *IstioIngressListener) XXX_Size() int {
- return m.Size()
-}
-func (m *IstioIngressListener) XXX_DiscardUnknown() {
- xxx_messageInfo_IstioIngressListener.DiscardUnknown(m)
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_IstioIngressListener proto.InternalMessageInfo
+// Deprecated: Use IstioIngressListener.ProtoReflect.Descriptor instead.
+func (*IstioIngressListener) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_sidecar_proto_rawDescGZIP(), []int{1}
+}
-func (m *IstioIngressListener) GetPort() *Port {
- if m != nil {
- return m.Port
+func (x *IstioIngressListener) GetPort() *Port {
+ if x != nil {
+ return x.Port
}
return nil
}
-func (m *IstioIngressListener) GetBind() string {
- if m != nil {
- return m.Bind
+func (x *IstioIngressListener) GetBind() string {
+ if x != nil {
+ return x.Bind
}
return ""
}
-func (m *IstioIngressListener) GetCaptureMode() CaptureMode {
- if m != nil {
- return m.CaptureMode
+func (x *IstioIngressListener) GetCaptureMode() CaptureMode {
+ if x != nil {
+ return x.CaptureMode
}
return CaptureMode_DEFAULT
}
-func (m *IstioIngressListener) GetDefaultEndpoint() string {
- if m != nil {
- return m.DefaultEndpoint
+func (x *IstioIngressListener) GetDefaultEndpoint() string {
+ if x != nil {
+ return x.DefaultEndpoint
}
return ""
}
+func (x *IstioIngressListener) GetTls() *ServerTLSSettings {
+ if x != nil {
+ return x.Tls
+ }
+ return nil
+}
+
// `IstioEgressListener` specifies the properties of an outbound traffic
// listener on the sidecar proxy attached to a workload instance.
type IstioEgressListener struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// The port associated with the listener. If using Unix domain socket,
// use 0 as the port number, with a valid protocol. The port if
// specified, will be used as the default destination port associated
@@ -722,75 +799,71 @@ type IstioEgressListener struct {
// Private configurations (e.g., `exportTo` set to `.`) will
// not be available. Refer to the `exportTo` setting in `VirtualService`,
// `DestinationRule`, and `ServiceEntry` configurations for details.
- Hosts []string `protobuf:"bytes,4,rep,name=hosts,proto3" json:"hosts,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Hosts []string `protobuf:"bytes,4,rep,name=hosts,proto3" json:"hosts,omitempty"`
}
-func (m *IstioEgressListener) Reset() { *m = IstioEgressListener{} }
-func (m *IstioEgressListener) String() string { return proto.CompactTextString(m) }
-func (*IstioEgressListener) ProtoMessage() {}
-func (*IstioEgressListener) Descriptor() ([]byte, []int) {
- return fileDescriptor_e7023408fb338e10, []int{2}
+func (x *IstioEgressListener) Reset() {
+ *x = IstioEgressListener{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_sidecar_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
}
-func (m *IstioEgressListener) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
+
+func (x *IstioEgressListener) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *IstioEgressListener) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_IstioEgressListener.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
+
+func (*IstioEgressListener) ProtoMessage() {}
+
+func (x *IstioEgressListener) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_sidecar_proto_msgTypes[2]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- return b[:n], nil
+ return ms
}
-}
-func (m *IstioEgressListener) XXX_Merge(src proto.Message) {
- xxx_messageInfo_IstioEgressListener.Merge(m, src)
-}
-func (m *IstioEgressListener) XXX_Size() int {
- return m.Size()
-}
-func (m *IstioEgressListener) XXX_DiscardUnknown() {
- xxx_messageInfo_IstioEgressListener.DiscardUnknown(m)
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_IstioEgressListener proto.InternalMessageInfo
+// Deprecated: Use IstioEgressListener.ProtoReflect.Descriptor instead.
+func (*IstioEgressListener) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_sidecar_proto_rawDescGZIP(), []int{2}
+}
-func (m *IstioEgressListener) GetPort() *Port {
- if m != nil {
- return m.Port
+func (x *IstioEgressListener) GetPort() *Port {
+ if x != nil {
+ return x.Port
}
return nil
}
-func (m *IstioEgressListener) GetBind() string {
- if m != nil {
- return m.Bind
+func (x *IstioEgressListener) GetBind() string {
+ if x != nil {
+ return x.Bind
}
return ""
}
-func (m *IstioEgressListener) GetCaptureMode() CaptureMode {
- if m != nil {
- return m.CaptureMode
+func (x *IstioEgressListener) GetCaptureMode() CaptureMode {
+ if x != nil {
+ return x.CaptureMode
}
return CaptureMode_DEFAULT
}
-func (m *IstioEgressListener) GetHosts() []string {
- if m != nil {
- return m.Hosts
+func (x *IstioEgressListener) GetHosts() []string {
+ if x != nil {
+ return x.Hosts
}
return nil
}
// `WorkloadSelector` specifies the criteria used to determine if the
-// `Gateway`, `Sidecar`, `EnvoyFilter`, or `ServiceEntry`
+// `Gateway`, `Sidecar`, `EnvoyFilter`, `ServiceEntry`, or `DestinationRule`
// configuration can be applied to a proxy. The matching criteria
// includes the metadata associated with a proxy, workload instance
// info such as labels attached to the pod/VM, or any other info that
@@ -799,52 +872,52 @@ func (m *IstioEgressListener) GetHosts() []string {
// order for the workload instance to be selected. Currently, only
// label based selection mechanism is supported.
type WorkloadSelector struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// One or more labels that indicate a specific set of pods/VMs
// on which the configuration should be applied. The scope of
// label search is restricted to the configuration namespace in which the
// the resource is present.
- Labels map[string]string `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Labels map[string]string `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
-func (m *WorkloadSelector) Reset() { *m = WorkloadSelector{} }
-func (m *WorkloadSelector) String() string { return proto.CompactTextString(m) }
-func (*WorkloadSelector) ProtoMessage() {}
-func (*WorkloadSelector) Descriptor() ([]byte, []int) {
- return fileDescriptor_e7023408fb338e10, []int{3}
+func (x *WorkloadSelector) Reset() {
+ *x = WorkloadSelector{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_sidecar_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
}
-func (m *WorkloadSelector) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
+
+func (x *WorkloadSelector) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *WorkloadSelector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_WorkloadSelector.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
+
+func (*WorkloadSelector) ProtoMessage() {}
+
+func (x *WorkloadSelector) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_sidecar_proto_msgTypes[3]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- return b[:n], nil
+ return ms
}
-}
-func (m *WorkloadSelector) XXX_Merge(src proto.Message) {
- xxx_messageInfo_WorkloadSelector.Merge(m, src)
-}
-func (m *WorkloadSelector) XXX_Size() int {
- return m.Size()
-}
-func (m *WorkloadSelector) XXX_DiscardUnknown() {
- xxx_messageInfo_WorkloadSelector.DiscardUnknown(m)
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_WorkloadSelector proto.InternalMessageInfo
+// Deprecated: Use WorkloadSelector.ProtoReflect.Descriptor instead.
+func (*WorkloadSelector) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_sidecar_proto_rawDescGZIP(), []int{3}
+}
-func (m *WorkloadSelector) GetLabels() map[string]string {
- if m != nil {
- return m.Labels
+func (x *WorkloadSelector) GetLabels() map[string]string {
+ if x != nil {
+ return x.Labels
}
return nil
}
@@ -859,6 +932,10 @@ func (m *WorkloadSelector) GetLabels() map[string]string {
// dependencies, instead of using `ALLOW_ANY`, so that traffic to these
// services can be monitored.
type OutboundTrafficPolicy struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
Mode OutboundTrafficPolicy_Mode `protobuf:"varint,1,opt,name=mode,proto3,enum=istio.networking.v1beta1.OutboundTrafficPolicy_Mode" json:"mode,omitempty"`
// Specifies the details of the egress proxy to which unknown
// traffic should be forwarded to from the sidecar. Valid only if
@@ -874,1446 +951,292 @@ type OutboundTrafficPolicy struct {
// Envoy's dynamic forward proxy can handle only HTTP and TLS
// connections.
// $hide_from_docs
- EgressProxy *Destination `protobuf:"bytes,2,opt,name=egress_proxy,json=egressProxy,proto3" json:"egress_proxy,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *OutboundTrafficPolicy) Reset() { *m = OutboundTrafficPolicy{} }
-func (m *OutboundTrafficPolicy) String() string { return proto.CompactTextString(m) }
-func (*OutboundTrafficPolicy) ProtoMessage() {}
-func (*OutboundTrafficPolicy) Descriptor() ([]byte, []int) {
- return fileDescriptor_e7023408fb338e10, []int{4}
-}
-func (m *OutboundTrafficPolicy) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *OutboundTrafficPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_OutboundTrafficPolicy.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *OutboundTrafficPolicy) XXX_Merge(src proto.Message) {
- xxx_messageInfo_OutboundTrafficPolicy.Merge(m, src)
-}
-func (m *OutboundTrafficPolicy) XXX_Size() int {
- return m.Size()
-}
-func (m *OutboundTrafficPolicy) XXX_DiscardUnknown() {
- xxx_messageInfo_OutboundTrafficPolicy.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_OutboundTrafficPolicy proto.InternalMessageInfo
-
-func (m *OutboundTrafficPolicy) GetMode() OutboundTrafficPolicy_Mode {
- if m != nil {
- return m.Mode
- }
- return OutboundTrafficPolicy_REGISTRY_ONLY
-}
-
-func (m *OutboundTrafficPolicy) GetEgressProxy() *Destination {
- if m != nil {
- return m.EgressProxy
- }
- return nil
-}
-
-func init() {
- proto.RegisterEnum("istio.networking.v1beta1.CaptureMode", CaptureMode_name, CaptureMode_value)
- proto.RegisterEnum("istio.networking.v1beta1.OutboundTrafficPolicy_Mode", OutboundTrafficPolicy_Mode_name, OutboundTrafficPolicy_Mode_value)
- proto.RegisterType((*Sidecar)(nil), "istio.networking.v1beta1.Sidecar")
- proto.RegisterType((*IstioIngressListener)(nil), "istio.networking.v1beta1.IstioIngressListener")
- proto.RegisterType((*IstioEgressListener)(nil), "istio.networking.v1beta1.IstioEgressListener")
- proto.RegisterType((*WorkloadSelector)(nil), "istio.networking.v1beta1.WorkloadSelector")
- proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1beta1.WorkloadSelector.LabelsEntry")
- proto.RegisterType((*OutboundTrafficPolicy)(nil), "istio.networking.v1beta1.OutboundTrafficPolicy")
-}
-
-func init() { proto.RegisterFile("networking/v1beta1/sidecar.proto", fileDescriptor_e7023408fb338e10) }
-
-var fileDescriptor_e7023408fb338e10 = []byte{
- // 681 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x54, 0xcd, 0x6e, 0xda, 0x4a,
- 0x18, 0xcd, 0x80, 0xc3, 0xcf, 0x38, 0xb9, 0xd7, 0x99, 0x9b, 0xe8, 0x5a, 0x2c, 0x08, 0x42, 0xba,
- 0x12, 0x8a, 0x14, 0xa3, 0x70, 0xab, 0x2a, 0xed, 0x8e, 0x34, 0x6e, 0x43, 0x44, 0x01, 0x19, 0xaa,
- 0x28, 0xdd, 0x58, 0x83, 0x3d, 0x90, 0x51, 0xa6, 0x1e, 0x34, 0x1e, 0x48, 0x59, 0xf6, 0x59, 0xfa,
- 0x32, 0x5d, 0x76, 0xd3, 0x7d, 0x85, 0xd4, 0x27, 0xe8, 0x0b, 0x54, 0x1e, 0x4f, 0xf3, 0x57, 0x68,
- 0x9b, 0x4d, 0x77, 0xf6, 0x7c, 0xdf, 0x39, 0x3a, 0xe7, 0x7c, 0xf3, 0x0d, 0xac, 0x44, 0x44, 0x5e,
- 0x71, 0x71, 0x49, 0xa3, 0x71, 0x7d, 0x76, 0x30, 0x24, 0x12, 0x1f, 0xd4, 0x63, 0x1a, 0x92, 0x00,
- 0x0b, 0x67, 0x22, 0xb8, 0xe4, 0xc8, 0xa6, 0xb1, 0xa4, 0xdc, 0xb9, 0xe9, 0x73, 0x74, 0x5f, 0x69,
- 0x77, 0xcc, 0xf9, 0x98, 0x91, 0x3a, 0x9e, 0xd0, 0xfa, 0x88, 0x12, 0x16, 0xfa, 0x43, 0x72, 0x81,
- 0x67, 0x94, 0x6b, 0x68, 0x69, 0x19, 0xf9, 0x18, 0x4b, 0x72, 0x85, 0xe7, 0xba, 0xa3, 0xb6, 0xa4,
- 0x63, 0x46, 0x85, 0x9c, 0x62, 0xe6, 0xc7, 0x44, 0xcc, 0x68, 0x40, 0xd2, 0xce, 0xea, 0xd7, 0x0c,
- 0xcc, 0xf7, 0x53, 0x61, 0xe8, 0x0c, 0x6e, 0x25, 0x20, 0xc6, 0x71, 0xe8, 0xc7, 0x84, 0x91, 0x40,
- 0x72, 0x61, 0x83, 0x0a, 0xa8, 0x99, 0x8d, 0x3d, 0x67, 0x95, 0x5c, 0xe7, 0x4c, 0x43, 0xfa, 0x1a,
- 0xe1, 0x59, 0x57, 0xf7, 0x4e, 0xd0, 0x09, 0xcc, 0xd3, 0x68, 0x2c, 0x48, 0x1c, 0xdb, 0x99, 0x4a,
- 0xb6, 0x66, 0x36, 0x9c, 0xd5, 0x74, 0xad, 0xa4, 0xd0, 0x4a, 0xbb, 0xdb, 0x34, 0x96, 0x24, 0x22,
- 0xc2, 0xfb, 0x0e, 0x47, 0x2e, 0xcc, 0x91, 0x94, 0x28, 0xab, 0x88, 0xf6, 0x7f, 0x41, 0xe4, 0xde,
- 0xe5, 0xd1, 0x60, 0x34, 0x86, 0xff, 0xf2, 0xa9, 0x1c, 0xf2, 0x69, 0x14, 0xfa, 0x52, 0xe0, 0xd1,
- 0x88, 0x06, 0xfe, 0x84, 0x33, 0x1a, 0xcc, 0x6d, 0x43, 0xf9, 0xad, 0xaf, 0xe6, 0xed, 0x6a, 0xe0,
- 0x20, 0xc5, 0xf5, 0x14, 0xcc, 0xdb, 0xe1, 0xcb, 0x8e, 0x4f, 0x8d, 0xc2, 0xba, 0x95, 0x3b, 0x35,
- 0x0a, 0x39, 0x2b, 0xef, 0x15, 0x19, 0x0f, 0x30, 0xbb, 0xe0, 0xb1, 0xac, 0xbe, 0xcb, 0xc0, 0xed,
- 0x65, 0x46, 0xd1, 0x21, 0x34, 0x26, 0x5c, 0x48, 0x9d, 0x7a, 0x79, 0xb5, 0x8a, 0x1e, 0x17, 0xf2,
- 0xc8, 0x58, 0x34, 0x41, 0xc6, 0x53, 0x08, 0x84, 0xa0, 0x31, 0xa4, 0x51, 0x68, 0x67, 0x2a, 0xa0,
- 0x56, 0xf4, 0xd4, 0x37, 0x3a, 0x81, 0x1b, 0x01, 0x9e, 0xc8, 0xa9, 0x20, 0xfe, 0x1b, 0x1e, 0x12,
- 0x3b, 0x5b, 0x01, 0xb5, 0xbf, 0x1a, 0xff, 0xad, 0x66, 0x7d, 0x96, 0x76, 0xbf, 0xe4, 0x21, 0xf1,
- 0xcc, 0xe0, 0xe6, 0x07, 0xd5, 0xa1, 0x15, 0x92, 0x11, 0x9e, 0x32, 0xe9, 0x93, 0x28, 0x9c, 0x70,
- 0x1a, 0x49, 0x95, 0x54, 0x51, 0x6b, 0xf8, 0x5b, 0x57, 0x5d, 0x5d, 0xbc, 0x63, 0x7c, 0xfb, 0xda,
- 0xb8, 0x1f, 0x30, 0x4a, 0x22, 0xe9, 0x4b, 0x16, 0x57, 0xbf, 0x00, 0xf8, 0xcf, 0x92, 0x19, 0xa1,
- 0xc6, 0x43, 0x22, 0xf8, 0x23, 0xe6, 0x4b, 0x70, 0x3d, 0x11, 0x1f, 0xdb, 0x46, 0x25, 0x7b, 0xed,
- 0x38, 0x3d, 0x5a, 0xe5, 0x33, 0x59, 0x32, 0x22, 0x94, 0xcf, 0xf7, 0x00, 0x5a, 0xf7, 0x77, 0x04,
- 0x0d, 0x60, 0x8e, 0xe1, 0x21, 0x61, 0xb1, 0x0d, 0xd4, 0x3d, 0x7e, 0xfc, 0xfb, 0xfb, 0xe5, 0xb4,
- 0x15, 0xd0, 0x8d, 0xa4, 0x98, 0x6b, 0x2d, 0x9a, 0xab, 0xf4, 0x04, 0x9a, 0xb7, 0x8a, 0xc8, 0x82,
- 0xd9, 0x4b, 0x32, 0x57, 0x41, 0x16, 0xbd, 0xe4, 0x13, 0x6d, 0xc3, 0xf5, 0x19, 0x66, 0x53, 0xa2,
- 0x83, 0x4a, 0x7f, 0x9e, 0x66, 0x0e, 0x41, 0xf5, 0x13, 0x80, 0x3b, 0x4b, 0x6f, 0x36, 0x3a, 0x81,
- 0x86, 0xca, 0x0f, 0xa8, 0xfc, 0x1e, 0x3d, 0x70, 0x31, 0x1c, 0x15, 0xa7, 0x62, 0x48, 0x26, 0x92,
- 0xee, 0x9f, 0x3f, 0x11, 0xfc, 0xed, 0x5c, 0x89, 0x30, 0x7f, 0x36, 0x91, 0x63, 0x12, 0x4b, 0x1a,
- 0x61, 0x49, 0x79, 0xe4, 0x99, 0x29, 0xb4, 0x97, 0x20, 0xab, 0x35, 0x68, 0xa8, 0xc9, 0x6c, 0xc1,
- 0x4d, 0xcf, 0x7d, 0xd1, 0xea, 0x0f, 0xbc, 0x73, 0xbf, 0xdb, 0x69, 0x9f, 0x5b, 0x6b, 0x68, 0x13,
- 0x16, 0x9b, 0xed, 0x76, 0xf7, 0xcc, 0x6f, 0x76, 0xce, 0x2d, 0xb0, 0xd7, 0x80, 0xe6, 0xad, 0xb9,
- 0x22, 0x13, 0xe6, 0x8f, 0xdd, 0xe7, 0xcd, 0x57, 0xed, 0x81, 0xb5, 0x86, 0x36, 0x60, 0xa1, 0xd5,
- 0x1b, 0x34, 0x8f, 0xda, 0x6e, 0xdf, 0x02, 0xa8, 0x00, 0x8d, 0x4e, 0xb7, 0xe3, 0x5a, 0x99, 0xa3,
- 0xfd, 0x0f, 0x8b, 0x32, 0xf8, 0xb8, 0x28, 0x83, 0xcf, 0x8b, 0x32, 0x78, 0xbd, 0x9b, 0xca, 0xa3,
- 0x5c, 0x3d, 0xc8, 0x3f, 0x3e, 0xac, 0xc3, 0x9c, 0x7a, 0x49, 0xff, 0xff, 0x16, 0x00, 0x00, 0xff,
- 0xff, 0xa0, 0x68, 0xab, 0xde, 0xf4, 0x05, 0x00, 0x00,
-}
-
-func (m *Sidecar) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *Sidecar) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Sidecar) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.OutboundTrafficPolicy != nil {
- {
- size, err := m.OutboundTrafficPolicy.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintSidecar(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x22
- }
- if len(m.Egress) > 0 {
- for iNdEx := len(m.Egress) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Egress[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintSidecar(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- }
- if len(m.Ingress) > 0 {
- for iNdEx := len(m.Ingress) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Ingress[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintSidecar(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- }
- if m.WorkloadSelector != nil {
- {
- size, err := m.WorkloadSelector.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintSidecar(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func (m *IstioIngressListener) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *IstioIngressListener) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *IstioIngressListener) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.DefaultEndpoint) > 0 {
- i -= len(m.DefaultEndpoint)
- copy(dAtA[i:], m.DefaultEndpoint)
- i = encodeVarintSidecar(dAtA, i, uint64(len(m.DefaultEndpoint)))
- i--
- dAtA[i] = 0x22
- }
- if m.CaptureMode != 0 {
- i = encodeVarintSidecar(dAtA, i, uint64(m.CaptureMode))
- i--
- dAtA[i] = 0x18
- }
- if len(m.Bind) > 0 {
- i -= len(m.Bind)
- copy(dAtA[i:], m.Bind)
- i = encodeVarintSidecar(dAtA, i, uint64(len(m.Bind)))
- i--
- dAtA[i] = 0x12
- }
- if m.Port != nil {
- {
- size, err := m.Port.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintSidecar(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
+ EgressProxy *Destination `protobuf:"bytes,2,opt,name=egress_proxy,json=egressProxy,proto3" json:"egress_proxy,omitempty"`
}
-func (m *IstioEgressListener) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
+func (x *OutboundTrafficPolicy) Reset() {
+ *x = OutboundTrafficPolicy{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_sidecar_proto_msgTypes[4]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- return dAtA[:n], nil
}
-func (m *IstioEgressListener) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+func (x *OutboundTrafficPolicy) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *IstioEgressListener) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Hosts) > 0 {
- for iNdEx := len(m.Hosts) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.Hosts[iNdEx])
- copy(dAtA[i:], m.Hosts[iNdEx])
- i = encodeVarintSidecar(dAtA, i, uint64(len(m.Hosts[iNdEx])))
- i--
- dAtA[i] = 0x22
- }
- }
- if m.CaptureMode != 0 {
- i = encodeVarintSidecar(dAtA, i, uint64(m.CaptureMode))
- i--
- dAtA[i] = 0x18
- }
- if len(m.Bind) > 0 {
- i -= len(m.Bind)
- copy(dAtA[i:], m.Bind)
- i = encodeVarintSidecar(dAtA, i, uint64(len(m.Bind)))
- i--
- dAtA[i] = 0x12
- }
- if m.Port != nil {
- {
- size, err := m.Port.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintSidecar(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
+func (*OutboundTrafficPolicy) ProtoMessage() {}
-func (m *WorkloadSelector) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *WorkloadSelector) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *WorkloadSelector) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Labels) > 0 {
- for k := range m.Labels {
- v := m.Labels[k]
- baseI := i
- i -= len(v)
- copy(dAtA[i:], v)
- i = encodeVarintSidecar(dAtA, i, uint64(len(v)))
- i--
- dAtA[i] = 0x12
- i -= len(k)
- copy(dAtA[i:], k)
- i = encodeVarintSidecar(dAtA, i, uint64(len(k)))
- i--
- dAtA[i] = 0xa
- i = encodeVarintSidecar(dAtA, i, uint64(baseI-i))
- i--
- dAtA[i] = 0xa
+func (x *OutboundTrafficPolicy) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_sidecar_proto_msgTypes[4]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
+ return ms
}
- return len(dAtA) - i, nil
+ return mi.MessageOf(x)
}
-func (m *OutboundTrafficPolicy) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *OutboundTrafficPolicy) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *OutboundTrafficPolicy) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.EgressProxy != nil {
- {
- size, err := m.EgressProxy.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintSidecar(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- if m.Mode != 0 {
- i = encodeVarintSidecar(dAtA, i, uint64(m.Mode))
- i--
- dAtA[i] = 0x8
- }
- return len(dAtA) - i, nil
-}
-
-func encodeVarintSidecar(dAtA []byte, offset int, v uint64) int {
- offset -= sovSidecar(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
-func (m *Sidecar) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.WorkloadSelector != nil {
- l = m.WorkloadSelector.Size()
- n += 1 + l + sovSidecar(uint64(l))
- }
- if len(m.Ingress) > 0 {
- for _, e := range m.Ingress {
- l = e.Size()
- n += 1 + l + sovSidecar(uint64(l))
- }
- }
- if len(m.Egress) > 0 {
- for _, e := range m.Egress {
- l = e.Size()
- n += 1 + l + sovSidecar(uint64(l))
- }
- }
- if m.OutboundTrafficPolicy != nil {
- l = m.OutboundTrafficPolicy.Size()
- n += 1 + l + sovSidecar(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *IstioIngressListener) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Port != nil {
- l = m.Port.Size()
- n += 1 + l + sovSidecar(uint64(l))
- }
- l = len(m.Bind)
- if l > 0 {
- n += 1 + l + sovSidecar(uint64(l))
- }
- if m.CaptureMode != 0 {
- n += 1 + sovSidecar(uint64(m.CaptureMode))
- }
- l = len(m.DefaultEndpoint)
- if l > 0 {
- n += 1 + l + sovSidecar(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *IstioEgressListener) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Port != nil {
- l = m.Port.Size()
- n += 1 + l + sovSidecar(uint64(l))
- }
- l = len(m.Bind)
- if l > 0 {
- n += 1 + l + sovSidecar(uint64(l))
- }
- if m.CaptureMode != 0 {
- n += 1 + sovSidecar(uint64(m.CaptureMode))
- }
- if len(m.Hosts) > 0 {
- for _, s := range m.Hosts {
- l = len(s)
- n += 1 + l + sovSidecar(uint64(l))
- }
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *WorkloadSelector) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if len(m.Labels) > 0 {
- for k, v := range m.Labels {
- _ = k
- _ = v
- mapEntrySize := 1 + len(k) + sovSidecar(uint64(len(k))) + 1 + len(v) + sovSidecar(uint64(len(v)))
- n += mapEntrySize + 1 + sovSidecar(uint64(mapEntrySize))
- }
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
+// Deprecated: Use OutboundTrafficPolicy.ProtoReflect.Descriptor instead.
+func (*OutboundTrafficPolicy) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_sidecar_proto_rawDescGZIP(), []int{4}
}
-func (m *OutboundTrafficPolicy) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Mode != 0 {
- n += 1 + sovSidecar(uint64(m.Mode))
+func (x *OutboundTrafficPolicy) GetMode() OutboundTrafficPolicy_Mode {
+ if x != nil {
+ return x.Mode
}
- if m.EgressProxy != nil {
- l = m.EgressProxy.Size()
- n += 1 + l + sovSidecar(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func sovSidecar(x uint64) (n int) {
- return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozSidecar(x uint64) (n int) {
- return sovSidecar(uint64((x << 1) ^ uint64((int64(x) >> 63))))
+ return OutboundTrafficPolicy_REGISTRY_ONLY
}
-func (m *Sidecar) 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 ErrIntOverflowSidecar
- }
- 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: Sidecar: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Sidecar: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field WorkloadSelector", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSidecar
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthSidecar
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthSidecar
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.WorkloadSelector == nil {
- m.WorkloadSelector = &WorkloadSelector{}
- }
- if err := m.WorkloadSelector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Ingress", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSidecar
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthSidecar
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthSidecar
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Ingress = append(m.Ingress, &IstioIngressListener{})
- if err := m.Ingress[len(m.Ingress)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Egress", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSidecar
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthSidecar
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthSidecar
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Egress = append(m.Egress, &IstioEgressListener{})
- if err := m.Egress[len(m.Egress)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field OutboundTrafficPolicy", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSidecar
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthSidecar
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthSidecar
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.OutboundTrafficPolicy == nil {
- m.OutboundTrafficPolicy = &OutboundTrafficPolicy{}
- }
- if err := m.OutboundTrafficPolicy.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipSidecar(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthSidecar
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
- if iNdEx > l {
- return io.ErrUnexpectedEOF
+func (x *OutboundTrafficPolicy) GetEgressProxy() *Destination {
+ if x != nil {
+ return x.EgressProxy
}
return nil
}
-func (m *IstioIngressListener) 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 ErrIntOverflowSidecar
- }
- 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: IstioIngressListener: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: IstioIngressListener: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Port", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSidecar
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthSidecar
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthSidecar
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Port == nil {
- m.Port = &Port{}
- }
- if err := m.Port.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Bind", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSidecar
- }
- 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 ErrInvalidLengthSidecar
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthSidecar
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Bind = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 3:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field CaptureMode", wireType)
- }
- m.CaptureMode = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSidecar
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.CaptureMode |= CaptureMode(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field DefaultEndpoint", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSidecar
- }
- 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 ErrInvalidLengthSidecar
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthSidecar
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.DefaultEndpoint = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipSidecar(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthSidecar
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
+var File_networking_v1beta1_sidecar_proto protoreflect.FileDescriptor
+
+var file_networking_v1beta1_sidecar_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62,
+ 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x18, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
+ 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1f, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62,
+ 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x6e,
+ 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
+ 0x31, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x28, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65,
+ 0x74, 0x61, 0x31, 0x2f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76,
+ 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf3, 0x02, 0x0a, 0x07, 0x53, 0x69,
+ 0x64, 0x65, 0x63, 0x61, 0x72, 0x12, 0x57, 0x0a, 0x11, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61,
+ 0x64, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x2a, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
+ 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b,
+ 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x10, 0x77, 0x6f,
+ 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x48,
+ 0x0a, 0x07, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x2e, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69,
+ 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x73, 0x74, 0x69, 0x6f,
+ 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52,
+ 0x07, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x45, 0x0a, 0x06, 0x65, 0x67, 0x72, 0x65,
+ 0x73, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f,
+ 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65,
+ 0x74, 0x61, 0x31, 0x2e, 0x49, 0x73, 0x74, 0x69, 0x6f, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4c,
+ 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x06, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12,
+ 0x67, 0x0a, 0x17, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x74, 0x72, 0x61, 0x66,
+ 0x66, 0x69, 0x63, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x2f, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
+ 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x75, 0x74, 0x62,
+ 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x50, 0x6f, 0x6c, 0x69, 0x63,
+ 0x79, 0x52, 0x15, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x61, 0x66, 0x66,
+ 0x69, 0x63, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x4a, 0x04,
+ 0x08, 0x06, 0x10, 0x07, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x22,
+ 0xc0, 0x02, 0x0a, 0x14, 0x49, 0x73, 0x74, 0x69, 0x6f, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73,
+ 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e,
+ 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
+ 0x31, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x04, 0x70, 0x6f,
+ 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x04, 0x62, 0x69, 0x6e, 0x64, 0x12, 0x48, 0x0a, 0x0c, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72,
+ 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x69,
+ 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e,
+ 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x4d,
+ 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65,
+ 0x12, 0x2f, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x65, 0x6e, 0x64, 0x70,
+ 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02,
+ 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
+ 0x74, 0x12, 0x3d, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b,
+ 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e,
+ 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
+ 0x54, 0x4c, 0x53, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x03, 0x74, 0x6c, 0x73,
+ 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x52, 0x14, 0x6c, 0x6f,
+ 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74,
+ 0x6c, 0x73, 0x22, 0xe5, 0x01, 0x0a, 0x13, 0x49, 0x73, 0x74, 0x69, 0x6f, 0x45, 0x67, 0x72, 0x65,
+ 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x04, 0x70, 0x6f,
+ 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f,
+ 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65,
+ 0x74, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x12,
+ 0x0a, 0x04, 0x62, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x69,
+ 0x6e, 0x64, 0x12, 0x48, 0x0a, 0x0c, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f,
+ 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f,
+ 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65,
+ 0x74, 0x61, 0x31, 0x2e, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52,
+ 0x0b, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x05,
+ 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x04, 0xe2, 0x41, 0x01,
+ 0x02, 0x52, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x4a, 0x04,
+ 0x08, 0x06, 0x10, 0x07, 0x52, 0x14, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x5f,
+ 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x6c, 0x73, 0x22, 0xa3, 0x01, 0x0a, 0x10, 0x57,
+ 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12,
+ 0x54, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x36, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69,
+ 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c,
+ 0x6f, 0x61, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4c, 0x61, 0x62, 0x65,
+ 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x06, 0x6c,
+ 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
+ 0x22, 0xd5, 0x01, 0x0a, 0x15, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x61,
+ 0x66, 0x66, 0x69, 0x63, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x48, 0x0a, 0x04, 0x6d, 0x6f,
+ 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f,
+ 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65,
+ 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x61, 0x66,
+ 0x66, 0x69, 0x63, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04,
+ 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x48, 0x0a, 0x0c, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x70,
+ 0x72, 0x6f, 0x78, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x69, 0x73, 0x74,
+ 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31,
+ 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x52, 0x0b, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x22, 0x28,
+ 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54,
+ 0x52, 0x59, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x4c, 0x4c,
+ 0x4f, 0x57, 0x5f, 0x41, 0x4e, 0x59, 0x10, 0x01, 0x2a, 0x32, 0x0a, 0x0b, 0x43, 0x61, 0x70, 0x74,
+ 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55,
+ 0x4c, 0x54, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x50, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x53,
+ 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x02, 0x42, 0x21, 0x5a, 0x1f,
+ 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6e, 0x65, 0x74,
+ 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
-func (m *IstioEgressListener) 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 ErrIntOverflowSidecar
- }
- 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: IstioEgressListener: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: IstioEgressListener: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Port", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSidecar
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthSidecar
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthSidecar
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Port == nil {
- m.Port = &Port{}
- }
- if err := m.Port.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Bind", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSidecar
- }
- 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 ErrInvalidLengthSidecar
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthSidecar
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Bind = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 3:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field CaptureMode", wireType)
- }
- m.CaptureMode = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSidecar
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.CaptureMode |= CaptureMode(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Hosts", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSidecar
- }
- 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 ErrInvalidLengthSidecar
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthSidecar
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Hosts = append(m.Hosts, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipSidecar(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthSidecar
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *WorkloadSelector) 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 ErrIntOverflowSidecar
- }
- 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: WorkloadSelector: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: WorkloadSelector: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Labels", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSidecar
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthSidecar
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthSidecar
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Labels == nil {
- m.Labels = make(map[string]string)
- }
- var mapkey string
- var mapvalue string
- for iNdEx < postIndex {
- entryPreIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSidecar
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- if fieldNum == 1 {
- var stringLenmapkey uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSidecar
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapkey |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapkey := int(stringLenmapkey)
- if intStringLenmapkey < 0 {
- return ErrInvalidLengthSidecar
- }
- postStringIndexmapkey := iNdEx + intStringLenmapkey
- if postStringIndexmapkey < 0 {
- return ErrInvalidLengthSidecar
- }
- if postStringIndexmapkey > l {
- return io.ErrUnexpectedEOF
- }
- mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
- iNdEx = postStringIndexmapkey
- } else if fieldNum == 2 {
- var stringLenmapvalue uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSidecar
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapvalue |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapvalue := int(stringLenmapvalue)
- if intStringLenmapvalue < 0 {
- return ErrInvalidLengthSidecar
- }
- postStringIndexmapvalue := iNdEx + intStringLenmapvalue
- if postStringIndexmapvalue < 0 {
- return ErrInvalidLengthSidecar
- }
- if postStringIndexmapvalue > l {
- return io.ErrUnexpectedEOF
- }
- mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue])
- iNdEx = postStringIndexmapvalue
- } else {
- iNdEx = entryPreIndex
- skippy, err := skipSidecar(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthSidecar
- }
- if (iNdEx + skippy) > postIndex {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- m.Labels[mapkey] = mapvalue
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipSidecar(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthSidecar
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
+var (
+ file_networking_v1beta1_sidecar_proto_rawDescOnce sync.Once
+ file_networking_v1beta1_sidecar_proto_rawDescData = file_networking_v1beta1_sidecar_proto_rawDesc
+)
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *OutboundTrafficPolicy) 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 ErrIntOverflowSidecar
+func file_networking_v1beta1_sidecar_proto_rawDescGZIP() []byte {
+ file_networking_v1beta1_sidecar_proto_rawDescOnce.Do(func() {
+ file_networking_v1beta1_sidecar_proto_rawDescData = protoimpl.X.CompressGZIP(file_networking_v1beta1_sidecar_proto_rawDescData)
+ })
+ return file_networking_v1beta1_sidecar_proto_rawDescData
+}
+
+var file_networking_v1beta1_sidecar_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
+var file_networking_v1beta1_sidecar_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
+var file_networking_v1beta1_sidecar_proto_goTypes = []interface{}{
+ (CaptureMode)(0), // 0: istio.networking.v1beta1.CaptureMode
+ (OutboundTrafficPolicy_Mode)(0), // 1: istio.networking.v1beta1.OutboundTrafficPolicy.Mode
+ (*Sidecar)(nil), // 2: istio.networking.v1beta1.Sidecar
+ (*IstioIngressListener)(nil), // 3: istio.networking.v1beta1.IstioIngressListener
+ (*IstioEgressListener)(nil), // 4: istio.networking.v1beta1.IstioEgressListener
+ (*WorkloadSelector)(nil), // 5: istio.networking.v1beta1.WorkloadSelector
+ (*OutboundTrafficPolicy)(nil), // 6: istio.networking.v1beta1.OutboundTrafficPolicy
+ nil, // 7: istio.networking.v1beta1.WorkloadSelector.LabelsEntry
+ (*Port)(nil), // 8: istio.networking.v1beta1.Port
+ (*ServerTLSSettings)(nil), // 9: istio.networking.v1beta1.ServerTLSSettings
+ (*Destination)(nil), // 10: istio.networking.v1beta1.Destination
+}
+var file_networking_v1beta1_sidecar_proto_depIdxs = []int32{
+ 5, // 0: istio.networking.v1beta1.Sidecar.workload_selector:type_name -> istio.networking.v1beta1.WorkloadSelector
+ 3, // 1: istio.networking.v1beta1.Sidecar.ingress:type_name -> istio.networking.v1beta1.IstioIngressListener
+ 4, // 2: istio.networking.v1beta1.Sidecar.egress:type_name -> istio.networking.v1beta1.IstioEgressListener
+ 6, // 3: istio.networking.v1beta1.Sidecar.outbound_traffic_policy:type_name -> istio.networking.v1beta1.OutboundTrafficPolicy
+ 8, // 4: istio.networking.v1beta1.IstioIngressListener.port:type_name -> istio.networking.v1beta1.Port
+ 0, // 5: istio.networking.v1beta1.IstioIngressListener.capture_mode:type_name -> istio.networking.v1beta1.CaptureMode
+ 9, // 6: istio.networking.v1beta1.IstioIngressListener.tls:type_name -> istio.networking.v1beta1.ServerTLSSettings
+ 8, // 7: istio.networking.v1beta1.IstioEgressListener.port:type_name -> istio.networking.v1beta1.Port
+ 0, // 8: istio.networking.v1beta1.IstioEgressListener.capture_mode:type_name -> istio.networking.v1beta1.CaptureMode
+ 7, // 9: istio.networking.v1beta1.WorkloadSelector.labels:type_name -> istio.networking.v1beta1.WorkloadSelector.LabelsEntry
+ 1, // 10: istio.networking.v1beta1.OutboundTrafficPolicy.mode:type_name -> istio.networking.v1beta1.OutboundTrafficPolicy.Mode
+ 10, // 11: istio.networking.v1beta1.OutboundTrafficPolicy.egress_proxy:type_name -> istio.networking.v1beta1.Destination
+ 12, // [12:12] is the sub-list for method output_type
+ 12, // [12:12] is the sub-list for method input_type
+ 12, // [12:12] is the sub-list for extension type_name
+ 12, // [12:12] is the sub-list for extension extendee
+ 0, // [0:12] is the sub-list for field type_name
+}
+
+func init() { file_networking_v1beta1_sidecar_proto_init() }
+func file_networking_v1beta1_sidecar_proto_init() {
+ if File_networking_v1beta1_sidecar_proto != nil {
+ return
+ }
+ file_networking_v1beta1_gateway_proto_init()
+ file_networking_v1beta1_virtual_service_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_networking_v1beta1_sidecar_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Sidecar); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
}
- 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: OutboundTrafficPolicy: wiretype end group for non-group")
}
- if fieldNum <= 0 {
- return fmt.Errorf("proto: OutboundTrafficPolicy: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Mode", wireType)
- }
- m.Mode = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSidecar
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Mode |= OutboundTrafficPolicy_Mode(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field EgressProxy", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowSidecar
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthSidecar
+ file_networking_v1beta1_sidecar_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IstioIngressListener); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
}
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthSidecar
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.EgressProxy == nil {
- m.EgressProxy = &Destination{}
- }
- if err := m.EgressProxy.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipSidecar(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthSidecar
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
}
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func skipSidecar(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowSidecar
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
+ file_networking_v1beta1_sidecar_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IstioEgressListener); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
}
}
- wireType := int(wire & 0x7)
- switch wireType {
- case 0:
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowSidecar
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowSidecar
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLengthSidecar
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroupSidecar
+ file_networking_v1beta1_sidecar_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WorkloadSelector); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
}
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
}
- if iNdEx < 0 {
- return 0, ErrInvalidLengthSidecar
- }
- if depth == 0 {
- return iNdEx, nil
+ file_networking_v1beta1_sidecar_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*OutboundTrafficPolicy); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
}
}
- return 0, io.ErrUnexpectedEOF
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_networking_v1beta1_sidecar_proto_rawDesc,
+ NumEnums: 2,
+ NumMessages: 6,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_networking_v1beta1_sidecar_proto_goTypes,
+ DependencyIndexes: file_networking_v1beta1_sidecar_proto_depIdxs,
+ EnumInfos: file_networking_v1beta1_sidecar_proto_enumTypes,
+ MessageInfos: file_networking_v1beta1_sidecar_proto_msgTypes,
+ }.Build()
+ File_networking_v1beta1_sidecar_proto = out.File
+ file_networking_v1beta1_sidecar_proto_rawDesc = nil
+ file_networking_v1beta1_sidecar_proto_goTypes = nil
+ file_networking_v1beta1_sidecar_proto_depIdxs = nil
}
-
-var (
- ErrInvalidLengthSidecar = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflowSidecar = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroupSidecar = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/vendor/istio.io/api/networking/v1beta1/sidecar.proto b/vendor/istio.io/api/networking/v1beta1/sidecar.proto
index 0f048c268..ff63b104f 100644
--- a/vendor/istio.io/api/networking/v1beta1/sidecar.proto
+++ b/vendor/istio.io/api/networking/v1beta1/sidecar.proto
@@ -491,6 +491,12 @@ message IstioIngressListener {
reserved "localhost_client_tls";
reserved 5, 6;
+
+ // Set of TLS related options that will enable TLS termination on the
+ // sidecar for requests originating from outside the mesh.
+ // Currently supports only SIMPLE and MUTUAL TLS modes.
+ // $hide_from_docs
+ ServerTLSSettings tls = 7;
}
// `IstioEgressListener` specifies the properties of an outbound traffic
@@ -555,7 +561,7 @@ message IstioEgressListener {
}
// `WorkloadSelector` specifies the criteria used to determine if the
-// `Gateway`, `Sidecar`, `EnvoyFilter`, or `ServiceEntry`
+// `Gateway`, `Sidecar`, `EnvoyFilter`, `ServiceEntry`, or `DestinationRule`
// configuration can be applied to a proxy. The matching criteria
// includes the metadata associated with a proxy, workload instance
// info such as labels attached to the pod/VM, or any other info that
diff --git a/vendor/istio.io/api/networking/v1beta1/sidecar_deepcopy.gen.go b/vendor/istio.io/api/networking/v1beta1/sidecar_deepcopy.gen.go
index 83d384db4..45fba46e0 100644
--- a/vendor/istio.io/api/networking/v1beta1/sidecar_deepcopy.gen.go
+++ b/vendor/istio.io/api/networking/v1beta1/sidecar_deepcopy.gen.go
@@ -1,398 +1,10 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: networking/v1beta1/sidecar.proto
-
-// `Sidecar` describes the configuration of the sidecar proxy that mediates
-// inbound and outbound communication to the workload instance it is attached to. By
-// default, Istio will program all sidecar proxies in the mesh with the
-// necessary configuration required to reach every workload instance in the mesh, as
-// well as accept traffic on all the ports associated with the
-// workload. The `Sidecar` configuration provides a way to fine tune the set of
-// ports, protocols that the proxy will accept when forwarding traffic to
-// and from the workload. In addition, it is possible to restrict the set
-// of services that the proxy can reach when forwarding outbound traffic
-// from workload instances.
-//
-// Services and configuration in a mesh are organized into one or more
-// namespaces (e.g., a Kubernetes namespace or a CF org/space). A `Sidecar`
-// configuration in a namespace will apply to one or more workload instances in the same
-// namespace, selected using the `workloadSelector` field. In the absence of a
-// `workloadSelector`, it will apply to all workload instances in the same
-// namespace. When determining the `Sidecar` configuration to be applied to a
-// workload instance, preference will be given to the resource with a
-// `workloadSelector` that selects this workload instance, over a `Sidecar` configuration
-// without any `workloadSelector`.
-//
-// **NOTE 1**: *_Each namespace can have only one `Sidecar`
-// configuration without any `workloadSelector`_ that specifies the
-// default for all pods in that namespace*. It is recommended to use
-// the name `default` for the namespace-wide sidecar. The behavior of
-// the system is undefined if more than one selector-less `Sidecar`
-// configurations exist in a given namespace. The behavior of the
-// system is undefined if two or more `Sidecar` configurations with a
-// `workloadSelector` select the same workload instance.
-//
-// **NOTE 2**: *_A `Sidecar` configuration in the `MeshConfig`
-// [root namespace](https://istio.io/docs/reference/config/istio.mesh.v1alpha1/#MeshConfig)
-// will be applied by default to all namespaces without a `Sidecar`
-// configuration_*. This global default `Sidecar` configuration should not have
-// any `workloadSelector`.
-//
-// The example below declares a global default `Sidecar` configuration
-// in the root namespace called `istio-config`, that configures
-// sidecars in all namespaces to allow egress traffic only to other
-// workloads in the same namespace as well as to services in the
-// `istio-system` namespace.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: Sidecar
-// metadata:
-// name: default
-// namespace: istio-config
-// spec:
-// egress:
-// - hosts:
-// - "./*"
-// - "istio-system/*"
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: Sidecar
-// metadata:
-// name: default
-// namespace: istio-config
-// spec:
-// egress:
-// - hosts:
-// - "./*"
-// - "istio-system/*"
-// ```
-// {{}}
-// {{}}
-//
-// The example below declares a `Sidecar` configuration in the
-// `prod-us1` namespace that overrides the global default defined
-// above, and configures the sidecars in the namespace to allow egress
-// traffic to public services in the `prod-us1`, `prod-apis`, and the
-// `istio-system` namespaces.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: Sidecar
-// metadata:
-// name: default
-// namespace: prod-us1
-// spec:
-// egress:
-// - hosts:
-// - "prod-us1/*"
-// - "prod-apis/*"
-// - "istio-system/*"
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: Sidecar
-// metadata:
-// name: default
-// namespace: prod-us1
-// spec:
-// egress:
-// - hosts:
-// - "prod-us1/*"
-// - "prod-apis/*"
-// - "istio-system/*"
-// ```
-// {{}}
-// {{}}
-//
-// The following example declares a `Sidecar` configuration in the
-// `prod-us1` namespace for all pods with labels `app: ratings`
-// belonging to the `ratings.prod-us1` service. The workload accepts
-// inbound HTTP traffic on port 9080. The traffic is then forwarded to
-// the attached workload instance listening on a Unix domain
-// socket. In the egress direction, in addition to the `istio-system`
-// namespace, the sidecar proxies only HTTP traffic bound for port
-// 9080 for services in the `prod-us1` namespace.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: Sidecar
-// metadata:
-// name: ratings
-// namespace: prod-us1
-// spec:
-// workloadSelector:
-// labels:
-// app: ratings
-// ingress:
-// - port:
-// number: 9080
-// protocol: HTTP
-// name: somename
-// defaultEndpoint: unix:///var/run/someuds.sock
-// egress:
-// - port:
-// number: 9080
-// protocol: HTTP
-// name: egresshttp
-// hosts:
-// - "prod-us1/*"
-// - hosts:
-// - "istio-system/*"
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: Sidecar
-// metadata:
-// name: ratings
-// namespace: prod-us1
-// spec:
-// workloadSelector:
-// labels:
-// app: ratings
-// ingress:
-// - port:
-// number: 9080
-// protocol: HTTP
-// name: somename
-// defaultEndpoint: unix:///var/run/someuds.sock
-// egress:
-// - port:
-// number: 9080
-// protocol: HTTP
-// name: egresshttp
-// hosts:
-// - "prod-us1/*"
-// - hosts:
-// - "istio-system/*"
-// ```
-// {{}}
-// {{}}
-//
-// If the workload is deployed without IPTables-based traffic capture,
-// the `Sidecar` configuration is the only way to configure the ports
-// on the proxy attached to the workload instance. The following
-// example declares a `Sidecar` configuration in the `prod-us1`
-// namespace for all pods with labels `app: productpage` belonging to
-// the `productpage.prod-us1` service. Assuming that these pods are
-// deployed without IPtable rules (i.e. the `istio-init` container)
-// and the proxy metadata `ISTIO_META_INTERCEPTION_MODE` is set to
-// `NONE`, the specification, below, allows such pods to receive HTTP
-// traffic on port 9080 (wrapped inside Istio mutual TLS) and forward
-// it to the application listening on `127.0.0.1:8080`. It also allows
-// the application to communicate with a backing MySQL database on
-// `127.0.0.1:3306`, that then gets proxied to the externally hosted
-// MySQL service at `mysql.foo.com:3306`.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: Sidecar
-// metadata:
-// name: no-ip-tables
-// namespace: prod-us1
-// spec:
-// workloadSelector:
-// labels:
-// app: productpage
-// ingress:
-// - port:
-// number: 9080 # binds to proxy_instance_ip:9080 (0.0.0.0:9080, if no unicast IP is available for the instance)
-// protocol: HTTP
-// name: somename
-// defaultEndpoint: 127.0.0.1:8080
-// captureMode: NONE # not needed if metadata is set for entire proxy
-// egress:
-// - port:
-// number: 3306
-// protocol: MYSQL
-// name: egressmysql
-// captureMode: NONE # not needed if metadata is set for entire proxy
-// bind: 127.0.0.1
-// hosts:
-// - "*/mysql.foo.com"
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: Sidecar
-// metadata:
-// name: no-ip-tables
-// namespace: prod-us1
-// spec:
-// workloadSelector:
-// labels:
-// app: productpage
-// ingress:
-// - port:
-// number: 9080 # binds to proxy_instance_ip:9080 (0.0.0.0:9080, if no unicast IP is available for the instance)
-// protocol: HTTP
-// name: somename
-// defaultEndpoint: 127.0.0.1:8080
-// captureMode: NONE # not needed if metadata is set for entire proxy
-// egress:
-// - port:
-// number: 3306
-// protocol: MYSQL
-// name: egressmysql
-// captureMode: NONE # not needed if metadata is set for entire proxy
-// bind: 127.0.0.1
-// hosts:
-// - "*/mysql.foo.com"
-// ```
-// {{}}
-// {{}}
-//
-// And the associated service entry for routing to `mysql.foo.com:3306`
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-mysql
-// namespace: ns1
-// spec:
-// hosts:
-// - mysql.foo.com
-// ports:
-// - number: 3306
-// name: mysql
-// protocol: MYSQL
-// location: MESH_EXTERNAL
-// resolution: DNS
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-mysql
-// namespace: ns1
-// spec:
-// hosts:
-// - mysql.foo.com
-// ports:
-// - number: 3306
-// name: mysql
-// protocol: MYSQL
-// location: MESH_EXTERNAL
-// resolution: DNS
-// ```
-// {{}}
-// {{}}
-//
-// It is also possible to mix and match traffic capture modes in a single
-// proxy. For example, consider a setup where internal services are on the
-// `192.168.0.0/16` subnet. So, IP tables are setup on the VM to capture all
-// outbound traffic on `192.168.0.0/16` subnet. Assume that the VM has an
-// additional network interface on `172.16.0.0/16` subnet for inbound
-// traffic. The following `Sidecar` configuration allows the VM to expose a
-// listener on `172.16.1.32:80` (the VM's IP) for traffic arriving from the
-// `172.16.0.0/16` subnet.
-//
-// **NOTE**: The `ISTIO_META_INTERCEPTION_MODE` metadata on the
-// proxy in the VM should contain `REDIRECT` or `TPROXY` as its value,
-// implying that IP tables based traffic capture is active.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: Sidecar
-// metadata:
-// name: partial-ip-tables
-// namespace: prod-us1
-// spec:
-// workloadSelector:
-// labels:
-// app: productpage
-// ingress:
-// - bind: 172.16.1.32
-// port:
-// number: 80 # binds to 172.16.1.32:80
-// protocol: HTTP
-// name: somename
-// defaultEndpoint: 127.0.0.1:8080
-// captureMode: NONE
-// egress:
-// # use the system detected defaults
-// # sets up configuration to handle outbound traffic to services
-// # in 192.168.0.0/16 subnet, based on information provided by the
-// # service registry
-// - captureMode: IPTABLES
-// hosts:
-// - "*/*"
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: Sidecar
-// metadata:
-// name: partial-ip-tables
-// namespace: prod-us1
-// spec:
-// workloadSelector:
-// labels:
-// app: productpage
-// ingress:
-// - bind: 172.16.1.32
-// port:
-// number: 80 # binds to 172.16.1.32:80
-// protocol: HTTP
-// name: somename
-// defaultEndpoint: 127.0.0.1:8080
-// captureMode: NONE
-// egress:
-// # use the system detected defaults
-// # sets up configuration to handle outbound traffic to services
-// # in 192.168.0.0/16 subnet, based on information provided by the
-// # service registry
-// - captureMode: IPTABLES
-// hosts:
-// - "*/*"
-// ```
-// {{}}
-// {{}}
-//
-
+// Code generated by protoc-gen-deepcopy. DO NOT EDIT.
package v1beta1
import (
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
+ proto "github.com/golang/protobuf/proto"
)
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
// DeepCopyInto supports using Sidecar within kubernetes types, where deepcopy-gen is used.
func (in *Sidecar) DeepCopyInto(out *Sidecar) {
p := proto.Clone(in).(*Sidecar)
diff --git a/vendor/istio.io/api/networking/v1beta1/sidecar_json.gen.go b/vendor/istio.io/api/networking/v1beta1/sidecar_json.gen.go
index cfe926457..551669c66 100644
--- a/vendor/istio.io/api/networking/v1beta1/sidecar_json.gen.go
+++ b/vendor/istio.io/api/networking/v1beta1/sidecar_json.gen.go
@@ -1,400 +1,11 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: networking/v1beta1/sidecar.proto
-
-// `Sidecar` describes the configuration of the sidecar proxy that mediates
-// inbound and outbound communication to the workload instance it is attached to. By
-// default, Istio will program all sidecar proxies in the mesh with the
-// necessary configuration required to reach every workload instance in the mesh, as
-// well as accept traffic on all the ports associated with the
-// workload. The `Sidecar` configuration provides a way to fine tune the set of
-// ports, protocols that the proxy will accept when forwarding traffic to
-// and from the workload. In addition, it is possible to restrict the set
-// of services that the proxy can reach when forwarding outbound traffic
-// from workload instances.
-//
-// Services and configuration in a mesh are organized into one or more
-// namespaces (e.g., a Kubernetes namespace or a CF org/space). A `Sidecar`
-// configuration in a namespace will apply to one or more workload instances in the same
-// namespace, selected using the `workloadSelector` field. In the absence of a
-// `workloadSelector`, it will apply to all workload instances in the same
-// namespace. When determining the `Sidecar` configuration to be applied to a
-// workload instance, preference will be given to the resource with a
-// `workloadSelector` that selects this workload instance, over a `Sidecar` configuration
-// without any `workloadSelector`.
-//
-// **NOTE 1**: *_Each namespace can have only one `Sidecar`
-// configuration without any `workloadSelector`_ that specifies the
-// default for all pods in that namespace*. It is recommended to use
-// the name `default` for the namespace-wide sidecar. The behavior of
-// the system is undefined if more than one selector-less `Sidecar`
-// configurations exist in a given namespace. The behavior of the
-// system is undefined if two or more `Sidecar` configurations with a
-// `workloadSelector` select the same workload instance.
-//
-// **NOTE 2**: *_A `Sidecar` configuration in the `MeshConfig`
-// [root namespace](https://istio.io/docs/reference/config/istio.mesh.v1alpha1/#MeshConfig)
-// will be applied by default to all namespaces without a `Sidecar`
-// configuration_*. This global default `Sidecar` configuration should not have
-// any `workloadSelector`.
-//
-// The example below declares a global default `Sidecar` configuration
-// in the root namespace called `istio-config`, that configures
-// sidecars in all namespaces to allow egress traffic only to other
-// workloads in the same namespace as well as to services in the
-// `istio-system` namespace.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: Sidecar
-// metadata:
-// name: default
-// namespace: istio-config
-// spec:
-// egress:
-// - hosts:
-// - "./*"
-// - "istio-system/*"
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: Sidecar
-// metadata:
-// name: default
-// namespace: istio-config
-// spec:
-// egress:
-// - hosts:
-// - "./*"
-// - "istio-system/*"
-// ```
-// {{}}
-// {{}}
-//
-// The example below declares a `Sidecar` configuration in the
-// `prod-us1` namespace that overrides the global default defined
-// above, and configures the sidecars in the namespace to allow egress
-// traffic to public services in the `prod-us1`, `prod-apis`, and the
-// `istio-system` namespaces.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: Sidecar
-// metadata:
-// name: default
-// namespace: prod-us1
-// spec:
-// egress:
-// - hosts:
-// - "prod-us1/*"
-// - "prod-apis/*"
-// - "istio-system/*"
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: Sidecar
-// metadata:
-// name: default
-// namespace: prod-us1
-// spec:
-// egress:
-// - hosts:
-// - "prod-us1/*"
-// - "prod-apis/*"
-// - "istio-system/*"
-// ```
-// {{}}
-// {{}}
-//
-// The following example declares a `Sidecar` configuration in the
-// `prod-us1` namespace for all pods with labels `app: ratings`
-// belonging to the `ratings.prod-us1` service. The workload accepts
-// inbound HTTP traffic on port 9080. The traffic is then forwarded to
-// the attached workload instance listening on a Unix domain
-// socket. In the egress direction, in addition to the `istio-system`
-// namespace, the sidecar proxies only HTTP traffic bound for port
-// 9080 for services in the `prod-us1` namespace.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: Sidecar
-// metadata:
-// name: ratings
-// namespace: prod-us1
-// spec:
-// workloadSelector:
-// labels:
-// app: ratings
-// ingress:
-// - port:
-// number: 9080
-// protocol: HTTP
-// name: somename
-// defaultEndpoint: unix:///var/run/someuds.sock
-// egress:
-// - port:
-// number: 9080
-// protocol: HTTP
-// name: egresshttp
-// hosts:
-// - "prod-us1/*"
-// - hosts:
-// - "istio-system/*"
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: Sidecar
-// metadata:
-// name: ratings
-// namespace: prod-us1
-// spec:
-// workloadSelector:
-// labels:
-// app: ratings
-// ingress:
-// - port:
-// number: 9080
-// protocol: HTTP
-// name: somename
-// defaultEndpoint: unix:///var/run/someuds.sock
-// egress:
-// - port:
-// number: 9080
-// protocol: HTTP
-// name: egresshttp
-// hosts:
-// - "prod-us1/*"
-// - hosts:
-// - "istio-system/*"
-// ```
-// {{}}
-// {{}}
-//
-// If the workload is deployed without IPTables-based traffic capture,
-// the `Sidecar` configuration is the only way to configure the ports
-// on the proxy attached to the workload instance. The following
-// example declares a `Sidecar` configuration in the `prod-us1`
-// namespace for all pods with labels `app: productpage` belonging to
-// the `productpage.prod-us1` service. Assuming that these pods are
-// deployed without IPtable rules (i.e. the `istio-init` container)
-// and the proxy metadata `ISTIO_META_INTERCEPTION_MODE` is set to
-// `NONE`, the specification, below, allows such pods to receive HTTP
-// traffic on port 9080 (wrapped inside Istio mutual TLS) and forward
-// it to the application listening on `127.0.0.1:8080`. It also allows
-// the application to communicate with a backing MySQL database on
-// `127.0.0.1:3306`, that then gets proxied to the externally hosted
-// MySQL service at `mysql.foo.com:3306`.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: Sidecar
-// metadata:
-// name: no-ip-tables
-// namespace: prod-us1
-// spec:
-// workloadSelector:
-// labels:
-// app: productpage
-// ingress:
-// - port:
-// number: 9080 # binds to proxy_instance_ip:9080 (0.0.0.0:9080, if no unicast IP is available for the instance)
-// protocol: HTTP
-// name: somename
-// defaultEndpoint: 127.0.0.1:8080
-// captureMode: NONE # not needed if metadata is set for entire proxy
-// egress:
-// - port:
-// number: 3306
-// protocol: MYSQL
-// name: egressmysql
-// captureMode: NONE # not needed if metadata is set for entire proxy
-// bind: 127.0.0.1
-// hosts:
-// - "*/mysql.foo.com"
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: Sidecar
-// metadata:
-// name: no-ip-tables
-// namespace: prod-us1
-// spec:
-// workloadSelector:
-// labels:
-// app: productpage
-// ingress:
-// - port:
-// number: 9080 # binds to proxy_instance_ip:9080 (0.0.0.0:9080, if no unicast IP is available for the instance)
-// protocol: HTTP
-// name: somename
-// defaultEndpoint: 127.0.0.1:8080
-// captureMode: NONE # not needed if metadata is set for entire proxy
-// egress:
-// - port:
-// number: 3306
-// protocol: MYSQL
-// name: egressmysql
-// captureMode: NONE # not needed if metadata is set for entire proxy
-// bind: 127.0.0.1
-// hosts:
-// - "*/mysql.foo.com"
-// ```
-// {{}}
-// {{}}
-//
-// And the associated service entry for routing to `mysql.foo.com:3306`
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-mysql
-// namespace: ns1
-// spec:
-// hosts:
-// - mysql.foo.com
-// ports:
-// - number: 3306
-// name: mysql
-// protocol: MYSQL
-// location: MESH_EXTERNAL
-// resolution: DNS
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: external-svc-mysql
-// namespace: ns1
-// spec:
-// hosts:
-// - mysql.foo.com
-// ports:
-// - number: 3306
-// name: mysql
-// protocol: MYSQL
-// location: MESH_EXTERNAL
-// resolution: DNS
-// ```
-// {{}}
-// {{}}
-//
-// It is also possible to mix and match traffic capture modes in a single
-// proxy. For example, consider a setup where internal services are on the
-// `192.168.0.0/16` subnet. So, IP tables are setup on the VM to capture all
-// outbound traffic on `192.168.0.0/16` subnet. Assume that the VM has an
-// additional network interface on `172.16.0.0/16` subnet for inbound
-// traffic. The following `Sidecar` configuration allows the VM to expose a
-// listener on `172.16.1.32:80` (the VM's IP) for traffic arriving from the
-// `172.16.0.0/16` subnet.
-//
-// **NOTE**: The `ISTIO_META_INTERCEPTION_MODE` metadata on the
-// proxy in the VM should contain `REDIRECT` or `TPROXY` as its value,
-// implying that IP tables based traffic capture is active.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: Sidecar
-// metadata:
-// name: partial-ip-tables
-// namespace: prod-us1
-// spec:
-// workloadSelector:
-// labels:
-// app: productpage
-// ingress:
-// - bind: 172.16.1.32
-// port:
-// number: 80 # binds to 172.16.1.32:80
-// protocol: HTTP
-// name: somename
-// defaultEndpoint: 127.0.0.1:8080
-// captureMode: NONE
-// egress:
-// # use the system detected defaults
-// # sets up configuration to handle outbound traffic to services
-// # in 192.168.0.0/16 subnet, based on information provided by the
-// # service registry
-// - captureMode: IPTABLES
-// hosts:
-// - "*/*"
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: Sidecar
-// metadata:
-// name: partial-ip-tables
-// namespace: prod-us1
-// spec:
-// workloadSelector:
-// labels:
-// app: productpage
-// ingress:
-// - bind: 172.16.1.32
-// port:
-// number: 80 # binds to 172.16.1.32:80
-// protocol: HTTP
-// name: somename
-// defaultEndpoint: 127.0.0.1:8080
-// captureMode: NONE
-// egress:
-// # use the system detected defaults
-// # sets up configuration to handle outbound traffic to services
-// # in 192.168.0.0/16 subnet, based on information provided by the
-// # service registry
-// - captureMode: IPTABLES
-// hosts:
-// - "*/*"
-// ```
-// {{}}
-// {{}}
-//
-
+// Code generated by protoc-gen-jsonshim. DO NOT EDIT.
package v1beta1
import (
bytes "bytes"
- fmt "fmt"
- github_com_gogo_protobuf_jsonpb "github.com/gogo/protobuf/jsonpb"
- proto "github.com/gogo/protobuf/proto"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
+ jsonpb "github.com/golang/protobuf/jsonpb"
)
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
// MarshalJSON is a custom marshaler for Sidecar
func (this *Sidecar) MarshalJSON() ([]byte, error) {
str, err := SidecarMarshaler.MarshalToString(this)
@@ -451,6 +62,6 @@ func (this *OutboundTrafficPolicy) UnmarshalJSON(b []byte) error {
}
var (
- SidecarMarshaler = &github_com_gogo_protobuf_jsonpb.Marshaler{}
- SidecarUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{AllowUnknownFields: true}
+ SidecarMarshaler = &jsonpb.Marshaler{}
+ SidecarUnmarshaler = &jsonpb.Unmarshaler{AllowUnknownFields: true}
)
diff --git a/vendor/istio.io/api/networking/v1beta1/virtual_service.gen.json b/vendor/istio.io/api/networking/v1beta1/virtual_service.gen.json
index e49eaed7e..3b364056c 100644
--- a/vendor/istio.io/api/networking/v1beta1/virtual_service.gen.json
+++ b/vendor/istio.io/api/networking/v1beta1/virtual_service.gen.json
@@ -501,7 +501,7 @@
"$ref": "#/components/schemas/istio.networking.v1beta1.Destination"
},
"weight": {
- "description": "The proportion of traffic to be forwarded to the service version. (0-100). Sum of weights across destinations SHOULD BE == 100. If there is only one destination in a rule, the weight value is assumed to be 100.",
+ "description": "Weight specifies the relative proportion of traffic to be forwarded to the destination. A destination will receive `weight/(sum of all weights)` requests. If there is only one destination in a rule, it will receive all traffic. Otherwise, if weight is `0`, the destination will not receive any traffic.",
"type": "integer",
"format": "int32"
},
@@ -616,7 +616,7 @@
"$ref": "#/components/schemas/istio.networking.v1beta1.Destination"
},
"weight": {
- "description": "The proportion of traffic to be forwarded to the service version. If there is only one destination in a rule, all traffic will be routed to it irrespective of the weight.",
+ "description": "Weight specifies the relative proportion of traffic to be forwarded to the destination. A destination will receive `weight/(sum of all weights)` requests. If there is only one destination in a rule, it will receive all traffic. Otherwise, if weight is `0`, the destination will not receive any traffic.",
"type": "integer",
"format": "int32"
}
diff --git a/vendor/istio.io/api/networking/v1beta1/virtual_service.pb.go b/vendor/istio.io/api/networking/v1beta1/virtual_service.pb.go
index 78be14ea0..b4b844d3d 100644
--- a/vendor/istio.io/api/networking/v1beta1/virtual_service.pb.go
+++ b/vendor/istio.io/api/networking/v1beta1/virtual_service.pb.go
@@ -1,6 +1,30 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
+// Copyright 2020 Istio 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-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.27.1
+// protoc (unknown)
// source: networking/v1beta1/virtual_service.proto
+// $schema: istio.networking.v1beta1.VirtualService
+// $title: Virtual Service
+// $description: Configuration affecting label/content routing, sni routing, etc.
+// $location: https://istio.io/docs/reference/config/networking/virtual-service.html
+// $aliases: [/docs/reference/config/networking/v1beta1/virtual-service]
+// $mode: none
+
// Configuration affecting traffic routing. Here are a few terms useful to define
// in the context of traffic routing.
//
@@ -152,26 +176,21 @@
package v1beta1
import (
- encoding_binary "encoding/binary"
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- types "github.com/gogo/protobuf/types"
- io "io"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
- math_bits "math/bits"
+ duration "github.com/golang/protobuf/ptypes/duration"
+ wrappers "github.com/golang/protobuf/ptypes/wrappers"
+ _ "google.golang.org/genproto/googleapis/api/annotations"
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
)
-// 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.GoGoProtoPackageIsVersion3 // please upgrade the proto package
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
type HTTPRedirect_RedirectPortSelection int32
@@ -180,22 +199,43 @@ const (
HTTPRedirect_FROM_REQUEST_PORT HTTPRedirect_RedirectPortSelection = 1
)
-var HTTPRedirect_RedirectPortSelection_name = map[int32]string{
- 0: "FROM_PROTOCOL_DEFAULT",
- 1: "FROM_REQUEST_PORT",
-}
+// Enum value maps for HTTPRedirect_RedirectPortSelection.
+var (
+ HTTPRedirect_RedirectPortSelection_name = map[int32]string{
+ 0: "FROM_PROTOCOL_DEFAULT",
+ 1: "FROM_REQUEST_PORT",
+ }
+ HTTPRedirect_RedirectPortSelection_value = map[string]int32{
+ "FROM_PROTOCOL_DEFAULT": 0,
+ "FROM_REQUEST_PORT": 1,
+ }
+)
-var HTTPRedirect_RedirectPortSelection_value = map[string]int32{
- "FROM_PROTOCOL_DEFAULT": 0,
- "FROM_REQUEST_PORT": 1,
+func (x HTTPRedirect_RedirectPortSelection) Enum() *HTTPRedirect_RedirectPortSelection {
+ p := new(HTTPRedirect_RedirectPortSelection)
+ *p = x
+ return p
}
func (x HTTPRedirect_RedirectPortSelection) String() string {
- return proto.EnumName(HTTPRedirect_RedirectPortSelection_name, int32(x))
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (HTTPRedirect_RedirectPortSelection) Descriptor() protoreflect.EnumDescriptor {
+ return file_networking_v1beta1_virtual_service_proto_enumTypes[0].Descriptor()
+}
+
+func (HTTPRedirect_RedirectPortSelection) Type() protoreflect.EnumType {
+ return &file_networking_v1beta1_virtual_service_proto_enumTypes[0]
}
+func (x HTTPRedirect_RedirectPortSelection) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use HTTPRedirect_RedirectPortSelection.Descriptor instead.
func (HTTPRedirect_RedirectPortSelection) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_8c56a442a0838fd7, []int{12, 0}
+ return file_networking_v1beta1_virtual_service_proto_rawDescGZIP(), []int{12, 0}
}
// Configuration affecting traffic routing.
@@ -228,6 +268,10 @@ func (HTTPRedirect_RedirectPortSelection) EnumDescriptor() ([]byte, []int) {
// +istio.io/sync-from:networking/v1alpha3/virtual_service.proto
// -->
type VirtualService struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// The destination hosts to which traffic is being sent. Could
// be a DNS name with wildcard prefix or an IP address. Depending on the
// platform, short-names can also be used instead of a FQDN (i.e. has no
@@ -304,83 +348,79 @@ type VirtualService struct {
// The value "." is reserved and defines an export to the same namespace that
// the virtual service is declared in. Similarly the value "*" is reserved and
// defines an export to all namespaces.
- ExportTo []string `protobuf:"bytes,6,rep,name=export_to,json=exportTo,proto3" json:"export_to,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ ExportTo []string `protobuf:"bytes,6,rep,name=export_to,json=exportTo,proto3" json:"export_to,omitempty"`
}
-func (m *VirtualService) Reset() { *m = VirtualService{} }
-func (m *VirtualService) String() string { return proto.CompactTextString(m) }
-func (*VirtualService) ProtoMessage() {}
-func (*VirtualService) Descriptor() ([]byte, []int) {
- return fileDescriptor_8c56a442a0838fd7, []int{0}
-}
-func (m *VirtualService) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *VirtualService) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_VirtualService.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *VirtualService) Reset() {
+ *x = VirtualService{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *VirtualService) XXX_Merge(src proto.Message) {
- xxx_messageInfo_VirtualService.Merge(m, src)
-}
-func (m *VirtualService) XXX_Size() int {
- return m.Size()
+
+func (x *VirtualService) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *VirtualService) XXX_DiscardUnknown() {
- xxx_messageInfo_VirtualService.DiscardUnknown(m)
+
+func (*VirtualService) ProtoMessage() {}
+
+func (x *VirtualService) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_VirtualService proto.InternalMessageInfo
+// Deprecated: Use VirtualService.ProtoReflect.Descriptor instead.
+func (*VirtualService) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_virtual_service_proto_rawDescGZIP(), []int{0}
+}
-func (m *VirtualService) GetHosts() []string {
- if m != nil {
- return m.Hosts
+func (x *VirtualService) GetHosts() []string {
+ if x != nil {
+ return x.Hosts
}
return nil
}
-func (m *VirtualService) GetGateways() []string {
- if m != nil {
- return m.Gateways
+func (x *VirtualService) GetGateways() []string {
+ if x != nil {
+ return x.Gateways
}
return nil
}
-func (m *VirtualService) GetHttp() []*HTTPRoute {
- if m != nil {
- return m.Http
+func (x *VirtualService) GetHttp() []*HTTPRoute {
+ if x != nil {
+ return x.Http
}
return nil
}
-func (m *VirtualService) GetTls() []*TLSRoute {
- if m != nil {
- return m.Tls
+func (x *VirtualService) GetTls() []*TLSRoute {
+ if x != nil {
+ return x.Tls
}
return nil
}
-func (m *VirtualService) GetTcp() []*TCPRoute {
- if m != nil {
- return m.Tcp
+func (x *VirtualService) GetTcp() []*TCPRoute {
+ if x != nil {
+ return x.Tcp
}
return nil
}
-func (m *VirtualService) GetExportTo() []string {
- if m != nil {
- return m.ExportTo
+func (x *VirtualService) GetExportTo() []string {
+ if x != nil {
+ return x.ExportTo
}
return nil
}
@@ -627,6 +667,10 @@ func (m *VirtualService) GetExportTo() []string {
// {{}}
//
type Destination struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// The name of a service from the service registry. Service
// names are looked up from the platform's service registry (e.g.,
// Kubernetes services, Consul services, etc.) and from the hosts
@@ -649,62 +693,58 @@ type Destination struct {
// Specifies the port on the host that is being addressed. If a service
// exposes only a single port it is not required to explicitly select the
// port.
- Port *PortSelector `protobuf:"bytes,3,opt,name=port,proto3" json:"port,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Port *PortSelector `protobuf:"bytes,3,opt,name=port,proto3" json:"port,omitempty"`
}
-func (m *Destination) Reset() { *m = Destination{} }
-func (m *Destination) String() string { return proto.CompactTextString(m) }
-func (*Destination) ProtoMessage() {}
-func (*Destination) Descriptor() ([]byte, []int) {
- return fileDescriptor_8c56a442a0838fd7, []int{1}
-}
-func (m *Destination) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *Destination) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Destination.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *Destination) Reset() {
+ *x = Destination{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *Destination) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Destination.Merge(m, src)
-}
-func (m *Destination) XXX_Size() int {
- return m.Size()
+
+func (x *Destination) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *Destination) XXX_DiscardUnknown() {
- xxx_messageInfo_Destination.DiscardUnknown(m)
+
+func (*Destination) ProtoMessage() {}
+
+func (x *Destination) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_Destination proto.InternalMessageInfo
+// Deprecated: Use Destination.ProtoReflect.Descriptor instead.
+func (*Destination) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_virtual_service_proto_rawDescGZIP(), []int{1}
+}
-func (m *Destination) GetHost() string {
- if m != nil {
- return m.Host
+func (x *Destination) GetHost() string {
+ if x != nil {
+ return x.Host
}
return ""
}
-func (m *Destination) GetSubset() string {
- if m != nil {
- return m.Subset
+func (x *Destination) GetSubset() string {
+ if x != nil {
+ return x.Subset
}
return ""
}
-func (m *Destination) GetPort() *PortSelector {
- if m != nil {
- return m.Port
+func (x *Destination) GetPort() *PortSelector {
+ if x != nil {
+ return x.Port
}
return nil
}
@@ -712,6 +752,10 @@ func (m *Destination) GetPort() *PortSelector {
// Describes match conditions and actions for routing HTTP/1.1, HTTP2, and
// gRPC traffic. See VirtualService for usage examples.
type HTTPRoute struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// The name assigned to the route for debugging purposes. The
// route's name will be concatenated with the match's name and will
// be logged in the access logs for requests matching this
@@ -749,7 +793,7 @@ type HTTPRoute struct {
// Redirect primitive. Rewrite will be performed before forwarding.
Rewrite *HTTPRewrite `protobuf:"bytes,4,opt,name=rewrite,proto3" json:"rewrite,omitempty"`
// Timeout for HTTP requests, default is disabled.
- Timeout *types.Duration `protobuf:"bytes,6,opt,name=timeout,proto3" json:"timeout,omitempty"`
+ Timeout *duration.Duration `protobuf:"bytes,6,opt,name=timeout,proto3" json:"timeout,omitempty"`
// Retry policy for HTTP requests.
Retries *HTTPRetry `protobuf:"bytes,7,opt,name=retries,proto3" json:"retries,omitempty"`
// Fault injection policy to apply on HTTP traffic at the client side.
@@ -767,7 +811,9 @@ type HTTPRoute struct {
// Use of integer `mirror_percent` value is deprecated. Use the
// double `mirror_percentage` field instead
// $hide_from_docs
- MirrorPercent *types.UInt32Value `protobuf:"bytes,18,opt,name=mirror_percent,json=mirrorPercent,proto3" json:"mirror_percent,omitempty"` // Deprecated: Do not use.
+ //
+ // Deprecated: Do not use.
+ MirrorPercent *wrappers.UInt32Value `protobuf:"bytes,18,opt,name=mirror_percent,json=mirrorPercent,proto3" json:"mirror_percent,omitempty"`
// Percentage of the traffic to be mirrored by the `mirror` field.
// If this field is absent, all the traffic (100%) will be mirrored.
// Max value is 100.
@@ -777,140 +823,136 @@ type HTTPRoute struct {
// for further details about cross origin resource sharing.
CorsPolicy *CorsPolicy `protobuf:"bytes,10,opt,name=cors_policy,json=corsPolicy,proto3" json:"cors_policy,omitempty"`
// Header manipulation rules
- Headers *Headers `protobuf:"bytes,16,opt,name=headers,proto3" json:"headers,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Headers *Headers `protobuf:"bytes,16,opt,name=headers,proto3" json:"headers,omitempty"`
}
-func (m *HTTPRoute) Reset() { *m = HTTPRoute{} }
-func (m *HTTPRoute) String() string { return proto.CompactTextString(m) }
-func (*HTTPRoute) ProtoMessage() {}
-func (*HTTPRoute) Descriptor() ([]byte, []int) {
- return fileDescriptor_8c56a442a0838fd7, []int{2}
-}
-func (m *HTTPRoute) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *HTTPRoute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_HTTPRoute.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *HTTPRoute) Reset() {
+ *x = HTTPRoute{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *HTTPRoute) XXX_Merge(src proto.Message) {
- xxx_messageInfo_HTTPRoute.Merge(m, src)
-}
-func (m *HTTPRoute) XXX_Size() int {
- return m.Size()
+
+func (x *HTTPRoute) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *HTTPRoute) XXX_DiscardUnknown() {
- xxx_messageInfo_HTTPRoute.DiscardUnknown(m)
+
+func (*HTTPRoute) ProtoMessage() {}
+
+func (x *HTTPRoute) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[2]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_HTTPRoute proto.InternalMessageInfo
+// Deprecated: Use HTTPRoute.ProtoReflect.Descriptor instead.
+func (*HTTPRoute) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_virtual_service_proto_rawDescGZIP(), []int{2}
+}
-func (m *HTTPRoute) GetName() string {
- if m != nil {
- return m.Name
+func (x *HTTPRoute) GetName() string {
+ if x != nil {
+ return x.Name
}
return ""
}
-func (m *HTTPRoute) GetMatch() []*HTTPMatchRequest {
- if m != nil {
- return m.Match
+func (x *HTTPRoute) GetMatch() []*HTTPMatchRequest {
+ if x != nil {
+ return x.Match
}
return nil
}
-func (m *HTTPRoute) GetRoute() []*HTTPRouteDestination {
- if m != nil {
- return m.Route
+func (x *HTTPRoute) GetRoute() []*HTTPRouteDestination {
+ if x != nil {
+ return x.Route
}
return nil
}
-func (m *HTTPRoute) GetRedirect() *HTTPRedirect {
- if m != nil {
- return m.Redirect
+func (x *HTTPRoute) GetRedirect() *HTTPRedirect {
+ if x != nil {
+ return x.Redirect
}
return nil
}
-func (m *HTTPRoute) GetDelegate() *Delegate {
- if m != nil {
- return m.Delegate
+func (x *HTTPRoute) GetDelegate() *Delegate {
+ if x != nil {
+ return x.Delegate
}
return nil
}
-func (m *HTTPRoute) GetRewrite() *HTTPRewrite {
- if m != nil {
- return m.Rewrite
+func (x *HTTPRoute) GetRewrite() *HTTPRewrite {
+ if x != nil {
+ return x.Rewrite
}
return nil
}
-func (m *HTTPRoute) GetTimeout() *types.Duration {
- if m != nil {
- return m.Timeout
+func (x *HTTPRoute) GetTimeout() *duration.Duration {
+ if x != nil {
+ return x.Timeout
}
return nil
}
-func (m *HTTPRoute) GetRetries() *HTTPRetry {
- if m != nil {
- return m.Retries
+func (x *HTTPRoute) GetRetries() *HTTPRetry {
+ if x != nil {
+ return x.Retries
}
return nil
}
-func (m *HTTPRoute) GetFault() *HTTPFaultInjection {
- if m != nil {
- return m.Fault
+func (x *HTTPRoute) GetFault() *HTTPFaultInjection {
+ if x != nil {
+ return x.Fault
}
return nil
}
-func (m *HTTPRoute) GetMirror() *Destination {
- if m != nil {
- return m.Mirror
+func (x *HTTPRoute) GetMirror() *Destination {
+ if x != nil {
+ return x.Mirror
}
return nil
}
// Deprecated: Do not use.
-func (m *HTTPRoute) GetMirrorPercent() *types.UInt32Value {
- if m != nil {
- return m.MirrorPercent
+func (x *HTTPRoute) GetMirrorPercent() *wrappers.UInt32Value {
+ if x != nil {
+ return x.MirrorPercent
}
return nil
}
-func (m *HTTPRoute) GetMirrorPercentage() *Percent {
- if m != nil {
- return m.MirrorPercentage
+func (x *HTTPRoute) GetMirrorPercentage() *Percent {
+ if x != nil {
+ return x.MirrorPercentage
}
return nil
}
-func (m *HTTPRoute) GetCorsPolicy() *CorsPolicy {
- if m != nil {
- return m.CorsPolicy
+func (x *HTTPRoute) GetCorsPolicy() *CorsPolicy {
+ if x != nil {
+ return x.CorsPolicy
}
return nil
}
-func (m *HTTPRoute) GetHeaders() *Headers {
- if m != nil {
- return m.Headers
+func (x *HTTPRoute) GetHeaders() *Headers {
+ if x != nil {
+ return x.Headers
}
return nil
}
@@ -976,59 +1018,59 @@ func (m *HTTPRoute) GetHeaders() *Headers {
// host: reviews.nsB.svc.cluster.local
// ```
type Delegate struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Name specifies the name of the delegate VirtualService.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Namespace specifies the namespace where the delegate VirtualService resides.
// By default, it is same to the root's.
- Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"`
}
-func (m *Delegate) Reset() { *m = Delegate{} }
-func (m *Delegate) String() string { return proto.CompactTextString(m) }
-func (*Delegate) ProtoMessage() {}
-func (*Delegate) Descriptor() ([]byte, []int) {
- return fileDescriptor_8c56a442a0838fd7, []int{3}
-}
-func (m *Delegate) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *Delegate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Delegate.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *Delegate) Reset() {
+ *x = Delegate{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *Delegate) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Delegate.Merge(m, src)
-}
-func (m *Delegate) XXX_Size() int {
- return m.Size()
+
+func (x *Delegate) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *Delegate) XXX_DiscardUnknown() {
- xxx_messageInfo_Delegate.DiscardUnknown(m)
+
+func (*Delegate) ProtoMessage() {}
+
+func (x *Delegate) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[3]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_Delegate proto.InternalMessageInfo
+// Deprecated: Use Delegate.ProtoReflect.Descriptor instead.
+func (*Delegate) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_virtual_service_proto_rawDescGZIP(), []int{3}
+}
-func (m *Delegate) GetName() string {
- if m != nil {
- return m.Name
+func (x *Delegate) GetName() string {
+ if x != nil {
+ return x.Name
}
return ""
}
-func (m *Delegate) GetNamespace() string {
- if m != nil {
- return m.Namespace
+func (x *Delegate) GetNamespace() string {
+ if x != nil {
+ return x.Namespace
}
return ""
}
@@ -1103,128 +1145,60 @@ func (m *Delegate) GetNamespace() string {
// {{}}
// {{}}
type Headers struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Header manipulation rules to apply before forwarding a request
// to the destination service
Request *Headers_HeaderOperations `protobuf:"bytes,1,opt,name=request,proto3" json:"request,omitempty"`
// Header manipulation rules to apply before returning a response
// to the caller
- Response *Headers_HeaderOperations `protobuf:"bytes,2,opt,name=response,proto3" json:"response,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Headers) Reset() { *m = Headers{} }
-func (m *Headers) String() string { return proto.CompactTextString(m) }
-func (*Headers) ProtoMessage() {}
-func (*Headers) Descriptor() ([]byte, []int) {
- return fileDescriptor_8c56a442a0838fd7, []int{4}
-}
-func (m *Headers) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *Headers) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Headers.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *Headers) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Headers.Merge(m, src)
-}
-func (m *Headers) XXX_Size() int {
- return m.Size()
-}
-func (m *Headers) XXX_DiscardUnknown() {
- xxx_messageInfo_Headers.DiscardUnknown(m)
+ Response *Headers_HeaderOperations `protobuf:"bytes,2,opt,name=response,proto3" json:"response,omitempty"`
}
-var xxx_messageInfo_Headers proto.InternalMessageInfo
-
-func (m *Headers) GetRequest() *Headers_HeaderOperations {
- if m != nil {
- return m.Request
+func (x *Headers) Reset() {
+ *x = Headers{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[4]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- return nil
}
-func (m *Headers) GetResponse() *Headers_HeaderOperations {
- if m != nil {
- return m.Response
- }
- return nil
+func (x *Headers) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-// HeaderOperations Describes the header manipulations to apply
-type Headers_HeaderOperations struct {
- // Overwrite the headers specified by key with the given values
- Set map[string]string `protobuf:"bytes,1,rep,name=set,proto3" json:"set,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
- // Append the given values to the headers specified by keys
- // (will create a comma-separated list of values)
- Add map[string]string `protobuf:"bytes,2,rep,name=add,proto3" json:"add,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
- // Remove the specified headers
- Remove []string `protobuf:"bytes,3,rep,name=remove,proto3" json:"remove,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
+func (*Headers) ProtoMessage() {}
-func (m *Headers_HeaderOperations) Reset() { *m = Headers_HeaderOperations{} }
-func (m *Headers_HeaderOperations) String() string { return proto.CompactTextString(m) }
-func (*Headers_HeaderOperations) ProtoMessage() {}
-func (*Headers_HeaderOperations) Descriptor() ([]byte, []int) {
- return fileDescriptor_8c56a442a0838fd7, []int{4, 0}
-}
-func (m *Headers_HeaderOperations) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *Headers_HeaderOperations) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Headers_HeaderOperations.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
+func (x *Headers) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[4]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- return b[:n], nil
+ return ms
}
+ return mi.MessageOf(x)
}
-func (m *Headers_HeaderOperations) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Headers_HeaderOperations.Merge(m, src)
-}
-func (m *Headers_HeaderOperations) XXX_Size() int {
- return m.Size()
-}
-func (m *Headers_HeaderOperations) XXX_DiscardUnknown() {
- xxx_messageInfo_Headers_HeaderOperations.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Headers_HeaderOperations proto.InternalMessageInfo
-func (m *Headers_HeaderOperations) GetSet() map[string]string {
- if m != nil {
- return m.Set
- }
- return nil
+// Deprecated: Use Headers.ProtoReflect.Descriptor instead.
+func (*Headers) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_virtual_service_proto_rawDescGZIP(), []int{4}
}
-func (m *Headers_HeaderOperations) GetAdd() map[string]string {
- if m != nil {
- return m.Add
+func (x *Headers) GetRequest() *Headers_HeaderOperations {
+ if x != nil {
+ return x.Request
}
return nil
}
-func (m *Headers_HeaderOperations) GetRemove() []string {
- if m != nil {
- return m.Remove
+func (x *Headers) GetResponse() *Headers_HeaderOperations {
+ if x != nil {
+ return x.Response
}
return nil
}
@@ -1294,61 +1268,61 @@ func (m *Headers_HeaderOperations) GetRemove() []string {
// {{}}
// {{}}
type TLSRoute struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Match conditions to be satisfied for the rule to be
// activated. All conditions inside a single match block have AND
// semantics, while the list of match blocks have OR semantics. The rule
// is matched if any one of the match blocks succeed.
Match []*TLSMatchAttributes `protobuf:"bytes,1,rep,name=match,proto3" json:"match,omitempty"`
// The destination to which the connection should be forwarded to.
- Route []*RouteDestination `protobuf:"bytes,2,rep,name=route,proto3" json:"route,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Route []*RouteDestination `protobuf:"bytes,2,rep,name=route,proto3" json:"route,omitempty"`
}
-func (m *TLSRoute) Reset() { *m = TLSRoute{} }
-func (m *TLSRoute) String() string { return proto.CompactTextString(m) }
-func (*TLSRoute) ProtoMessage() {}
-func (*TLSRoute) Descriptor() ([]byte, []int) {
- return fileDescriptor_8c56a442a0838fd7, []int{5}
-}
-func (m *TLSRoute) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *TLSRoute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_TLSRoute.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *TLSRoute) Reset() {
+ *x = TLSRoute{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[5]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *TLSRoute) XXX_Merge(src proto.Message) {
- xxx_messageInfo_TLSRoute.Merge(m, src)
-}
-func (m *TLSRoute) XXX_Size() int {
- return m.Size()
+
+func (x *TLSRoute) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *TLSRoute) XXX_DiscardUnknown() {
- xxx_messageInfo_TLSRoute.DiscardUnknown(m)
+
+func (*TLSRoute) ProtoMessage() {}
+
+func (x *TLSRoute) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[5]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_TLSRoute proto.InternalMessageInfo
+// Deprecated: Use TLSRoute.ProtoReflect.Descriptor instead.
+func (*TLSRoute) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_virtual_service_proto_rawDescGZIP(), []int{5}
+}
-func (m *TLSRoute) GetMatch() []*TLSMatchAttributes {
- if m != nil {
- return m.Match
+func (x *TLSRoute) GetMatch() []*TLSMatchAttributes {
+ if x != nil {
+ return x.Match
}
return nil
}
-func (m *TLSRoute) GetRoute() []*RouteDestination {
- if m != nil {
- return m.Route
+func (x *TLSRoute) GetRoute() []*RouteDestination {
+ if x != nil {
+ return x.Route
}
return nil
}
@@ -1399,61 +1373,61 @@ func (m *TLSRoute) GetRoute() []*RouteDestination {
// {{}}
// {{}}
type TCPRoute struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Match conditions to be satisfied for the rule to be
// activated. All conditions inside a single match block have AND
// semantics, while the list of match blocks have OR semantics. The rule
// is matched if any one of the match blocks succeed.
Match []*L4MatchAttributes `protobuf:"bytes,1,rep,name=match,proto3" json:"match,omitempty"`
// The destination to which the connection should be forwarded to.
- Route []*RouteDestination `protobuf:"bytes,2,rep,name=route,proto3" json:"route,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Route []*RouteDestination `protobuf:"bytes,2,rep,name=route,proto3" json:"route,omitempty"`
}
-func (m *TCPRoute) Reset() { *m = TCPRoute{} }
-func (m *TCPRoute) String() string { return proto.CompactTextString(m) }
-func (*TCPRoute) ProtoMessage() {}
-func (*TCPRoute) Descriptor() ([]byte, []int) {
- return fileDescriptor_8c56a442a0838fd7, []int{6}
-}
-func (m *TCPRoute) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *TCPRoute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_TCPRoute.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *TCPRoute) Reset() {
+ *x = TCPRoute{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[6]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *TCPRoute) XXX_Merge(src proto.Message) {
- xxx_messageInfo_TCPRoute.Merge(m, src)
-}
-func (m *TCPRoute) XXX_Size() int {
- return m.Size()
+
+func (x *TCPRoute) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *TCPRoute) XXX_DiscardUnknown() {
- xxx_messageInfo_TCPRoute.DiscardUnknown(m)
+
+func (*TCPRoute) ProtoMessage() {}
+
+func (x *TCPRoute) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[6]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_TCPRoute proto.InternalMessageInfo
+// Deprecated: Use TCPRoute.ProtoReflect.Descriptor instead.
+func (*TCPRoute) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_virtual_service_proto_rawDescGZIP(), []int{6}
+}
-func (m *TCPRoute) GetMatch() []*L4MatchAttributes {
- if m != nil {
- return m.Match
+func (x *TCPRoute) GetMatch() []*L4MatchAttributes {
+ if x != nil {
+ return x.Match
}
return nil
}
-func (m *TCPRoute) GetRoute() []*RouteDestination {
- if m != nil {
- return m.Route
+func (x *TCPRoute) GetRoute() []*RouteDestination {
+ if x != nil {
+ return x.Route
}
return nil
}
@@ -1515,6 +1489,10 @@ func (m *TCPRoute) GetRoute() []*RouteDestination {
// HTTPMatchRequest CANNOT be empty.
// **Note:** No regex string match can be set when delegate VirtualService is specified.
type HTTPMatchRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// The name assigned to a match. The match's name will be
// concatenated with the parent route's name and will be logged in
// the access logs for requests matching this route.
@@ -1615,132 +1593,128 @@ type HTTPMatchRequest struct {
// Source namespace constraining the applicability of a rule to workloads in that namespace.
// If the VirtualService has a list of gateways specified in the top-level `gateways` field,
// it must include the reserved gateway `mesh` for this field to be applicable.
- SourceNamespace string `protobuf:"bytes,13,opt,name=source_namespace,json=sourceNamespace,proto3" json:"source_namespace,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ SourceNamespace string `protobuf:"bytes,13,opt,name=source_namespace,json=sourceNamespace,proto3" json:"source_namespace,omitempty"`
}
-func (m *HTTPMatchRequest) Reset() { *m = HTTPMatchRequest{} }
-func (m *HTTPMatchRequest) String() string { return proto.CompactTextString(m) }
-func (*HTTPMatchRequest) ProtoMessage() {}
-func (*HTTPMatchRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_8c56a442a0838fd7, []int{7}
-}
-func (m *HTTPMatchRequest) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *HTTPMatchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_HTTPMatchRequest.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *HTTPMatchRequest) Reset() {
+ *x = HTTPMatchRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[7]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *HTTPMatchRequest) XXX_Merge(src proto.Message) {
- xxx_messageInfo_HTTPMatchRequest.Merge(m, src)
-}
-func (m *HTTPMatchRequest) XXX_Size() int {
- return m.Size()
+
+func (x *HTTPMatchRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *HTTPMatchRequest) XXX_DiscardUnknown() {
- xxx_messageInfo_HTTPMatchRequest.DiscardUnknown(m)
+
+func (*HTTPMatchRequest) ProtoMessage() {}
+
+func (x *HTTPMatchRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[7]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_HTTPMatchRequest proto.InternalMessageInfo
+// Deprecated: Use HTTPMatchRequest.ProtoReflect.Descriptor instead.
+func (*HTTPMatchRequest) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_virtual_service_proto_rawDescGZIP(), []int{7}
+}
-func (m *HTTPMatchRequest) GetName() string {
- if m != nil {
- return m.Name
+func (x *HTTPMatchRequest) GetName() string {
+ if x != nil {
+ return x.Name
}
return ""
}
-func (m *HTTPMatchRequest) GetUri() *StringMatch {
- if m != nil {
- return m.Uri
+func (x *HTTPMatchRequest) GetUri() *StringMatch {
+ if x != nil {
+ return x.Uri
}
return nil
}
-func (m *HTTPMatchRequest) GetScheme() *StringMatch {
- if m != nil {
- return m.Scheme
+func (x *HTTPMatchRequest) GetScheme() *StringMatch {
+ if x != nil {
+ return x.Scheme
}
return nil
}
-func (m *HTTPMatchRequest) GetMethod() *StringMatch {
- if m != nil {
- return m.Method
+func (x *HTTPMatchRequest) GetMethod() *StringMatch {
+ if x != nil {
+ return x.Method
}
return nil
}
-func (m *HTTPMatchRequest) GetAuthority() *StringMatch {
- if m != nil {
- return m.Authority
+func (x *HTTPMatchRequest) GetAuthority() *StringMatch {
+ if x != nil {
+ return x.Authority
}
return nil
}
-func (m *HTTPMatchRequest) GetHeaders() map[string]*StringMatch {
- if m != nil {
- return m.Headers
+func (x *HTTPMatchRequest) GetHeaders() map[string]*StringMatch {
+ if x != nil {
+ return x.Headers
}
return nil
}
-func (m *HTTPMatchRequest) GetPort() uint32 {
- if m != nil {
- return m.Port
+func (x *HTTPMatchRequest) GetPort() uint32 {
+ if x != nil {
+ return x.Port
}
return 0
}
-func (m *HTTPMatchRequest) GetSourceLabels() map[string]string {
- if m != nil {
- return m.SourceLabels
+func (x *HTTPMatchRequest) GetSourceLabels() map[string]string {
+ if x != nil {
+ return x.SourceLabels
}
return nil
}
-func (m *HTTPMatchRequest) GetGateways() []string {
- if m != nil {
- return m.Gateways
+func (x *HTTPMatchRequest) GetGateways() []string {
+ if x != nil {
+ return x.Gateways
}
return nil
}
-func (m *HTTPMatchRequest) GetQueryParams() map[string]*StringMatch {
- if m != nil {
- return m.QueryParams
+func (x *HTTPMatchRequest) GetQueryParams() map[string]*StringMatch {
+ if x != nil {
+ return x.QueryParams
}
return nil
}
-func (m *HTTPMatchRequest) GetIgnoreUriCase() bool {
- if m != nil {
- return m.IgnoreUriCase
+func (x *HTTPMatchRequest) GetIgnoreUriCase() bool {
+ if x != nil {
+ return x.IgnoreUriCase
}
return false
}
-func (m *HTTPMatchRequest) GetWithoutHeaders() map[string]*StringMatch {
- if m != nil {
- return m.WithoutHeaders
+func (x *HTTPMatchRequest) GetWithoutHeaders() map[string]*StringMatch {
+ if x != nil {
+ return x.WithoutHeaders
}
return nil
}
-func (m *HTTPMatchRequest) GetSourceNamespace() string {
- if m != nil {
- return m.SourceNamespace
+func (x *HTTPMatchRequest) GetSourceNamespace() string {
+ if x != nil {
+ return x.SourceNamespace
}
return ""
}
@@ -1885,132 +1859,131 @@ func (m *HTTPMatchRequest) GetSourceNamespace() string {
// {{}}
//
type HTTPRouteDestination struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Destination uniquely identifies the instances of a service
// to which the request/connection should be forwarded to.
Destination *Destination `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"`
- // The proportion of traffic to be forwarded to the service
- // version. (0-100). Sum of weights across destinations SHOULD BE == 100.
- // If there is only one destination in a rule, the weight value is assumed to
- // be 100.
+ // Weight specifies the relative proportion of traffic to be forwarded to the destination. A destination will receive `weight/(sum of all weights)` requests.
+ // If there is only one destination in a rule, it will receive all traffic.
+ // Otherwise, if weight is `0`, the destination will not receive any traffic.
Weight int32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"`
// Header manipulation rules
- Headers *Headers `protobuf:"bytes,7,opt,name=headers,proto3" json:"headers,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Headers *Headers `protobuf:"bytes,7,opt,name=headers,proto3" json:"headers,omitempty"`
}
-func (m *HTTPRouteDestination) Reset() { *m = HTTPRouteDestination{} }
-func (m *HTTPRouteDestination) String() string { return proto.CompactTextString(m) }
-func (*HTTPRouteDestination) ProtoMessage() {}
-func (*HTTPRouteDestination) Descriptor() ([]byte, []int) {
- return fileDescriptor_8c56a442a0838fd7, []int{8}
-}
-func (m *HTTPRouteDestination) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *HTTPRouteDestination) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_HTTPRouteDestination.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *HTTPRouteDestination) Reset() {
+ *x = HTTPRouteDestination{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[8]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *HTTPRouteDestination) XXX_Merge(src proto.Message) {
- xxx_messageInfo_HTTPRouteDestination.Merge(m, src)
-}
-func (m *HTTPRouteDestination) XXX_Size() int {
- return m.Size()
+
+func (x *HTTPRouteDestination) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *HTTPRouteDestination) XXX_DiscardUnknown() {
- xxx_messageInfo_HTTPRouteDestination.DiscardUnknown(m)
+
+func (*HTTPRouteDestination) ProtoMessage() {}
+
+func (x *HTTPRouteDestination) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[8]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_HTTPRouteDestination proto.InternalMessageInfo
+// Deprecated: Use HTTPRouteDestination.ProtoReflect.Descriptor instead.
+func (*HTTPRouteDestination) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_virtual_service_proto_rawDescGZIP(), []int{8}
+}
-func (m *HTTPRouteDestination) GetDestination() *Destination {
- if m != nil {
- return m.Destination
+func (x *HTTPRouteDestination) GetDestination() *Destination {
+ if x != nil {
+ return x.Destination
}
return nil
}
-func (m *HTTPRouteDestination) GetWeight() int32 {
- if m != nil {
- return m.Weight
+func (x *HTTPRouteDestination) GetWeight() int32 {
+ if x != nil {
+ return x.Weight
}
return 0
}
-func (m *HTTPRouteDestination) GetHeaders() *Headers {
- if m != nil {
- return m.Headers
+func (x *HTTPRouteDestination) GetHeaders() *Headers {
+ if x != nil {
+ return x.Headers
}
return nil
}
// L4 routing rule weighted destination.
type RouteDestination struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Destination uniquely identifies the instances of a service
// to which the request/connection should be forwarded to.
Destination *Destination `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"`
- // The proportion of traffic to be forwarded to the service
- // version. If there is only one destination in a rule, all traffic will be
- // routed to it irrespective of the weight.
- Weight int32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *RouteDestination) Reset() { *m = RouteDestination{} }
-func (m *RouteDestination) String() string { return proto.CompactTextString(m) }
-func (*RouteDestination) ProtoMessage() {}
-func (*RouteDestination) Descriptor() ([]byte, []int) {
- return fileDescriptor_8c56a442a0838fd7, []int{9}
-}
-func (m *RouteDestination) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *RouteDestination) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_RouteDestination.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
+ // Weight specifies the relative proportion of traffic to be forwarded to the destination. A destination will receive `weight/(sum of all weights)` requests.
+ // If there is only one destination in a rule, it will receive all traffic.
+ // Otherwise, if weight is `0`, the destination will not receive any traffic.
+ Weight int32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"`
}
-func (m *RouteDestination) XXX_Merge(src proto.Message) {
- xxx_messageInfo_RouteDestination.Merge(m, src)
+
+func (x *RouteDestination) Reset() {
+ *x = RouteDestination{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[9]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
}
-func (m *RouteDestination) XXX_Size() int {
- return m.Size()
+
+func (x *RouteDestination) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *RouteDestination) XXX_DiscardUnknown() {
- xxx_messageInfo_RouteDestination.DiscardUnknown(m)
+
+func (*RouteDestination) ProtoMessage() {}
+
+func (x *RouteDestination) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[9]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_RouteDestination proto.InternalMessageInfo
+// Deprecated: Use RouteDestination.ProtoReflect.Descriptor instead.
+func (*RouteDestination) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_virtual_service_proto_rawDescGZIP(), []int{9}
+}
-func (m *RouteDestination) GetDestination() *Destination {
- if m != nil {
- return m.Destination
+func (x *RouteDestination) GetDestination() *Destination {
+ if x != nil {
+ return x.Destination
}
return nil
}
-func (m *RouteDestination) GetWeight() int32 {
- if m != nil {
- return m.Weight
+func (x *RouteDestination) GetWeight() int32 {
+ if x != nil {
+ return x.Weight
}
return 0
}
@@ -2018,6 +1991,10 @@ func (m *RouteDestination) GetWeight() int32 {
// L4 connection match attributes. Note that L4 connection matching support
// is incomplete.
type L4MatchAttributes struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// IPv4 or IPv6 ip addresses of destination with optional subnet. E.g.,
// a.b.c.d/xx form or just a.b.c.d.
DestinationSubnets []string `protobuf:"bytes,1,rep,name=destination_subnets,json=destinationSubnets,proto3" json:"destination_subnets,omitempty"`
@@ -2041,89 +2018,89 @@ type L4MatchAttributes struct {
// Source namespace constraining the applicability of a rule to workloads in that namespace.
// If the VirtualService has a list of gateways specified in the top-level `gateways` field,
// it must include the reserved gateway `mesh` for this field to be applicable.
- SourceNamespace string `protobuf:"bytes,6,opt,name=source_namespace,json=sourceNamespace,proto3" json:"source_namespace,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ SourceNamespace string `protobuf:"bytes,6,opt,name=source_namespace,json=sourceNamespace,proto3" json:"source_namespace,omitempty"`
}
-func (m *L4MatchAttributes) Reset() { *m = L4MatchAttributes{} }
-func (m *L4MatchAttributes) String() string { return proto.CompactTextString(m) }
-func (*L4MatchAttributes) ProtoMessage() {}
-func (*L4MatchAttributes) Descriptor() ([]byte, []int) {
- return fileDescriptor_8c56a442a0838fd7, []int{10}
-}
-func (m *L4MatchAttributes) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *L4MatchAttributes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_L4MatchAttributes.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *L4MatchAttributes) Reset() {
+ *x = L4MatchAttributes{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[10]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *L4MatchAttributes) XXX_Merge(src proto.Message) {
- xxx_messageInfo_L4MatchAttributes.Merge(m, src)
-}
-func (m *L4MatchAttributes) XXX_Size() int {
- return m.Size()
+
+func (x *L4MatchAttributes) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *L4MatchAttributes) XXX_DiscardUnknown() {
- xxx_messageInfo_L4MatchAttributes.DiscardUnknown(m)
+
+func (*L4MatchAttributes) ProtoMessage() {}
+
+func (x *L4MatchAttributes) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[10]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_L4MatchAttributes proto.InternalMessageInfo
+// Deprecated: Use L4MatchAttributes.ProtoReflect.Descriptor instead.
+func (*L4MatchAttributes) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_virtual_service_proto_rawDescGZIP(), []int{10}
+}
-func (m *L4MatchAttributes) GetDestinationSubnets() []string {
- if m != nil {
- return m.DestinationSubnets
+func (x *L4MatchAttributes) GetDestinationSubnets() []string {
+ if x != nil {
+ return x.DestinationSubnets
}
return nil
}
-func (m *L4MatchAttributes) GetPort() uint32 {
- if m != nil {
- return m.Port
+func (x *L4MatchAttributes) GetPort() uint32 {
+ if x != nil {
+ return x.Port
}
return 0
}
-func (m *L4MatchAttributes) GetSourceSubnet() string {
- if m != nil {
- return m.SourceSubnet
+func (x *L4MatchAttributes) GetSourceSubnet() string {
+ if x != nil {
+ return x.SourceSubnet
}
return ""
}
-func (m *L4MatchAttributes) GetSourceLabels() map[string]string {
- if m != nil {
- return m.SourceLabels
+func (x *L4MatchAttributes) GetSourceLabels() map[string]string {
+ if x != nil {
+ return x.SourceLabels
}
return nil
}
-func (m *L4MatchAttributes) GetGateways() []string {
- if m != nil {
- return m.Gateways
+func (x *L4MatchAttributes) GetGateways() []string {
+ if x != nil {
+ return x.Gateways
}
return nil
}
-func (m *L4MatchAttributes) GetSourceNamespace() string {
- if m != nil {
- return m.SourceNamespace
+func (x *L4MatchAttributes) GetSourceNamespace() string {
+ if x != nil {
+ return x.SourceNamespace
}
return ""
}
// TLS connection match attributes.
type TLSMatchAttributes struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// SNI (server name indicator) to match on. Wildcard prefixes
// can be used in the SNI value, e.g., *.com will match foo.example.com
// as well as example.com. An SNI value must be a subset (i.e., fall
@@ -2149,83 +2126,79 @@ type TLSMatchAttributes struct {
// Source namespace constraining the applicability of a rule to workloads in that namespace.
// If the VirtualService has a list of gateways specified in the top-level `gateways` field,
// it must include the reserved gateway `mesh` for this field to be applicable.
- SourceNamespace string `protobuf:"bytes,7,opt,name=source_namespace,json=sourceNamespace,proto3" json:"source_namespace,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ SourceNamespace string `protobuf:"bytes,7,opt,name=source_namespace,json=sourceNamespace,proto3" json:"source_namespace,omitempty"`
}
-func (m *TLSMatchAttributes) Reset() { *m = TLSMatchAttributes{} }
-func (m *TLSMatchAttributes) String() string { return proto.CompactTextString(m) }
-func (*TLSMatchAttributes) ProtoMessage() {}
-func (*TLSMatchAttributes) Descriptor() ([]byte, []int) {
- return fileDescriptor_8c56a442a0838fd7, []int{11}
-}
-func (m *TLSMatchAttributes) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *TLSMatchAttributes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_TLSMatchAttributes.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *TLSMatchAttributes) Reset() {
+ *x = TLSMatchAttributes{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[11]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *TLSMatchAttributes) XXX_Merge(src proto.Message) {
- xxx_messageInfo_TLSMatchAttributes.Merge(m, src)
-}
-func (m *TLSMatchAttributes) XXX_Size() int {
- return m.Size()
+
+func (x *TLSMatchAttributes) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *TLSMatchAttributes) XXX_DiscardUnknown() {
- xxx_messageInfo_TLSMatchAttributes.DiscardUnknown(m)
+
+func (*TLSMatchAttributes) ProtoMessage() {}
+
+func (x *TLSMatchAttributes) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[11]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_TLSMatchAttributes proto.InternalMessageInfo
+// Deprecated: Use TLSMatchAttributes.ProtoReflect.Descriptor instead.
+func (*TLSMatchAttributes) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_virtual_service_proto_rawDescGZIP(), []int{11}
+}
-func (m *TLSMatchAttributes) GetSniHosts() []string {
- if m != nil {
- return m.SniHosts
+func (x *TLSMatchAttributes) GetSniHosts() []string {
+ if x != nil {
+ return x.SniHosts
}
return nil
}
-func (m *TLSMatchAttributes) GetDestinationSubnets() []string {
- if m != nil {
- return m.DestinationSubnets
+func (x *TLSMatchAttributes) GetDestinationSubnets() []string {
+ if x != nil {
+ return x.DestinationSubnets
}
return nil
}
-func (m *TLSMatchAttributes) GetPort() uint32 {
- if m != nil {
- return m.Port
+func (x *TLSMatchAttributes) GetPort() uint32 {
+ if x != nil {
+ return x.Port
}
return 0
}
-func (m *TLSMatchAttributes) GetSourceLabels() map[string]string {
- if m != nil {
- return m.SourceLabels
+func (x *TLSMatchAttributes) GetSourceLabels() map[string]string {
+ if x != nil {
+ return x.SourceLabels
}
return nil
}
-func (m *TLSMatchAttributes) GetGateways() []string {
- if m != nil {
- return m.Gateways
+func (x *TLSMatchAttributes) GetGateways() []string {
+ if x != nil {
+ return x.Gateways
}
return nil
}
-func (m *TLSMatchAttributes) GetSourceNamespace() string {
- if m != nil {
- return m.SourceNamespace
+func (x *TLSMatchAttributes) GetSourceNamespace() string {
+ if x != nil {
+ return x.SourceNamespace
}
return ""
}
@@ -2279,6 +2252,10 @@ func (m *TLSMatchAttributes) GetSourceNamespace() string {
// {{}}
//
type HTTPRedirect struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// On a redirect, overwrite the Path portion of the URL with this
// value. Note that the entire path will be replaced, irrespective of the
// request URI being matched as an exact path or prefix.
@@ -2286,7 +2263,7 @@ type HTTPRedirect struct {
// On a redirect, overwrite the Authority/Host portion of the URL with
// this value.
Authority string `protobuf:"bytes,2,opt,name=authority,proto3" json:"authority,omitempty"`
- // Types that are valid to be assigned to RedirectPort:
+ // Types that are assignable to RedirectPort:
// *HTTPRedirect_Port
// *HTTPRedirect_DerivePort
RedirectPort isHTTPRedirect_RedirectPort `protobuf_oneof:"redirect_port"`
@@ -2297,118 +2274,110 @@ type HTTPRedirect struct {
Scheme string `protobuf:"bytes,6,opt,name=scheme,proto3" json:"scheme,omitempty"`
// On a redirect, Specifies the HTTP status code to use in the redirect
// response. The default response code is MOVED_PERMANENTLY (301).
- RedirectCode uint32 `protobuf:"varint,3,opt,name=redirect_code,json=redirectCode,proto3" json:"redirect_code,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ RedirectCode uint32 `protobuf:"varint,3,opt,name=redirect_code,json=redirectCode,proto3" json:"redirect_code,omitempty"`
}
-func (m *HTTPRedirect) Reset() { *m = HTTPRedirect{} }
-func (m *HTTPRedirect) String() string { return proto.CompactTextString(m) }
-func (*HTTPRedirect) ProtoMessage() {}
-func (*HTTPRedirect) Descriptor() ([]byte, []int) {
- return fileDescriptor_8c56a442a0838fd7, []int{12}
-}
-func (m *HTTPRedirect) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *HTTPRedirect) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_HTTPRedirect.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *HTTPRedirect) Reset() {
+ *x = HTTPRedirect{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[12]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *HTTPRedirect) XXX_Merge(src proto.Message) {
- xxx_messageInfo_HTTPRedirect.Merge(m, src)
-}
-func (m *HTTPRedirect) XXX_Size() int {
- return m.Size()
-}
-func (m *HTTPRedirect) XXX_DiscardUnknown() {
- xxx_messageInfo_HTTPRedirect.DiscardUnknown(m)
+
+func (x *HTTPRedirect) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-var xxx_messageInfo_HTTPRedirect proto.InternalMessageInfo
+func (*HTTPRedirect) ProtoMessage() {}
-type isHTTPRedirect_RedirectPort interface {
- isHTTPRedirect_RedirectPort()
- MarshalTo([]byte) (int, error)
- Size() int
+func (x *HTTPRedirect) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[12]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-type HTTPRedirect_Port struct {
- Port uint32 `protobuf:"varint,4,opt,name=port,proto3,oneof" json:"port,omitempty"`
-}
-type HTTPRedirect_DerivePort struct {
- DerivePort HTTPRedirect_RedirectPortSelection `protobuf:"varint,5,opt,name=derive_port,json=derivePort,proto3,enum=istio.networking.v1beta1.HTTPRedirect_RedirectPortSelection,oneof" json:"derive_port,omitempty"`
+// Deprecated: Use HTTPRedirect.ProtoReflect.Descriptor instead.
+func (*HTTPRedirect) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_virtual_service_proto_rawDescGZIP(), []int{12}
}
-func (*HTTPRedirect_Port) isHTTPRedirect_RedirectPort() {}
-func (*HTTPRedirect_DerivePort) isHTTPRedirect_RedirectPort() {}
-
-func (m *HTTPRedirect) GetRedirectPort() isHTTPRedirect_RedirectPort {
- if m != nil {
- return m.RedirectPort
+func (x *HTTPRedirect) GetUri() string {
+ if x != nil {
+ return x.Uri
}
- return nil
+ return ""
}
-func (m *HTTPRedirect) GetUri() string {
- if m != nil {
- return m.Uri
+func (x *HTTPRedirect) GetAuthority() string {
+ if x != nil {
+ return x.Authority
}
return ""
}
-func (m *HTTPRedirect) GetAuthority() string {
+func (m *HTTPRedirect) GetRedirectPort() isHTTPRedirect_RedirectPort {
if m != nil {
- return m.Authority
+ return m.RedirectPort
}
- return ""
+ return nil
}
-func (m *HTTPRedirect) GetPort() uint32 {
- if x, ok := m.GetRedirectPort().(*HTTPRedirect_Port); ok {
+func (x *HTTPRedirect) GetPort() uint32 {
+ if x, ok := x.GetRedirectPort().(*HTTPRedirect_Port); ok {
return x.Port
}
return 0
}
-func (m *HTTPRedirect) GetDerivePort() HTTPRedirect_RedirectPortSelection {
- if x, ok := m.GetRedirectPort().(*HTTPRedirect_DerivePort); ok {
+func (x *HTTPRedirect) GetDerivePort() HTTPRedirect_RedirectPortSelection {
+ if x, ok := x.GetRedirectPort().(*HTTPRedirect_DerivePort); ok {
return x.DerivePort
}
return HTTPRedirect_FROM_PROTOCOL_DEFAULT
}
-func (m *HTTPRedirect) GetScheme() string {
- if m != nil {
- return m.Scheme
+func (x *HTTPRedirect) GetScheme() string {
+ if x != nil {
+ return x.Scheme
}
return ""
}
-func (m *HTTPRedirect) GetRedirectCode() uint32 {
- if m != nil {
- return m.RedirectCode
+func (x *HTTPRedirect) GetRedirectCode() uint32 {
+ if x != nil {
+ return x.RedirectCode
}
return 0
}
-// XXX_OneofWrappers is for the internal use of the proto package.
-func (*HTTPRedirect) XXX_OneofWrappers() []interface{} {
- return []interface{}{
- (*HTTPRedirect_Port)(nil),
- (*HTTPRedirect_DerivePort)(nil),
- }
+type isHTTPRedirect_RedirectPort interface {
+ isHTTPRedirect_RedirectPort()
+}
+
+type HTTPRedirect_Port struct {
+ // On a redirect, overwrite the port portion of the URL with this value.
+ Port uint32 `protobuf:"varint,4,opt,name=port,proto3,oneof"`
+}
+
+type HTTPRedirect_DerivePort struct {
+ // On a redirect, dynamically set the port:
+ // * FROM_PROTOCOL_DEFAULT: automatically set to 80 for HTTP and 443 for HTTPS.
+ // * FROM_REQUEST_PORT: automatically use the port of the request.
+ DerivePort HTTPRedirect_RedirectPortSelection `protobuf:"varint,5,opt,name=derive_port,json=derivePort,proto3,enum=istio.networking.v1beta1.HTTPRedirect_RedirectPortSelection,oneof"`
}
+func (*HTTPRedirect_Port) isHTTPRedirect_RedirectPort() {}
+
+func (*HTTPRedirect_DerivePort) isHTTPRedirect_RedirectPort() {}
+
// HTTPRewrite can be used to rewrite specific parts of a HTTP request
// before forwarding the request to the destination. Rewrite primitive can
// be used only with HTTPRouteDestination. The following example
@@ -2462,60 +2431,60 @@ func (*HTTPRedirect) XXX_OneofWrappers() []interface{} {
// {{}}
//
type HTTPRewrite struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// rewrite the path (or the prefix) portion of the URI with this
// value. If the original URI was matched based on prefix, the value
// provided in this field will replace the corresponding matched prefix.
Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
// rewrite the Authority/Host header with this value.
- Authority string `protobuf:"bytes,2,opt,name=authority,proto3" json:"authority,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Authority string `protobuf:"bytes,2,opt,name=authority,proto3" json:"authority,omitempty"`
}
-func (m *HTTPRewrite) Reset() { *m = HTTPRewrite{} }
-func (m *HTTPRewrite) String() string { return proto.CompactTextString(m) }
-func (*HTTPRewrite) ProtoMessage() {}
-func (*HTTPRewrite) Descriptor() ([]byte, []int) {
- return fileDescriptor_8c56a442a0838fd7, []int{13}
-}
-func (m *HTTPRewrite) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *HTTPRewrite) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_HTTPRewrite.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *HTTPRewrite) Reset() {
+ *x = HTTPRewrite{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[13]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *HTTPRewrite) XXX_Merge(src proto.Message) {
- xxx_messageInfo_HTTPRewrite.Merge(m, src)
-}
-func (m *HTTPRewrite) XXX_Size() int {
- return m.Size()
+
+func (x *HTTPRewrite) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *HTTPRewrite) XXX_DiscardUnknown() {
- xxx_messageInfo_HTTPRewrite.DiscardUnknown(m)
+
+func (*HTTPRewrite) ProtoMessage() {}
+
+func (x *HTTPRewrite) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[13]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_HTTPRewrite proto.InternalMessageInfo
+// Deprecated: Use HTTPRewrite.ProtoReflect.Descriptor instead.
+func (*HTTPRewrite) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_virtual_service_proto_rawDescGZIP(), []int{13}
+}
-func (m *HTTPRewrite) GetUri() string {
- if m != nil {
- return m.Uri
+func (x *HTTPRewrite) GetUri() string {
+ if x != nil {
+ return x.Uri
}
return ""
}
-func (m *HTTPRewrite) GetAuthority() string {
- if m != nil {
- return m.Authority
+func (x *HTTPRewrite) GetAuthority() string {
+ if x != nil {
+ return x.Authority
}
return ""
}
@@ -2523,69 +2492,49 @@ func (m *HTTPRewrite) GetAuthority() string {
// Describes how to match a given string in HTTP headers. Match is
// case-sensitive.
type StringMatch struct {
- // Types that are valid to be assigned to MatchType:
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Types that are assignable to MatchType:
// *StringMatch_Exact
// *StringMatch_Prefix
// *StringMatch_Regex
- MatchType isStringMatch_MatchType `protobuf_oneof:"match_type"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ MatchType isStringMatch_MatchType `protobuf_oneof:"match_type"`
}
-func (m *StringMatch) Reset() { *m = StringMatch{} }
-func (m *StringMatch) String() string { return proto.CompactTextString(m) }
-func (*StringMatch) ProtoMessage() {}
-func (*StringMatch) Descriptor() ([]byte, []int) {
- return fileDescriptor_8c56a442a0838fd7, []int{14}
-}
-func (m *StringMatch) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *StringMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_StringMatch.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *StringMatch) Reset() {
+ *x = StringMatch{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[14]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *StringMatch) XXX_Merge(src proto.Message) {
- xxx_messageInfo_StringMatch.Merge(m, src)
-}
-func (m *StringMatch) XXX_Size() int {
- return m.Size()
-}
-func (m *StringMatch) XXX_DiscardUnknown() {
- xxx_messageInfo_StringMatch.DiscardUnknown(m)
+
+func (x *StringMatch) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-var xxx_messageInfo_StringMatch proto.InternalMessageInfo
+func (*StringMatch) ProtoMessage() {}
-type isStringMatch_MatchType interface {
- isStringMatch_MatchType()
- MarshalTo([]byte) (int, error)
- Size() int
+func (x *StringMatch) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[14]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-type StringMatch_Exact struct {
- Exact string `protobuf:"bytes,1,opt,name=exact,proto3,oneof" json:"exact,omitempty"`
-}
-type StringMatch_Prefix struct {
- Prefix string `protobuf:"bytes,2,opt,name=prefix,proto3,oneof" json:"prefix,omitempty"`
-}
-type StringMatch_Regex struct {
- Regex string `protobuf:"bytes,3,opt,name=regex,proto3,oneof" json:"regex,omitempty"`
+// Deprecated: Use StringMatch.ProtoReflect.Descriptor instead.
+func (*StringMatch) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_virtual_service_proto_rawDescGZIP(), []int{14}
}
-func (*StringMatch_Exact) isStringMatch_MatchType() {}
-func (*StringMatch_Prefix) isStringMatch_MatchType() {}
-func (*StringMatch_Regex) isStringMatch_MatchType() {}
-
func (m *StringMatch) GetMatchType() isStringMatch_MatchType {
if m != nil {
return m.MatchType
@@ -2593,36 +2542,52 @@ func (m *StringMatch) GetMatchType() isStringMatch_MatchType {
return nil
}
-func (m *StringMatch) GetExact() string {
- if x, ok := m.GetMatchType().(*StringMatch_Exact); ok {
+func (x *StringMatch) GetExact() string {
+ if x, ok := x.GetMatchType().(*StringMatch_Exact); ok {
return x.Exact
}
return ""
}
-func (m *StringMatch) GetPrefix() string {
- if x, ok := m.GetMatchType().(*StringMatch_Prefix); ok {
+func (x *StringMatch) GetPrefix() string {
+ if x, ok := x.GetMatchType().(*StringMatch_Prefix); ok {
return x.Prefix
}
return ""
}
-func (m *StringMatch) GetRegex() string {
- if x, ok := m.GetMatchType().(*StringMatch_Regex); ok {
+func (x *StringMatch) GetRegex() string {
+ if x, ok := x.GetMatchType().(*StringMatch_Regex); ok {
return x.Regex
}
return ""
}
-// XXX_OneofWrappers is for the internal use of the proto package.
-func (*StringMatch) XXX_OneofWrappers() []interface{} {
- return []interface{}{
- (*StringMatch_Exact)(nil),
- (*StringMatch_Prefix)(nil),
- (*StringMatch_Regex)(nil),
- }
+type isStringMatch_MatchType interface {
+ isStringMatch_MatchType()
+}
+
+type StringMatch_Exact struct {
+ // exact string match
+ Exact string `protobuf:"bytes,1,opt,name=exact,proto3,oneof"`
+}
+
+type StringMatch_Prefix struct {
+ // prefix-based match
+ Prefix string `protobuf:"bytes,2,opt,name=prefix,proto3,oneof"`
+}
+
+type StringMatch_Regex struct {
+ // RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).
+ Regex string `protobuf:"bytes,3,opt,name=regex,proto3,oneof"`
}
+func (*StringMatch_Exact) isStringMatch_MatchType() {}
+
+func (*StringMatch_Prefix) isStringMatch_MatchType() {}
+
+func (*StringMatch_Regex) isStringMatch_MatchType() {}
+
// Describes the retry policy to use when a HTTP request fails. For
// example, the following rule sets the maximum number of retries to 3 when
// calling ratings:v1 service, with a 2s timeout per retry attempt.
@@ -2674,6 +2639,10 @@ func (*StringMatch) XXX_OneofWrappers() []interface{} {
// {{}}
//
type HTTPRetry struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Number of retries to be allowed for a given request. The interval
// between retries will be determined automatically (25ms+). When request
// `timeout` of the [HTTP route](https://istio.io/docs/reference/config/networking/virtual-service/#HTTPRoute)
@@ -2684,7 +2653,7 @@ type HTTPRetry struct {
// Default is same value as request
// `timeout` of the [HTTP route](https://istio.io/docs/reference/config/networking/virtual-service/#HTTPRoute),
// which means no timeout.
- PerTryTimeout *types.Duration `protobuf:"bytes,2,opt,name=per_try_timeout,json=perTryTimeout,proto3" json:"per_try_timeout,omitempty"`
+ PerTryTimeout *duration.Duration `protobuf:"bytes,2,opt,name=per_try_timeout,json=perTryTimeout,proto3" json:"per_try_timeout,omitempty"`
// Specifies the conditions under which retry takes place.
// One or more policies can be specified using a ‘,’ delimited list.
// If `retry_on` specifies a valid HTTP status, it will be added to retriable_status_codes retry policy.
@@ -2693,69 +2662,65 @@ type HTTPRetry struct {
RetryOn string `protobuf:"bytes,3,opt,name=retry_on,json=retryOn,proto3" json:"retry_on,omitempty"`
// Flag to specify whether the retries should retry to other localities.
// See the [retry plugin configuration](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/http/http_connection_management#retry-plugin-configuration) for more details.
- RetryRemoteLocalities *types.BoolValue `protobuf:"bytes,4,opt,name=retry_remote_localities,json=retryRemoteLocalities,proto3" json:"retry_remote_localities,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ RetryRemoteLocalities *wrappers.BoolValue `protobuf:"bytes,4,opt,name=retry_remote_localities,json=retryRemoteLocalities,proto3" json:"retry_remote_localities,omitempty"`
}
-func (m *HTTPRetry) Reset() { *m = HTTPRetry{} }
-func (m *HTTPRetry) String() string { return proto.CompactTextString(m) }
-func (*HTTPRetry) ProtoMessage() {}
-func (*HTTPRetry) Descriptor() ([]byte, []int) {
- return fileDescriptor_8c56a442a0838fd7, []int{15}
-}
-func (m *HTTPRetry) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *HTTPRetry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_HTTPRetry.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *HTTPRetry) Reset() {
+ *x = HTTPRetry{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[15]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *HTTPRetry) XXX_Merge(src proto.Message) {
- xxx_messageInfo_HTTPRetry.Merge(m, src)
-}
-func (m *HTTPRetry) XXX_Size() int {
- return m.Size()
+
+func (x *HTTPRetry) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *HTTPRetry) XXX_DiscardUnknown() {
- xxx_messageInfo_HTTPRetry.DiscardUnknown(m)
+
+func (*HTTPRetry) ProtoMessage() {}
+
+func (x *HTTPRetry) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[15]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_HTTPRetry proto.InternalMessageInfo
+// Deprecated: Use HTTPRetry.ProtoReflect.Descriptor instead.
+func (*HTTPRetry) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_virtual_service_proto_rawDescGZIP(), []int{15}
+}
-func (m *HTTPRetry) GetAttempts() int32 {
- if m != nil {
- return m.Attempts
+func (x *HTTPRetry) GetAttempts() int32 {
+ if x != nil {
+ return x.Attempts
}
return 0
}
-func (m *HTTPRetry) GetPerTryTimeout() *types.Duration {
- if m != nil {
- return m.PerTryTimeout
+func (x *HTTPRetry) GetPerTryTimeout() *duration.Duration {
+ if x != nil {
+ return x.PerTryTimeout
}
return nil
}
-func (m *HTTPRetry) GetRetryOn() string {
- if m != nil {
- return m.RetryOn
+func (x *HTTPRetry) GetRetryOn() string {
+ if x != nil {
+ return x.RetryOn
}
return ""
}
-func (m *HTTPRetry) GetRetryRemoteLocalities() *types.BoolValue {
- if m != nil {
- return m.RetryRemoteLocalities
+func (x *HTTPRetry) GetRetryRemoteLocalities() *wrappers.BoolValue {
+ if x != nil {
+ return x.RetryRemoteLocalities
}
return nil
}
@@ -2825,11 +2790,17 @@ func (m *HTTPRetry) GetRetryRemoteLocalities() *types.BoolValue {
// {{}}
//
type CorsPolicy struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// The list of origins that are allowed to perform CORS requests. The
// content will be serialized into the Access-Control-Allow-Origin
// header. Wildcard * will allow all origins.
// $hide_from_docs
- AllowOrigin []string `protobuf:"bytes,1,rep,name=allow_origin,json=allowOrigin,proto3" json:"allow_origin,omitempty"` // Deprecated: Do not use.
+ //
+ // Deprecated: Do not use.
+ AllowOrigin []string `protobuf:"bytes,1,rep,name=allow_origin,json=allowOrigin,proto3" json:"allow_origin,omitempty"`
// String patterns that match allowed origins.
// An origin is allowed if any of the string matchers match.
// If a match is found, then the outgoing Access-Control-Allow-Origin would be set to the origin as provided by the client.
@@ -2845,95 +2816,91 @@ type CorsPolicy struct {
ExposeHeaders []string `protobuf:"bytes,4,rep,name=expose_headers,json=exposeHeaders,proto3" json:"expose_headers,omitempty"`
// Specifies how long the results of a preflight request can be
// cached. Translates to the `Access-Control-Max-Age` header.
- MaxAge *types.Duration `protobuf:"bytes,5,opt,name=max_age,json=maxAge,proto3" json:"max_age,omitempty"`
+ MaxAge *duration.Duration `protobuf:"bytes,5,opt,name=max_age,json=maxAge,proto3" json:"max_age,omitempty"`
// Indicates whether the caller is allowed to send the actual request
// (not the preflight) using credentials. Translates to
// `Access-Control-Allow-Credentials` header.
- AllowCredentials *types.BoolValue `protobuf:"bytes,6,opt,name=allow_credentials,json=allowCredentials,proto3" json:"allow_credentials,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ AllowCredentials *wrappers.BoolValue `protobuf:"bytes,6,opt,name=allow_credentials,json=allowCredentials,proto3" json:"allow_credentials,omitempty"`
}
-func (m *CorsPolicy) Reset() { *m = CorsPolicy{} }
-func (m *CorsPolicy) String() string { return proto.CompactTextString(m) }
-func (*CorsPolicy) ProtoMessage() {}
-func (*CorsPolicy) Descriptor() ([]byte, []int) {
- return fileDescriptor_8c56a442a0838fd7, []int{16}
-}
-func (m *CorsPolicy) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *CorsPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_CorsPolicy.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *CorsPolicy) Reset() {
+ *x = CorsPolicy{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[16]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *CorsPolicy) XXX_Merge(src proto.Message) {
- xxx_messageInfo_CorsPolicy.Merge(m, src)
-}
-func (m *CorsPolicy) XXX_Size() int {
- return m.Size()
+
+func (x *CorsPolicy) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *CorsPolicy) XXX_DiscardUnknown() {
- xxx_messageInfo_CorsPolicy.DiscardUnknown(m)
+
+func (*CorsPolicy) ProtoMessage() {}
+
+func (x *CorsPolicy) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[16]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_CorsPolicy proto.InternalMessageInfo
+// Deprecated: Use CorsPolicy.ProtoReflect.Descriptor instead.
+func (*CorsPolicy) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_virtual_service_proto_rawDescGZIP(), []int{16}
+}
// Deprecated: Do not use.
-func (m *CorsPolicy) GetAllowOrigin() []string {
- if m != nil {
- return m.AllowOrigin
+func (x *CorsPolicy) GetAllowOrigin() []string {
+ if x != nil {
+ return x.AllowOrigin
}
return nil
}
-func (m *CorsPolicy) GetAllowOrigins() []*StringMatch {
- if m != nil {
- return m.AllowOrigins
+func (x *CorsPolicy) GetAllowOrigins() []*StringMatch {
+ if x != nil {
+ return x.AllowOrigins
}
return nil
}
-func (m *CorsPolicy) GetAllowMethods() []string {
- if m != nil {
- return m.AllowMethods
+func (x *CorsPolicy) GetAllowMethods() []string {
+ if x != nil {
+ return x.AllowMethods
}
return nil
}
-func (m *CorsPolicy) GetAllowHeaders() []string {
- if m != nil {
- return m.AllowHeaders
+func (x *CorsPolicy) GetAllowHeaders() []string {
+ if x != nil {
+ return x.AllowHeaders
}
return nil
}
-func (m *CorsPolicy) GetExposeHeaders() []string {
- if m != nil {
- return m.ExposeHeaders
+func (x *CorsPolicy) GetExposeHeaders() []string {
+ if x != nil {
+ return x.ExposeHeaders
}
return nil
}
-func (m *CorsPolicy) GetMaxAge() *types.Duration {
- if m != nil {
- return m.MaxAge
+func (x *CorsPolicy) GetMaxAge() *duration.Duration {
+ if x != nil {
+ return x.MaxAge
}
return nil
}
-func (m *CorsPolicy) GetAllowCredentials() *types.BoolValue {
- if m != nil {
- return m.AllowCredentials
+func (x *CorsPolicy) GetAllowCredentials() *wrappers.BoolValue {
+ if x != nil {
+ return x.AllowCredentials
}
return nil
}
@@ -2947,60 +2914,226 @@ func (m *CorsPolicy) GetAllowCredentials() *types.BoolValue {
// *Note:* Delay and abort faults are independent of one another, even if
// both are specified simultaneously.
type HTTPFaultInjection struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Delay requests before forwarding, emulating various failures such as
// network issues, overloaded upstream service, etc.
Delay *HTTPFaultInjection_Delay `protobuf:"bytes,1,opt,name=delay,proto3" json:"delay,omitempty"`
// Abort Http request attempts and return error codes back to downstream
// service, giving the impression that the upstream service is faulty.
- Abort *HTTPFaultInjection_Abort `protobuf:"bytes,2,opt,name=abort,proto3" json:"abort,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Abort *HTTPFaultInjection_Abort `protobuf:"bytes,2,opt,name=abort,proto3" json:"abort,omitempty"`
+}
+
+func (x *HTTPFaultInjection) Reset() {
+ *x = HTTPFaultInjection{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[17]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HTTPFaultInjection) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HTTPFaultInjection) ProtoMessage() {}
+
+func (x *HTTPFaultInjection) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[17]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-func (m *HTTPFaultInjection) Reset() { *m = HTTPFaultInjection{} }
-func (m *HTTPFaultInjection) String() string { return proto.CompactTextString(m) }
-func (*HTTPFaultInjection) ProtoMessage() {}
+// Deprecated: Use HTTPFaultInjection.ProtoReflect.Descriptor instead.
func (*HTTPFaultInjection) Descriptor() ([]byte, []int) {
- return fileDescriptor_8c56a442a0838fd7, []int{17}
-}
-func (m *HTTPFaultInjection) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *HTTPFaultInjection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_HTTPFaultInjection.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
+ return file_networking_v1beta1_virtual_service_proto_rawDescGZIP(), []int{17}
+}
+
+func (x *HTTPFaultInjection) GetDelay() *HTTPFaultInjection_Delay {
+ if x != nil {
+ return x.Delay
+ }
+ return nil
+}
+
+func (x *HTTPFaultInjection) GetAbort() *HTTPFaultInjection_Abort {
+ if x != nil {
+ return x.Abort
+ }
+ return nil
+}
+
+// PortSelector specifies the number of a port to be used for
+// matching or selection for final routing.
+type PortSelector struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Valid port number
+ Number uint32 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"`
+}
+
+func (x *PortSelector) Reset() {
+ *x = PortSelector{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[18]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PortSelector) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PortSelector) ProtoMessage() {}
+
+func (x *PortSelector) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[18]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- return b[:n], nil
+ return ms
}
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PortSelector.ProtoReflect.Descriptor instead.
+func (*PortSelector) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_virtual_service_proto_rawDescGZIP(), []int{18}
}
-func (m *HTTPFaultInjection) XXX_Merge(src proto.Message) {
- xxx_messageInfo_HTTPFaultInjection.Merge(m, src)
+
+func (x *PortSelector) GetNumber() uint32 {
+ if x != nil {
+ return x.Number
+ }
+ return 0
}
-func (m *HTTPFaultInjection) XXX_Size() int {
- return m.Size()
+
+// Percent specifies a percentage in the range of [0.0, 100.0].
+type Percent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"`
}
-func (m *HTTPFaultInjection) XXX_DiscardUnknown() {
- xxx_messageInfo_HTTPFaultInjection.DiscardUnknown(m)
+
+func (x *Percent) Reset() {
+ *x = Percent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[19]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
}
-var xxx_messageInfo_HTTPFaultInjection proto.InternalMessageInfo
+func (x *Percent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
-func (m *HTTPFaultInjection) GetDelay() *HTTPFaultInjection_Delay {
- if m != nil {
- return m.Delay
+func (*Percent) ProtoMessage() {}
+
+func (x *Percent) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[19]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Percent.ProtoReflect.Descriptor instead.
+func (*Percent) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_virtual_service_proto_rawDescGZIP(), []int{19}
+}
+
+func (x *Percent) GetValue() float64 {
+ if x != nil {
+ return x.Value
+ }
+ return 0
+}
+
+// HeaderOperations Describes the header manipulations to apply
+type Headers_HeaderOperations struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Overwrite the headers specified by key with the given values
+ Set map[string]string `protobuf:"bytes,1,rep,name=set,proto3" json:"set,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ // Append the given values to the headers specified by keys
+ // (will create a comma-separated list of values)
+ Add map[string]string `protobuf:"bytes,2,rep,name=add,proto3" json:"add,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ // Remove the specified headers
+ Remove []string `protobuf:"bytes,3,rep,name=remove,proto3" json:"remove,omitempty"`
+}
+
+func (x *Headers_HeaderOperations) Reset() {
+ *x = Headers_HeaderOperations{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[20]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Headers_HeaderOperations) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Headers_HeaderOperations) ProtoMessage() {}
+
+func (x *Headers_HeaderOperations) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[20]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Headers_HeaderOperations.ProtoReflect.Descriptor instead.
+func (*Headers_HeaderOperations) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_virtual_service_proto_rawDescGZIP(), []int{4, 0}
+}
+
+func (x *Headers_HeaderOperations) GetSet() map[string]string {
+ if x != nil {
+ return x.Set
}
return nil
}
-func (m *HTTPFaultInjection) GetAbort() *HTTPFaultInjection_Abort {
- if m != nil {
- return m.Abort
+func (x *Headers_HeaderOperations) GetAdd() map[string]string {
+ if x != nil {
+ return x.Add
+ }
+ return nil
+}
+
+func (x *Headers_HeaderOperations) GetRemove() []string {
+ if x != nil {
+ return x.Remove
}
return nil
}
@@ -3066,69 +3199,63 @@ func (m *HTTPFaultInjection) GetAbort() *HTTPFaultInjection_Abort {
// The optional _percentage_ field can be used to only delay a certain
// percentage of requests. If left unspecified, all request will be delayed.
type HTTPFaultInjection_Delay struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Percentage of requests on which the delay will be injected (0-100).
// Use of integer `percent` value is deprecated. Use the double `percentage`
// field instead.
- Percent int32 `protobuf:"varint,1,opt,name=percent,proto3" json:"percent,omitempty"` // Deprecated: Do not use.
- // Types that are valid to be assigned to HttpDelayType:
+ //
+ // Deprecated: Do not use.
+ Percent int32 `protobuf:"varint,1,opt,name=percent,proto3" json:"percent,omitempty"`
+ // Types that are assignable to HttpDelayType:
// *HTTPFaultInjection_Delay_FixedDelay
// *HTTPFaultInjection_Delay_ExponentialDelay
HttpDelayType isHTTPFaultInjection_Delay_HttpDelayType `protobuf_oneof:"http_delay_type"`
// Percentage of requests on which the delay will be injected.
- Percentage *Percent `protobuf:"bytes,5,opt,name=percentage,proto3" json:"percentage,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Percentage *Percent `protobuf:"bytes,5,opt,name=percentage,proto3" json:"percentage,omitempty"`
}
-func (m *HTTPFaultInjection_Delay) Reset() { *m = HTTPFaultInjection_Delay{} }
-func (m *HTTPFaultInjection_Delay) String() string { return proto.CompactTextString(m) }
-func (*HTTPFaultInjection_Delay) ProtoMessage() {}
-func (*HTTPFaultInjection_Delay) Descriptor() ([]byte, []int) {
- return fileDescriptor_8c56a442a0838fd7, []int{17, 0}
-}
-func (m *HTTPFaultInjection_Delay) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *HTTPFaultInjection_Delay) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_HTTPFaultInjection_Delay.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *HTTPFaultInjection_Delay) Reset() {
+ *x = HTTPFaultInjection_Delay{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[29]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *HTTPFaultInjection_Delay) XXX_Merge(src proto.Message) {
- xxx_messageInfo_HTTPFaultInjection_Delay.Merge(m, src)
-}
-func (m *HTTPFaultInjection_Delay) XXX_Size() int {
- return m.Size()
-}
-func (m *HTTPFaultInjection_Delay) XXX_DiscardUnknown() {
- xxx_messageInfo_HTTPFaultInjection_Delay.DiscardUnknown(m)
+
+func (x *HTTPFaultInjection_Delay) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-var xxx_messageInfo_HTTPFaultInjection_Delay proto.InternalMessageInfo
+func (*HTTPFaultInjection_Delay) ProtoMessage() {}
-type isHTTPFaultInjection_Delay_HttpDelayType interface {
- isHTTPFaultInjection_Delay_HttpDelayType()
- MarshalTo([]byte) (int, error)
- Size() int
+func (x *HTTPFaultInjection_Delay) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[29]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-type HTTPFaultInjection_Delay_FixedDelay struct {
- FixedDelay *types.Duration `protobuf:"bytes,2,opt,name=fixed_delay,json=fixedDelay,proto3,oneof" json:"fixed_delay,omitempty"`
-}
-type HTTPFaultInjection_Delay_ExponentialDelay struct {
- ExponentialDelay *types.Duration `protobuf:"bytes,3,opt,name=exponential_delay,json=exponentialDelay,proto3,oneof" json:"exponential_delay,omitempty"`
+// Deprecated: Use HTTPFaultInjection_Delay.ProtoReflect.Descriptor instead.
+func (*HTTPFaultInjection_Delay) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_virtual_service_proto_rawDescGZIP(), []int{17, 0}
}
-func (*HTTPFaultInjection_Delay_FixedDelay) isHTTPFaultInjection_Delay_HttpDelayType() {}
-func (*HTTPFaultInjection_Delay_ExponentialDelay) isHTTPFaultInjection_Delay_HttpDelayType() {}
+// Deprecated: Do not use.
+func (x *HTTPFaultInjection_Delay) GetPercent() int32 {
+ if x != nil {
+ return x.Percent
+ }
+ return 0
+}
func (m *HTTPFaultInjection_Delay) GetHttpDelayType() isHTTPFaultInjection_Delay_HttpDelayType {
if m != nil {
@@ -3137,43 +3264,46 @@ func (m *HTTPFaultInjection_Delay) GetHttpDelayType() isHTTPFaultInjection_Delay
return nil
}
-// Deprecated: Do not use.
-func (m *HTTPFaultInjection_Delay) GetPercent() int32 {
- if m != nil {
- return m.Percent
- }
- return 0
-}
-
-func (m *HTTPFaultInjection_Delay) GetFixedDelay() *types.Duration {
- if x, ok := m.GetHttpDelayType().(*HTTPFaultInjection_Delay_FixedDelay); ok {
+func (x *HTTPFaultInjection_Delay) GetFixedDelay() *duration.Duration {
+ if x, ok := x.GetHttpDelayType().(*HTTPFaultInjection_Delay_FixedDelay); ok {
return x.FixedDelay
}
return nil
}
-func (m *HTTPFaultInjection_Delay) GetExponentialDelay() *types.Duration {
- if x, ok := m.GetHttpDelayType().(*HTTPFaultInjection_Delay_ExponentialDelay); ok {
+func (x *HTTPFaultInjection_Delay) GetExponentialDelay() *duration.Duration {
+ if x, ok := x.GetHttpDelayType().(*HTTPFaultInjection_Delay_ExponentialDelay); ok {
return x.ExponentialDelay
}
return nil
}
-func (m *HTTPFaultInjection_Delay) GetPercentage() *Percent {
- if m != nil {
- return m.Percentage
+func (x *HTTPFaultInjection_Delay) GetPercentage() *Percent {
+ if x != nil {
+ return x.Percentage
}
return nil
}
-// XXX_OneofWrappers is for the internal use of the proto package.
-func (*HTTPFaultInjection_Delay) XXX_OneofWrappers() []interface{} {
- return []interface{}{
- (*HTTPFaultInjection_Delay_FixedDelay)(nil),
- (*HTTPFaultInjection_Delay_ExponentialDelay)(nil),
- }
+type isHTTPFaultInjection_Delay_HttpDelayType interface {
+ isHTTPFaultInjection_Delay_HttpDelayType()
+}
+
+type HTTPFaultInjection_Delay_FixedDelay struct {
+ // Add a fixed delay before forwarding the request. Format:
+ // 1h/1m/1s/1ms. MUST be >=1ms.
+ FixedDelay *duration.Duration `protobuf:"bytes,2,opt,name=fixed_delay,json=fixedDelay,proto3,oneof"`
+}
+
+type HTTPFaultInjection_Delay_ExponentialDelay struct {
+ // $hide_from_docs
+ ExponentialDelay *duration.Duration `protobuf:"bytes,3,opt,name=exponential_delay,json=exponentialDelay,proto3,oneof"`
}
+func (*HTTPFaultInjection_Delay_FixedDelay) isHTTPFaultInjection_Delay_HttpDelayType() {}
+
+func (*HTTPFaultInjection_Delay_ExponentialDelay) isHTTPFaultInjection_Delay_HttpDelayType() {}
+
// Abort specification is used to prematurely abort a request with a
// pre-specified error code. The following example will return an HTTP 400
// error code for 1 out of every 1000 requests to the "ratings" service "v1".
@@ -3229,70 +3359,50 @@ func (*HTTPFaultInjection_Delay) XXX_OneofWrappers() []interface{} {
// abort a certain percentage of requests. If not specified, all requests are
// aborted.
type HTTPFaultInjection_Abort struct {
- // Types that are valid to be assigned to ErrorType:
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Types that are assignable to ErrorType:
// *HTTPFaultInjection_Abort_HttpStatus
// *HTTPFaultInjection_Abort_GrpcStatus
// *HTTPFaultInjection_Abort_Http2Error
ErrorType isHTTPFaultInjection_Abort_ErrorType `protobuf_oneof:"error_type"`
// Percentage of requests to be aborted with the error code provided.
- Percentage *Percent `protobuf:"bytes,5,opt,name=percentage,proto3" json:"percentage,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Percentage *Percent `protobuf:"bytes,5,opt,name=percentage,proto3" json:"percentage,omitempty"`
}
-func (m *HTTPFaultInjection_Abort) Reset() { *m = HTTPFaultInjection_Abort{} }
-func (m *HTTPFaultInjection_Abort) String() string { return proto.CompactTextString(m) }
-func (*HTTPFaultInjection_Abort) ProtoMessage() {}
-func (*HTTPFaultInjection_Abort) Descriptor() ([]byte, []int) {
- return fileDescriptor_8c56a442a0838fd7, []int{17, 1}
-}
-func (m *HTTPFaultInjection_Abort) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *HTTPFaultInjection_Abort) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_HTTPFaultInjection_Abort.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+func (x *HTTPFaultInjection_Abort) Reset() {
+ *x = HTTPFaultInjection_Abort{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[30]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
}
-func (m *HTTPFaultInjection_Abort) XXX_Merge(src proto.Message) {
- xxx_messageInfo_HTTPFaultInjection_Abort.Merge(m, src)
-}
-func (m *HTTPFaultInjection_Abort) XXX_Size() int {
- return m.Size()
-}
-func (m *HTTPFaultInjection_Abort) XXX_DiscardUnknown() {
- xxx_messageInfo_HTTPFaultInjection_Abort.DiscardUnknown(m)
+
+func (x *HTTPFaultInjection_Abort) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-var xxx_messageInfo_HTTPFaultInjection_Abort proto.InternalMessageInfo
+func (*HTTPFaultInjection_Abort) ProtoMessage() {}
-type isHTTPFaultInjection_Abort_ErrorType interface {
- isHTTPFaultInjection_Abort_ErrorType()
- MarshalTo([]byte) (int, error)
- Size() int
+func (x *HTTPFaultInjection_Abort) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_virtual_service_proto_msgTypes[30]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-type HTTPFaultInjection_Abort_HttpStatus struct {
- HttpStatus int32 `protobuf:"varint,2,opt,name=http_status,json=httpStatus,proto3,oneof" json:"http_status,omitempty"`
+// Deprecated: Use HTTPFaultInjection_Abort.ProtoReflect.Descriptor instead.
+func (*HTTPFaultInjection_Abort) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_virtual_service_proto_rawDescGZIP(), []int{17, 1}
}
-type HTTPFaultInjection_Abort_GrpcStatus struct {
- GrpcStatus string `protobuf:"bytes,3,opt,name=grpc_status,json=grpcStatus,proto3,oneof" json:"grpc_status,omitempty"`
-}
-type HTTPFaultInjection_Abort_Http2Error struct {
- Http2Error string `protobuf:"bytes,4,opt,name=http2_error,json=http2Error,proto3,oneof" json:"http2_error,omitempty"`
-}
-
-func (*HTTPFaultInjection_Abort_HttpStatus) isHTTPFaultInjection_Abort_ErrorType() {}
-func (*HTTPFaultInjection_Abort_GrpcStatus) isHTTPFaultInjection_Abort_ErrorType() {}
-func (*HTTPFaultInjection_Abort_Http2Error) isHTTPFaultInjection_Abort_ErrorType() {}
func (m *HTTPFaultInjection_Abort) GetErrorType() isHTTPFaultInjection_Abort_ErrorType {
if m != nil {
@@ -3301,8045 +3411,911 @@ func (m *HTTPFaultInjection_Abort) GetErrorType() isHTTPFaultInjection_Abort_Err
return nil
}
-func (m *HTTPFaultInjection_Abort) GetHttpStatus() int32 {
- if x, ok := m.GetErrorType().(*HTTPFaultInjection_Abort_HttpStatus); ok {
+func (x *HTTPFaultInjection_Abort) GetHttpStatus() int32 {
+ if x, ok := x.GetErrorType().(*HTTPFaultInjection_Abort_HttpStatus); ok {
return x.HttpStatus
}
return 0
}
-func (m *HTTPFaultInjection_Abort) GetGrpcStatus() string {
- if x, ok := m.GetErrorType().(*HTTPFaultInjection_Abort_GrpcStatus); ok {
+func (x *HTTPFaultInjection_Abort) GetGrpcStatus() string {
+ if x, ok := x.GetErrorType().(*HTTPFaultInjection_Abort_GrpcStatus); ok {
return x.GrpcStatus
}
return ""
}
-func (m *HTTPFaultInjection_Abort) GetHttp2Error() string {
- if x, ok := m.GetErrorType().(*HTTPFaultInjection_Abort_Http2Error); ok {
+func (x *HTTPFaultInjection_Abort) GetHttp2Error() string {
+ if x, ok := x.GetErrorType().(*HTTPFaultInjection_Abort_Http2Error); ok {
return x.Http2Error
}
return ""
}
-func (m *HTTPFaultInjection_Abort) GetPercentage() *Percent {
- if m != nil {
- return m.Percentage
+func (x *HTTPFaultInjection_Abort) GetPercentage() *Percent {
+ if x != nil {
+ return x.Percentage
}
return nil
}
-// XXX_OneofWrappers is for the internal use of the proto package.
-func (*HTTPFaultInjection_Abort) XXX_OneofWrappers() []interface{} {
- return []interface{}{
- (*HTTPFaultInjection_Abort_HttpStatus)(nil),
- (*HTTPFaultInjection_Abort_GrpcStatus)(nil),
- (*HTTPFaultInjection_Abort_Http2Error)(nil),
- }
-}
-
-// PortSelector specifies the number of a port to be used for
-// matching or selection for final routing.
-type PortSelector struct {
- // Valid port number
- Number uint32 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *PortSelector) Reset() { *m = PortSelector{} }
-func (m *PortSelector) String() string { return proto.CompactTextString(m) }
-func (*PortSelector) ProtoMessage() {}
-func (*PortSelector) Descriptor() ([]byte, []int) {
- return fileDescriptor_8c56a442a0838fd7, []int{18}
-}
-func (m *PortSelector) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *PortSelector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_PortSelector.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *PortSelector) XXX_Merge(src proto.Message) {
- xxx_messageInfo_PortSelector.Merge(m, src)
-}
-func (m *PortSelector) XXX_Size() int {
- return m.Size()
-}
-func (m *PortSelector) XXX_DiscardUnknown() {
- xxx_messageInfo_PortSelector.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_PortSelector proto.InternalMessageInfo
-
-func (m *PortSelector) GetNumber() uint32 {
- if m != nil {
- return m.Number
- }
- return 0
-}
-
-// Percent specifies a percentage in the range of [0.0, 100.0].
-type Percent struct {
- Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Percent) Reset() { *m = Percent{} }
-func (m *Percent) String() string { return proto.CompactTextString(m) }
-func (*Percent) ProtoMessage() {}
-func (*Percent) Descriptor() ([]byte, []int) {
- return fileDescriptor_8c56a442a0838fd7, []int{19}
-}
-func (m *Percent) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *Percent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Percent.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *Percent) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Percent.Merge(m, src)
-}
-func (m *Percent) XXX_Size() int {
- return m.Size()
-}
-func (m *Percent) XXX_DiscardUnknown() {
- xxx_messageInfo_Percent.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Percent proto.InternalMessageInfo
-
-func (m *Percent) GetValue() float64 {
- if m != nil {
- return m.Value
- }
- return 0
-}
-
-func init() {
- proto.RegisterEnum("istio.networking.v1beta1.HTTPRedirect_RedirectPortSelection", HTTPRedirect_RedirectPortSelection_name, HTTPRedirect_RedirectPortSelection_value)
- proto.RegisterType((*VirtualService)(nil), "istio.networking.v1beta1.VirtualService")
- proto.RegisterType((*Destination)(nil), "istio.networking.v1beta1.Destination")
- proto.RegisterType((*HTTPRoute)(nil), "istio.networking.v1beta1.HTTPRoute")
- proto.RegisterType((*Delegate)(nil), "istio.networking.v1beta1.Delegate")
- proto.RegisterType((*Headers)(nil), "istio.networking.v1beta1.Headers")
- proto.RegisterType((*Headers_HeaderOperations)(nil), "istio.networking.v1beta1.Headers.HeaderOperations")
- proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1beta1.Headers.HeaderOperations.AddEntry")
- proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1beta1.Headers.HeaderOperations.SetEntry")
- proto.RegisterType((*TLSRoute)(nil), "istio.networking.v1beta1.TLSRoute")
- proto.RegisterType((*TCPRoute)(nil), "istio.networking.v1beta1.TCPRoute")
- proto.RegisterType((*HTTPMatchRequest)(nil), "istio.networking.v1beta1.HTTPMatchRequest")
- proto.RegisterMapType((map[string]*StringMatch)(nil), "istio.networking.v1beta1.HTTPMatchRequest.HeadersEntry")
- proto.RegisterMapType((map[string]*StringMatch)(nil), "istio.networking.v1beta1.HTTPMatchRequest.QueryParamsEntry")
- proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1beta1.HTTPMatchRequest.SourceLabelsEntry")
- proto.RegisterMapType((map[string]*StringMatch)(nil), "istio.networking.v1beta1.HTTPMatchRequest.WithoutHeadersEntry")
- proto.RegisterType((*HTTPRouteDestination)(nil), "istio.networking.v1beta1.HTTPRouteDestination")
- proto.RegisterType((*RouteDestination)(nil), "istio.networking.v1beta1.RouteDestination")
- proto.RegisterType((*L4MatchAttributes)(nil), "istio.networking.v1beta1.L4MatchAttributes")
- proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1beta1.L4MatchAttributes.SourceLabelsEntry")
- proto.RegisterType((*TLSMatchAttributes)(nil), "istio.networking.v1beta1.TLSMatchAttributes")
- proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1beta1.TLSMatchAttributes.SourceLabelsEntry")
- proto.RegisterType((*HTTPRedirect)(nil), "istio.networking.v1beta1.HTTPRedirect")
- proto.RegisterType((*HTTPRewrite)(nil), "istio.networking.v1beta1.HTTPRewrite")
- proto.RegisterType((*StringMatch)(nil), "istio.networking.v1beta1.StringMatch")
- proto.RegisterType((*HTTPRetry)(nil), "istio.networking.v1beta1.HTTPRetry")
- proto.RegisterType((*CorsPolicy)(nil), "istio.networking.v1beta1.CorsPolicy")
- proto.RegisterType((*HTTPFaultInjection)(nil), "istio.networking.v1beta1.HTTPFaultInjection")
- proto.RegisterType((*HTTPFaultInjection_Delay)(nil), "istio.networking.v1beta1.HTTPFaultInjection.Delay")
- proto.RegisterType((*HTTPFaultInjection_Abort)(nil), "istio.networking.v1beta1.HTTPFaultInjection.Abort")
- proto.RegisterType((*PortSelector)(nil), "istio.networking.v1beta1.PortSelector")
- proto.RegisterType((*Percent)(nil), "istio.networking.v1beta1.Percent")
-}
-
-func init() {
- proto.RegisterFile("networking/v1beta1/virtual_service.proto", fileDescriptor_8c56a442a0838fd7)
-}
-
-var fileDescriptor_8c56a442a0838fd7 = []byte{
- // 2098 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0x4f, 0x73, 0x1b, 0x49,
- 0x15, 0xf7, 0xe8, 0xbf, 0x9e, 0x24, 0x5b, 0xee, 0x4d, 0xb2, 0x13, 0x93, 0x4a, 0x1c, 0x85, 0x2c,
- 0x06, 0x16, 0xb9, 0xd6, 0xd9, 0x22, 0xd4, 0x66, 0xb3, 0xbb, 0xfe, 0x97, 0x75, 0x5c, 0x4e, 0xec,
- 0xb4, 0x95, 0xa5, 0x8a, 0x03, 0x53, 0xa3, 0x99, 0x17, 0x69, 0x88, 0x34, 0x33, 0xe9, 0xe9, 0xb1,
- 0xad, 0xe2, 0xca, 0x85, 0x03, 0x45, 0x71, 0xa1, 0x8a, 0x2b, 0x9f, 0x82, 0x8f, 0xc0, 0x89, 0xe2,
- 0xc4, 0x15, 0x2a, 0x37, 0x0e, 0x7c, 0x05, 0x8a, 0xea, 0x3f, 0x23, 0x8d, 0x2c, 0xdb, 0x92, 0xc2,
- 0x06, 0x4e, 0x56, 0xbf, 0x7e, 0xbf, 0x5f, 0x77, 0xbf, 0xd7, 0xfd, 0xde, 0x9b, 0x67, 0x58, 0xf3,
- 0x91, 0x9f, 0x06, 0xec, 0xb5, 0xe7, 0x77, 0xd6, 0x4f, 0x3e, 0x69, 0x23, 0xb7, 0x3f, 0x59, 0x3f,
- 0xf1, 0x18, 0x8f, 0xed, 0x9e, 0x15, 0x21, 0x3b, 0xf1, 0x1c, 0x6c, 0x86, 0x2c, 0xe0, 0x01, 0x31,
- 0xbd, 0x88, 0x7b, 0x41, 0x73, 0xa4, 0xdf, 0xd4, 0xfa, 0x2b, 0x77, 0x3a, 0x41, 0xd0, 0xe9, 0xe1,
- 0xba, 0x1d, 0x7a, 0xeb, 0xaf, 0x3c, 0xec, 0xb9, 0x56, 0x1b, 0xbb, 0xf6, 0x89, 0x17, 0x30, 0x05,
- 0x5d, 0xb9, 0xad, 0x15, 0xe4, 0xa8, 0x1d, 0xbf, 0x5a, 0x77, 0x63, 0x66, 0x73, 0x2f, 0xf0, 0x2f,
- 0x9b, 0x3f, 0x65, 0x76, 0x18, 0x22, 0x8b, 0xd4, 0x7c, 0xe3, 0x57, 0x19, 0x58, 0xfc, 0x46, 0x6d,
- 0xea, 0x58, 0xed, 0x89, 0x5c, 0x83, 0x7c, 0x37, 0x88, 0x78, 0x64, 0x1a, 0xab, 0xd9, 0xb5, 0x32,
- 0x55, 0x03, 0xb2, 0x02, 0xa5, 0x8e, 0xcd, 0xf1, 0xd4, 0x1e, 0x44, 0x66, 0x46, 0x4e, 0x0c, 0xc7,
- 0xe4, 0x21, 0xe4, 0xba, 0x9c, 0x87, 0x66, 0x76, 0x35, 0xbb, 0x56, 0xd9, 0xb8, 0xd7, 0xbc, 0xec,
- 0x38, 0xcd, 0xbd, 0x56, 0xeb, 0x88, 0x06, 0x31, 0x47, 0x2a, 0x01, 0xe4, 0x53, 0xc8, 0xf2, 0x5e,
- 0x64, 0xe6, 0x25, 0xae, 0x71, 0x39, 0xae, 0x75, 0x70, 0xac, 0x60, 0x42, 0x5d, 0xa2, 0x9c, 0xd0,
- 0xcc, 0x4d, 0x45, 0x6d, 0x1f, 0x25, 0x28, 0x27, 0x24, 0xdf, 0x81, 0x32, 0x9e, 0x85, 0x01, 0xe3,
- 0x16, 0x0f, 0xcc, 0x82, 0x3a, 0x81, 0x12, 0xb4, 0x82, 0xc6, 0x2f, 0xa1, 0xb2, 0x83, 0x11, 0xf7,
- 0x7c, 0x69, 0x3b, 0x62, 0x42, 0x4e, 0x9c, 0xda, 0x34, 0x56, 0x8d, 0xb5, 0xf2, 0x56, 0xee, 0xed,
- 0xa6, 0x91, 0xa1, 0x52, 0x42, 0x6e, 0x40, 0x21, 0x8a, 0xdb, 0x11, 0x72, 0x33, 0x23, 0xe6, 0xa8,
- 0x1e, 0x91, 0xcf, 0x20, 0x27, 0xa8, 0xcc, 0xec, 0xaa, 0xb1, 0x56, 0xd9, 0xf8, 0xe8, 0xf2, 0x4d,
- 0x1d, 0x05, 0x8c, 0x1f, 0x63, 0x0f, 0x1d, 0x1e, 0x30, 0x2a, 0x31, 0x8d, 0xdf, 0x95, 0xa0, 0x3c,
- 0xb4, 0x0c, 0x21, 0x90, 0xf3, 0xed, 0x3e, 0x9a, 0xcb, 0x92, 0x5f, 0xfe, 0x26, 0x5f, 0x41, 0xbe,
- 0x6f, 0x73, 0xa7, 0x2b, 0x5d, 0x52, 0xd9, 0xf8, 0xc1, 0xd5, 0x16, 0x7e, 0x26, 0x54, 0x29, 0xbe,
- 0x89, 0x31, 0xe2, 0x54, 0x01, 0xc9, 0x0e, 0xe4, 0x99, 0xa0, 0x97, 0xbe, 0xab, 0x6c, 0x34, 0x67,
- 0xf0, 0x51, 0xca, 0x20, 0x54, 0x81, 0xc9, 0x16, 0x94, 0x18, 0xba, 0x1e, 0x43, 0x67, 0x86, 0x93,
- 0x4a, 0x22, 0xad, 0x4d, 0x87, 0x38, 0xf2, 0x05, 0x94, 0x5c, 0xec, 0xa1, 0xb8, 0x3c, 0xe6, 0x35,
- 0xc9, 0x71, 0x85, 0x0b, 0x77, 0xb4, 0x26, 0x1d, 0x62, 0xc8, 0x97, 0x50, 0x64, 0x78, 0xca, 0x3c,
- 0x8e, 0x66, 0x4e, 0xc2, 0xef, 0x4f, 0xdb, 0x82, 0x54, 0xa6, 0x09, 0x8a, 0x3c, 0x80, 0x22, 0xf7,
- 0xfa, 0x18, 0xc4, 0xdc, 0x2c, 0x48, 0x82, 0x9b, 0x4d, 0xf5, 0x48, 0x9a, 0xc9, 0x23, 0x69, 0xee,
- 0xe8, 0x47, 0x44, 0x13, 0x4d, 0xf2, 0x58, 0xac, 0xca, 0x99, 0x87, 0x91, 0x59, 0x94, 0xa0, 0x69,
- 0xb7, 0x1c, 0x39, 0x1b, 0xd0, 0x04, 0x43, 0xb6, 0x20, 0xff, 0xca, 0x8e, 0x7b, 0xdc, 0x2c, 0x49,
- 0xf0, 0xc7, 0x57, 0x83, 0x9f, 0x08, 0xd5, 0xa7, 0xfe, 0x2f, 0xd0, 0x51, 0xc6, 0x97, 0x50, 0xf2,
- 0x18, 0x0a, 0x7d, 0x8f, 0xb1, 0x80, 0x99, 0xe5, 0x69, 0xe7, 0x4e, 0xbb, 0x4e, 0x83, 0xc8, 0xd7,
- 0xb0, 0xa8, 0x7e, 0x59, 0x21, 0x32, 0x07, 0x7d, 0x6e, 0x12, 0x49, 0x73, 0x6b, 0xe2, 0xf4, 0x2f,
- 0x9f, 0xfa, 0xfc, 0xc1, 0xc6, 0x37, 0x76, 0x2f, 0xc6, 0xad, 0x8c, 0x69, 0xd0, 0x9a, 0xc2, 0x1d,
- 0x29, 0x18, 0x79, 0x0e, 0xcb, 0xe3, 0x44, 0x76, 0x07, 0xcd, 0x0f, 0x24, 0xd7, 0xdd, 0x2b, 0xee,
- 0xbd, 0xd2, 0xa5, 0xf5, 0x31, 0x32, 0xbb, 0x83, 0x64, 0x17, 0x2a, 0x4e, 0xc0, 0x22, 0x2b, 0x0c,
- 0x7a, 0x9e, 0x33, 0x30, 0x41, 0x32, 0x7d, 0xf7, 0x72, 0xa6, 0xed, 0x80, 0x45, 0x47, 0x52, 0x97,
- 0x82, 0x33, 0xfc, 0x4d, 0x1e, 0x41, 0xb1, 0x8b, 0xb6, 0x8b, 0x2c, 0x32, 0xeb, 0xd3, 0x36, 0xb3,
- 0xa7, 0x14, 0x69, 0x82, 0xd8, 0xcf, 0x95, 0xf2, 0xf5, 0xc2, 0x7e, 0xae, 0x54, 0xa9, 0xd7, 0xe9,
- 0xf2, 0x29, 0xb6, 0xa3, 0xc0, 0x79, 0x8d, 0xdc, 0x8a, 0xc3, 0x0e, 0xb3, 0x5d, 0xa4, 0x8b, 0x22,
- 0x66, 0xfa, 0xae, 0xa5, 0xd5, 0xe9, 0x87, 0x0c, 0xfb, 0xc1, 0x09, 0x5a, 0x0c, 0xa3, 0x30, 0xf0,
- 0x23, 0x1c, 0x4d, 0x68, 0xc5, 0x89, 0x89, 0x1b, 0x43, 0x84, 0x7c, 0x96, 0x23, 0xf9, 0x10, 0x30,
- 0x26, 0x6f, 0x7c, 0x0e, 0xa5, 0xe4, 0xee, 0x0f, 0x23, 0x82, 0x91, 0x8a, 0x08, 0xb7, 0xa0, 0x2c,
- 0xfe, 0x46, 0xa1, 0xed, 0xa0, 0x0e, 0x45, 0x23, 0x41, 0xe3, 0x6d, 0x16, 0x8a, 0xfa, 0x8c, 0xe4,
- 0x40, 0xdc, 0x5c, 0x49, 0x2e, 0x09, 0x2a, 0x1b, 0x1b, 0x53, 0xed, 0xa2, 0xff, 0x1e, 0x86, 0xa8,
- 0x9e, 0x41, 0x44, 0x13, 0x0a, 0xf2, 0x5c, 0x44, 0x00, 0x75, 0x36, 0xb9, 0xec, 0xbb, 0xd1, 0x0d,
- 0x39, 0x56, 0xfe, 0x94, 0x81, 0xfa, 0xf9, 0x69, 0xf2, 0x0c, 0xb2, 0x22, 0xc2, 0xaa, 0x60, 0xf7,
- 0x68, 0x7e, 0xfe, 0xe6, 0x31, 0xf2, 0x5d, 0x5f, 0x3c, 0x40, 0xc1, 0x23, 0xe8, 0x6c, 0xd7, 0xd5,
- 0x91, 0xef, 0x5d, 0xe8, 0x36, 0x5d, 0x57, 0xd3, 0xd9, 0xae, 0x2b, 0x52, 0x80, 0x72, 0xa6, 0xcc,
- 0x77, 0x65, 0xaa, 0x47, 0x2b, 0x3f, 0x86, 0x52, 0xb2, 0x2e, 0xa9, 0x43, 0xf6, 0x35, 0x0e, 0xb4,
- 0xc7, 0xc4, 0x4f, 0x91, 0x55, 0x4f, 0xc4, 0x8b, 0xd2, 0xce, 0x52, 0x83, 0xcf, 0x32, 0x3f, 0x31,
- 0x04, 0x2e, 0x59, 0x60, 0x1e, 0x5c, 0xe3, 0xf7, 0x06, 0x94, 0x92, 0xc4, 0x48, 0xf6, 0xc6, 0x33,
- 0xc4, 0xc7, 0x57, 0xe6, 0x52, 0x99, 0x20, 0x36, 0x39, 0x67, 0x5e, 0x3b, 0xe6, 0x18, 0xe9, 0x04,
- 0xa7, 0x33, 0xc5, 0x57, 0xe3, 0x99, 0xe2, 0x8a, 0x5c, 0x73, 0x49, 0x96, 0x68, 0xfc, 0x56, 0x6c,
- 0x4c, 0xe7, 0x5e, 0xb2, 0x39, 0xbe, 0xb1, 0x1f, 0x5e, 0x4e, 0x77, 0xf0, 0xe9, 0xb9, 0x7d, 0x7d,
- 0x7b, 0x3b, 0xfa, 0x43, 0x19, 0xea, 0xe7, 0x33, 0xe3, 0xf0, 0x59, 0x55, 0x52, 0xcf, 0xea, 0x21,
- 0x64, 0x63, 0xe6, 0xe9, 0x87, 0x72, 0x45, 0x80, 0x3d, 0xe6, 0xcc, 0xf3, 0x3b, 0x8a, 0x4e, 0x20,
- 0x44, 0x70, 0x8e, 0x9c, 0x2e, 0xf6, 0x93, 0x57, 0x31, 0x23, 0x56, 0x83, 0x64, 0x6c, 0x47, 0xde,
- 0x0d, 0x5c, 0x9d, 0x56, 0x67, 0x85, 0x2b, 0x10, 0xd9, 0x86, 0xb2, 0x1d, 0xf3, 0x6e, 0xc0, 0x3c,
- 0x3e, 0x98, 0x9e, 0x15, 0xd3, 0x0c, 0x23, 0x1c, 0x79, 0x31, 0x0a, 0xa0, 0xaa, 0x20, 0x7b, 0x38,
- 0x7b, 0x99, 0x91, 0xbc, 0x1d, 0xf5, 0x4c, 0x12, 0x1e, 0x61, 0x62, 0x59, 0x15, 0x89, 0x3c, 0x5b,
- 0x53, 0xd5, 0x0e, 0xb1, 0xa1, 0x16, 0x05, 0x31, 0x73, 0xd0, 0xea, 0xd9, 0x6d, 0xec, 0x89, 0x7c,
- 0x2a, 0x16, 0xfb, 0x7c, 0x8e, 0xc5, 0x8e, 0x25, 0xfe, 0x40, 0xc2, 0xd5, 0x8a, 0xd5, 0x28, 0x25,
- 0x1a, 0xab, 0x55, 0x4b, 0xe7, 0x6a, 0xd5, 0x9f, 0x43, 0xf5, 0x4d, 0x8c, 0x6c, 0x60, 0x85, 0x36,
- 0xb3, 0xfb, 0x91, 0x59, 0x9e, 0x1a, 0x15, 0xce, 0xaf, 0xfe, 0x42, 0xc0, 0x8f, 0x24, 0x5a, 0x2d,
- 0x5e, 0x79, 0x33, 0x92, 0x90, 0x8f, 0x60, 0xc9, 0xeb, 0xf8, 0x01, 0x43, 0x2b, 0x66, 0x9e, 0xe5,
- 0xd8, 0x11, 0xca, 0x8c, 0x56, 0xa2, 0x35, 0x25, 0x7e, 0xc9, 0xbc, 0x6d, 0x3b, 0x42, 0xd2, 0x81,
- 0xa5, 0x53, 0x8f, 0x77, 0x83, 0x78, 0x18, 0xf3, 0xcd, 0xaa, 0xdc, 0xca, 0x17, 0x73, 0x6c, 0xe5,
- 0xa7, 0x8a, 0x61, 0xcc, 0xf8, 0x8b, 0xa7, 0x63, 0x42, 0xf2, 0x7d, 0xa8, 0x6b, 0x7b, 0x8f, 0x12,
- 0x46, 0x4d, 0x5e, 0xf9, 0x25, 0x25, 0x7f, 0x9e, 0x88, 0x57, 0x6c, 0xa8, 0xa6, 0xa9, 0x2e, 0x88,
- 0x46, 0x8f, 0xd2, 0xd1, 0x68, 0xe6, 0x4b, 0x96, 0x0a, 0x76, 0x5f, 0xc2, 0xf2, 0x84, 0xf7, 0xe6,
- 0x8a, 0x96, 0x08, 0xf5, 0xf3, 0x0e, 0x78, 0x1f, 0xfb, 0xec, 0xc2, 0x07, 0x17, 0x18, 0xf7, 0x3d,
- 0xac, 0xd4, 0xf8, 0x63, 0x06, 0xae, 0x5d, 0x54, 0x73, 0x93, 0x67, 0x50, 0x71, 0x47, 0xc3, 0xe9,
- 0x31, 0x29, 0x85, 0xd5, 0x11, 0x3d, 0x8d, 0x17, 0x69, 0xeb, 0x14, 0xbd, 0x4e, 0x57, 0x7d, 0xb9,
- 0xe4, 0xa9, 0x1e, 0xa5, 0xeb, 0xa6, 0xe2, 0x3b, 0xd4, 0x4d, 0xd9, 0x7a, 0xf1, 0x7f, 0x50, 0x0e,
- 0x0d, 0xa0, 0xfe, 0x7f, 0xb2, 0x4f, 0xe3, 0x9f, 0x19, 0x58, 0x9e, 0x48, 0x4d, 0x64, 0x1d, 0x3e,
- 0x48, 0x81, 0xad, 0x28, 0x6e, 0xfb, 0x38, 0xfc, 0x64, 0x26, 0xa9, 0xa9, 0x63, 0x35, 0x33, 0x0c,
- 0x85, 0x99, 0x54, 0x28, 0xbc, 0x37, 0x0c, 0x85, 0x0a, 0x2f, 0x83, 0x7f, 0x39, 0x09, 0x66, 0x0a,
- 0x49, 0xda, 0xe7, 0xe3, 0xa5, 0xfa, 0xee, 0x7d, 0x3c, 0x47, 0x22, 0x9d, 0x2b, 0x60, 0xe6, 0xcf,
- 0x05, 0xcc, 0x8b, 0xe2, 0x47, 0xe1, 0xe2, 0xf8, 0xf1, 0xdf, 0x3e, 0xee, 0xc6, 0xbf, 0x33, 0x40,
- 0x26, 0xeb, 0x13, 0x72, 0x17, 0xca, 0x91, 0xef, 0x59, 0xa9, 0xae, 0x84, 0x76, 0x60, 0x29, 0xf2,
- 0xbd, 0x3d, 0xd9, 0x9e, 0xb8, 0xc4, 0x1f, 0x99, 0xa9, 0xfe, 0xc8, 0xa6, 0xfc, 0xe1, 0x9c, 0x37,
- 0x75, 0x7e, 0x5a, 0x44, 0x9e, 0xdc, 0xec, 0x5c, 0xb6, 0x2e, 0xcc, 0x60, 0xeb, 0xe2, 0xfb, 0xb1,
- 0xf5, 0x7e, 0xae, 0x94, 0xab, 0xe7, 0xe9, 0xf8, 0x05, 0x6c, 0xfc, 0x25, 0x03, 0xd5, 0xf4, 0x77,
- 0xbb, 0x60, 0x4c, 0x0a, 0xa2, 0xb2, 0xaa, 0x74, 0x6e, 0xa5, 0x6b, 0x0d, 0xfd, 0xe5, 0x31, 0x2a,
- 0x22, 0xae, 0x69, 0xb3, 0x8a, 0x22, 0xa4, 0xb6, 0xb7, 0xa0, 0x0d, 0x6b, 0x89, 0xa7, 0xca, 0xbc,
- 0x13, 0xb4, 0xe4, 0x64, 0x7e, 0xd5, 0x58, 0x5b, 0x9c, 0x96, 0xf1, 0x93, 0x2d, 0x34, 0x93, 0x1f,
- 0xa3, 0xce, 0x89, 0x17, 0xf8, 0x7b, 0x0b, 0x14, 0x14, 0xa5, 0x10, 0xcb, 0xb6, 0x8c, 0x2a, 0xbf,
- 0x0a, 0xba, 0x2d, 0xa3, 0xea, 0xaa, 0x7b, 0x50, 0x4b, 0x1a, 0x0f, 0x96, 0x13, 0xb8, 0xa8, 0xdd,
- 0x5d, 0x4d, 0x84, 0xdb, 0x81, 0x8b, 0x8d, 0xa7, 0x70, 0xfd, 0xc2, 0x35, 0xc8, 0x4d, 0xb8, 0xfe,
- 0x84, 0x1e, 0x3e, 0xb3, 0x8e, 0xe8, 0x61, 0xeb, 0x70, 0xfb, 0xf0, 0xc0, 0xda, 0xd9, 0x7d, 0xb2,
- 0xf9, 0xf2, 0xa0, 0x55, 0x5f, 0x20, 0xd7, 0x61, 0x59, 0x4e, 0xd1, 0xdd, 0x17, 0x2f, 0x77, 0x8f,
- 0x5b, 0xd6, 0xd1, 0x21, 0x6d, 0xd5, 0x8d, 0xad, 0xa5, 0xd4, 0x7a, 0xb2, 0xb7, 0xf3, 0x18, 0x2a,
- 0xa9, 0x26, 0xc4, 0xbc, 0xe6, 0x6c, 0x20, 0x54, 0x52, 0x69, 0x83, 0xdc, 0x80, 0x3c, 0x9e, 0xd9,
- 0x8e, 0x6e, 0x4c, 0xed, 0x2d, 0x50, 0x35, 0x24, 0x26, 0x14, 0x42, 0x86, 0xaf, 0xbc, 0x33, 0xc5,
- 0xb0, 0xb7, 0x40, 0xf5, 0x58, 0x20, 0x18, 0x76, 0xf0, 0x4c, 0x85, 0x16, 0x81, 0x90, 0xc3, 0xad,
- 0x2a, 0x80, 0x2c, 0xae, 0x2d, 0x3e, 0x08, 0xb1, 0xf1, 0x77, 0x43, 0x77, 0xa0, 0x50, 0xdc, 0xa2,
- 0x55, 0x28, 0xd9, 0x9c, 0x63, 0x3f, 0x94, 0xaf, 0xcd, 0x58, 0xcb, 0x27, 0xaf, 0x2d, 0x91, 0x92,
- 0x4d, 0x58, 0x0a, 0x91, 0x59, 0x9c, 0x0d, 0xac, 0xa4, 0x95, 0x92, 0x99, 0xd6, 0x4a, 0xa9, 0x85,
- 0xc8, 0x5a, 0x6c, 0xd0, 0xd2, 0x0d, 0x95, 0x9b, 0xe2, 0x43, 0x52, 0x10, 0x04, 0xbe, 0x0e, 0x7b,
- 0xb2, 0x59, 0x32, 0x38, 0xf4, 0x09, 0x85, 0x0f, 0xd5, 0x94, 0x48, 0x12, 0x1c, 0xad, 0x5e, 0xe0,
- 0xd8, 0x3d, 0x8f, 0x7b, 0x18, 0xe9, 0xda, 0x76, 0x65, 0x62, 0x95, 0xad, 0x20, 0xe8, 0xc9, 0x86,
- 0x05, 0xbd, 0x2e, 0xa1, 0x54, 0x22, 0x0f, 0x86, 0xc0, 0xc6, 0xbf, 0x32, 0x00, 0xa3, 0xc6, 0x01,
- 0xb9, 0x0f, 0x55, 0xbb, 0xd7, 0x0b, 0x4e, 0xad, 0x80, 0x79, 0x1d, 0xcf, 0xd7, 0x41, 0x25, 0x63,
- 0x1a, 0xb4, 0x22, 0xe5, 0x87, 0x52, 0x4c, 0xf6, 0xa1, 0x96, 0x56, 0x4b, 0x6a, 0xd5, 0x19, 0x93,
- 0x7c, 0x35, 0x45, 0x15, 0x89, 0xab, 0xa8, 0xb8, 0x54, 0xcd, 0x9e, 0xc4, 0x26, 0xa5, 0xf4, 0x4c,
- 0xc9, 0x46, 0x4a, 0x49, 0x4a, 0xce, 0xa6, 0x94, 0x92, 0x8a, 0xee, 0x3e, 0x2c, 0xe2, 0x59, 0x18,
- 0x8c, 0xd2, 0xa9, 0x4c, 0x09, 0x65, 0x5a, 0x53, 0xd2, 0x44, 0x6d, 0x03, 0x8a, 0x7d, 0xfb, 0xcc,
- 0xb2, 0x3b, 0x28, 0x1f, 0xdc, 0x95, 0xce, 0x29, 0xf4, 0xed, 0xb3, 0xcd, 0x0e, 0x92, 0xaf, 0x61,
- 0x59, 0xad, 0xef, 0x30, 0x74, 0xd1, 0xe7, 0x9e, 0xdd, 0x8b, 0x74, 0x97, 0xec, 0x2a, 0xa3, 0xd7,
- 0x25, 0x68, 0x7b, 0x84, 0x69, 0xfc, 0x26, 0x0f, 0x64, 0xb2, 0x95, 0x25, 0x3e, 0x53, 0x5d, 0xec,
- 0xd9, 0x83, 0x19, 0x5a, 0x11, 0x13, 0xe0, 0xe6, 0x8e, 0x40, 0x52, 0x45, 0x20, 0x98, 0xec, 0x76,
- 0x92, 0x50, 0xe7, 0x65, 0xda, 0x14, 0x48, 0xaa, 0x08, 0x56, 0x7e, 0x9d, 0x81, 0xbc, 0xa4, 0x26,
- 0xb7, 0xa0, 0x98, 0xf4, 0xc6, 0xd4, 0xbd, 0x17, 0x17, 0x22, 0x11, 0x91, 0x2d, 0xa8, 0xbc, 0xf2,
- 0xce, 0xd0, 0xb5, 0xd4, 0x09, 0xa6, 0x5d, 0x78, 0xf5, 0x68, 0x44, 0x9c, 0x92, 0xa8, 0x1d, 0xbd,
- 0xeb, 0x65, 0xe1, 0x24, 0x5f, 0x99, 0x49, 0x33, 0x65, 0xa7, 0x30, 0xed, 0x2d, 0xd0, 0x7a, 0x0a,
- 0xa5, 0x98, 0x36, 0x01, 0x52, 0xed, 0xb7, 0xfc, 0xac, 0xed, 0xb7, 0x14, 0x68, 0x6b, 0x19, 0x96,
- 0xba, 0x9c, 0x87, 0x6a, 0x17, 0x32, 0x10, 0xac, 0xfc, 0xcd, 0x80, 0xbc, 0x34, 0x0e, 0xf9, 0x1e,
- 0x54, 0xe4, 0x64, 0xc4, 0x6d, 0x1e, 0x47, 0xaa, 0x26, 0x1a, 0x1d, 0x49, 0x4c, 0x1d, 0xcb, 0x19,
- 0x72, 0x17, 0x2a, 0x1d, 0x16, 0x3a, 0x89, 0x62, 0x12, 0x67, 0x40, 0x08, 0x47, 0x2a, 0x02, 0xb0,
- 0x61, 0xa1, 0x6c, 0x5f, 0xe6, 0x12, 0x15, 0x29, 0xdc, 0x95, 0xdd, 0xc9, 0x6f, 0xe1, 0x38, 0x55,
- 0x00, 0xc9, 0x2f, 0x4f, 0xb2, 0x9f, 0x2b, 0x19, 0xf5, 0xcc, 0xd0, 0x79, 0x8d, 0x0d, 0xa8, 0xa6,
- 0x3b, 0xef, 0x22, 0x61, 0xf8, 0x71, 0xbf, 0x8d, 0x4c, 0x7a, 0xba, 0x46, 0xf5, 0x68, 0x3f, 0x57,
- 0xca, 0xd4, 0xb3, 0xaa, 0x19, 0xd0, 0xb8, 0x03, 0xc5, 0xa4, 0xe7, 0x39, 0x4c, 0xa3, 0x42, 0xdb,
- 0xd0, 0x69, 0x74, 0xeb, 0x47, 0x7f, 0x7e, 0x7b, 0xdb, 0xf8, 0xeb, 0xdb, 0xdb, 0xc6, 0x3f, 0xde,
- 0xde, 0x36, 0x7e, 0x76, 0x47, 0xed, 0xd6, 0x0b, 0xe4, 0x7f, 0x6b, 0x26, 0xff, 0xf9, 0xd3, 0x2e,
- 0x48, 0xcf, 0x3e, 0xf8, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x41, 0xf5, 0x90, 0x14, 0x19, 0x1a,
- 0x00, 0x00,
-}
-
-func (m *VirtualService) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *VirtualService) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *VirtualService) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.ExportTo) > 0 {
- for iNdEx := len(m.ExportTo) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.ExportTo[iNdEx])
- copy(dAtA[i:], m.ExportTo[iNdEx])
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.ExportTo[iNdEx])))
- i--
- dAtA[i] = 0x32
- }
- }
- if len(m.Tls) > 0 {
- for iNdEx := len(m.Tls) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Tls[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x2a
- }
- }
- if len(m.Tcp) > 0 {
- for iNdEx := len(m.Tcp) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Tcp[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x22
- }
- }
- if len(m.Http) > 0 {
- for iNdEx := len(m.Http) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Http[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- }
- if len(m.Gateways) > 0 {
- for iNdEx := len(m.Gateways) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.Gateways[iNdEx])
- copy(dAtA[i:], m.Gateways[iNdEx])
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Gateways[iNdEx])))
- i--
- dAtA[i] = 0x12
- }
- }
- if len(m.Hosts) > 0 {
- for iNdEx := len(m.Hosts) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.Hosts[iNdEx])
- copy(dAtA[i:], m.Hosts[iNdEx])
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Hosts[iNdEx])))
- i--
- dAtA[i] = 0xa
- }
- }
- return len(dAtA) - i, nil
-}
-
-func (m *Destination) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *Destination) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Destination) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Port != nil {
- {
- size, err := m.Port.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- if len(m.Subset) > 0 {
- i -= len(m.Subset)
- copy(dAtA[i:], m.Subset)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Subset)))
- i--
- dAtA[i] = 0x12
- }
- if len(m.Host) > 0 {
- i -= len(m.Host)
- copy(dAtA[i:], m.Host)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Host)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func (m *HTTPRoute) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *HTTPRoute) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HTTPRoute) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Delegate != nil {
- {
- size, err := m.Delegate.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1
- i--
- dAtA[i] = 0xa2
- }
- if m.MirrorPercentage != nil {
- {
- size, err := m.MirrorPercentage.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1
- i--
- dAtA[i] = 0x9a
- }
- if m.MirrorPercent != nil {
- {
- size, err := m.MirrorPercent.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1
- i--
- dAtA[i] = 0x92
- }
- if len(m.Name) > 0 {
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0x1
- i--
- dAtA[i] = 0x8a
- }
- if m.Headers != nil {
- {
- size, err := m.Headers.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1
- i--
- dAtA[i] = 0x82
- }
- if m.CorsPolicy != nil {
- {
- size, err := m.CorsPolicy.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x52
- }
- if m.Mirror != nil {
- {
- size, err := m.Mirror.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x4a
- }
- if m.Fault != nil {
- {
- size, err := m.Fault.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x42
- }
- if m.Retries != nil {
- {
- size, err := m.Retries.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x3a
- }
- if m.Timeout != nil {
- {
- size, err := m.Timeout.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x32
- }
- if m.Rewrite != nil {
- {
- size, err := m.Rewrite.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x22
- }
- if m.Redirect != nil {
- {
- size, err := m.Redirect.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- if len(m.Route) > 0 {
- for iNdEx := len(m.Route) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Route[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- }
- if len(m.Match) > 0 {
- for iNdEx := len(m.Match) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Match[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- }
- return len(dAtA) - i, nil
-}
-
-func (m *Delegate) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *Delegate) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Delegate) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Namespace) > 0 {
- i -= len(m.Namespace)
- copy(dAtA[i:], m.Namespace)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Namespace)))
- i--
- dAtA[i] = 0x12
- }
- if len(m.Name) > 0 {
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func (m *Headers) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *Headers) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Headers) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Response != nil {
- {
- size, err := m.Response.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- if m.Request != nil {
- {
- size, err := m.Request.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func (m *Headers_HeaderOperations) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *Headers_HeaderOperations) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Headers_HeaderOperations) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Remove) > 0 {
- for iNdEx := len(m.Remove) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.Remove[iNdEx])
- copy(dAtA[i:], m.Remove[iNdEx])
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Remove[iNdEx])))
- i--
- dAtA[i] = 0x1a
- }
- }
- if len(m.Add) > 0 {
- for k := range m.Add {
- v := m.Add[k]
- baseI := i
- i -= len(v)
- copy(dAtA[i:], v)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(v)))
- i--
- dAtA[i] = 0x12
- i -= len(k)
- copy(dAtA[i:], k)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(k)))
- i--
- dAtA[i] = 0xa
- i = encodeVarintVirtualService(dAtA, i, uint64(baseI-i))
- i--
- dAtA[i] = 0x12
- }
- }
- if len(m.Set) > 0 {
- for k := range m.Set {
- v := m.Set[k]
- baseI := i
- i -= len(v)
- copy(dAtA[i:], v)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(v)))
- i--
- dAtA[i] = 0x12
- i -= len(k)
- copy(dAtA[i:], k)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(k)))
- i--
- dAtA[i] = 0xa
- i = encodeVarintVirtualService(dAtA, i, uint64(baseI-i))
- i--
- dAtA[i] = 0xa
- }
- }
- return len(dAtA) - i, nil
-}
-
-func (m *TLSRoute) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *TLSRoute) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *TLSRoute) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Route) > 0 {
- for iNdEx := len(m.Route) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Route[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- }
- if len(m.Match) > 0 {
- for iNdEx := len(m.Match) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Match[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- }
- return len(dAtA) - i, nil
-}
-
-func (m *TCPRoute) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *TCPRoute) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *TCPRoute) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Route) > 0 {
- for iNdEx := len(m.Route) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Route[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- }
- if len(m.Match) > 0 {
- for iNdEx := len(m.Match) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Match[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- }
- return len(dAtA) - i, nil
-}
-
-func (m *HTTPMatchRequest) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *HTTPMatchRequest) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HTTPMatchRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.SourceNamespace) > 0 {
- i -= len(m.SourceNamespace)
- copy(dAtA[i:], m.SourceNamespace)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.SourceNamespace)))
- i--
- dAtA[i] = 0x6a
- }
- if len(m.WithoutHeaders) > 0 {
- for k := range m.WithoutHeaders {
- v := m.WithoutHeaders[k]
- baseI := i
- if v != nil {
- {
- size, err := v.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- i -= len(k)
- copy(dAtA[i:], k)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(k)))
- i--
- dAtA[i] = 0xa
- i = encodeVarintVirtualService(dAtA, i, uint64(baseI-i))
- i--
- dAtA[i] = 0x62
- }
- }
- if len(m.Name) > 0 {
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0x5a
- }
- if m.IgnoreUriCase {
- i--
- if m.IgnoreUriCase {
- dAtA[i] = 1
- } else {
- dAtA[i] = 0
- }
- i--
- dAtA[i] = 0x50
- }
- if len(m.QueryParams) > 0 {
- for k := range m.QueryParams {
- v := m.QueryParams[k]
- baseI := i
- if v != nil {
- {
- size, err := v.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- i -= len(k)
- copy(dAtA[i:], k)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(k)))
- i--
- dAtA[i] = 0xa
- i = encodeVarintVirtualService(dAtA, i, uint64(baseI-i))
- i--
- dAtA[i] = 0x4a
- }
- }
- if len(m.Gateways) > 0 {
- for iNdEx := len(m.Gateways) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.Gateways[iNdEx])
- copy(dAtA[i:], m.Gateways[iNdEx])
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Gateways[iNdEx])))
- i--
- dAtA[i] = 0x42
- }
- }
- if len(m.SourceLabels) > 0 {
- for k := range m.SourceLabels {
- v := m.SourceLabels[k]
- baseI := i
- i -= len(v)
- copy(dAtA[i:], v)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(v)))
- i--
- dAtA[i] = 0x12
- i -= len(k)
- copy(dAtA[i:], k)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(k)))
- i--
- dAtA[i] = 0xa
- i = encodeVarintVirtualService(dAtA, i, uint64(baseI-i))
- i--
- dAtA[i] = 0x3a
- }
- }
- if m.Port != 0 {
- i = encodeVarintVirtualService(dAtA, i, uint64(m.Port))
- i--
- dAtA[i] = 0x30
- }
- if len(m.Headers) > 0 {
- for k := range m.Headers {
- v := m.Headers[k]
- baseI := i
- if v != nil {
- {
- size, err := v.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- i -= len(k)
- copy(dAtA[i:], k)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(k)))
- i--
- dAtA[i] = 0xa
- i = encodeVarintVirtualService(dAtA, i, uint64(baseI-i))
- i--
- dAtA[i] = 0x2a
- }
- }
- if m.Authority != nil {
- {
- size, err := m.Authority.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x22
- }
- if m.Method != nil {
- {
- size, err := m.Method.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- if m.Scheme != nil {
- {
- size, err := m.Scheme.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- if m.Uri != nil {
- {
- size, err := m.Uri.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
+type isHTTPFaultInjection_Abort_ErrorType interface {
+ isHTTPFaultInjection_Abort_ErrorType()
}
-func (m *HTTPRouteDestination) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
+type HTTPFaultInjection_Abort_HttpStatus struct {
+ // HTTP status code to use to abort the Http request.
+ HttpStatus int32 `protobuf:"varint,2,opt,name=http_status,json=httpStatus,proto3,oneof"`
}
-func (m *HTTPRouteDestination) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+type HTTPFaultInjection_Abort_GrpcStatus struct {
+ // $hide_from_docs
+ GrpcStatus string `protobuf:"bytes,3,opt,name=grpc_status,json=grpcStatus,proto3,oneof"`
}
-func (m *HTTPRouteDestination) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Headers != nil {
- {
- size, err := m.Headers.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x3a
- }
- if m.Weight != 0 {
- i = encodeVarintVirtualService(dAtA, i, uint64(m.Weight))
- i--
- dAtA[i] = 0x10
- }
- if m.Destination != nil {
- {
- size, err := m.Destination.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
+type HTTPFaultInjection_Abort_Http2Error struct {
+ // $hide_from_docs
+ Http2Error string `protobuf:"bytes,4,opt,name=http2_error,json=http2Error,proto3,oneof"`
}
-func (m *RouteDestination) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
+func (*HTTPFaultInjection_Abort_HttpStatus) isHTTPFaultInjection_Abort_ErrorType() {}
-func (m *RouteDestination) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
+func (*HTTPFaultInjection_Abort_GrpcStatus) isHTTPFaultInjection_Abort_ErrorType() {}
-func (m *RouteDestination) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Weight != 0 {
- i = encodeVarintVirtualService(dAtA, i, uint64(m.Weight))
- i--
- dAtA[i] = 0x10
- }
- if m.Destination != nil {
- {
- size, err := m.Destination.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func (m *L4MatchAttributes) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *L4MatchAttributes) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *L4MatchAttributes) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.SourceNamespace) > 0 {
- i -= len(m.SourceNamespace)
- copy(dAtA[i:], m.SourceNamespace)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.SourceNamespace)))
- i--
- dAtA[i] = 0x32
- }
- if len(m.Gateways) > 0 {
- for iNdEx := len(m.Gateways) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.Gateways[iNdEx])
- copy(dAtA[i:], m.Gateways[iNdEx])
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Gateways[iNdEx])))
- i--
- dAtA[i] = 0x2a
- }
- }
- if len(m.SourceLabels) > 0 {
- for k := range m.SourceLabels {
- v := m.SourceLabels[k]
- baseI := i
- i -= len(v)
- copy(dAtA[i:], v)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(v)))
- i--
- dAtA[i] = 0x12
- i -= len(k)
- copy(dAtA[i:], k)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(k)))
- i--
- dAtA[i] = 0xa
- i = encodeVarintVirtualService(dAtA, i, uint64(baseI-i))
- i--
- dAtA[i] = 0x22
- }
- }
- if len(m.SourceSubnet) > 0 {
- i -= len(m.SourceSubnet)
- copy(dAtA[i:], m.SourceSubnet)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.SourceSubnet)))
- i--
- dAtA[i] = 0x1a
- }
- if m.Port != 0 {
- i = encodeVarintVirtualService(dAtA, i, uint64(m.Port))
- i--
- dAtA[i] = 0x10
- }
- if len(m.DestinationSubnets) > 0 {
- for iNdEx := len(m.DestinationSubnets) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.DestinationSubnets[iNdEx])
- copy(dAtA[i:], m.DestinationSubnets[iNdEx])
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.DestinationSubnets[iNdEx])))
- i--
- dAtA[i] = 0xa
- }
- }
- return len(dAtA) - i, nil
-}
+func (*HTTPFaultInjection_Abort_Http2Error) isHTTPFaultInjection_Abort_ErrorType() {}
-func (m *TLSMatchAttributes) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
+var File_networking_v1beta1_virtual_service_proto protoreflect.FileDescriptor
+
+var file_networking_v1beta1_virtual_service_proto_rawDesc = []byte{
+ 0x0a, 0x28, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62,
+ 0x65, 0x74, 0x61, 0x31, 0x2f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x72,
+ 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x69, 0x73, 0x74, 0x69,
+ 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62,
+ 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
+ 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x84, 0x02, 0x0a, 0x0e, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61,
+ 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x6f, 0x73, 0x74,
+ 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x1a,
+ 0x0a, 0x08, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09,
+ 0x52, 0x08, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x12, 0x37, 0x0a, 0x04, 0x68, 0x74,
+ 0x74, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f,
+ 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65,
+ 0x74, 0x61, 0x31, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x04, 0x68,
+ 0x74, 0x74, 0x70, 0x12, 0x34, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x22, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
+ 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x4c, 0x53, 0x52,
+ 0x6f, 0x75, 0x74, 0x65, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x12, 0x34, 0x0a, 0x03, 0x74, 0x63, 0x70,
+ 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e,
+ 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
+ 0x31, 0x2e, 0x54, 0x43, 0x50, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x03, 0x74, 0x63, 0x70, 0x12,
+ 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x74, 0x6f, 0x18, 0x06, 0x20, 0x03,
+ 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x6f, 0x22, 0x7b, 0x0a, 0x0b,
+ 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x04, 0x68,
+ 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52,
+ 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x12, 0x3a, 0x0a,
+ 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x73,
+ 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76,
+ 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x91, 0x08, 0x0a, 0x09, 0x48, 0x54,
+ 0x54, 0x50, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
+ 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x05, 0x6d,
+ 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x69, 0x73, 0x74,
+ 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31,
+ 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x44, 0x0a,
+ 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x69,
+ 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e,
+ 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x52, 0x6f, 0x75, 0x74,
+ 0x65, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x72, 0x6f,
+ 0x75, 0x74, 0x65, 0x12, 0x42, 0x0a, 0x08, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65,
+ 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
+ 0x2e, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x08, 0x72,
+ 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x3e, 0x0a, 0x08, 0x64, 0x65, 0x6c, 0x65, 0x67,
+ 0x61, 0x74, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x73, 0x74, 0x69,
+ 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62,
+ 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x08, 0x64,
+ 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x07, 0x72, 0x65, 0x77, 0x72, 0x69,
+ 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f,
+ 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65,
+ 0x74, 0x61, 0x31, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52,
+ 0x07, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65,
+ 0x6f, 0x75, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x3d, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23,
+ 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e,
+ 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65,
+ 0x74, 0x72, 0x79, 0x52, 0x07, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x05,
+ 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x73,
+ 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76,
+ 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x46, 0x61, 0x75, 0x6c, 0x74,
+ 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x66, 0x61, 0x75, 0x6c, 0x74,
+ 0x12, 0x3d, 0x0a, 0x06, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x25, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
+ 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74,
+ 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x12,
+ 0x47, 0x0a, 0x0e, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e,
+ 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32,
+ 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0d, 0x6d, 0x69, 0x72, 0x72, 0x6f,
+ 0x72, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x4e, 0x0a, 0x11, 0x6d, 0x69, 0x72, 0x72,
+ 0x6f, 0x72, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x13, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77,
+ 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50,
+ 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x10, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x65,
+ 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, 0x45, 0x0a, 0x0b, 0x63, 0x6f, 0x72, 0x73,
+ 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e,
+ 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67,
+ 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x72, 0x73, 0x50, 0x6f, 0x6c,
+ 0x69, 0x63, 0x79, 0x52, 0x0a, 0x63, 0x6f, 0x72, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12,
+ 0x3b, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x21, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
+ 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x64,
+ 0x65, 0x72, 0x73, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4a, 0x04, 0x08, 0x05,
+ 0x10, 0x06, 0x4a, 0x04, 0x08, 0x0b, 0x10, 0x10, 0x52, 0x11, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63,
+ 0x6b, 0x65, 0x74, 0x5f, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x0e, 0x61, 0x70, 0x70,
+ 0x65, 0x6e, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x17, 0x72, 0x65, 0x6d,
+ 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61,
+ 0x64, 0x65, 0x72, 0x73, 0x52, 0x17, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x16, 0x72,
+ 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65,
+ 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x16, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x72, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x22, 0x3c, 0x0a,
+ 0x08, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
+ 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a,
+ 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xe2, 0x03, 0x0a, 0x07,
+ 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x4c, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f,
+ 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65,
+ 0x74, 0x61, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64,
+ 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x72, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e,
+ 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
+ 0x61, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65,
+ 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x08, 0x72, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0xb8, 0x02, 0x0a, 0x10, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
+ 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4d, 0x0a, 0x03, 0x73, 0x65,
+ 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e,
+ 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
+ 0x61, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65,
+ 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x65, 0x74, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x73, 0x65, 0x74, 0x12, 0x4d, 0x0a, 0x03, 0x61, 0x64, 0x64,
+ 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e,
+ 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
+ 0x31, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
+ 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x52, 0x03, 0x61, 0x64, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f,
+ 0x76, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65,
+ 0x1a, 0x36, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
+ 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
+ 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x36, 0x0a, 0x08, 0x41, 0x64, 0x64, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
+ 0x22, 0x96, 0x01, 0x0a, 0x08, 0x54, 0x4c, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x48, 0x0a,
+ 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69,
+ 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e,
+ 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x4c, 0x53, 0x4d, 0x61, 0x74, 0x63, 0x68,
+ 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02,
+ 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x40, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65,
+ 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e,
+ 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
+ 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x22, 0x8f, 0x01, 0x0a, 0x08, 0x54, 0x43,
+ 0x50, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x41, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18,
+ 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65,
+ 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
+ 0x2e, 0x4c, 0x34, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
+ 0x65, 0x73, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x40, 0x0a, 0x05, 0x72, 0x6f, 0x75,
+ 0x74, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f,
+ 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65,
+ 0x74, 0x61, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x22, 0x99, 0x09, 0x0a, 0x10,
+ 0x48, 0x54, 0x54, 0x50, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
+ 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x25, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
+ 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72,
+ 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x3d, 0x0a,
+ 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e,
+ 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67,
+ 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d,
+ 0x61, 0x74, 0x63, 0x68, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x06,
+ 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x69,
+ 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e,
+ 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61,
+ 0x74, 0x63, 0x68, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x43, 0x0a, 0x09, 0x61,
+ 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25,
+ 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e,
+ 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
+ 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79,
+ 0x12, 0x51, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
+ 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x48, 0x54, 0x54,
+ 0x50, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x48, 0x65,
+ 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64,
+ 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x61, 0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c,
+ 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e,
+ 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x4d, 0x61,
+ 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x73, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x61,
+ 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x67, 0x61,
+ 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x12, 0x5e, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f,
+ 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x69,
+ 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e,
+ 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x4d, 0x61, 0x74, 0x63,
+ 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61,
+ 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79,
+ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65,
+ 0x5f, 0x75, 0x72, 0x69, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0d, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x55, 0x72, 0x69, 0x43, 0x61, 0x73, 0x65, 0x12, 0x67,
+ 0x0a, 0x0f, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72,
+ 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e,
+ 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
+ 0x61, 0x31, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65,
+ 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74,
+ 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x1a, 0x61, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77,
+ 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53,
+ 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3f, 0x0a, 0x11, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c,
+ 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
+ 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x65, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50,
+ 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
+ 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3b, 0x0a, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x69, 0x73,
+ 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76,
+ 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74,
+ 0x63, 0x68, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x68, 0x0a,
+ 0x13, 0x57, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65,
+ 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
+ 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa2, 0x02, 0x0a, 0x14, 0x48, 0x54, 0x54, 0x50,
+ 0x52, 0x6f, 0x75, 0x74, 0x65, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x12, 0x4d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65,
+ 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
+ 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x04, 0xe2, 0x41,
+ 0x01, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
+ 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x3b, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65,
+ 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f,
+ 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65,
+ 0x74, 0x61, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x07, 0x68, 0x65, 0x61,
+ 0x64, 0x65, 0x72, 0x73, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x07, 0x52, 0x17, 0x72, 0x65, 0x6d, 0x6f,
+ 0x76, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64,
+ 0x65, 0x72, 0x73, 0x52, 0x17, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x16, 0x72, 0x65,
+ 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61,
+ 0x64, 0x65, 0x72, 0x73, 0x52, 0x16, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x22, 0x79, 0x0a, 0x10,
+ 0x52, 0x6f, 0x75, 0x74, 0x65, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x12, 0x4d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65,
+ 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
+ 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x04, 0xe2, 0x41,
+ 0x01, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
+ 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0xe9, 0x02, 0x0a, 0x11, 0x4c, 0x34, 0x4d, 0x61,
+ 0x74, 0x63, 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x2f, 0x0a,
+ 0x13, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x75, 0x62,
+ 0x6e, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x64, 0x65, 0x73, 0x74,
+ 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x12, 0x12,
+ 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f,
+ 0x72, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x75, 0x62,
+ 0x6e, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x12, 0x62, 0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d,
+ 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e,
+ 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x34, 0x4d, 0x61, 0x74, 0x63,
+ 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x53, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x67,
+ 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x67,
+ 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x1a, 0x3f, 0x0a, 0x11, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65,
+ 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
+ 0x02, 0x38, 0x01, 0x22, 0xfe, 0x02, 0x0a, 0x12, 0x54, 0x4c, 0x53, 0x4d, 0x61, 0x74, 0x63, 0x68,
+ 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x09, 0x73, 0x6e,
+ 0x69, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x04, 0xe2,
+ 0x41, 0x01, 0x02, 0x52, 0x08, 0x73, 0x6e, 0x69, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x2f, 0x0a,
+ 0x13, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x75, 0x62,
+ 0x6e, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x64, 0x65, 0x73, 0x74,
+ 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x12, 0x12,
+ 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f,
+ 0x72, 0x74, 0x12, 0x63, 0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x62,
+ 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x69, 0x73, 0x74, 0x69,
+ 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62,
+ 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x4c, 0x53, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x74, 0x74,
+ 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x61,
+ 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x61, 0x74, 0x65, 0x77,
+ 0x61, 0x79, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x67, 0x61, 0x74, 0x65, 0x77,
+ 0x61, 0x79, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61,
+ 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x1a, 0x3f,
+ 0x0a, 0x11, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x4a,
+ 0x04, 0x08, 0x04, 0x10, 0x05, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x75,
+ 0x62, 0x6e, 0x65, 0x74, 0x22, 0xce, 0x02, 0x0a, 0x0c, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x64,
+ 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f,
+ 0x72, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68,
+ 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x5f, 0x0a, 0x0b, 0x64,
+ 0x65, 0x72, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e,
+ 0x32, 0x3c, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
+ 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x48, 0x54, 0x54, 0x50,
+ 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63,
+ 0x74, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00,
+ 0x52, 0x0a, 0x64, 0x65, 0x72, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06,
+ 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63,
+ 0x68, 0x65, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74,
+ 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x64,
+ 0x69, 0x72, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x49, 0x0a, 0x15, 0x52, 0x65, 0x64,
+ 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x15, 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f,
+ 0x43, 0x4f, 0x4c, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x15, 0x0a,
+ 0x11, 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x50, 0x4f,
+ 0x52, 0x54, 0x10, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74,
+ 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x3d, 0x0a, 0x0b, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x77,
+ 0x72, 0x69, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72,
+ 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f,
+ 0x72, 0x69, 0x74, 0x79, 0x22, 0x65, 0x0a, 0x0b, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61,
+ 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x05, 0x65, 0x78, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x65, 0x78, 0x61, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x06, 0x70,
+ 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x70,
+ 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x16, 0x0a, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x42, 0x0c, 0x0a,
+ 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xdf, 0x01, 0x0a, 0x09,
+ 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x74, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x08, 0x61, 0x74, 0x74,
+ 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x04, 0xe2, 0x41, 0x01,
+ 0x02, 0x52, 0x08, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x12, 0x41, 0x0a, 0x0f, 0x70,
+ 0x65, 0x72, 0x5f, 0x74, 0x72, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
+ 0x0d, 0x70, 0x65, 0x72, 0x54, 0x72, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x19,
+ 0x0a, 0x08, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x72, 0x79, 0x4f, 0x6e, 0x12, 0x52, 0x0a, 0x17, 0x72, 0x65, 0x74,
+ 0x72, 0x79, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69,
+ 0x74, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f,
+ 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x72, 0x65, 0x74, 0x72, 0x79, 0x52, 0x65, 0x6d,
+ 0x6f, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0xed, 0x02,
+ 0x0a, 0x0a, 0x43, 0x6f, 0x72, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x25, 0x0a, 0x0c,
+ 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x03,
+ 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4f, 0x72, 0x69,
+ 0x67, 0x69, 0x6e, 0x12, 0x4a, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6f, 0x72, 0x69,
+ 0x67, 0x69, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x69, 0x73, 0x74,
+ 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31,
+ 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63,
+ 0x68, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x73, 0x12,
+ 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73,
+ 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x74,
+ 0x68, 0x6f, 0x64, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x68, 0x65,
+ 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6c, 0x6c,
+ 0x6f, 0x77, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x70,
+ 0x6f, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28,
+ 0x09, 0x52, 0x0d, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73,
+ 0x12, 0x32, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x6d, 0x61,
+ 0x78, 0x41, 0x67, 0x65, 0x12, 0x47, 0x0a, 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x72,
+ 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x61, 0x6c, 0x6c,
+ 0x6f, 0x77, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x22, 0x8d, 0x05,
+ 0x0a, 0x12, 0x48, 0x54, 0x54, 0x50, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x6a, 0x65, 0x63,
+ 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77,
+ 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x48,
+ 0x54, 0x54, 0x50, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f,
+ 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x48,
+ 0x0a, 0x05, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e,
+ 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67,
+ 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x46, 0x61, 0x75,
+ 0x6c, 0x74, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x62, 0x6f, 0x72,
+ 0x74, 0x52, 0x05, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x1a, 0x89, 0x02, 0x0a, 0x05, 0x44, 0x65, 0x6c,
+ 0x61, 0x79, 0x12, 0x1c, 0x0a, 0x07, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x05, 0x42, 0x02, 0x18, 0x01, 0x52, 0x07, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74,
+ 0x12, 0x42, 0x0a, 0x0b, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x69, 0x78, 0x65, 0x64, 0x44,
+ 0x65, 0x6c, 0x61, 0x79, 0x12, 0x48, 0x0a, 0x11, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74,
+ 0x69, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x10, 0x65, 0x78,
+ 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x41,
+ 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f,
+ 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x65,
+ 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67,
+ 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x1a, 0xd6, 0x01, 0x0a, 0x05, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x12, 0x27,
+ 0x0a, 0x0b, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x05, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x68, 0x74, 0x74,
+ 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x5f,
+ 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a,
+ 0x67, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x0b, 0x68, 0x74,
+ 0x74, 0x70, 0x32, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48,
+ 0x00, 0x52, 0x0a, 0x68, 0x74, 0x74, 0x70, 0x32, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x41, 0x0a,
+ 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x21, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
+ 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x65, 0x72,
+ 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65,
+ 0x42, 0x0c, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x4a, 0x04,
+ 0x08, 0x01, 0x10, 0x02, 0x52, 0x07, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x22, 0x32, 0x0a,
+ 0x0c, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a,
+ 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6e,
+ 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d,
+ 0x65, 0x22, 0x1f, 0x0a, 0x07, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x42, 0x21, 0x5a, 0x1f, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61,
+ 0x70, 0x69, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31,
+ 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
-func (m *TLSMatchAttributes) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
+var (
+ file_networking_v1beta1_virtual_service_proto_rawDescOnce sync.Once
+ file_networking_v1beta1_virtual_service_proto_rawDescData = file_networking_v1beta1_virtual_service_proto_rawDesc
+)
-func (m *TLSMatchAttributes) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.SourceNamespace) > 0 {
- i -= len(m.SourceNamespace)
- copy(dAtA[i:], m.SourceNamespace)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.SourceNamespace)))
- i--
- dAtA[i] = 0x3a
- }
- if len(m.Gateways) > 0 {
- for iNdEx := len(m.Gateways) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.Gateways[iNdEx])
- copy(dAtA[i:], m.Gateways[iNdEx])
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Gateways[iNdEx])))
- i--
- dAtA[i] = 0x32
- }
- }
- if len(m.SourceLabels) > 0 {
- for k := range m.SourceLabels {
- v := m.SourceLabels[k]
- baseI := i
- i -= len(v)
- copy(dAtA[i:], v)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(v)))
- i--
- dAtA[i] = 0x12
- i -= len(k)
- copy(dAtA[i:], k)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(k)))
- i--
- dAtA[i] = 0xa
- i = encodeVarintVirtualService(dAtA, i, uint64(baseI-i))
- i--
- dAtA[i] = 0x2a
- }
+func file_networking_v1beta1_virtual_service_proto_rawDescGZIP() []byte {
+ file_networking_v1beta1_virtual_service_proto_rawDescOnce.Do(func() {
+ file_networking_v1beta1_virtual_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_networking_v1beta1_virtual_service_proto_rawDescData)
+ })
+ return file_networking_v1beta1_virtual_service_proto_rawDescData
+}
+
+var file_networking_v1beta1_virtual_service_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_networking_v1beta1_virtual_service_proto_msgTypes = make([]protoimpl.MessageInfo, 31)
+var file_networking_v1beta1_virtual_service_proto_goTypes = []interface{}{
+ (HTTPRedirect_RedirectPortSelection)(0), // 0: istio.networking.v1beta1.HTTPRedirect.RedirectPortSelection
+ (*VirtualService)(nil), // 1: istio.networking.v1beta1.VirtualService
+ (*Destination)(nil), // 2: istio.networking.v1beta1.Destination
+ (*HTTPRoute)(nil), // 3: istio.networking.v1beta1.HTTPRoute
+ (*Delegate)(nil), // 4: istio.networking.v1beta1.Delegate
+ (*Headers)(nil), // 5: istio.networking.v1beta1.Headers
+ (*TLSRoute)(nil), // 6: istio.networking.v1beta1.TLSRoute
+ (*TCPRoute)(nil), // 7: istio.networking.v1beta1.TCPRoute
+ (*HTTPMatchRequest)(nil), // 8: istio.networking.v1beta1.HTTPMatchRequest
+ (*HTTPRouteDestination)(nil), // 9: istio.networking.v1beta1.HTTPRouteDestination
+ (*RouteDestination)(nil), // 10: istio.networking.v1beta1.RouteDestination
+ (*L4MatchAttributes)(nil), // 11: istio.networking.v1beta1.L4MatchAttributes
+ (*TLSMatchAttributes)(nil), // 12: istio.networking.v1beta1.TLSMatchAttributes
+ (*HTTPRedirect)(nil), // 13: istio.networking.v1beta1.HTTPRedirect
+ (*HTTPRewrite)(nil), // 14: istio.networking.v1beta1.HTTPRewrite
+ (*StringMatch)(nil), // 15: istio.networking.v1beta1.StringMatch
+ (*HTTPRetry)(nil), // 16: istio.networking.v1beta1.HTTPRetry
+ (*CorsPolicy)(nil), // 17: istio.networking.v1beta1.CorsPolicy
+ (*HTTPFaultInjection)(nil), // 18: istio.networking.v1beta1.HTTPFaultInjection
+ (*PortSelector)(nil), // 19: istio.networking.v1beta1.PortSelector
+ (*Percent)(nil), // 20: istio.networking.v1beta1.Percent
+ (*Headers_HeaderOperations)(nil), // 21: istio.networking.v1beta1.Headers.HeaderOperations
+ nil, // 22: istio.networking.v1beta1.Headers.HeaderOperations.SetEntry
+ nil, // 23: istio.networking.v1beta1.Headers.HeaderOperations.AddEntry
+ nil, // 24: istio.networking.v1beta1.HTTPMatchRequest.HeadersEntry
+ nil, // 25: istio.networking.v1beta1.HTTPMatchRequest.SourceLabelsEntry
+ nil, // 26: istio.networking.v1beta1.HTTPMatchRequest.QueryParamsEntry
+ nil, // 27: istio.networking.v1beta1.HTTPMatchRequest.WithoutHeadersEntry
+ nil, // 28: istio.networking.v1beta1.L4MatchAttributes.SourceLabelsEntry
+ nil, // 29: istio.networking.v1beta1.TLSMatchAttributes.SourceLabelsEntry
+ (*HTTPFaultInjection_Delay)(nil), // 30: istio.networking.v1beta1.HTTPFaultInjection.Delay
+ (*HTTPFaultInjection_Abort)(nil), // 31: istio.networking.v1beta1.HTTPFaultInjection.Abort
+ (*duration.Duration)(nil), // 32: google.protobuf.Duration
+ (*wrappers.UInt32Value)(nil), // 33: google.protobuf.UInt32Value
+ (*wrappers.BoolValue)(nil), // 34: google.protobuf.BoolValue
+}
+var file_networking_v1beta1_virtual_service_proto_depIdxs = []int32{
+ 3, // 0: istio.networking.v1beta1.VirtualService.http:type_name -> istio.networking.v1beta1.HTTPRoute
+ 6, // 1: istio.networking.v1beta1.VirtualService.tls:type_name -> istio.networking.v1beta1.TLSRoute
+ 7, // 2: istio.networking.v1beta1.VirtualService.tcp:type_name -> istio.networking.v1beta1.TCPRoute
+ 19, // 3: istio.networking.v1beta1.Destination.port:type_name -> istio.networking.v1beta1.PortSelector
+ 8, // 4: istio.networking.v1beta1.HTTPRoute.match:type_name -> istio.networking.v1beta1.HTTPMatchRequest
+ 9, // 5: istio.networking.v1beta1.HTTPRoute.route:type_name -> istio.networking.v1beta1.HTTPRouteDestination
+ 13, // 6: istio.networking.v1beta1.HTTPRoute.redirect:type_name -> istio.networking.v1beta1.HTTPRedirect
+ 4, // 7: istio.networking.v1beta1.HTTPRoute.delegate:type_name -> istio.networking.v1beta1.Delegate
+ 14, // 8: istio.networking.v1beta1.HTTPRoute.rewrite:type_name -> istio.networking.v1beta1.HTTPRewrite
+ 32, // 9: istio.networking.v1beta1.HTTPRoute.timeout:type_name -> google.protobuf.Duration
+ 16, // 10: istio.networking.v1beta1.HTTPRoute.retries:type_name -> istio.networking.v1beta1.HTTPRetry
+ 18, // 11: istio.networking.v1beta1.HTTPRoute.fault:type_name -> istio.networking.v1beta1.HTTPFaultInjection
+ 2, // 12: istio.networking.v1beta1.HTTPRoute.mirror:type_name -> istio.networking.v1beta1.Destination
+ 33, // 13: istio.networking.v1beta1.HTTPRoute.mirror_percent:type_name -> google.protobuf.UInt32Value
+ 20, // 14: istio.networking.v1beta1.HTTPRoute.mirror_percentage:type_name -> istio.networking.v1beta1.Percent
+ 17, // 15: istio.networking.v1beta1.HTTPRoute.cors_policy:type_name -> istio.networking.v1beta1.CorsPolicy
+ 5, // 16: istio.networking.v1beta1.HTTPRoute.headers:type_name -> istio.networking.v1beta1.Headers
+ 21, // 17: istio.networking.v1beta1.Headers.request:type_name -> istio.networking.v1beta1.Headers.HeaderOperations
+ 21, // 18: istio.networking.v1beta1.Headers.response:type_name -> istio.networking.v1beta1.Headers.HeaderOperations
+ 12, // 19: istio.networking.v1beta1.TLSRoute.match:type_name -> istio.networking.v1beta1.TLSMatchAttributes
+ 10, // 20: istio.networking.v1beta1.TLSRoute.route:type_name -> istio.networking.v1beta1.RouteDestination
+ 11, // 21: istio.networking.v1beta1.TCPRoute.match:type_name -> istio.networking.v1beta1.L4MatchAttributes
+ 10, // 22: istio.networking.v1beta1.TCPRoute.route:type_name -> istio.networking.v1beta1.RouteDestination
+ 15, // 23: istio.networking.v1beta1.HTTPMatchRequest.uri:type_name -> istio.networking.v1beta1.StringMatch
+ 15, // 24: istio.networking.v1beta1.HTTPMatchRequest.scheme:type_name -> istio.networking.v1beta1.StringMatch
+ 15, // 25: istio.networking.v1beta1.HTTPMatchRequest.method:type_name -> istio.networking.v1beta1.StringMatch
+ 15, // 26: istio.networking.v1beta1.HTTPMatchRequest.authority:type_name -> istio.networking.v1beta1.StringMatch
+ 24, // 27: istio.networking.v1beta1.HTTPMatchRequest.headers:type_name -> istio.networking.v1beta1.HTTPMatchRequest.HeadersEntry
+ 25, // 28: istio.networking.v1beta1.HTTPMatchRequest.source_labels:type_name -> istio.networking.v1beta1.HTTPMatchRequest.SourceLabelsEntry
+ 26, // 29: istio.networking.v1beta1.HTTPMatchRequest.query_params:type_name -> istio.networking.v1beta1.HTTPMatchRequest.QueryParamsEntry
+ 27, // 30: istio.networking.v1beta1.HTTPMatchRequest.without_headers:type_name -> istio.networking.v1beta1.HTTPMatchRequest.WithoutHeadersEntry
+ 2, // 31: istio.networking.v1beta1.HTTPRouteDestination.destination:type_name -> istio.networking.v1beta1.Destination
+ 5, // 32: istio.networking.v1beta1.HTTPRouteDestination.headers:type_name -> istio.networking.v1beta1.Headers
+ 2, // 33: istio.networking.v1beta1.RouteDestination.destination:type_name -> istio.networking.v1beta1.Destination
+ 28, // 34: istio.networking.v1beta1.L4MatchAttributes.source_labels:type_name -> istio.networking.v1beta1.L4MatchAttributes.SourceLabelsEntry
+ 29, // 35: istio.networking.v1beta1.TLSMatchAttributes.source_labels:type_name -> istio.networking.v1beta1.TLSMatchAttributes.SourceLabelsEntry
+ 0, // 36: istio.networking.v1beta1.HTTPRedirect.derive_port:type_name -> istio.networking.v1beta1.HTTPRedirect.RedirectPortSelection
+ 32, // 37: istio.networking.v1beta1.HTTPRetry.per_try_timeout:type_name -> google.protobuf.Duration
+ 34, // 38: istio.networking.v1beta1.HTTPRetry.retry_remote_localities:type_name -> google.protobuf.BoolValue
+ 15, // 39: istio.networking.v1beta1.CorsPolicy.allow_origins:type_name -> istio.networking.v1beta1.StringMatch
+ 32, // 40: istio.networking.v1beta1.CorsPolicy.max_age:type_name -> google.protobuf.Duration
+ 34, // 41: istio.networking.v1beta1.CorsPolicy.allow_credentials:type_name -> google.protobuf.BoolValue
+ 30, // 42: istio.networking.v1beta1.HTTPFaultInjection.delay:type_name -> istio.networking.v1beta1.HTTPFaultInjection.Delay
+ 31, // 43: istio.networking.v1beta1.HTTPFaultInjection.abort:type_name -> istio.networking.v1beta1.HTTPFaultInjection.Abort
+ 22, // 44: istio.networking.v1beta1.Headers.HeaderOperations.set:type_name -> istio.networking.v1beta1.Headers.HeaderOperations.SetEntry
+ 23, // 45: istio.networking.v1beta1.Headers.HeaderOperations.add:type_name -> istio.networking.v1beta1.Headers.HeaderOperations.AddEntry
+ 15, // 46: istio.networking.v1beta1.HTTPMatchRequest.HeadersEntry.value:type_name -> istio.networking.v1beta1.StringMatch
+ 15, // 47: istio.networking.v1beta1.HTTPMatchRequest.QueryParamsEntry.value:type_name -> istio.networking.v1beta1.StringMatch
+ 15, // 48: istio.networking.v1beta1.HTTPMatchRequest.WithoutHeadersEntry.value:type_name -> istio.networking.v1beta1.StringMatch
+ 32, // 49: istio.networking.v1beta1.HTTPFaultInjection.Delay.fixed_delay:type_name -> google.protobuf.Duration
+ 32, // 50: istio.networking.v1beta1.HTTPFaultInjection.Delay.exponential_delay:type_name -> google.protobuf.Duration
+ 20, // 51: istio.networking.v1beta1.HTTPFaultInjection.Delay.percentage:type_name -> istio.networking.v1beta1.Percent
+ 20, // 52: istio.networking.v1beta1.HTTPFaultInjection.Abort.percentage:type_name -> istio.networking.v1beta1.Percent
+ 53, // [53:53] is the sub-list for method output_type
+ 53, // [53:53] is the sub-list for method input_type
+ 53, // [53:53] is the sub-list for extension type_name
+ 53, // [53:53] is the sub-list for extension extendee
+ 0, // [0:53] is the sub-list for field type_name
+}
+
+func init() { file_networking_v1beta1_virtual_service_proto_init() }
+func file_networking_v1beta1_virtual_service_proto_init() {
+ if File_networking_v1beta1_virtual_service_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_networking_v1beta1_virtual_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VirtualService); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_virtual_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Destination); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_virtual_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HTTPRoute); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_virtual_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Delegate); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_virtual_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Headers); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_virtual_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TLSRoute); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_virtual_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TCPRoute); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_virtual_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HTTPMatchRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_virtual_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HTTPRouteDestination); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_virtual_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RouteDestination); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_virtual_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*L4MatchAttributes); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_virtual_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TLSMatchAttributes); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_virtual_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HTTPRedirect); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_virtual_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HTTPRewrite); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_virtual_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StringMatch); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_virtual_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HTTPRetry); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_virtual_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CorsPolicy); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_virtual_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HTTPFaultInjection); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_virtual_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PortSelector); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_virtual_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Percent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_virtual_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Headers_HeaderOperations); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_virtual_service_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HTTPFaultInjection_Delay); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_virtual_service_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HTTPFaultInjection_Abort); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_networking_v1beta1_virtual_service_proto_msgTypes[12].OneofWrappers = []interface{}{
+ (*HTTPRedirect_Port)(nil),
+ (*HTTPRedirect_DerivePort)(nil),
}
- if m.Port != 0 {
- i = encodeVarintVirtualService(dAtA, i, uint64(m.Port))
- i--
- dAtA[i] = 0x18
- }
- if len(m.DestinationSubnets) > 0 {
- for iNdEx := len(m.DestinationSubnets) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.DestinationSubnets[iNdEx])
- copy(dAtA[i:], m.DestinationSubnets[iNdEx])
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.DestinationSubnets[iNdEx])))
- i--
- dAtA[i] = 0x12
- }
+ file_networking_v1beta1_virtual_service_proto_msgTypes[14].OneofWrappers = []interface{}{
+ (*StringMatch_Exact)(nil),
+ (*StringMatch_Prefix)(nil),
+ (*StringMatch_Regex)(nil),
}
- if len(m.SniHosts) > 0 {
- for iNdEx := len(m.SniHosts) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.SniHosts[iNdEx])
- copy(dAtA[i:], m.SniHosts[iNdEx])
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.SniHosts[iNdEx])))
- i--
- dAtA[i] = 0xa
- }
+ file_networking_v1beta1_virtual_service_proto_msgTypes[29].OneofWrappers = []interface{}{
+ (*HTTPFaultInjection_Delay_FixedDelay)(nil),
+ (*HTTPFaultInjection_Delay_ExponentialDelay)(nil),
}
- return len(dAtA) - i, nil
-}
-
-func (m *HTTPRedirect) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
+ file_networking_v1beta1_virtual_service_proto_msgTypes[30].OneofWrappers = []interface{}{
+ (*HTTPFaultInjection_Abort_HttpStatus)(nil),
+ (*HTTPFaultInjection_Abort_GrpcStatus)(nil),
+ (*HTTPFaultInjection_Abort_Http2Error)(nil),
}
- return dAtA[:n], nil
-}
-
-func (m *HTTPRedirect) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_networking_v1beta1_virtual_service_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 31,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_networking_v1beta1_virtual_service_proto_goTypes,
+ DependencyIndexes: file_networking_v1beta1_virtual_service_proto_depIdxs,
+ EnumInfos: file_networking_v1beta1_virtual_service_proto_enumTypes,
+ MessageInfos: file_networking_v1beta1_virtual_service_proto_msgTypes,
+ }.Build()
+ File_networking_v1beta1_virtual_service_proto = out.File
+ file_networking_v1beta1_virtual_service_proto_rawDesc = nil
+ file_networking_v1beta1_virtual_service_proto_goTypes = nil
+ file_networking_v1beta1_virtual_service_proto_depIdxs = nil
}
-
-func (m *HTTPRedirect) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Scheme) > 0 {
- i -= len(m.Scheme)
- copy(dAtA[i:], m.Scheme)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Scheme)))
- i--
- dAtA[i] = 0x32
- }
- if m.RedirectPort != nil {
- {
- size := m.RedirectPort.Size()
- i -= size
- if _, err := m.RedirectPort.MarshalTo(dAtA[i:]); err != nil {
- return 0, err
- }
- }
- }
- if m.RedirectCode != 0 {
- i = encodeVarintVirtualService(dAtA, i, uint64(m.RedirectCode))
- i--
- dAtA[i] = 0x18
- }
- if len(m.Authority) > 0 {
- i -= len(m.Authority)
- copy(dAtA[i:], m.Authority)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Authority)))
- i--
- dAtA[i] = 0x12
- }
- if len(m.Uri) > 0 {
- i -= len(m.Uri)
- copy(dAtA[i:], m.Uri)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Uri)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func (m *HTTPRedirect_Port) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HTTPRedirect_Port) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- i = encodeVarintVirtualService(dAtA, i, uint64(m.Port))
- i--
- dAtA[i] = 0x20
- return len(dAtA) - i, nil
-}
-func (m *HTTPRedirect_DerivePort) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HTTPRedirect_DerivePort) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- i = encodeVarintVirtualService(dAtA, i, uint64(m.DerivePort))
- i--
- dAtA[i] = 0x28
- return len(dAtA) - i, nil
-}
-func (m *HTTPRewrite) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *HTTPRewrite) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HTTPRewrite) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.Authority) > 0 {
- i -= len(m.Authority)
- copy(dAtA[i:], m.Authority)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Authority)))
- i--
- dAtA[i] = 0x12
- }
- if len(m.Uri) > 0 {
- i -= len(m.Uri)
- copy(dAtA[i:], m.Uri)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Uri)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func (m *StringMatch) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *StringMatch) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *StringMatch) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.MatchType != nil {
- {
- size := m.MatchType.Size()
- i -= size
- if _, err := m.MatchType.MarshalTo(dAtA[i:]); err != nil {
- return 0, err
- }
- }
- }
- return len(dAtA) - i, nil
-}
-
-func (m *StringMatch_Exact) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *StringMatch_Exact) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- i -= len(m.Exact)
- copy(dAtA[i:], m.Exact)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Exact)))
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-func (m *StringMatch_Prefix) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *StringMatch_Prefix) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- i -= len(m.Prefix)
- copy(dAtA[i:], m.Prefix)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Prefix)))
- i--
- dAtA[i] = 0x12
- return len(dAtA) - i, nil
-}
-func (m *StringMatch_Regex) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *StringMatch_Regex) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- i -= len(m.Regex)
- copy(dAtA[i:], m.Regex)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Regex)))
- i--
- dAtA[i] = 0x1a
- return len(dAtA) - i, nil
-}
-func (m *HTTPRetry) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *HTTPRetry) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HTTPRetry) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.RetryRemoteLocalities != nil {
- {
- size, err := m.RetryRemoteLocalities.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x22
- }
- if len(m.RetryOn) > 0 {
- i -= len(m.RetryOn)
- copy(dAtA[i:], m.RetryOn)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.RetryOn)))
- i--
- dAtA[i] = 0x1a
- }
- if m.PerTryTimeout != nil {
- {
- size, err := m.PerTryTimeout.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- if m.Attempts != 0 {
- i = encodeVarintVirtualService(dAtA, i, uint64(m.Attempts))
- i--
- dAtA[i] = 0x8
- }
- return len(dAtA) - i, nil
-}
-
-func (m *CorsPolicy) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *CorsPolicy) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *CorsPolicy) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.AllowOrigins) > 0 {
- for iNdEx := len(m.AllowOrigins) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.AllowOrigins[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x3a
- }
- }
- if m.AllowCredentials != nil {
- {
- size, err := m.AllowCredentials.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x32
- }
- if m.MaxAge != nil {
- {
- size, err := m.MaxAge.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x2a
- }
- if len(m.ExposeHeaders) > 0 {
- for iNdEx := len(m.ExposeHeaders) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.ExposeHeaders[iNdEx])
- copy(dAtA[i:], m.ExposeHeaders[iNdEx])
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.ExposeHeaders[iNdEx])))
- i--
- dAtA[i] = 0x22
- }
- }
- if len(m.AllowHeaders) > 0 {
- for iNdEx := len(m.AllowHeaders) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.AllowHeaders[iNdEx])
- copy(dAtA[i:], m.AllowHeaders[iNdEx])
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.AllowHeaders[iNdEx])))
- i--
- dAtA[i] = 0x1a
- }
- }
- if len(m.AllowMethods) > 0 {
- for iNdEx := len(m.AllowMethods) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.AllowMethods[iNdEx])
- copy(dAtA[i:], m.AllowMethods[iNdEx])
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.AllowMethods[iNdEx])))
- i--
- dAtA[i] = 0x12
- }
- }
- if len(m.AllowOrigin) > 0 {
- for iNdEx := len(m.AllowOrigin) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.AllowOrigin[iNdEx])
- copy(dAtA[i:], m.AllowOrigin[iNdEx])
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.AllowOrigin[iNdEx])))
- i--
- dAtA[i] = 0xa
- }
- }
- return len(dAtA) - i, nil
-}
-
-func (m *HTTPFaultInjection) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *HTTPFaultInjection) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HTTPFaultInjection) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Abort != nil {
- {
- size, err := m.Abort.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- if m.Delay != nil {
- {
- size, err := m.Delay.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func (m *HTTPFaultInjection_Delay) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *HTTPFaultInjection_Delay) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HTTPFaultInjection_Delay) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Percentage != nil {
- {
- size, err := m.Percentage.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x2a
- }
- if m.HttpDelayType != nil {
- {
- size := m.HttpDelayType.Size()
- i -= size
- if _, err := m.HttpDelayType.MarshalTo(dAtA[i:]); err != nil {
- return 0, err
- }
- }
- }
- if m.Percent != 0 {
- i = encodeVarintVirtualService(dAtA, i, uint64(m.Percent))
- i--
- dAtA[i] = 0x8
- }
- return len(dAtA) - i, nil
-}
-
-func (m *HTTPFaultInjection_Delay_FixedDelay) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HTTPFaultInjection_Delay_FixedDelay) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- if m.FixedDelay != nil {
- {
- size, err := m.FixedDelay.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- return len(dAtA) - i, nil
-}
-func (m *HTTPFaultInjection_Delay_ExponentialDelay) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HTTPFaultInjection_Delay_ExponentialDelay) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- if m.ExponentialDelay != nil {
- {
- size, err := m.ExponentialDelay.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- return len(dAtA) - i, nil
-}
-func (m *HTTPFaultInjection_Abort) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *HTTPFaultInjection_Abort) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HTTPFaultInjection_Abort) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Percentage != nil {
- {
- size, err := m.Percentage.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintVirtualService(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x2a
- }
- if m.ErrorType != nil {
- {
- size := m.ErrorType.Size()
- i -= size
- if _, err := m.ErrorType.MarshalTo(dAtA[i:]); err != nil {
- return 0, err
- }
- }
- }
- return len(dAtA) - i, nil
-}
-
-func (m *HTTPFaultInjection_Abort_HttpStatus) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HTTPFaultInjection_Abort_HttpStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- i = encodeVarintVirtualService(dAtA, i, uint64(m.HttpStatus))
- i--
- dAtA[i] = 0x10
- return len(dAtA) - i, nil
-}
-func (m *HTTPFaultInjection_Abort_GrpcStatus) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HTTPFaultInjection_Abort_GrpcStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- i -= len(m.GrpcStatus)
- copy(dAtA[i:], m.GrpcStatus)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.GrpcStatus)))
- i--
- dAtA[i] = 0x1a
- return len(dAtA) - i, nil
-}
-func (m *HTTPFaultInjection_Abort_Http2Error) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HTTPFaultInjection_Abort_Http2Error) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- i -= len(m.Http2Error)
- copy(dAtA[i:], m.Http2Error)
- i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Http2Error)))
- i--
- dAtA[i] = 0x22
- return len(dAtA) - i, nil
-}
-func (m *PortSelector) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *PortSelector) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *PortSelector) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Number != 0 {
- i = encodeVarintVirtualService(dAtA, i, uint64(m.Number))
- i--
- dAtA[i] = 0x8
- }
- return len(dAtA) - i, nil
-}
-
-func (m *Percent) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *Percent) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Percent) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if m.Value != 0 {
- i -= 8
- encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Value))))
- i--
- dAtA[i] = 0x9
- }
- return len(dAtA) - i, nil
-}
-
-func encodeVarintVirtualService(dAtA []byte, offset int, v uint64) int {
- offset -= sovVirtualService(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
-func (m *VirtualService) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if len(m.Hosts) > 0 {
- for _, s := range m.Hosts {
- l = len(s)
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if len(m.Gateways) > 0 {
- for _, s := range m.Gateways {
- l = len(s)
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if len(m.Http) > 0 {
- for _, e := range m.Http {
- l = e.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if len(m.Tcp) > 0 {
- for _, e := range m.Tcp {
- l = e.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if len(m.Tls) > 0 {
- for _, e := range m.Tls {
- l = e.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if len(m.ExportTo) > 0 {
- for _, s := range m.ExportTo {
- l = len(s)
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *Destination) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Host)
- if l > 0 {
- n += 1 + l + sovVirtualService(uint64(l))
- }
- l = len(m.Subset)
- if l > 0 {
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.Port != nil {
- l = m.Port.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *HTTPRoute) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if len(m.Match) > 0 {
- for _, e := range m.Match {
- l = e.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if len(m.Route) > 0 {
- for _, e := range m.Route {
- l = e.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if m.Redirect != nil {
- l = m.Redirect.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.Rewrite != nil {
- l = m.Rewrite.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.Timeout != nil {
- l = m.Timeout.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.Retries != nil {
- l = m.Retries.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.Fault != nil {
- l = m.Fault.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.Mirror != nil {
- l = m.Mirror.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.CorsPolicy != nil {
- l = m.CorsPolicy.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.Headers != nil {
- l = m.Headers.Size()
- n += 2 + l + sovVirtualService(uint64(l))
- }
- l = len(m.Name)
- if l > 0 {
- n += 2 + l + sovVirtualService(uint64(l))
- }
- if m.MirrorPercent != nil {
- l = m.MirrorPercent.Size()
- n += 2 + l + sovVirtualService(uint64(l))
- }
- if m.MirrorPercentage != nil {
- l = m.MirrorPercentage.Size()
- n += 2 + l + sovVirtualService(uint64(l))
- }
- if m.Delegate != nil {
- l = m.Delegate.Size()
- n += 2 + l + sovVirtualService(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *Delegate) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Name)
- if l > 0 {
- n += 1 + l + sovVirtualService(uint64(l))
- }
- l = len(m.Namespace)
- if l > 0 {
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *Headers) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Request != nil {
- l = m.Request.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.Response != nil {
- l = m.Response.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *Headers_HeaderOperations) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if len(m.Set) > 0 {
- for k, v := range m.Set {
- _ = k
- _ = v
- mapEntrySize := 1 + len(k) + sovVirtualService(uint64(len(k))) + 1 + len(v) + sovVirtualService(uint64(len(v)))
- n += mapEntrySize + 1 + sovVirtualService(uint64(mapEntrySize))
- }
- }
- if len(m.Add) > 0 {
- for k, v := range m.Add {
- _ = k
- _ = v
- mapEntrySize := 1 + len(k) + sovVirtualService(uint64(len(k))) + 1 + len(v) + sovVirtualService(uint64(len(v)))
- n += mapEntrySize + 1 + sovVirtualService(uint64(mapEntrySize))
- }
- }
- if len(m.Remove) > 0 {
- for _, s := range m.Remove {
- l = len(s)
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *TLSRoute) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if len(m.Match) > 0 {
- for _, e := range m.Match {
- l = e.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if len(m.Route) > 0 {
- for _, e := range m.Route {
- l = e.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *TCPRoute) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if len(m.Match) > 0 {
- for _, e := range m.Match {
- l = e.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if len(m.Route) > 0 {
- for _, e := range m.Route {
- l = e.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *HTTPMatchRequest) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Uri != nil {
- l = m.Uri.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.Scheme != nil {
- l = m.Scheme.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.Method != nil {
- l = m.Method.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.Authority != nil {
- l = m.Authority.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if len(m.Headers) > 0 {
- for k, v := range m.Headers {
- _ = k
- _ = v
- l = 0
- if v != nil {
- l = v.Size()
- l += 1 + sovVirtualService(uint64(l))
- }
- mapEntrySize := 1 + len(k) + sovVirtualService(uint64(len(k))) + l
- n += mapEntrySize + 1 + sovVirtualService(uint64(mapEntrySize))
- }
- }
- if m.Port != 0 {
- n += 1 + sovVirtualService(uint64(m.Port))
- }
- if len(m.SourceLabels) > 0 {
- for k, v := range m.SourceLabels {
- _ = k
- _ = v
- mapEntrySize := 1 + len(k) + sovVirtualService(uint64(len(k))) + 1 + len(v) + sovVirtualService(uint64(len(v)))
- n += mapEntrySize + 1 + sovVirtualService(uint64(mapEntrySize))
- }
- }
- if len(m.Gateways) > 0 {
- for _, s := range m.Gateways {
- l = len(s)
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if len(m.QueryParams) > 0 {
- for k, v := range m.QueryParams {
- _ = k
- _ = v
- l = 0
- if v != nil {
- l = v.Size()
- l += 1 + sovVirtualService(uint64(l))
- }
- mapEntrySize := 1 + len(k) + sovVirtualService(uint64(len(k))) + l
- n += mapEntrySize + 1 + sovVirtualService(uint64(mapEntrySize))
- }
- }
- if m.IgnoreUriCase {
- n += 2
- }
- l = len(m.Name)
- if l > 0 {
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if len(m.WithoutHeaders) > 0 {
- for k, v := range m.WithoutHeaders {
- _ = k
- _ = v
- l = 0
- if v != nil {
- l = v.Size()
- l += 1 + sovVirtualService(uint64(l))
- }
- mapEntrySize := 1 + len(k) + sovVirtualService(uint64(len(k))) + l
- n += mapEntrySize + 1 + sovVirtualService(uint64(mapEntrySize))
- }
- }
- l = len(m.SourceNamespace)
- if l > 0 {
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *HTTPRouteDestination) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Destination != nil {
- l = m.Destination.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.Weight != 0 {
- n += 1 + sovVirtualService(uint64(m.Weight))
- }
- if m.Headers != nil {
- l = m.Headers.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *RouteDestination) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Destination != nil {
- l = m.Destination.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.Weight != 0 {
- n += 1 + sovVirtualService(uint64(m.Weight))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *L4MatchAttributes) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if len(m.DestinationSubnets) > 0 {
- for _, s := range m.DestinationSubnets {
- l = len(s)
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if m.Port != 0 {
- n += 1 + sovVirtualService(uint64(m.Port))
- }
- l = len(m.SourceSubnet)
- if l > 0 {
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if len(m.SourceLabels) > 0 {
- for k, v := range m.SourceLabels {
- _ = k
- _ = v
- mapEntrySize := 1 + len(k) + sovVirtualService(uint64(len(k))) + 1 + len(v) + sovVirtualService(uint64(len(v)))
- n += mapEntrySize + 1 + sovVirtualService(uint64(mapEntrySize))
- }
- }
- if len(m.Gateways) > 0 {
- for _, s := range m.Gateways {
- l = len(s)
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- l = len(m.SourceNamespace)
- if l > 0 {
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *TLSMatchAttributes) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if len(m.SniHosts) > 0 {
- for _, s := range m.SniHosts {
- l = len(s)
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if len(m.DestinationSubnets) > 0 {
- for _, s := range m.DestinationSubnets {
- l = len(s)
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if m.Port != 0 {
- n += 1 + sovVirtualService(uint64(m.Port))
- }
- if len(m.SourceLabels) > 0 {
- for k, v := range m.SourceLabels {
- _ = k
- _ = v
- mapEntrySize := 1 + len(k) + sovVirtualService(uint64(len(k))) + 1 + len(v) + sovVirtualService(uint64(len(v)))
- n += mapEntrySize + 1 + sovVirtualService(uint64(mapEntrySize))
- }
- }
- if len(m.Gateways) > 0 {
- for _, s := range m.Gateways {
- l = len(s)
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- l = len(m.SourceNamespace)
- if l > 0 {
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *HTTPRedirect) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Uri)
- if l > 0 {
- n += 1 + l + sovVirtualService(uint64(l))
- }
- l = len(m.Authority)
- if l > 0 {
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.RedirectCode != 0 {
- n += 1 + sovVirtualService(uint64(m.RedirectCode))
- }
- if m.RedirectPort != nil {
- n += m.RedirectPort.Size()
- }
- l = len(m.Scheme)
- if l > 0 {
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *HTTPRedirect_Port) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- n += 1 + sovVirtualService(uint64(m.Port))
- return n
-}
-func (m *HTTPRedirect_DerivePort) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- n += 1 + sovVirtualService(uint64(m.DerivePort))
- return n
-}
-func (m *HTTPRewrite) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Uri)
- if l > 0 {
- n += 1 + l + sovVirtualService(uint64(l))
- }
- l = len(m.Authority)
- if l > 0 {
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *StringMatch) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.MatchType != nil {
- n += m.MatchType.Size()
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *StringMatch_Exact) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Exact)
- n += 1 + l + sovVirtualService(uint64(l))
- return n
-}
-func (m *StringMatch_Prefix) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Prefix)
- n += 1 + l + sovVirtualService(uint64(l))
- return n
-}
-func (m *StringMatch_Regex) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Regex)
- n += 1 + l + sovVirtualService(uint64(l))
- return n
-}
-func (m *HTTPRetry) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Attempts != 0 {
- n += 1 + sovVirtualService(uint64(m.Attempts))
- }
- if m.PerTryTimeout != nil {
- l = m.PerTryTimeout.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- l = len(m.RetryOn)
- if l > 0 {
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.RetryRemoteLocalities != nil {
- l = m.RetryRemoteLocalities.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *CorsPolicy) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if len(m.AllowOrigin) > 0 {
- for _, s := range m.AllowOrigin {
- l = len(s)
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if len(m.AllowMethods) > 0 {
- for _, s := range m.AllowMethods {
- l = len(s)
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if len(m.AllowHeaders) > 0 {
- for _, s := range m.AllowHeaders {
- l = len(s)
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if len(m.ExposeHeaders) > 0 {
- for _, s := range m.ExposeHeaders {
- l = len(s)
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if m.MaxAge != nil {
- l = m.MaxAge.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.AllowCredentials != nil {
- l = m.AllowCredentials.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if len(m.AllowOrigins) > 0 {
- for _, e := range m.AllowOrigins {
- l = e.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *HTTPFaultInjection) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Delay != nil {
- l = m.Delay.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.Abort != nil {
- l = m.Abort.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *HTTPFaultInjection_Delay) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Percent != 0 {
- n += 1 + sovVirtualService(uint64(m.Percent))
- }
- if m.HttpDelayType != nil {
- n += m.HttpDelayType.Size()
- }
- if m.Percentage != nil {
- l = m.Percentage.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *HTTPFaultInjection_Delay_FixedDelay) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.FixedDelay != nil {
- l = m.FixedDelay.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- return n
-}
-func (m *HTTPFaultInjection_Delay_ExponentialDelay) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.ExponentialDelay != nil {
- l = m.ExponentialDelay.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- return n
-}
-func (m *HTTPFaultInjection_Abort) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.ErrorType != nil {
- n += m.ErrorType.Size()
- }
- if m.Percentage != nil {
- l = m.Percentage.Size()
- n += 1 + l + sovVirtualService(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *HTTPFaultInjection_Abort_HttpStatus) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- n += 1 + sovVirtualService(uint64(m.HttpStatus))
- return n
-}
-func (m *HTTPFaultInjection_Abort_GrpcStatus) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.GrpcStatus)
- n += 1 + l + sovVirtualService(uint64(l))
- return n
-}
-func (m *HTTPFaultInjection_Abort_Http2Error) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Http2Error)
- n += 1 + l + sovVirtualService(uint64(l))
- return n
-}
-func (m *PortSelector) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Number != 0 {
- n += 1 + sovVirtualService(uint64(m.Number))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func (m *Percent) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Value != 0 {
- n += 9
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func sovVirtualService(x uint64) (n int) {
- return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozVirtualService(x uint64) (n int) {
- return sovVirtualService(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (m *VirtualService) 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 ErrIntOverflowVirtualService
- }
- 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: VirtualService: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: VirtualService: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Hosts", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Hosts = append(m.Hosts, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Gateways", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Gateways = append(m.Gateways, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Http", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Http = append(m.Http, &HTTPRoute{})
- if err := m.Http[len(m.Http)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Tcp", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Tcp = append(m.Tcp, &TCPRoute{})
- if err := m.Tcp[len(m.Tcp)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Tls", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Tls = append(m.Tls, &TLSRoute{})
- if err := m.Tls[len(m.Tls)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 6:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ExportTo", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.ExportTo = append(m.ExportTo, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *Destination) 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 ErrIntOverflowVirtualService
- }
- 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: Destination: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Destination: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Host", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Host = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Subset", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Subset = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Port", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Port == nil {
- m.Port = &PortSelector{}
- }
- if err := m.Port.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *HTTPRoute) 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 ErrIntOverflowVirtualService
- }
- 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: HTTPRoute: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: HTTPRoute: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Match", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Match = append(m.Match, &HTTPMatchRequest{})
- if err := m.Match[len(m.Match)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Route", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Route = append(m.Route, &HTTPRouteDestination{})
- if err := m.Route[len(m.Route)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Redirect", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Redirect == nil {
- m.Redirect = &HTTPRedirect{}
- }
- if err := m.Redirect.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Rewrite", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Rewrite == nil {
- m.Rewrite = &HTTPRewrite{}
- }
- if err := m.Rewrite.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 6:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Timeout", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Timeout == nil {
- m.Timeout = &types.Duration{}
- }
- if err := m.Timeout.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 7:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Retries", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Retries == nil {
- m.Retries = &HTTPRetry{}
- }
- if err := m.Retries.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 8:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Fault", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Fault == nil {
- m.Fault = &HTTPFaultInjection{}
- }
- if err := m.Fault.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 9:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Mirror", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Mirror == nil {
- m.Mirror = &Destination{}
- }
- if err := m.Mirror.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 10:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field CorsPolicy", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.CorsPolicy == nil {
- m.CorsPolicy = &CorsPolicy{}
- }
- if err := m.CorsPolicy.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 16:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Headers", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Headers == nil {
- m.Headers = &Headers{}
- }
- if err := m.Headers.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 17:
- 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 ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Name = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 18:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field MirrorPercent", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.MirrorPercent == nil {
- m.MirrorPercent = &types.UInt32Value{}
- }
- if err := m.MirrorPercent.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 19:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field MirrorPercentage", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.MirrorPercentage == nil {
- m.MirrorPercentage = &Percent{}
- }
- if err := m.MirrorPercentage.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 20:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Delegate", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Delegate == nil {
- m.Delegate = &Delegate{}
- }
- if err := m.Delegate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *Delegate) 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 ErrIntOverflowVirtualService
- }
- 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: Delegate: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Delegate: 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 ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- 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 Namespace", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Namespace = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *Headers) 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 ErrIntOverflowVirtualService
- }
- 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: Headers: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Headers: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Request", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Request == nil {
- m.Request = &Headers_HeaderOperations{}
- }
- if err := m.Request.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Response", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Response == nil {
- m.Response = &Headers_HeaderOperations{}
- }
- if err := m.Response.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *Headers_HeaderOperations) 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 ErrIntOverflowVirtualService
- }
- 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: HeaderOperations: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: HeaderOperations: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Set", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Set == nil {
- m.Set = make(map[string]string)
- }
- var mapkey string
- var mapvalue string
- for iNdEx < postIndex {
- entryPreIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- if fieldNum == 1 {
- var stringLenmapkey uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapkey |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapkey := int(stringLenmapkey)
- if intStringLenmapkey < 0 {
- return ErrInvalidLengthVirtualService
- }
- postStringIndexmapkey := iNdEx + intStringLenmapkey
- if postStringIndexmapkey < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postStringIndexmapkey > l {
- return io.ErrUnexpectedEOF
- }
- mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
- iNdEx = postStringIndexmapkey
- } else if fieldNum == 2 {
- var stringLenmapvalue uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapvalue |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapvalue := int(stringLenmapvalue)
- if intStringLenmapvalue < 0 {
- return ErrInvalidLengthVirtualService
- }
- postStringIndexmapvalue := iNdEx + intStringLenmapvalue
- if postStringIndexmapvalue < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postStringIndexmapvalue > l {
- return io.ErrUnexpectedEOF
- }
- mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue])
- iNdEx = postStringIndexmapvalue
- } else {
- iNdEx = entryPreIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > postIndex {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- m.Set[mapkey] = mapvalue
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Add", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Add == nil {
- m.Add = make(map[string]string)
- }
- var mapkey string
- var mapvalue string
- for iNdEx < postIndex {
- entryPreIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- if fieldNum == 1 {
- var stringLenmapkey uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapkey |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapkey := int(stringLenmapkey)
- if intStringLenmapkey < 0 {
- return ErrInvalidLengthVirtualService
- }
- postStringIndexmapkey := iNdEx + intStringLenmapkey
- if postStringIndexmapkey < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postStringIndexmapkey > l {
- return io.ErrUnexpectedEOF
- }
- mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
- iNdEx = postStringIndexmapkey
- } else if fieldNum == 2 {
- var stringLenmapvalue uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapvalue |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapvalue := int(stringLenmapvalue)
- if intStringLenmapvalue < 0 {
- return ErrInvalidLengthVirtualService
- }
- postStringIndexmapvalue := iNdEx + intStringLenmapvalue
- if postStringIndexmapvalue < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postStringIndexmapvalue > l {
- return io.ErrUnexpectedEOF
- }
- mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue])
- iNdEx = postStringIndexmapvalue
- } else {
- iNdEx = entryPreIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > postIndex {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- m.Add[mapkey] = mapvalue
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Remove", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Remove = append(m.Remove, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *TLSRoute) 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 ErrIntOverflowVirtualService
- }
- 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: TLSRoute: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: TLSRoute: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Match", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Match = append(m.Match, &TLSMatchAttributes{})
- if err := m.Match[len(m.Match)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Route", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Route = append(m.Route, &RouteDestination{})
- if err := m.Route[len(m.Route)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *TCPRoute) 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 ErrIntOverflowVirtualService
- }
- 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: TCPRoute: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: TCPRoute: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Match", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Match = append(m.Match, &L4MatchAttributes{})
- if err := m.Match[len(m.Match)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Route", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Route = append(m.Route, &RouteDestination{})
- if err := m.Route[len(m.Route)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *HTTPMatchRequest) 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 ErrIntOverflowVirtualService
- }
- 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: HTTPMatchRequest: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: HTTPMatchRequest: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Uri", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Uri == nil {
- m.Uri = &StringMatch{}
- }
- if err := m.Uri.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Scheme", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Scheme == nil {
- m.Scheme = &StringMatch{}
- }
- if err := m.Scheme.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Method", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Method == nil {
- m.Method = &StringMatch{}
- }
- if err := m.Method.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Authority == nil {
- m.Authority = &StringMatch{}
- }
- if err := m.Authority.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Headers", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Headers == nil {
- m.Headers = make(map[string]*StringMatch)
- }
- var mapkey string
- var mapvalue *StringMatch
- for iNdEx < postIndex {
- entryPreIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- if fieldNum == 1 {
- var stringLenmapkey uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapkey |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapkey := int(stringLenmapkey)
- if intStringLenmapkey < 0 {
- return ErrInvalidLengthVirtualService
- }
- postStringIndexmapkey := iNdEx + intStringLenmapkey
- if postStringIndexmapkey < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postStringIndexmapkey > l {
- return io.ErrUnexpectedEOF
- }
- mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
- iNdEx = postStringIndexmapkey
- } else if fieldNum == 2 {
- var mapmsglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- mapmsglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if mapmsglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postmsgIndex := iNdEx + mapmsglen
- if postmsgIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postmsgIndex > l {
- return io.ErrUnexpectedEOF
- }
- mapvalue = &StringMatch{}
- if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil {
- return err
- }
- iNdEx = postmsgIndex
- } else {
- iNdEx = entryPreIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > postIndex {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- m.Headers[mapkey] = mapvalue
- iNdEx = postIndex
- case 6:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Port", wireType)
- }
- m.Port = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Port |= uint32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 7:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field SourceLabels", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.SourceLabels == nil {
- m.SourceLabels = make(map[string]string)
- }
- var mapkey string
- var mapvalue string
- for iNdEx < postIndex {
- entryPreIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- if fieldNum == 1 {
- var stringLenmapkey uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapkey |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapkey := int(stringLenmapkey)
- if intStringLenmapkey < 0 {
- return ErrInvalidLengthVirtualService
- }
- postStringIndexmapkey := iNdEx + intStringLenmapkey
- if postStringIndexmapkey < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postStringIndexmapkey > l {
- return io.ErrUnexpectedEOF
- }
- mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
- iNdEx = postStringIndexmapkey
- } else if fieldNum == 2 {
- var stringLenmapvalue uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapvalue |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapvalue := int(stringLenmapvalue)
- if intStringLenmapvalue < 0 {
- return ErrInvalidLengthVirtualService
- }
- postStringIndexmapvalue := iNdEx + intStringLenmapvalue
- if postStringIndexmapvalue < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postStringIndexmapvalue > l {
- return io.ErrUnexpectedEOF
- }
- mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue])
- iNdEx = postStringIndexmapvalue
- } else {
- iNdEx = entryPreIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > postIndex {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- m.SourceLabels[mapkey] = mapvalue
- iNdEx = postIndex
- case 8:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Gateways", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Gateways = append(m.Gateways, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 9:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field QueryParams", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.QueryParams == nil {
- m.QueryParams = make(map[string]*StringMatch)
- }
- var mapkey string
- var mapvalue *StringMatch
- for iNdEx < postIndex {
- entryPreIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- if fieldNum == 1 {
- var stringLenmapkey uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapkey |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapkey := int(stringLenmapkey)
- if intStringLenmapkey < 0 {
- return ErrInvalidLengthVirtualService
- }
- postStringIndexmapkey := iNdEx + intStringLenmapkey
- if postStringIndexmapkey < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postStringIndexmapkey > l {
- return io.ErrUnexpectedEOF
- }
- mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
- iNdEx = postStringIndexmapkey
- } else if fieldNum == 2 {
- var mapmsglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- mapmsglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if mapmsglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postmsgIndex := iNdEx + mapmsglen
- if postmsgIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postmsgIndex > l {
- return io.ErrUnexpectedEOF
- }
- mapvalue = &StringMatch{}
- if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil {
- return err
- }
- iNdEx = postmsgIndex
- } else {
- iNdEx = entryPreIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > postIndex {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- m.QueryParams[mapkey] = mapvalue
- iNdEx = postIndex
- case 10:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field IgnoreUriCase", wireType)
- }
- var v int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.IgnoreUriCase = bool(v != 0)
- case 11:
- 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 ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Name = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 12:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field WithoutHeaders", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.WithoutHeaders == nil {
- m.WithoutHeaders = make(map[string]*StringMatch)
- }
- var mapkey string
- var mapvalue *StringMatch
- for iNdEx < postIndex {
- entryPreIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- if fieldNum == 1 {
- var stringLenmapkey uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapkey |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapkey := int(stringLenmapkey)
- if intStringLenmapkey < 0 {
- return ErrInvalidLengthVirtualService
- }
- postStringIndexmapkey := iNdEx + intStringLenmapkey
- if postStringIndexmapkey < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postStringIndexmapkey > l {
- return io.ErrUnexpectedEOF
- }
- mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
- iNdEx = postStringIndexmapkey
- } else if fieldNum == 2 {
- var mapmsglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- mapmsglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if mapmsglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postmsgIndex := iNdEx + mapmsglen
- if postmsgIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postmsgIndex > l {
- return io.ErrUnexpectedEOF
- }
- mapvalue = &StringMatch{}
- if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil {
- return err
- }
- iNdEx = postmsgIndex
- } else {
- iNdEx = entryPreIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > postIndex {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- m.WithoutHeaders[mapkey] = mapvalue
- iNdEx = postIndex
- case 13:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field SourceNamespace", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.SourceNamespace = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *HTTPRouteDestination) 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 ErrIntOverflowVirtualService
- }
- 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: HTTPRouteDestination: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: HTTPRouteDestination: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Destination", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Destination == nil {
- m.Destination = &Destination{}
- }
- if err := m.Destination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Weight", wireType)
- }
- m.Weight = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Weight |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 7:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Headers", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Headers == nil {
- m.Headers = &Headers{}
- }
- if err := m.Headers.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *RouteDestination) 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 ErrIntOverflowVirtualService
- }
- 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: RouteDestination: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: RouteDestination: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Destination", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Destination == nil {
- m.Destination = &Destination{}
- }
- if err := m.Destination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Weight", wireType)
- }
- m.Weight = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Weight |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *L4MatchAttributes) 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 ErrIntOverflowVirtualService
- }
- 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: L4MatchAttributes: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: L4MatchAttributes: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field DestinationSubnets", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.DestinationSubnets = append(m.DestinationSubnets, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 2:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Port", wireType)
- }
- m.Port = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Port |= uint32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field SourceSubnet", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.SourceSubnet = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field SourceLabels", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.SourceLabels == nil {
- m.SourceLabels = make(map[string]string)
- }
- var mapkey string
- var mapvalue string
- for iNdEx < postIndex {
- entryPreIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- if fieldNum == 1 {
- var stringLenmapkey uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapkey |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapkey := int(stringLenmapkey)
- if intStringLenmapkey < 0 {
- return ErrInvalidLengthVirtualService
- }
- postStringIndexmapkey := iNdEx + intStringLenmapkey
- if postStringIndexmapkey < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postStringIndexmapkey > l {
- return io.ErrUnexpectedEOF
- }
- mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
- iNdEx = postStringIndexmapkey
- } else if fieldNum == 2 {
- var stringLenmapvalue uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapvalue |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapvalue := int(stringLenmapvalue)
- if intStringLenmapvalue < 0 {
- return ErrInvalidLengthVirtualService
- }
- postStringIndexmapvalue := iNdEx + intStringLenmapvalue
- if postStringIndexmapvalue < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postStringIndexmapvalue > l {
- return io.ErrUnexpectedEOF
- }
- mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue])
- iNdEx = postStringIndexmapvalue
- } else {
- iNdEx = entryPreIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > postIndex {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- m.SourceLabels[mapkey] = mapvalue
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Gateways", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Gateways = append(m.Gateways, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 6:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field SourceNamespace", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.SourceNamespace = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *TLSMatchAttributes) 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 ErrIntOverflowVirtualService
- }
- 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: TLSMatchAttributes: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: TLSMatchAttributes: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field SniHosts", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.SniHosts = append(m.SniHosts, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field DestinationSubnets", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.DestinationSubnets = append(m.DestinationSubnets, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 3:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Port", wireType)
- }
- m.Port = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Port |= uint32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field SourceLabels", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.SourceLabels == nil {
- m.SourceLabels = make(map[string]string)
- }
- var mapkey string
- var mapvalue string
- for iNdEx < postIndex {
- entryPreIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- if fieldNum == 1 {
- var stringLenmapkey uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapkey |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapkey := int(stringLenmapkey)
- if intStringLenmapkey < 0 {
- return ErrInvalidLengthVirtualService
- }
- postStringIndexmapkey := iNdEx + intStringLenmapkey
- if postStringIndexmapkey < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postStringIndexmapkey > l {
- return io.ErrUnexpectedEOF
- }
- mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
- iNdEx = postStringIndexmapkey
- } else if fieldNum == 2 {
- var stringLenmapvalue uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapvalue |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapvalue := int(stringLenmapvalue)
- if intStringLenmapvalue < 0 {
- return ErrInvalidLengthVirtualService
- }
- postStringIndexmapvalue := iNdEx + intStringLenmapvalue
- if postStringIndexmapvalue < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postStringIndexmapvalue > l {
- return io.ErrUnexpectedEOF
- }
- mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue])
- iNdEx = postStringIndexmapvalue
- } else {
- iNdEx = entryPreIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > postIndex {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- m.SourceLabels[mapkey] = mapvalue
- iNdEx = postIndex
- case 6:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Gateways", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Gateways = append(m.Gateways, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 7:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field SourceNamespace", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.SourceNamespace = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *HTTPRedirect) 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 ErrIntOverflowVirtualService
- }
- 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: HTTPRedirect: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: HTTPRedirect: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Uri", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Uri = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Authority = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 3:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field RedirectCode", wireType)
- }
- m.RedirectCode = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.RedirectCode |= uint32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 4:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Port", wireType)
- }
- var v uint32
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= uint32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.RedirectPort = &HTTPRedirect_Port{v}
- case 5:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field DerivePort", wireType)
- }
- var v HTTPRedirect_RedirectPortSelection
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= HTTPRedirect_RedirectPortSelection(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.RedirectPort = &HTTPRedirect_DerivePort{v}
- case 6:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Scheme", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Scheme = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *HTTPRewrite) 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 ErrIntOverflowVirtualService
- }
- 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: HTTPRewrite: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: HTTPRewrite: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Uri", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Uri = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Authority = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *StringMatch) 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 ErrIntOverflowVirtualService
- }
- 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: StringMatch: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: StringMatch: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Exact", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.MatchType = &StringMatch_Exact{string(dAtA[iNdEx:postIndex])}
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Prefix", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.MatchType = &StringMatch_Prefix{string(dAtA[iNdEx:postIndex])}
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Regex", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.MatchType = &StringMatch_Regex{string(dAtA[iNdEx:postIndex])}
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *HTTPRetry) 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 ErrIntOverflowVirtualService
- }
- 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: HTTPRetry: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: HTTPRetry: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Attempts", wireType)
- }
- m.Attempts = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Attempts |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field PerTryTimeout", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.PerTryTimeout == nil {
- m.PerTryTimeout = &types.Duration{}
- }
- if err := m.PerTryTimeout.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field RetryOn", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.RetryOn = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field RetryRemoteLocalities", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.RetryRemoteLocalities == nil {
- m.RetryRemoteLocalities = &types.BoolValue{}
- }
- if err := m.RetryRemoteLocalities.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *CorsPolicy) 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 ErrIntOverflowVirtualService
- }
- 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: CorsPolicy: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: CorsPolicy: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field AllowOrigin", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.AllowOrigin = append(m.AllowOrigin, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field AllowMethods", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.AllowMethods = append(m.AllowMethods, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field AllowHeaders", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.AllowHeaders = append(m.AllowHeaders, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ExposeHeaders", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.ExposeHeaders = append(m.ExposeHeaders, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field MaxAge", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.MaxAge == nil {
- m.MaxAge = &types.Duration{}
- }
- if err := m.MaxAge.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 6:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field AllowCredentials", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.AllowCredentials == nil {
- m.AllowCredentials = &types.BoolValue{}
- }
- if err := m.AllowCredentials.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 7:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field AllowOrigins", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.AllowOrigins = append(m.AllowOrigins, &StringMatch{})
- if err := m.AllowOrigins[len(m.AllowOrigins)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *HTTPFaultInjection) 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 ErrIntOverflowVirtualService
- }
- 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: HTTPFaultInjection: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: HTTPFaultInjection: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Delay", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Delay == nil {
- m.Delay = &HTTPFaultInjection_Delay{}
- }
- if err := m.Delay.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Abort", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Abort == nil {
- m.Abort = &HTTPFaultInjection_Abort{}
- }
- if err := m.Abort.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *HTTPFaultInjection_Delay) 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 ErrIntOverflowVirtualService
- }
- 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: Delay: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Delay: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Percent", wireType)
- }
- m.Percent = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Percent |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field FixedDelay", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- v := &types.Duration{}
- if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- m.HttpDelayType = &HTTPFaultInjection_Delay_FixedDelay{v}
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ExponentialDelay", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- v := &types.Duration{}
- if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- m.HttpDelayType = &HTTPFaultInjection_Delay_ExponentialDelay{v}
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Percentage", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Percentage == nil {
- m.Percentage = &Percent{}
- }
- if err := m.Percentage.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *HTTPFaultInjection_Abort) 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 ErrIntOverflowVirtualService
- }
- 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: Abort: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Abort: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 2:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field HttpStatus", wireType)
- }
- var v int32
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.ErrorType = &HTTPFaultInjection_Abort_HttpStatus{v}
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field GrpcStatus", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.ErrorType = &HTTPFaultInjection_Abort_GrpcStatus{string(dAtA[iNdEx:postIndex])}
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Http2Error", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- 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 ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.ErrorType = &HTTPFaultInjection_Abort_Http2Error{string(dAtA[iNdEx:postIndex])}
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Percentage", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthVirtualService
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthVirtualService
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Percentage == nil {
- m.Percentage = &Percent{}
- }
- if err := m.Percentage.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *PortSelector) 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 ErrIntOverflowVirtualService
- }
- 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: PortSelector: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: PortSelector: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Number", wireType)
- }
- m.Number = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Number |= uint32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *Percent) 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 ErrIntOverflowVirtualService
- }
- 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: Percent: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Percent: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 1 {
- return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
- }
- var v uint64
- if (iNdEx + 8) > l {
- return io.ErrUnexpectedEOF
- }
- v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
- iNdEx += 8
- m.Value = float64(math.Float64frombits(v))
- default:
- iNdEx = preIndex
- skippy, err := skipVirtualService(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthVirtualService
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func skipVirtualService(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowVirtualService
- }
- 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, ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowVirtualService
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLengthVirtualService
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroupVirtualService
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLengthVirtualService
- }
- if depth == 0 {
- return iNdEx, nil
- }
- }
- return 0, io.ErrUnexpectedEOF
-}
-
-var (
- ErrInvalidLengthVirtualService = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflowVirtualService = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroupVirtualService = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/vendor/istio.io/api/networking/v1beta1/virtual_service.proto b/vendor/istio.io/api/networking/v1beta1/virtual_service.proto
index 3af0e7bf7..6d7e6eaa4 100644
--- a/vendor/istio.io/api/networking/v1beta1/virtual_service.proto
+++ b/vendor/istio.io/api/networking/v1beta1/virtual_service.proto
@@ -1258,10 +1258,9 @@ message HTTPRouteDestination {
// to which the request/connection should be forwarded to.
Destination destination = 1 [(google.api.field_behavior) = REQUIRED];
- // The proportion of traffic to be forwarded to the service
- // version. (0-100). Sum of weights across destinations SHOULD BE == 100.
- // If there is only one destination in a rule, the weight value is assumed to
- // be 100.
+ // Weight specifies the relative proportion of traffic to be forwarded to the destination. A destination will receive `weight/(sum of all weights)` requests.
+ // If there is only one destination in a rule, it will receive all traffic.
+ // Otherwise, if weight is `0`, the destination will not receive any traffic.
int32 weight = 2;
reserved 3 to 6;
@@ -1277,9 +1276,9 @@ message RouteDestination {
// to which the request/connection should be forwarded to.
Destination destination = 1 [(google.api.field_behavior) = REQUIRED];
- // The proportion of traffic to be forwarded to the service
- // version. If there is only one destination in a rule, all traffic will be
- // routed to it irrespective of the weight.
+ // Weight specifies the relative proportion of traffic to be forwarded to the destination. A destination will receive `weight/(sum of all weights)` requests.
+ // If there is only one destination in a rule, it will receive all traffic.
+ // Otherwise, if weight is `0`, the destination will not receive any traffic.
int32 weight = 2;
}
diff --git a/vendor/istio.io/api/networking/v1beta1/virtual_service_deepcopy.gen.go b/vendor/istio.io/api/networking/v1beta1/virtual_service_deepcopy.gen.go
index fb2e57deb..5b6c176d2 100644
--- a/vendor/istio.io/api/networking/v1beta1/virtual_service_deepcopy.gen.go
+++ b/vendor/istio.io/api/networking/v1beta1/virtual_service_deepcopy.gen.go
@@ -1,169 +1,10 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: networking/v1beta1/virtual_service.proto
-
-// Configuration affecting traffic routing. Here are a few terms useful to define
-// in the context of traffic routing.
-//
-// `Service` a unit of application behavior bound to a unique name in a
-// service registry. Services consist of multiple network *endpoints*
-// implemented by workload instances running on pods, containers, VMs etc.
-//
-// `Service versions (a.k.a. subsets)` - In a continuous deployment
-// scenario, for a given service, there can be distinct subsets of
-// instances running different variants of the application binary. These
-// variants are not necessarily different API versions. They could be
-// iterative changes to the same service, deployed in different
-// environments (prod, staging, dev, etc.). Common scenarios where this
-// occurs include A/B testing, canary rollouts, etc. The choice of a
-// particular version can be decided based on various criterion (headers,
-// url, etc.) and/or by weights assigned to each version. Each service has
-// a default version consisting of all its instances.
-//
-// `Source` - A downstream client calling a service.
-//
-// `Host` - The address used by a client when attempting to connect to a
-// service.
-//
-// `Access model` - Applications address only the destination service
-// (Host) without knowledge of individual service versions (subsets). The
-// actual choice of the version is determined by the proxy/sidecar, enabling the
-// application code to decouple itself from the evolution of dependent
-// services.
-//
-// A `VirtualService` defines a set of traffic routing rules to apply when a host is
-// addressed. Each routing rule defines matching criteria for traffic of a specific
-// protocol. If the traffic is matched, then it is sent to a named destination service
-// (or subset/version of it) defined in the registry.
-//
-// The source of traffic can also be matched in a routing rule. This allows routing
-// to be customized for specific client contexts.
-//
-// The following example on Kubernetes, routes all HTTP traffic by default to
-// pods of the reviews service with label "version: v1". In addition,
-// HTTP requests with path starting with /wpcatalog/ or /consumercatalog/ will
-// be rewritten to /newcatalog and sent to pods with label "version: v2".
-//
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: VirtualService
-// metadata:
-// name: reviews-route
-// spec:
-// hosts:
-// - reviews.prod.svc.cluster.local
-// http:
-// - name: "reviews-v2-routes"
-// match:
-// - uri:
-// prefix: "/wpcatalog"
-// - uri:
-// prefix: "/consumercatalog"
-// rewrite:
-// uri: "/newcatalog"
-// route:
-// - destination:
-// host: reviews.prod.svc.cluster.local
-// subset: v2
-// - name: "reviews-v1-route"
-// route:
-// - destination:
-// host: reviews.prod.svc.cluster.local
-// subset: v1
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: VirtualService
-// metadata:
-// name: reviews-route
-// spec:
-// hosts:
-// - reviews.prod.svc.cluster.local
-// http:
-// - name: "reviews-v2-routes"
-// match:
-// - uri:
-// prefix: "/wpcatalog"
-// - uri:
-// prefix: "/consumercatalog"
-// rewrite:
-// uri: "/newcatalog"
-// route:
-// - destination:
-// host: reviews.prod.svc.cluster.local
-// subset: v2
-// - name: "reviews-v1-route"
-// route:
-// - destination:
-// host: reviews.prod.svc.cluster.local
-// subset: v1
-// ```
-// {{}}
-// {{}}
-//
-// A subset/version of a route destination is identified with a reference
-// to a named service subset which must be declared in a corresponding
-// `DestinationRule`.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: DestinationRule
-// metadata:
-// name: reviews-destination
-// spec:
-// host: reviews.prod.svc.cluster.local
-// subsets:
-// - name: v1
-// labels:
-// version: v1
-// - name: v2
-// labels:
-// version: v2
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: DestinationRule
-// metadata:
-// name: reviews-destination
-// spec:
-// host: reviews.prod.svc.cluster.local
-// subsets:
-// - name: v1
-// labels:
-// version: v1
-// - name: v2
-// labels:
-// version: v2
-// ```
-// {{}}
-// {{}}
-//
-
+// Code generated by protoc-gen-deepcopy. DO NOT EDIT.
package v1beta1
import (
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- _ "github.com/gogo/protobuf/types"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
+ proto "github.com/golang/protobuf/proto"
)
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
// DeepCopyInto supports using VirtualService within kubernetes types, where deepcopy-gen is used.
func (in *VirtualService) DeepCopyInto(out *VirtualService) {
p := proto.Clone(in).(*VirtualService)
diff --git a/vendor/istio.io/api/networking/v1beta1/virtual_service_json.gen.go b/vendor/istio.io/api/networking/v1beta1/virtual_service_json.gen.go
index 03e0fe10c..48e1cb4b8 100644
--- a/vendor/istio.io/api/networking/v1beta1/virtual_service_json.gen.go
+++ b/vendor/istio.io/api/networking/v1beta1/virtual_service_json.gen.go
@@ -1,171 +1,11 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: networking/v1beta1/virtual_service.proto
-
-// Configuration affecting traffic routing. Here are a few terms useful to define
-// in the context of traffic routing.
-//
-// `Service` a unit of application behavior bound to a unique name in a
-// service registry. Services consist of multiple network *endpoints*
-// implemented by workload instances running on pods, containers, VMs etc.
-//
-// `Service versions (a.k.a. subsets)` - In a continuous deployment
-// scenario, for a given service, there can be distinct subsets of
-// instances running different variants of the application binary. These
-// variants are not necessarily different API versions. They could be
-// iterative changes to the same service, deployed in different
-// environments (prod, staging, dev, etc.). Common scenarios where this
-// occurs include A/B testing, canary rollouts, etc. The choice of a
-// particular version can be decided based on various criterion (headers,
-// url, etc.) and/or by weights assigned to each version. Each service has
-// a default version consisting of all its instances.
-//
-// `Source` - A downstream client calling a service.
-//
-// `Host` - The address used by a client when attempting to connect to a
-// service.
-//
-// `Access model` - Applications address only the destination service
-// (Host) without knowledge of individual service versions (subsets). The
-// actual choice of the version is determined by the proxy/sidecar, enabling the
-// application code to decouple itself from the evolution of dependent
-// services.
-//
-// A `VirtualService` defines a set of traffic routing rules to apply when a host is
-// addressed. Each routing rule defines matching criteria for traffic of a specific
-// protocol. If the traffic is matched, then it is sent to a named destination service
-// (or subset/version of it) defined in the registry.
-//
-// The source of traffic can also be matched in a routing rule. This allows routing
-// to be customized for specific client contexts.
-//
-// The following example on Kubernetes, routes all HTTP traffic by default to
-// pods of the reviews service with label "version: v1". In addition,
-// HTTP requests with path starting with /wpcatalog/ or /consumercatalog/ will
-// be rewritten to /newcatalog and sent to pods with label "version: v2".
-//
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: VirtualService
-// metadata:
-// name: reviews-route
-// spec:
-// hosts:
-// - reviews.prod.svc.cluster.local
-// http:
-// - name: "reviews-v2-routes"
-// match:
-// - uri:
-// prefix: "/wpcatalog"
-// - uri:
-// prefix: "/consumercatalog"
-// rewrite:
-// uri: "/newcatalog"
-// route:
-// - destination:
-// host: reviews.prod.svc.cluster.local
-// subset: v2
-// - name: "reviews-v1-route"
-// route:
-// - destination:
-// host: reviews.prod.svc.cluster.local
-// subset: v1
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: VirtualService
-// metadata:
-// name: reviews-route
-// spec:
-// hosts:
-// - reviews.prod.svc.cluster.local
-// http:
-// - name: "reviews-v2-routes"
-// match:
-// - uri:
-// prefix: "/wpcatalog"
-// - uri:
-// prefix: "/consumercatalog"
-// rewrite:
-// uri: "/newcatalog"
-// route:
-// - destination:
-// host: reviews.prod.svc.cluster.local
-// subset: v2
-// - name: "reviews-v1-route"
-// route:
-// - destination:
-// host: reviews.prod.svc.cluster.local
-// subset: v1
-// ```
-// {{}}
-// {{}}
-//
-// A subset/version of a route destination is identified with a reference
-// to a named service subset which must be declared in a corresponding
-// `DestinationRule`.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: DestinationRule
-// metadata:
-// name: reviews-destination
-// spec:
-// host: reviews.prod.svc.cluster.local
-// subsets:
-// - name: v1
-// labels:
-// version: v1
-// - name: v2
-// labels:
-// version: v2
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: DestinationRule
-// metadata:
-// name: reviews-destination
-// spec:
-// host: reviews.prod.svc.cluster.local
-// subsets:
-// - name: v1
-// labels:
-// version: v1
-// - name: v2
-// labels:
-// version: v2
-// ```
-// {{}}
-// {{}}
-//
-
+// Code generated by protoc-gen-jsonshim. DO NOT EDIT.
package v1beta1
import (
bytes "bytes"
- fmt "fmt"
- github_com_gogo_protobuf_jsonpb "github.com/gogo/protobuf/jsonpb"
- proto "github.com/gogo/protobuf/proto"
- _ "github.com/gogo/protobuf/types"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
+ jsonpb "github.com/golang/protobuf/jsonpb"
)
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
// MarshalJSON is a custom marshaler for VirtualService
func (this *VirtualService) MarshalJSON() ([]byte, error) {
str, err := VirtualServiceMarshaler.MarshalToString(this)
@@ -420,6 +260,6 @@ func (this *Percent) UnmarshalJSON(b []byte) error {
}
var (
- VirtualServiceMarshaler = &github_com_gogo_protobuf_jsonpb.Marshaler{}
- VirtualServiceUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{AllowUnknownFields: true}
+ VirtualServiceMarshaler = &jsonpb.Marshaler{}
+ VirtualServiceUnmarshaler = &jsonpb.Unmarshaler{AllowUnknownFields: true}
)
diff --git a/vendor/istio.io/api/networking/v1beta1/workload_entry.pb.go b/vendor/istio.io/api/networking/v1beta1/workload_entry.pb.go
index b8bac55ae..7976b3f6d 100644
--- a/vendor/istio.io/api/networking/v1beta1/workload_entry.pb.go
+++ b/vendor/istio.io/api/networking/v1beta1/workload_entry.pb.go
@@ -1,6 +1,30 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
+// Copyright 2020 Istio 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-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.27.1
+// protoc (unknown)
// source: networking/v1beta1/workload_entry.proto
+// $schema: istio.networking.v1beta1.WorkloadEntry
+// $title: Workload Entry
+// $description: Configuration affecting VMs onboarded into the mesh.
+// $location: https://istio.io/docs/reference/config/networking/workload-entry.html
+// $aliases: [/docs/reference/config/networking/v1beta1/workload-entry]
+// $mode: none
+
// `WorkloadEntry` enables operators to describe the properties of a
// single non-Kubernetes workload such as a VM or a bare metal server
// as it is onboarded into the mesh. A `WorkloadEntry` must be
@@ -211,24 +235,19 @@
package v1beta1
import (
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- io "io"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
- math_bits "math/bits"
+ _ "google.golang.org/genproto/googleapis/api/annotations"
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
)
-// 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.GoGoProtoPackageIsVersion3 // please upgrade the proto package
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
// WorkloadEntry enables specifying the properties of a single non-Kubernetes workload such a VM or a bare metal services that can be referred to by service entries.
//
@@ -258,6 +277,10 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
// +istio.io/sync-from:networking/v1alpha3/workload_entry.proto
// -->
type WorkloadEntry struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
// Address associated with the network endpoint without the
// port. Domain names can be used if and only if the resolution is set
// to DNS, and must be fully-qualified without wildcards. Use the form
@@ -314,809 +337,195 @@ type WorkloadEntry struct {
// is present in the workload. The service account must be present
// in the same namespace as the configuration ( WorkloadEntry or a
// ServiceEntry)
- ServiceAccount string `protobuf:"bytes,7,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ ServiceAccount string `protobuf:"bytes,7,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"`
}
-func (m *WorkloadEntry) Reset() { *m = WorkloadEntry{} }
-func (m *WorkloadEntry) String() string { return proto.CompactTextString(m) }
-func (*WorkloadEntry) ProtoMessage() {}
-func (*WorkloadEntry) Descriptor() ([]byte, []int) {
- return fileDescriptor_82f01b2f412f1f06, []int{0}
+func (x *WorkloadEntry) Reset() {
+ *x = WorkloadEntry{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_workload_entry_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
}
-func (m *WorkloadEntry) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
+
+func (x *WorkloadEntry) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (m *WorkloadEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_WorkloadEntry.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
+
+func (*WorkloadEntry) ProtoMessage() {}
+
+func (x *WorkloadEntry) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_workload_entry_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
}
- return b[:n], nil
+ return ms
}
-}
-func (m *WorkloadEntry) XXX_Merge(src proto.Message) {
- xxx_messageInfo_WorkloadEntry.Merge(m, src)
-}
-func (m *WorkloadEntry) XXX_Size() int {
- return m.Size()
-}
-func (m *WorkloadEntry) XXX_DiscardUnknown() {
- xxx_messageInfo_WorkloadEntry.DiscardUnknown(m)
+ return mi.MessageOf(x)
}
-var xxx_messageInfo_WorkloadEntry proto.InternalMessageInfo
+// Deprecated: Use WorkloadEntry.ProtoReflect.Descriptor instead.
+func (*WorkloadEntry) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_workload_entry_proto_rawDescGZIP(), []int{0}
+}
-func (m *WorkloadEntry) GetAddress() string {
- if m != nil {
- return m.Address
+func (x *WorkloadEntry) GetAddress() string {
+ if x != nil {
+ return x.Address
}
return ""
}
-func (m *WorkloadEntry) GetPorts() map[string]uint32 {
- if m != nil {
- return m.Ports
+func (x *WorkloadEntry) GetPorts() map[string]uint32 {
+ if x != nil {
+ return x.Ports
}
return nil
}
-func (m *WorkloadEntry) GetLabels() map[string]string {
- if m != nil {
- return m.Labels
+func (x *WorkloadEntry) GetLabels() map[string]string {
+ if x != nil {
+ return x.Labels
}
return nil
}
-func (m *WorkloadEntry) GetNetwork() string {
- if m != nil {
- return m.Network
+func (x *WorkloadEntry) GetNetwork() string {
+ if x != nil {
+ return x.Network
}
return ""
}
-func (m *WorkloadEntry) GetLocality() string {
- if m != nil {
- return m.Locality
+func (x *WorkloadEntry) GetLocality() string {
+ if x != nil {
+ return x.Locality
}
return ""
}
-func (m *WorkloadEntry) GetWeight() uint32 {
- if m != nil {
- return m.Weight
+func (x *WorkloadEntry) GetWeight() uint32 {
+ if x != nil {
+ return x.Weight
}
return 0
}
-func (m *WorkloadEntry) GetServiceAccount() string {
- if m != nil {
- return m.ServiceAccount
+func (x *WorkloadEntry) GetServiceAccount() string {
+ if x != nil {
+ return x.ServiceAccount
}
return ""
}
-func init() {
- proto.RegisterType((*WorkloadEntry)(nil), "istio.networking.v1beta1.WorkloadEntry")
- proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1beta1.WorkloadEntry.LabelsEntry")
- proto.RegisterMapType((map[string]uint32)(nil), "istio.networking.v1beta1.WorkloadEntry.PortsEntry")
-}
+var File_networking_v1beta1_workload_entry_proto protoreflect.FileDescriptor
-func init() {
- proto.RegisterFile("networking/v1beta1/workload_entry.proto", fileDescriptor_82f01b2f412f1f06)
+var file_networking_v1beta1_workload_entry_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62,
+ 0x65, 0x74, 0x61, 0x31, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x65, 0x6e,
+ 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x69, 0x73, 0x74, 0x69, 0x6f,
+ 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65,
+ 0x74, 0x61, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f,
+ 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb2, 0x03, 0x0a, 0x0d, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61,
+ 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,
+ 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x07, 0x61,
+ 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x48, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18,
+ 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65,
+ 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
+ 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x50,
+ 0x6f, 0x72, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73,
+ 0x12, 0x4b, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x33, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
+ 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b,
+ 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x18, 0x0a,
+ 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
+ 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
+ 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
+ 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x73,
+ 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63,
+ 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x38, 0x0a, 0x0a, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x39,
+ 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
+ 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
+ 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x21, 0x5a, 0x1f, 0x69, 0x73, 0x74,
+ 0x69, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
+ 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
}
-var fileDescriptor_82f01b2f412f1f06 = []byte{
- // 348 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x92, 0xc1, 0x4a, 0xf3, 0x40,
- 0x10, 0xc7, 0xd9, 0xa4, 0x4d, 0xbf, 0x4e, 0xe9, 0xa7, 0x2c, 0x22, 0x4b, 0x0e, 0x69, 0xf1, 0xd2,
- 0x5e, 0x4c, 0x68, 0x7b, 0xa9, 0xde, 0x5a, 0x10, 0x04, 0x3d, 0x48, 0x2e, 0x82, 0x97, 0xb2, 0x49,
- 0xd6, 0x74, 0xe9, 0x92, 0x2d, 0xc9, 0x36, 0xa5, 0xaf, 0xe5, 0x53, 0x78, 0xf4, 0x11, 0x24, 0x4f,
- 0x22, 0xd9, 0xa4, 0xb6, 0x22, 0xa2, 0xb7, 0xf9, 0xcf, 0xce, 0xff, 0xb7, 0x3b, 0x33, 0x0b, 0x83,
- 0x84, 0xa9, 0xad, 0x4c, 0x57, 0x3c, 0x89, 0xbd, 0x7c, 0x14, 0x30, 0x45, 0x47, 0x5e, 0xa9, 0x85,
- 0xa4, 0xd1, 0x82, 0x25, 0x2a, 0xdd, 0xb9, 0xeb, 0x54, 0x2a, 0x89, 0x09, 0xcf, 0x14, 0x97, 0xee,
- 0xa1, 0xdc, 0xad, 0xcb, 0xed, 0x5e, 0x2c, 0x65, 0x2c, 0x98, 0x47, 0xd7, 0xdc, 0x7b, 0xe6, 0x4c,
- 0x44, 0x8b, 0x80, 0x2d, 0x69, 0xce, 0x65, 0x5a, 0x59, 0x2f, 0x5e, 0x4c, 0xe8, 0x3e, 0xd6, 0xcc,
- 0x9b, 0x12, 0x89, 0x1d, 0x68, 0xd1, 0x28, 0x4a, 0x59, 0x96, 0x11, 0xd4, 0x47, 0xc3, 0xf6, 0xbc,
- 0x51, 0xcc, 0x90, 0xe1, 0xef, 0x93, 0xf8, 0x16, 0x9a, 0x6b, 0x99, 0xaa, 0x8c, 0x18, 0x7d, 0x73,
- 0xd8, 0x19, 0x8f, 0xdd, 0x9f, 0x2e, 0x77, 0xbf, 0x70, 0xdd, 0x87, 0xd2, 0xa4, 0x43, 0xbf, 0x02,
- 0xe0, 0x3b, 0xb0, 0x04, 0x0d, 0x98, 0xc8, 0x88, 0xa9, 0x51, 0x93, 0xbf, 0xa2, 0xee, 0xb5, 0xab,
- 0x62, 0xd5, 0x08, 0x4c, 0xa0, 0x55, 0xfb, 0x48, 0xa3, 0x7c, 0xb6, 0xbf, 0x97, 0xd8, 0x86, 0x7f,
- 0x42, 0x86, 0x54, 0x70, 0xb5, 0x23, 0x4d, 0x7d, 0xf4, 0xa9, 0xf1, 0x39, 0x58, 0x5b, 0xc6, 0xe3,
- 0xa5, 0x22, 0x56, 0x1f, 0x0d, 0xbb, 0x7e, 0xad, 0xf0, 0x00, 0x4e, 0x32, 0x96, 0xe6, 0x3c, 0x64,
- 0x0b, 0x1a, 0x86, 0x72, 0x93, 0x28, 0xd2, 0xd2, 0xd6, 0xff, 0x75, 0x7a, 0x56, 0x65, 0xed, 0x29,
- 0xc0, 0xa1, 0x31, 0x7c, 0x0a, 0xe6, 0x8a, 0xed, 0xaa, 0xb9, 0xf9, 0x65, 0x88, 0xcf, 0xa0, 0x99,
- 0x53, 0xb1, 0x61, 0xc4, 0xd0, 0xfc, 0x4a, 0x5c, 0x1b, 0x53, 0x64, 0x5f, 0x41, 0xe7, 0xa8, 0x8f,
- 0xdf, 0xac, 0xed, 0x23, 0xeb, 0xfc, 0xf2, 0xb5, 0x70, 0xd0, 0x5b, 0xe1, 0xa0, 0xf7, 0xc2, 0x41,
- 0x4f, 0xbd, 0x6a, 0x6a, 0x5c, 0xea, 0x2d, 0x7f, 0xff, 0x33, 0x81, 0xa5, 0x57, 0x3d, 0xf9, 0x08,
- 0x00, 0x00, 0xff, 0xff, 0x45, 0x86, 0x84, 0x8e, 0x50, 0x02, 0x00, 0x00,
-}
+var (
+ file_networking_v1beta1_workload_entry_proto_rawDescOnce sync.Once
+ file_networking_v1beta1_workload_entry_proto_rawDescData = file_networking_v1beta1_workload_entry_proto_rawDesc
+)
-func (m *WorkloadEntry) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
+func file_networking_v1beta1_workload_entry_proto_rawDescGZIP() []byte {
+ file_networking_v1beta1_workload_entry_proto_rawDescOnce.Do(func() {
+ file_networking_v1beta1_workload_entry_proto_rawDescData = protoimpl.X.CompressGZIP(file_networking_v1beta1_workload_entry_proto_rawDescData)
+ })
+ return file_networking_v1beta1_workload_entry_proto_rawDescData
}
-func (m *WorkloadEntry) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
+var file_networking_v1beta1_workload_entry_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
+var file_networking_v1beta1_workload_entry_proto_goTypes = []interface{}{
+ (*WorkloadEntry)(nil), // 0: istio.networking.v1beta1.WorkloadEntry
+ nil, // 1: istio.networking.v1beta1.WorkloadEntry.PortsEntry
+ nil, // 2: istio.networking.v1beta1.WorkloadEntry.LabelsEntry
}
-
-func (m *WorkloadEntry) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.XXX_unrecognized != nil {
- i -= len(m.XXX_unrecognized)
- copy(dAtA[i:], m.XXX_unrecognized)
- }
- if len(m.ServiceAccount) > 0 {
- i -= len(m.ServiceAccount)
- copy(dAtA[i:], m.ServiceAccount)
- i = encodeVarintWorkloadEntry(dAtA, i, uint64(len(m.ServiceAccount)))
- i--
- dAtA[i] = 0x3a
- }
- if m.Weight != 0 {
- i = encodeVarintWorkloadEntry(dAtA, i, uint64(m.Weight))
- i--
- dAtA[i] = 0x30
- }
- if len(m.Locality) > 0 {
- i -= len(m.Locality)
- copy(dAtA[i:], m.Locality)
- i = encodeVarintWorkloadEntry(dAtA, i, uint64(len(m.Locality)))
- i--
- dAtA[i] = 0x2a
- }
- if len(m.Network) > 0 {
- i -= len(m.Network)
- copy(dAtA[i:], m.Network)
- i = encodeVarintWorkloadEntry(dAtA, i, uint64(len(m.Network)))
- i--
- dAtA[i] = 0x22
- }
- if len(m.Labels) > 0 {
- for k := range m.Labels {
- v := m.Labels[k]
- baseI := i
- i -= len(v)
- copy(dAtA[i:], v)
- i = encodeVarintWorkloadEntry(dAtA, i, uint64(len(v)))
- i--
- dAtA[i] = 0x12
- i -= len(k)
- copy(dAtA[i:], k)
- i = encodeVarintWorkloadEntry(dAtA, i, uint64(len(k)))
- i--
- dAtA[i] = 0xa
- i = encodeVarintWorkloadEntry(dAtA, i, uint64(baseI-i))
- i--
- dAtA[i] = 0x1a
- }
- }
- if len(m.Ports) > 0 {
- for k := range m.Ports {
- v := m.Ports[k]
- baseI := i
- i = encodeVarintWorkloadEntry(dAtA, i, uint64(v))
- i--
- dAtA[i] = 0x10
- i -= len(k)
- copy(dAtA[i:], k)
- i = encodeVarintWorkloadEntry(dAtA, i, uint64(len(k)))
- i--
- dAtA[i] = 0xa
- i = encodeVarintWorkloadEntry(dAtA, i, uint64(baseI-i))
- i--
- dAtA[i] = 0x12
- }
- }
- if len(m.Address) > 0 {
- i -= len(m.Address)
- copy(dAtA[i:], m.Address)
- i = encodeVarintWorkloadEntry(dAtA, i, uint64(len(m.Address)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
+var file_networking_v1beta1_workload_entry_proto_depIdxs = []int32{
+ 1, // 0: istio.networking.v1beta1.WorkloadEntry.ports:type_name -> istio.networking.v1beta1.WorkloadEntry.PortsEntry
+ 2, // 1: istio.networking.v1beta1.WorkloadEntry.labels:type_name -> istio.networking.v1beta1.WorkloadEntry.LabelsEntry
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
}
-func encodeVarintWorkloadEntry(dAtA []byte, offset int, v uint64) int {
- offset -= sovWorkloadEntry(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
-func (m *WorkloadEntry) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Address)
- if l > 0 {
- n += 1 + l + sovWorkloadEntry(uint64(l))
- }
- if len(m.Ports) > 0 {
- for k, v := range m.Ports {
- _ = k
- _ = v
- mapEntrySize := 1 + len(k) + sovWorkloadEntry(uint64(len(k))) + 1 + sovWorkloadEntry(uint64(v))
- n += mapEntrySize + 1 + sovWorkloadEntry(uint64(mapEntrySize))
- }
- }
- if len(m.Labels) > 0 {
- for k, v := range m.Labels {
- _ = k
- _ = v
- mapEntrySize := 1 + len(k) + sovWorkloadEntry(uint64(len(k))) + 1 + len(v) + sovWorkloadEntry(uint64(len(v)))
- n += mapEntrySize + 1 + sovWorkloadEntry(uint64(mapEntrySize))
- }
- }
- l = len(m.Network)
- if l > 0 {
- n += 1 + l + sovWorkloadEntry(uint64(l))
- }
- l = len(m.Locality)
- if l > 0 {
- n += 1 + l + sovWorkloadEntry(uint64(l))
+func init() { file_networking_v1beta1_workload_entry_proto_init() }
+func file_networking_v1beta1_workload_entry_proto_init() {
+ if File_networking_v1beta1_workload_entry_proto != nil {
+ return
}
- if m.Weight != 0 {
- n += 1 + sovWorkloadEntry(uint64(m.Weight))
- }
- l = len(m.ServiceAccount)
- if l > 0 {
- n += 1 + l + sovWorkloadEntry(uint64(l))
- }
- if m.XXX_unrecognized != nil {
- n += len(m.XXX_unrecognized)
- }
- return n
-}
-
-func sovWorkloadEntry(x uint64) (n int) {
- return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozWorkloadEntry(x uint64) (n int) {
- return sovWorkloadEntry(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (m *WorkloadEntry) 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 ErrIntOverflowWorkloadEntry
+ if !protoimpl.UnsafeEnabled {
+ file_networking_v1beta1_workload_entry_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WorkloadEntry); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
}
- 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: WorkloadEntry: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: WorkloadEntry: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadEntry
- }
- 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 ErrInvalidLengthWorkloadEntry
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthWorkloadEntry
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Address = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Ports", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadEntry
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthWorkloadEntry
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthWorkloadEntry
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Ports == nil {
- m.Ports = make(map[string]uint32)
- }
- var mapkey string
- var mapvalue uint32
- for iNdEx < postIndex {
- entryPreIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadEntry
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- if fieldNum == 1 {
- var stringLenmapkey uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadEntry
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapkey |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapkey := int(stringLenmapkey)
- if intStringLenmapkey < 0 {
- return ErrInvalidLengthWorkloadEntry
- }
- postStringIndexmapkey := iNdEx + intStringLenmapkey
- if postStringIndexmapkey < 0 {
- return ErrInvalidLengthWorkloadEntry
- }
- if postStringIndexmapkey > l {
- return io.ErrUnexpectedEOF
- }
- mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
- iNdEx = postStringIndexmapkey
- } else if fieldNum == 2 {
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadEntry
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- mapvalue |= uint32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- } else {
- iNdEx = entryPreIndex
- skippy, err := skipWorkloadEntry(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthWorkloadEntry
- }
- if (iNdEx + skippy) > postIndex {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- m.Ports[mapkey] = mapvalue
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Labels", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadEntry
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthWorkloadEntry
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthWorkloadEntry
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Labels == nil {
- m.Labels = make(map[string]string)
- }
- var mapkey string
- var mapvalue string
- for iNdEx < postIndex {
- entryPreIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadEntry
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- if fieldNum == 1 {
- var stringLenmapkey uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadEntry
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapkey |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapkey := int(stringLenmapkey)
- if intStringLenmapkey < 0 {
- return ErrInvalidLengthWorkloadEntry
- }
- postStringIndexmapkey := iNdEx + intStringLenmapkey
- if postStringIndexmapkey < 0 {
- return ErrInvalidLengthWorkloadEntry
- }
- if postStringIndexmapkey > l {
- return io.ErrUnexpectedEOF
- }
- mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
- iNdEx = postStringIndexmapkey
- } else if fieldNum == 2 {
- var stringLenmapvalue uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadEntry
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapvalue |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapvalue := int(stringLenmapvalue)
- if intStringLenmapvalue < 0 {
- return ErrInvalidLengthWorkloadEntry
- }
- postStringIndexmapvalue := iNdEx + intStringLenmapvalue
- if postStringIndexmapvalue < 0 {
- return ErrInvalidLengthWorkloadEntry
- }
- if postStringIndexmapvalue > l {
- return io.ErrUnexpectedEOF
- }
- mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue])
- iNdEx = postStringIndexmapvalue
- } else {
- iNdEx = entryPreIndex
- skippy, err := skipWorkloadEntry(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthWorkloadEntry
- }
- if (iNdEx + skippy) > postIndex {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- m.Labels[mapkey] = mapvalue
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Network", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadEntry
- }
- 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 ErrInvalidLengthWorkloadEntry
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthWorkloadEntry
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Network = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Locality", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadEntry
- }
- 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 ErrInvalidLengthWorkloadEntry
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthWorkloadEntry
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Locality = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 6:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Weight", wireType)
- }
- m.Weight = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadEntry
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Weight |= uint32(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 7:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ServiceAccount", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowWorkloadEntry
- }
- 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 ErrInvalidLengthWorkloadEntry
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthWorkloadEntry
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.ServiceAccount = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipWorkloadEntry(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthWorkloadEntry
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func skipWorkloadEntry(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowWorkloadEntry
- }
- 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, ErrIntOverflowWorkloadEntry
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowWorkloadEntry
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLengthWorkloadEntry
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroupWorkloadEntry
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLengthWorkloadEntry
- }
- if depth == 0 {
- return iNdEx, nil
}
}
- return 0, io.ErrUnexpectedEOF
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_networking_v1beta1_workload_entry_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 3,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_networking_v1beta1_workload_entry_proto_goTypes,
+ DependencyIndexes: file_networking_v1beta1_workload_entry_proto_depIdxs,
+ MessageInfos: file_networking_v1beta1_workload_entry_proto_msgTypes,
+ }.Build()
+ File_networking_v1beta1_workload_entry_proto = out.File
+ file_networking_v1beta1_workload_entry_proto_rawDesc = nil
+ file_networking_v1beta1_workload_entry_proto_goTypes = nil
+ file_networking_v1beta1_workload_entry_proto_depIdxs = nil
}
-
-var (
- ErrInvalidLengthWorkloadEntry = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflowWorkloadEntry = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroupWorkloadEntry = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/vendor/istio.io/api/networking/v1beta1/workload_entry_deepcopy.gen.go b/vendor/istio.io/api/networking/v1beta1/workload_entry_deepcopy.gen.go
index 2aa895e0f..7d3d000e5 100644
--- a/vendor/istio.io/api/networking/v1beta1/workload_entry_deepcopy.gen.go
+++ b/vendor/istio.io/api/networking/v1beta1/workload_entry_deepcopy.gen.go
@@ -1,227 +1,10 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: networking/v1beta1/workload_entry.proto
-
-// `WorkloadEntry` enables operators to describe the properties of a
-// single non-Kubernetes workload such as a VM or a bare metal server
-// as it is onboarded into the mesh. A `WorkloadEntry` must be
-// accompanied by an Istio `ServiceEntry` that selects the workload
-// through the appropriate labels and provides the service definition
-// for a `MESH_INTERNAL` service (hostnames, port properties, etc.). A
-// `ServiceEntry` object can select multiple workload entries as well
-// as Kubernetes pods based on the label selector specified in the
-// service entry.
-//
-// When a workload connects to `istiod`, the status field in the
-// custom resource will be updated to indicate the health of the
-// workload along with other details, similar to how Kubernetes
-// updates the status of a pod.
-//
-// The following example declares a workload entry representing a VM
-// for the `details.bookinfo.com` service. This VM has sidecar
-// installed and bootstrapped using the `details-legacy` service
-// account. The service is exposed on port 80 to applications in the
-// mesh. The HTTP traffic to this service is wrapped in Istio mutual
-// TLS and sent to sidecars on VMs on target port 8080, that in turn
-// forward it to the application on localhost on the same port.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: WorkloadEntry
-// metadata:
-// name: details-svc
-// spec:
-// # use of the service account indicates that the workload has a
-// # sidecar proxy bootstrapped with this service account. Pods with
-// # sidecars will automatically communicate with the workload using
-// # istio mutual TLS.
-// serviceAccount: details-legacy
-// address: 2.2.2.2
-// labels:
-// app: details-legacy
-// instance-id: vm1
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: WorkloadEntry
-// metadata:
-// name: details-svc
-// spec:
-// # use of the service account indicates that the workload has a
-// # sidecar proxy bootstrapped with this service account. Pods with
-// # sidecars will automatically communicate with the workload using
-// # istio mutual TLS.
-// serviceAccount: details-legacy
-// address: 2.2.2.2
-// labels:
-// app: details-legacy
-// instance-id: vm1
-// ```
-// {{}}
-// {{}}
-//
-// and the associated service entry
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: details-svc
-// spec:
-// hosts:
-// - details.bookinfo.com
-// location: MESH_INTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// targetPort: 8080
-// resolution: STATIC
-// workloadSelector:
-// labels:
-// app: details-legacy
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: details-svc
-// spec:
-// hosts:
-// - details.bookinfo.com
-// location: MESH_INTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// targetPort: 8080
-// resolution: STATIC
-// workloadSelector:
-// labels:
-// app: details-legacy
-// ```
-// {{}}
-// {{}}
-//
-//
-// The following example declares the same VM workload using
-// its fully qualified DNS name. The service entry's resolution
-// mode should be changed to DNS to indicate that the client-side
-// sidecars should dynamically resolve the DNS name at runtime before
-// forwarding the request.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: WorkloadEntry
-// metadata:
-// name: details-svc
-// spec:
-// # use of the service account indicates that the workload has a
-// # sidecar proxy bootstrapped with this service account. Pods with
-// # sidecars will automatically communicate with the workload using
-// # istio mutual TLS.
-// serviceAccount: details-legacy
-// address: vm1.vpc01.corp.net
-// labels:
-// app: details-legacy
-// instance-id: vm1
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: WorkloadEntry
-// metadata:
-// name: details-svc
-// spec:
-// # use of the service account indicates that the workload has a
-// # sidecar proxy bootstrapped with this service account. Pods with
-// # sidecars will automatically communicate with the workload using
-// # istio mutual TLS.
-// serviceAccount: details-legacy
-// address: vm1.vpc01.corp.net
-// labels:
-// app: details-legacy
-// instance-id: vm1
-// ```
-// {{}}
-// {{}}
-//
-// and the associated service entry
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: details-svc
-// spec:
-// hosts:
-// - details.bookinfo.com
-// location: MESH_INTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// targetPort: 8080
-// resolution: DNS
-// workloadSelector:
-// labels:
-// app: details-legacy
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: details-svc
-// spec:
-// hosts:
-// - details.bookinfo.com
-// location: MESH_INTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// targetPort: 8080
-// resolution: DNS
-// workloadSelector:
-// labels:
-// app: details-legacy
-// ```
-// {{}}
-// {{}}
-//
-
+// Code generated by protoc-gen-deepcopy. DO NOT EDIT.
package v1beta1
import (
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
+ proto "github.com/golang/protobuf/proto"
)
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
// DeepCopyInto supports using WorkloadEntry within kubernetes types, where deepcopy-gen is used.
func (in *WorkloadEntry) DeepCopyInto(out *WorkloadEntry) {
p := proto.Clone(in).(*WorkloadEntry)
diff --git a/vendor/istio.io/api/networking/v1beta1/workload_entry_json.gen.go b/vendor/istio.io/api/networking/v1beta1/workload_entry_json.gen.go
index 010382bc3..5a3d64f7f 100644
--- a/vendor/istio.io/api/networking/v1beta1/workload_entry_json.gen.go
+++ b/vendor/istio.io/api/networking/v1beta1/workload_entry_json.gen.go
@@ -1,229 +1,11 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: networking/v1beta1/workload_entry.proto
-
-// `WorkloadEntry` enables operators to describe the properties of a
-// single non-Kubernetes workload such as a VM or a bare metal server
-// as it is onboarded into the mesh. A `WorkloadEntry` must be
-// accompanied by an Istio `ServiceEntry` that selects the workload
-// through the appropriate labels and provides the service definition
-// for a `MESH_INTERNAL` service (hostnames, port properties, etc.). A
-// `ServiceEntry` object can select multiple workload entries as well
-// as Kubernetes pods based on the label selector specified in the
-// service entry.
-//
-// When a workload connects to `istiod`, the status field in the
-// custom resource will be updated to indicate the health of the
-// workload along with other details, similar to how Kubernetes
-// updates the status of a pod.
-//
-// The following example declares a workload entry representing a VM
-// for the `details.bookinfo.com` service. This VM has sidecar
-// installed and bootstrapped using the `details-legacy` service
-// account. The service is exposed on port 80 to applications in the
-// mesh. The HTTP traffic to this service is wrapped in Istio mutual
-// TLS and sent to sidecars on VMs on target port 8080, that in turn
-// forward it to the application on localhost on the same port.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: WorkloadEntry
-// metadata:
-// name: details-svc
-// spec:
-// # use of the service account indicates that the workload has a
-// # sidecar proxy bootstrapped with this service account. Pods with
-// # sidecars will automatically communicate with the workload using
-// # istio mutual TLS.
-// serviceAccount: details-legacy
-// address: 2.2.2.2
-// labels:
-// app: details-legacy
-// instance-id: vm1
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: WorkloadEntry
-// metadata:
-// name: details-svc
-// spec:
-// # use of the service account indicates that the workload has a
-// # sidecar proxy bootstrapped with this service account. Pods with
-// # sidecars will automatically communicate with the workload using
-// # istio mutual TLS.
-// serviceAccount: details-legacy
-// address: 2.2.2.2
-// labels:
-// app: details-legacy
-// instance-id: vm1
-// ```
-// {{}}
-// {{}}
-//
-// and the associated service entry
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: details-svc
-// spec:
-// hosts:
-// - details.bookinfo.com
-// location: MESH_INTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// targetPort: 8080
-// resolution: STATIC
-// workloadSelector:
-// labels:
-// app: details-legacy
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: details-svc
-// spec:
-// hosts:
-// - details.bookinfo.com
-// location: MESH_INTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// targetPort: 8080
-// resolution: STATIC
-// workloadSelector:
-// labels:
-// app: details-legacy
-// ```
-// {{}}
-// {{}}
-//
-//
-// The following example declares the same VM workload using
-// its fully qualified DNS name. The service entry's resolution
-// mode should be changed to DNS to indicate that the client-side
-// sidecars should dynamically resolve the DNS name at runtime before
-// forwarding the request.
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: WorkloadEntry
-// metadata:
-// name: details-svc
-// spec:
-// # use of the service account indicates that the workload has a
-// # sidecar proxy bootstrapped with this service account. Pods with
-// # sidecars will automatically communicate with the workload using
-// # istio mutual TLS.
-// serviceAccount: details-legacy
-// address: vm1.vpc01.corp.net
-// labels:
-// app: details-legacy
-// instance-id: vm1
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: WorkloadEntry
-// metadata:
-// name: details-svc
-// spec:
-// # use of the service account indicates that the workload has a
-// # sidecar proxy bootstrapped with this service account. Pods with
-// # sidecars will automatically communicate with the workload using
-// # istio mutual TLS.
-// serviceAccount: details-legacy
-// address: vm1.vpc01.corp.net
-// labels:
-// app: details-legacy
-// instance-id: vm1
-// ```
-// {{}}
-// {{}}
-//
-// and the associated service entry
-//
-// {{}}
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceEntry
-// metadata:
-// name: details-svc
-// spec:
-// hosts:
-// - details.bookinfo.com
-// location: MESH_INTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// targetPort: 8080
-// resolution: DNS
-// workloadSelector:
-// labels:
-// app: details-legacy
-// ```
-// {{}}
-//
-// {{}}
-// ```yaml
-// apiVersion: networking.istio.io/v1beta1
-// kind: ServiceEntry
-// metadata:
-// name: details-svc
-// spec:
-// hosts:
-// - details.bookinfo.com
-// location: MESH_INTERNAL
-// ports:
-// - number: 80
-// name: http
-// protocol: HTTP
-// targetPort: 8080
-// resolution: DNS
-// workloadSelector:
-// labels:
-// app: details-legacy
-// ```
-// {{}}
-// {{}}
-//
-
+// Code generated by protoc-gen-jsonshim. DO NOT EDIT.
package v1beta1
import (
bytes "bytes"
- fmt "fmt"
- github_com_gogo_protobuf_jsonpb "github.com/gogo/protobuf/jsonpb"
- proto "github.com/gogo/protobuf/proto"
- _ "istio.io/gogo-genproto/googleapis/google/api"
- math "math"
+ jsonpb "github.com/golang/protobuf/jsonpb"
)
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
// MarshalJSON is a custom marshaler for WorkloadEntry
func (this *WorkloadEntry) MarshalJSON() ([]byte, error) {
str, err := WorkloadEntryMarshaler.MarshalToString(this)
@@ -236,6 +18,6 @@ func (this *WorkloadEntry) UnmarshalJSON(b []byte) error {
}
var (
- WorkloadEntryMarshaler = &github_com_gogo_protobuf_jsonpb.Marshaler{}
- WorkloadEntryUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{AllowUnknownFields: true}
+ WorkloadEntryMarshaler = &jsonpb.Marshaler{}
+ WorkloadEntryUnmarshaler = &jsonpb.Unmarshaler{AllowUnknownFields: true}
)
diff --git a/vendor/istio.io/api/networking/v1beta1/workload_group.gen.json b/vendor/istio.io/api/networking/v1beta1/workload_group.gen.json
new file mode 100644
index 000000000..eaa85ccbb
--- /dev/null
+++ b/vendor/istio.io/api/networking/v1beta1/workload_group.gen.json
@@ -0,0 +1,250 @@
+{
+ "openapi": "3.0.0",
+ "info": {
+ "title": "Describes a collection of workload instances.",
+ "version": "v1beta1"
+ },
+ "components": {
+ "schemas": {
+ "istio.networking.v1beta1.ExecHealthCheckConfig": {
+ "type": "object",
+ "properties": {
+ "command": {
+ "description": "Command to run. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "istio.networking.v1beta1.HTTPHeader": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The header field name",
+ "type": "string"
+ },
+ "value": {
+ "description": "The header field value",
+ "type": "string"
+ }
+ }
+ },
+ "istio.networking.v1beta1.HTTPHealthCheckConfig": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "description": "Path to access on the HTTP server.",
+ "type": "string"
+ },
+ "port": {
+ "description": "Port on which the endpoint lives.",
+ "type": "integer"
+ },
+ "host": {
+ "description": "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead.",
+ "type": "string"
+ },
+ "scheme": {
+ "description": "HTTP or HTTPS, defaults to HTTP",
+ "type": "string"
+ },
+ "httpHeaders": {
+ "description": "Headers the proxy will pass on to make the request. Allows repeated headers.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/istio.networking.v1beta1.HTTPHeader"
+ }
+ }
+ }
+ },
+ "istio.networking.v1beta1.ReadinessProbe": {
+ "type": "object",
+ "properties": {
+ "initialDelaySeconds": {
+ "description": "Number of seconds after the container has started before readiness probes are initiated.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "timeoutSeconds": {
+ "description": "Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1 second.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "periodSeconds": {
+ "description": "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1 second.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "successThreshold": {
+ "description": "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1 second.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "failureThreshold": {
+ "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3 seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "oneOf": [
+ {
+ "not": {
+ "anyOf": [
+ {
+ "required": [
+ "httpGet"
+ ],
+ "properties": {
+ "httpGet": {
+ "$ref": "#/components/schemas/istio.networking.v1beta1.HTTPHealthCheckConfig"
+ }
+ }
+ },
+ {
+ "required": [
+ "tcpSocket"
+ ],
+ "properties": {
+ "tcpSocket": {
+ "$ref": "#/components/schemas/istio.networking.v1beta1.TCPHealthCheckConfig"
+ }
+ }
+ },
+ {
+ "required": [
+ "exec"
+ ],
+ "properties": {
+ "exec": {
+ "$ref": "#/components/schemas/istio.networking.v1beta1.ExecHealthCheckConfig"
+ }
+ }
+ }
+ ]
+ }
+ },
+ {
+ "required": [
+ "httpGet"
+ ],
+ "properties": {
+ "httpGet": {
+ "$ref": "#/components/schemas/istio.networking.v1beta1.HTTPHealthCheckConfig"
+ }
+ }
+ },
+ {
+ "required": [
+ "tcpSocket"
+ ],
+ "properties": {
+ "tcpSocket": {
+ "$ref": "#/components/schemas/istio.networking.v1beta1.TCPHealthCheckConfig"
+ }
+ }
+ },
+ {
+ "required": [
+ "exec"
+ ],
+ "properties": {
+ "exec": {
+ "$ref": "#/components/schemas/istio.networking.v1beta1.ExecHealthCheckConfig"
+ }
+ }
+ }
+ ]
+ },
+ "istio.networking.v1beta1.TCPHealthCheckConfig": {
+ "type": "object",
+ "properties": {
+ "host": {
+ "description": "Host to connect to, defaults to localhost",
+ "type": "string"
+ },
+ "port": {
+ "description": "Port of host",
+ "type": "integer"
+ }
+ }
+ },
+ "istio.networking.v1beta1.WorkloadEntry": {
+ "description": "WorkloadEntry enables specifying the properties of a single non-Kubernetes workload such a VM or a bare metal services that can be referred to by service entries.",
+ "type": "object",
+ "properties": {
+ "address": {
+ "description": "Address associated with the network endpoint without the port. Domain names can be used if and only if the resolution is set to DNS, and must be fully-qualified without wildcards. Use the form unix:///absolute/path/to/socket for Unix domain socket endpoints.",
+ "type": "string"
+ },
+ "ports": {
+ "description": "Set of ports associated with the endpoint. If the port map is specified, it must be a map of servicePortName to this endpoint's port, such that traffic to the service port will be forwarded to the endpoint port that maps to the service's portName. If omitted, and the targetPort is specified as part of the service's port specification, traffic to the service port will be forwarded to one of the endpoints on the specified `targetPort`. If both the targetPort and endpoint's port map are not specified, traffic to a service port will be forwarded to one of the endpoints on the same port.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "integer"
+ }
+ },
+ "labels": {
+ "description": "One or more labels associated with the endpoint.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "network": {
+ "description": "Network enables Istio to group endpoints resident in the same L3 domain/network. All endpoints in the same network are assumed to be directly reachable from one another. When endpoints in different networks cannot reach each other directly, an Istio Gateway can be used to establish connectivity (usually using the `AUTO_PASSTHROUGH` mode in a Gateway Server). This is an advanced configuration used typically for spanning an Istio mesh over multiple clusters.",
+ "type": "string"
+ },
+ "locality": {
+ "description": "The locality associated with the endpoint. A locality corresponds to a failure domain (e.g., country/region/zone). Arbitrary failure domain hierarchies can be represented by separating each encapsulating failure domain by /. For example, the locality of an an endpoint in US, in US-East-1 region, within availability zone az-1, in data center rack r11 can be represented as us/us-east-1/az-1/r11. Istio will configure the sidecar to route to endpoints within the same locality as the sidecar. If none of the endpoints in the locality are available, endpoints parent locality (but within the same network ID) will be chosen. For example, if there are two endpoints in same network (networkID \"n1\"), say e1 with locality us/us-east-1/az-1/r11 and e2 with locality us/us-east-1/az-2/r12, a sidecar from us/us-east-1/az-1/r11 locality will prefer e1 from the same locality over e2 from a different locality. Endpoint e2 could be the IP associated with a gateway (that bridges networks n1 and n2), or the IP associated with a standard service endpoint.",
+ "type": "string"
+ },
+ "weight": {
+ "description": "The load balancing weight associated with the endpoint. Endpoints with higher weights will receive proportionally higher traffic.",
+ "type": "integer"
+ },
+ "serviceAccount": {
+ "description": "The service account associated with the workload if a sidecar is present in the workload. The service account must be present in the same namespace as the configuration ( WorkloadEntry or a ServiceEntry)",
+ "type": "string"
+ }
+ }
+ },
+ "istio.networking.v1beta1.WorkloadGroup": {
+ "description": "`WorkloadGroup` enables specifying the properties of a single workload for bootstrap and provides a template for `WorkloadEntry`, similar to how `Deployment` specifies properties of workloads via `Pod` templates. A `WorkloadGroup` can have more than one `WorkloadEntry`. `WorkloadGroup` has no relationship to resources which control service registry like `ServiceEntry` and as such doesn't configure host name for these workloads.",
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "$ref": "#/components/schemas/istio.networking.v1beta1.WorkloadGroup.ObjectMeta"
+ },
+ "template": {
+ "$ref": "#/components/schemas/istio.networking.v1beta1.WorkloadEntry"
+ },
+ "probe": {
+ "$ref": "#/components/schemas/istio.networking.v1beta1.ReadinessProbe"
+ }
+ }
+ },
+ "istio.networking.v1beta1.WorkloadGroup.ObjectMeta": {
+ "description": "`ObjectMeta` describes metadata that will be attached to a `WorkloadEntry`. It is a subset of the supported Kubernetes metadata.",
+ "type": "object",
+ "properties": {
+ "labels": {
+ "description": "Labels to attach",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "annotations": {
+ "description": "Annotations to attach",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/vendor/istio.io/api/networking/v1beta1/workload_group.pb.go b/vendor/istio.io/api/networking/v1beta1/workload_group.pb.go
new file mode 100644
index 000000000..ce218e102
--- /dev/null
+++ b/vendor/istio.io/api/networking/v1beta1/workload_group.pb.go
@@ -0,0 +1,917 @@
+// Copyright 2020 Istio 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-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.27.1
+// protoc (unknown)
+// source: networking/v1beta1/workload_group.proto
+
+// $schema: istio.networking.v1alpha3.WorkloadGroup
+// $title: Workload Group
+// $description: Describes a collection of workload instances.
+// $location: https://istio.io/docs/reference/config/networking/workload-group.html
+// $aliases: [/docs/reference/config/networking/v1alpha3/workload-group]
+
+// `WorkloadGroup` describes a collection of workload instances.
+// It provides a specification that the workload instances can use to bootstrap
+// their proxies, including the metadata and identity. It is only intended to
+// be used with non-k8s workloads like Virtual Machines, and is meant to mimic
+// the existing sidecar injection and deployment specification model used for
+// Kubernetes workloads to bootstrap Istio proxies.
+//
+// The following example declares a workload group representing a collection
+// of workloads that will be registered under `reviews` in namespace
+// `bookinfo`. The set of labels will be associated with each workload
+// instance during the bootstrap process, and the ports 3550 and 8080
+// will be associated with the workload group and use service account `default`.
+// `app.kubernetes.io/version` is just an arbitrary example of a label.
+//
+// {{}}
+// {{}}
+// ```yaml
+// apiVersion: networking.istio.io/v1alpha3
+// kind: WorkloadGroup
+// metadata:
+// name: reviews
+// namespace: bookinfo
+// spec:
+// metadata:
+// labels:
+// app.kubernetes.io/name: reviews
+// app.kubernetes.io/version: "1.3.4"
+// template:
+// ports:
+// grpc: 3550
+// http: 8080
+// serviceAccount: default
+// probe:
+// initialDelaySeconds: 5
+// timeoutSeconds: 3
+// periodSeconds: 4
+// successThreshold: 3
+// failureThreshold: 3
+// httpGet:
+// path: /foo/bar
+// host: 127.0.0.1
+// port: 3100
+// scheme: HTTPS
+// httpHeaders:
+// - name: Lit-Header
+// value: Im-The-Best
+// ```
+// {{}}
+// {{}}
+//
+
+package v1beta1
+
+import (
+ _ "google.golang.org/genproto/googleapis/api/annotations"
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// `WorkloadGroup` enables specifying the properties of a single workload for bootstrap and
+// provides a template for `WorkloadEntry`, similar to how `Deployment` specifies properties
+// of workloads via `Pod` templates. A `WorkloadGroup` can have more than one `WorkloadEntry`.
+// `WorkloadGroup` has no relationship to resources which control service registry like `ServiceEntry`
+// and as such doesn't configure host name for these workloads.
+//
+//
+//
+//
+//
+type WorkloadGroup struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Metadata that will be used for all corresponding `WorkloadEntries`.
+ // User labels for a workload group should be set here in `metadata` rather than in `template`.
+ Metadata *WorkloadGroup_ObjectMeta `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"`
+ // Template to be used for the generation of `WorkloadEntry` resources that belong to this `WorkloadGroup`.
+ // Please note that `address` and `labels` fields should not be set in the template, and an empty `serviceAccount`
+ // should default to `default`. The workload identities (mTLS certificates) will be bootstrapped using the
+ // specified service account's token. Workload entries in this group will be in the same namespace as the
+ // workload group, and inherit the labels and annotations from the above `metadata` field.
+ Template *WorkloadEntry `protobuf:"bytes,2,opt,name=template,proto3" json:"template,omitempty"`
+ // `ReadinessProbe` describes the configuration the user must provide for healthchecking on their workload.
+ // This configuration mirrors K8S in both syntax and logic for the most part.
+ Probe *ReadinessProbe `protobuf:"bytes,3,opt,name=probe,proto3" json:"probe,omitempty"`
+}
+
+func (x *WorkloadGroup) Reset() {
+ *x = WorkloadGroup{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_workload_group_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WorkloadGroup) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WorkloadGroup) ProtoMessage() {}
+
+func (x *WorkloadGroup) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_workload_group_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WorkloadGroup.ProtoReflect.Descriptor instead.
+func (*WorkloadGroup) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_workload_group_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WorkloadGroup) GetMetadata() *WorkloadGroup_ObjectMeta {
+ if x != nil {
+ return x.Metadata
+ }
+ return nil
+}
+
+func (x *WorkloadGroup) GetTemplate() *WorkloadEntry {
+ if x != nil {
+ return x.Template
+ }
+ return nil
+}
+
+func (x *WorkloadGroup) GetProbe() *ReadinessProbe {
+ if x != nil {
+ return x.Probe
+ }
+ return nil
+}
+
+type ReadinessProbe struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Number of seconds after the container has started before readiness probes are initiated.
+ InitialDelaySeconds int32 `protobuf:"varint,2,opt,name=initial_delay_seconds,json=initialDelaySeconds,proto3" json:"initial_delay_seconds,omitempty"`
+ // Number of seconds after which the probe times out.
+ // Defaults to 1 second. Minimum value is 1 second.
+ TimeoutSeconds int32 `protobuf:"varint,3,opt,name=timeout_seconds,json=timeoutSeconds,proto3" json:"timeout_seconds,omitempty"`
+ // How often (in seconds) to perform the probe.
+ // Default to 10 seconds. Minimum value is 1 second.
+ PeriodSeconds int32 `protobuf:"varint,4,opt,name=period_seconds,json=periodSeconds,proto3" json:"period_seconds,omitempty"`
+ // Minimum consecutive successes for the probe to be considered successful after having failed.
+ // Defaults to 1 second.
+ SuccessThreshold int32 `protobuf:"varint,5,opt,name=success_threshold,json=successThreshold,proto3" json:"success_threshold,omitempty"`
+ // Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ // Defaults to 3 seconds.
+ FailureThreshold int32 `protobuf:"varint,6,opt,name=failure_threshold,json=failureThreshold,proto3" json:"failure_threshold,omitempty"`
+ // Users can only provide one configuration for healthchecks (tcp, http, exec),
+ // and this is expressed as a oneof. All of the other configuration values
+ // hold true for any of the healthcheck methods.
+ //
+ // Types that are assignable to HealthCheckMethod:
+ // *ReadinessProbe_HttpGet
+ // *ReadinessProbe_TcpSocket
+ // *ReadinessProbe_Exec
+ HealthCheckMethod isReadinessProbe_HealthCheckMethod `protobuf_oneof:"health_check_method"`
+}
+
+func (x *ReadinessProbe) Reset() {
+ *x = ReadinessProbe{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_workload_group_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReadinessProbe) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReadinessProbe) ProtoMessage() {}
+
+func (x *ReadinessProbe) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_workload_group_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReadinessProbe.ProtoReflect.Descriptor instead.
+func (*ReadinessProbe) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_workload_group_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *ReadinessProbe) GetInitialDelaySeconds() int32 {
+ if x != nil {
+ return x.InitialDelaySeconds
+ }
+ return 0
+}
+
+func (x *ReadinessProbe) GetTimeoutSeconds() int32 {
+ if x != nil {
+ return x.TimeoutSeconds
+ }
+ return 0
+}
+
+func (x *ReadinessProbe) GetPeriodSeconds() int32 {
+ if x != nil {
+ return x.PeriodSeconds
+ }
+ return 0
+}
+
+func (x *ReadinessProbe) GetSuccessThreshold() int32 {
+ if x != nil {
+ return x.SuccessThreshold
+ }
+ return 0
+}
+
+func (x *ReadinessProbe) GetFailureThreshold() int32 {
+ if x != nil {
+ return x.FailureThreshold
+ }
+ return 0
+}
+
+func (m *ReadinessProbe) GetHealthCheckMethod() isReadinessProbe_HealthCheckMethod {
+ if m != nil {
+ return m.HealthCheckMethod
+ }
+ return nil
+}
+
+func (x *ReadinessProbe) GetHttpGet() *HTTPHealthCheckConfig {
+ if x, ok := x.GetHealthCheckMethod().(*ReadinessProbe_HttpGet); ok {
+ return x.HttpGet
+ }
+ return nil
+}
+
+func (x *ReadinessProbe) GetTcpSocket() *TCPHealthCheckConfig {
+ if x, ok := x.GetHealthCheckMethod().(*ReadinessProbe_TcpSocket); ok {
+ return x.TcpSocket
+ }
+ return nil
+}
+
+func (x *ReadinessProbe) GetExec() *ExecHealthCheckConfig {
+ if x, ok := x.GetHealthCheckMethod().(*ReadinessProbe_Exec); ok {
+ return x.Exec
+ }
+ return nil
+}
+
+type isReadinessProbe_HealthCheckMethod interface {
+ isReadinessProbe_HealthCheckMethod()
+}
+
+type ReadinessProbe_HttpGet struct {
+ // `httpGet` is performed to a given endpoint
+ // and the status/able to connect determines health.
+ HttpGet *HTTPHealthCheckConfig `protobuf:"bytes,7,opt,name=http_get,json=httpGet,proto3,oneof"`
+}
+
+type ReadinessProbe_TcpSocket struct {
+ // Health is determined by if the proxy is able to connect.
+ TcpSocket *TCPHealthCheckConfig `protobuf:"bytes,8,opt,name=tcp_socket,json=tcpSocket,proto3,oneof"`
+}
+
+type ReadinessProbe_Exec struct {
+ // Health is determined by how the command that is executed exited.
+ Exec *ExecHealthCheckConfig `protobuf:"bytes,9,opt,name=exec,proto3,oneof"`
+}
+
+func (*ReadinessProbe_HttpGet) isReadinessProbe_HealthCheckMethod() {}
+
+func (*ReadinessProbe_TcpSocket) isReadinessProbe_HealthCheckMethod() {}
+
+func (*ReadinessProbe_Exec) isReadinessProbe_HealthCheckMethod() {}
+
+type HTTPHealthCheckConfig struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Path to access on the HTTP server.
+ Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
+ // Port on which the endpoint lives.
+ Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
+ // Host name to connect to, defaults to the pod IP. You probably want to set
+ // "Host" in httpHeaders instead.
+ Host string `protobuf:"bytes,3,opt,name=host,proto3" json:"host,omitempty"`
+ // HTTP or HTTPS, defaults to HTTP
+ Scheme string `protobuf:"bytes,4,opt,name=scheme,proto3" json:"scheme,omitempty"`
+ // Headers the proxy will pass on to make the request.
+ // Allows repeated headers.
+ HttpHeaders []*HTTPHeader `protobuf:"bytes,5,rep,name=http_headers,json=httpHeaders,proto3" json:"http_headers,omitempty"`
+}
+
+func (x *HTTPHealthCheckConfig) Reset() {
+ *x = HTTPHealthCheckConfig{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_workload_group_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HTTPHealthCheckConfig) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HTTPHealthCheckConfig) ProtoMessage() {}
+
+func (x *HTTPHealthCheckConfig) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_workload_group_proto_msgTypes[2]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HTTPHealthCheckConfig.ProtoReflect.Descriptor instead.
+func (*HTTPHealthCheckConfig) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_workload_group_proto_rawDescGZIP(), []int{2}
+}
+
+func (x *HTTPHealthCheckConfig) GetPath() string {
+ if x != nil {
+ return x.Path
+ }
+ return ""
+}
+
+func (x *HTTPHealthCheckConfig) GetPort() uint32 {
+ if x != nil {
+ return x.Port
+ }
+ return 0
+}
+
+func (x *HTTPHealthCheckConfig) GetHost() string {
+ if x != nil {
+ return x.Host
+ }
+ return ""
+}
+
+func (x *HTTPHealthCheckConfig) GetScheme() string {
+ if x != nil {
+ return x.Scheme
+ }
+ return ""
+}
+
+func (x *HTTPHealthCheckConfig) GetHttpHeaders() []*HTTPHeader {
+ if x != nil {
+ return x.HttpHeaders
+ }
+ return nil
+}
+
+type HTTPHeader struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The header field name
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ // The header field value
+ Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
+}
+
+func (x *HTTPHeader) Reset() {
+ *x = HTTPHeader{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_workload_group_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HTTPHeader) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HTTPHeader) ProtoMessage() {}
+
+func (x *HTTPHeader) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_workload_group_proto_msgTypes[3]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HTTPHeader.ProtoReflect.Descriptor instead.
+func (*HTTPHeader) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_workload_group_proto_rawDescGZIP(), []int{3}
+}
+
+func (x *HTTPHeader) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+func (x *HTTPHeader) GetValue() string {
+ if x != nil {
+ return x.Value
+ }
+ return ""
+}
+
+type TCPHealthCheckConfig struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Host to connect to, defaults to localhost
+ Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
+ // Port of host
+ Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
+}
+
+func (x *TCPHealthCheckConfig) Reset() {
+ *x = TCPHealthCheckConfig{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_workload_group_proto_msgTypes[4]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TCPHealthCheckConfig) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TCPHealthCheckConfig) ProtoMessage() {}
+
+func (x *TCPHealthCheckConfig) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_workload_group_proto_msgTypes[4]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TCPHealthCheckConfig.ProtoReflect.Descriptor instead.
+func (*TCPHealthCheckConfig) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_workload_group_proto_rawDescGZIP(), []int{4}
+}
+
+func (x *TCPHealthCheckConfig) GetHost() string {
+ if x != nil {
+ return x.Host
+ }
+ return ""
+}
+
+func (x *TCPHealthCheckConfig) GetPort() uint32 {
+ if x != nil {
+ return x.Port
+ }
+ return 0
+}
+
+type ExecHealthCheckConfig struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Command to run. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
+ Command []string `protobuf:"bytes,1,rep,name=command,proto3" json:"command,omitempty"`
+}
+
+func (x *ExecHealthCheckConfig) Reset() {
+ *x = ExecHealthCheckConfig{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_workload_group_proto_msgTypes[5]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ExecHealthCheckConfig) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExecHealthCheckConfig) ProtoMessage() {}
+
+func (x *ExecHealthCheckConfig) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_workload_group_proto_msgTypes[5]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ExecHealthCheckConfig.ProtoReflect.Descriptor instead.
+func (*ExecHealthCheckConfig) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_workload_group_proto_rawDescGZIP(), []int{5}
+}
+
+func (x *ExecHealthCheckConfig) GetCommand() []string {
+ if x != nil {
+ return x.Command
+ }
+ return nil
+}
+
+// `ObjectMeta` describes metadata that will be attached to a `WorkloadEntry`.
+// It is a subset of the supported Kubernetes metadata.
+type WorkloadGroup_ObjectMeta struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Labels to attach
+ Labels map[string]string `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ // Annotations to attach
+ Annotations map[string]string `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+}
+
+func (x *WorkloadGroup_ObjectMeta) Reset() {
+ *x = WorkloadGroup_ObjectMeta{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1beta1_workload_group_proto_msgTypes[6]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WorkloadGroup_ObjectMeta) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WorkloadGroup_ObjectMeta) ProtoMessage() {}
+
+func (x *WorkloadGroup_ObjectMeta) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1beta1_workload_group_proto_msgTypes[6]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WorkloadGroup_ObjectMeta.ProtoReflect.Descriptor instead.
+func (*WorkloadGroup_ObjectMeta) Descriptor() ([]byte, []int) {
+ return file_networking_v1beta1_workload_group_proto_rawDescGZIP(), []int{0, 0}
+}
+
+func (x *WorkloadGroup_ObjectMeta) GetLabels() map[string]string {
+ if x != nil {
+ return x.Labels
+ }
+ return nil
+}
+
+func (x *WorkloadGroup_ObjectMeta) GetAnnotations() map[string]string {
+ if x != nil {
+ return x.Annotations
+ }
+ return nil
+}
+
+var File_networking_v1beta1_workload_group_proto protoreflect.FileDescriptor
+
+var file_networking_v1beta1_workload_group_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62,
+ 0x65, 0x74, 0x61, 0x31, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x67, 0x72,
+ 0x6f, 0x75, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x69, 0x73, 0x74, 0x69, 0x6f,
+ 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65,
+ 0x74, 0x61, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f,
+ 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67,
+ 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61,
+ 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb3, 0x04,
+ 0x0a, 0x0d, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12,
+ 0x4e, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
+ 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x6f, 0x72,
+ 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63,
+ 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12,
+ 0x49, 0x0a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x27, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
+ 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x6f, 0x72,
+ 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02,
+ 0x52, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x3e, 0x0a, 0x05, 0x70, 0x72,
+ 0x6f, 0x62, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x73, 0x74, 0x69,
+ 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62,
+ 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x50, 0x72,
+ 0x6f, 0x62, 0x65, 0x52, 0x05, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x1a, 0xc6, 0x02, 0x0a, 0x0a, 0x4f,
+ 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x56, 0x0a, 0x06, 0x6c, 0x61, 0x62,
+ 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x69, 0x73, 0x74, 0x69,
+ 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62,
+ 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x72, 0x6f,
+ 0x75, 0x70, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x61,
+ 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c,
+ 0x73, 0x12, 0x65, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e,
+ 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
+ 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x2e,
+ 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e,
+ 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65,
+ 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
+ 0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
+ 0x02, 0x38, 0x01, 0x22, 0xeb, 0x03, 0x0a, 0x0e, 0x52, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x65, 0x73,
+ 0x73, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61,
+ 0x6c, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x44, 0x65,
+ 0x6c, 0x61, 0x79, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x69,
+ 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f,
+ 0x6e, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x73, 0x65,
+ 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x70, 0x65, 0x72,
+ 0x69, 0x6f, 0x64, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x75,
+ 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x68,
+ 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x66, 0x61, 0x69, 0x6c, 0x75,
+ 0x72, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x06, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x10, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73,
+ 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x4c, 0x0a, 0x08, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x67, 0x65, 0x74,
+ 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e,
+ 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
+ 0x31, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63,
+ 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x07, 0x68, 0x74, 0x74, 0x70, 0x47,
+ 0x65, 0x74, 0x12, 0x4f, 0x0a, 0x0a, 0x74, 0x63, 0x70, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74,
+ 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e,
+ 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
+ 0x31, 0x2e, 0x54, 0x43, 0x50, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b,
+ 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x09, 0x74, 0x63, 0x70, 0x53, 0x6f, 0x63,
+ 0x6b, 0x65, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x65, 0x78, 0x65, 0x63, 0x18, 0x09, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x2f, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
+ 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x65,
+ 0x63, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x48, 0x00, 0x52, 0x04, 0x65, 0x78, 0x65, 0x63, 0x42, 0x15, 0x0a, 0x13, 0x68, 0x65,
+ 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f,
+ 0x64, 0x22, 0xba, 0x01, 0x0a, 0x15, 0x48, 0x54, 0x54, 0x50, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68,
+ 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70,
+ 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12,
+ 0x18, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x04, 0xe2,
+ 0x41, 0x01, 0x02, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73,
+ 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x16, 0x0a,
+ 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73,
+ 0x63, 0x68, 0x65, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x0c, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x68, 0x65,
+ 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x73,
+ 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76,
+ 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x48, 0x65, 0x61, 0x64, 0x65,
+ 0x72, 0x52, 0x0b, 0x68, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x22, 0x36,
+ 0x0a, 0x0a, 0x48, 0x54, 0x54, 0x50, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04,
+ 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
+ 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x44, 0x0a, 0x14, 0x54, 0x43, 0x50, 0x48, 0x65, 0x61,
+ 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12,
+ 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f,
+ 0x73, 0x74, 0x12, 0x18, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
+ 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x31, 0x0a, 0x15,
+ 0x45, 0x78, 0x65, 0x63, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64,
+ 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x42,
+ 0x21, 0x5a, 0x1f, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f,
+ 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74,
+ 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_networking_v1beta1_workload_group_proto_rawDescOnce sync.Once
+ file_networking_v1beta1_workload_group_proto_rawDescData = file_networking_v1beta1_workload_group_proto_rawDesc
+)
+
+func file_networking_v1beta1_workload_group_proto_rawDescGZIP() []byte {
+ file_networking_v1beta1_workload_group_proto_rawDescOnce.Do(func() {
+ file_networking_v1beta1_workload_group_proto_rawDescData = protoimpl.X.CompressGZIP(file_networking_v1beta1_workload_group_proto_rawDescData)
+ })
+ return file_networking_v1beta1_workload_group_proto_rawDescData
+}
+
+var file_networking_v1beta1_workload_group_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
+var file_networking_v1beta1_workload_group_proto_goTypes = []interface{}{
+ (*WorkloadGroup)(nil), // 0: istio.networking.v1beta1.WorkloadGroup
+ (*ReadinessProbe)(nil), // 1: istio.networking.v1beta1.ReadinessProbe
+ (*HTTPHealthCheckConfig)(nil), // 2: istio.networking.v1beta1.HTTPHealthCheckConfig
+ (*HTTPHeader)(nil), // 3: istio.networking.v1beta1.HTTPHeader
+ (*TCPHealthCheckConfig)(nil), // 4: istio.networking.v1beta1.TCPHealthCheckConfig
+ (*ExecHealthCheckConfig)(nil), // 5: istio.networking.v1beta1.ExecHealthCheckConfig
+ (*WorkloadGroup_ObjectMeta)(nil), // 6: istio.networking.v1beta1.WorkloadGroup.ObjectMeta
+ nil, // 7: istio.networking.v1beta1.WorkloadGroup.ObjectMeta.LabelsEntry
+ nil, // 8: istio.networking.v1beta1.WorkloadGroup.ObjectMeta.AnnotationsEntry
+ (*WorkloadEntry)(nil), // 9: istio.networking.v1beta1.WorkloadEntry
+}
+var file_networking_v1beta1_workload_group_proto_depIdxs = []int32{
+ 6, // 0: istio.networking.v1beta1.WorkloadGroup.metadata:type_name -> istio.networking.v1beta1.WorkloadGroup.ObjectMeta
+ 9, // 1: istio.networking.v1beta1.WorkloadGroup.template:type_name -> istio.networking.v1beta1.WorkloadEntry
+ 1, // 2: istio.networking.v1beta1.WorkloadGroup.probe:type_name -> istio.networking.v1beta1.ReadinessProbe
+ 2, // 3: istio.networking.v1beta1.ReadinessProbe.http_get:type_name -> istio.networking.v1beta1.HTTPHealthCheckConfig
+ 4, // 4: istio.networking.v1beta1.ReadinessProbe.tcp_socket:type_name -> istio.networking.v1beta1.TCPHealthCheckConfig
+ 5, // 5: istio.networking.v1beta1.ReadinessProbe.exec:type_name -> istio.networking.v1beta1.ExecHealthCheckConfig
+ 3, // 6: istio.networking.v1beta1.HTTPHealthCheckConfig.http_headers:type_name -> istio.networking.v1beta1.HTTPHeader
+ 7, // 7: istio.networking.v1beta1.WorkloadGroup.ObjectMeta.labels:type_name -> istio.networking.v1beta1.WorkloadGroup.ObjectMeta.LabelsEntry
+ 8, // 8: istio.networking.v1beta1.WorkloadGroup.ObjectMeta.annotations:type_name -> istio.networking.v1beta1.WorkloadGroup.ObjectMeta.AnnotationsEntry
+ 9, // [9:9] is the sub-list for method output_type
+ 9, // [9:9] is the sub-list for method input_type
+ 9, // [9:9] is the sub-list for extension type_name
+ 9, // [9:9] is the sub-list for extension extendee
+ 0, // [0:9] is the sub-list for field type_name
+}
+
+func init() { file_networking_v1beta1_workload_group_proto_init() }
+func file_networking_v1beta1_workload_group_proto_init() {
+ if File_networking_v1beta1_workload_group_proto != nil {
+ return
+ }
+ file_networking_v1beta1_workload_entry_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_networking_v1beta1_workload_group_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WorkloadGroup); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_workload_group_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReadinessProbe); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_workload_group_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HTTPHealthCheckConfig); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_workload_group_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HTTPHeader); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_workload_group_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TCPHealthCheckConfig); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_workload_group_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ExecHealthCheckConfig); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_networking_v1beta1_workload_group_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WorkloadGroup_ObjectMeta); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_networking_v1beta1_workload_group_proto_msgTypes[1].OneofWrappers = []interface{}{
+ (*ReadinessProbe_HttpGet)(nil),
+ (*ReadinessProbe_TcpSocket)(nil),
+ (*ReadinessProbe_Exec)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_networking_v1beta1_workload_group_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 9,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_networking_v1beta1_workload_group_proto_goTypes,
+ DependencyIndexes: file_networking_v1beta1_workload_group_proto_depIdxs,
+ MessageInfos: file_networking_v1beta1_workload_group_proto_msgTypes,
+ }.Build()
+ File_networking_v1beta1_workload_group_proto = out.File
+ file_networking_v1beta1_workload_group_proto_rawDesc = nil
+ file_networking_v1beta1_workload_group_proto_goTypes = nil
+ file_networking_v1beta1_workload_group_proto_depIdxs = nil
+}
diff --git a/vendor/istio.io/api/networking/v1beta1/workload_group.proto b/vendor/istio.io/api/networking/v1beta1/workload_group.proto
new file mode 100644
index 000000000..a7d28ae73
--- /dev/null
+++ b/vendor/istio.io/api/networking/v1beta1/workload_group.proto
@@ -0,0 +1,208 @@
+// Copyright 2020 Istio 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.
+
+syntax = "proto3";
+
+import "google/api/field_behavior.proto";
+import "networking/v1beta1/workload_entry.proto";
+
+// $schema: istio.networking.v1alpha3.WorkloadGroup
+// $title: Workload Group
+// $description: Describes a collection of workload instances.
+// $location: https://istio.io/docs/reference/config/networking/workload-group.html
+// $aliases: [/docs/reference/config/networking/v1alpha3/workload-group]
+
+// `WorkloadGroup` describes a collection of workload instances.
+// It provides a specification that the workload instances can use to bootstrap
+// their proxies, including the metadata and identity. It is only intended to
+// be used with non-k8s workloads like Virtual Machines, and is meant to mimic
+// the existing sidecar injection and deployment specification model used for
+// Kubernetes workloads to bootstrap Istio proxies.
+//
+// The following example declares a workload group representing a collection
+// of workloads that will be registered under `reviews` in namespace
+// `bookinfo`. The set of labels will be associated with each workload
+// instance during the bootstrap process, and the ports 3550 and 8080
+// will be associated with the workload group and use service account `default`.
+// `app.kubernetes.io/version` is just an arbitrary example of a label.
+//
+// {{}}
+// {{}}
+// ```yaml
+// apiVersion: networking.istio.io/v1alpha3
+// kind: WorkloadGroup
+// metadata:
+// name: reviews
+// namespace: bookinfo
+// spec:
+// metadata:
+// labels:
+// app.kubernetes.io/name: reviews
+// app.kubernetes.io/version: "1.3.4"
+// template:
+// ports:
+// grpc: 3550
+// http: 8080
+// serviceAccount: default
+// probe:
+// initialDelaySeconds: 5
+// timeoutSeconds: 3
+// periodSeconds: 4
+// successThreshold: 3
+// failureThreshold: 3
+// httpGet:
+// path: /foo/bar
+// host: 127.0.0.1
+// port: 3100
+// scheme: HTTPS
+// httpHeaders:
+// - name: Lit-Header
+// value: Im-The-Best
+// ```
+// {{}}
+// {{}}
+//
+package istio.networking.v1beta1;
+
+option go_package = "istio.io/api/networking/v1beta1";
+
+// `WorkloadGroup` enables specifying the properties of a single workload for bootstrap and
+// provides a template for `WorkloadEntry`, similar to how `Deployment` specifies properties
+// of workloads via `Pod` templates. A `WorkloadGroup` can have more than one `WorkloadEntry`.
+// `WorkloadGroup` has no relationship to resources which control service registry like `ServiceEntry`
+// and as such doesn't configure host name for these workloads.
+//
+//
+//
+//
+//
+message WorkloadGroup {
+ // Metadata that will be used for all corresponding `WorkloadEntries`.
+ // User labels for a workload group should be set here in `metadata` rather than in `template`.
+ ObjectMeta metadata = 1;
+
+ // Template to be used for the generation of `WorkloadEntry` resources that belong to this `WorkloadGroup`.
+ // Please note that `address` and `labels` fields should not be set in the template, and an empty `serviceAccount`
+ // should default to `default`. The workload identities (mTLS certificates) will be bootstrapped using the
+ // specified service account's token. Workload entries in this group will be in the same namespace as the
+ // workload group, and inherit the labels and annotations from the above `metadata` field.
+ WorkloadEntry template = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // `ObjectMeta` describes metadata that will be attached to a `WorkloadEntry`.
+ // It is a subset of the supported Kubernetes metadata.
+ message ObjectMeta {
+ // Labels to attach
+ map labels = 1;
+
+ // Annotations to attach
+ map annotations = 2;
+ }
+
+ // `ReadinessProbe` describes the configuration the user must provide for healthchecking on their workload.
+ // This configuration mirrors K8S in both syntax and logic for the most part.
+ ReadinessProbe probe = 3;
+}
+
+message ReadinessProbe {
+
+ // Number of seconds after the container has started before readiness probes are initiated.
+ int32 initial_delay_seconds = 2;
+
+ // Number of seconds after which the probe times out.
+ // Defaults to 1 second. Minimum value is 1 second.
+ int32 timeout_seconds = 3;
+
+ // How often (in seconds) to perform the probe.
+ // Default to 10 seconds. Minimum value is 1 second.
+ int32 period_seconds = 4;
+
+ // Minimum consecutive successes for the probe to be considered successful after having failed.
+ // Defaults to 1 second.
+ int32 success_threshold = 5;
+
+ // Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ // Defaults to 3 seconds.
+ int32 failure_threshold = 6;
+
+ // Users can only provide one configuration for healthchecks (tcp, http, exec),
+ // and this is expressed as a oneof. All of the other configuration values
+ // hold true for any of the healthcheck methods.
+ oneof health_check_method {
+ // `httpGet` is performed to a given endpoint
+ // and the status/able to connect determines health.
+ HTTPHealthCheckConfig http_get = 7;
+ // Health is determined by if the proxy is able to connect.
+ TCPHealthCheckConfig tcp_socket = 8;
+ // Health is determined by how the command that is executed exited.
+ ExecHealthCheckConfig exec = 9;
+ }
+}
+
+message HTTPHealthCheckConfig {
+ // Path to access on the HTTP server.
+ string path = 1;
+
+ // Port on which the endpoint lives.
+ uint32 port = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Host name to connect to, defaults to the pod IP. You probably want to set
+ // "Host" in httpHeaders instead.
+ string host = 3;
+
+ // HTTP or HTTPS, defaults to HTTP
+ string scheme = 4;
+
+ // Headers the proxy will pass on to make the request.
+ // Allows repeated headers.
+ repeated HTTPHeader http_headers = 5;
+}
+
+message HTTPHeader {
+ // The header field name
+ string name = 1;
+
+ // The header field value
+ string value = 2;
+}
+
+message TCPHealthCheckConfig {
+ // Host to connect to, defaults to localhost
+ string host = 1;
+ // Port of host
+ uint32 port = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+message ExecHealthCheckConfig {
+ // Command to run. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
+ repeated string command = 1;
+}
diff --git a/vendor/istio.io/api/networking/v1beta1/workload_group_deepcopy.gen.go b/vendor/istio.io/api/networking/v1beta1/workload_group_deepcopy.gen.go
new file mode 100644
index 000000000..f9b669ddc
--- /dev/null
+++ b/vendor/istio.io/api/networking/v1beta1/workload_group_deepcopy.gen.go
@@ -0,0 +1,153 @@
+// Code generated by protoc-gen-deepcopy. DO NOT EDIT.
+package v1beta1
+
+import (
+ proto "github.com/golang/protobuf/proto"
+)
+
+// DeepCopyInto supports using WorkloadGroup within kubernetes types, where deepcopy-gen is used.
+func (in *WorkloadGroup) DeepCopyInto(out *WorkloadGroup) {
+ p := proto.Clone(in).(*WorkloadGroup)
+ *out = *p
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadGroup. Required by controller-gen.
+func (in *WorkloadGroup) DeepCopy() *WorkloadGroup {
+ if in == nil {
+ return nil
+ }
+ out := new(WorkloadGroup)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadGroup. Required by controller-gen.
+func (in *WorkloadGroup) DeepCopyInterface() interface{} {
+ return in.DeepCopy()
+}
+
+// DeepCopyInto supports using WorkloadGroup_ObjectMeta within kubernetes types, where deepcopy-gen is used.
+func (in *WorkloadGroup_ObjectMeta) DeepCopyInto(out *WorkloadGroup_ObjectMeta) {
+ p := proto.Clone(in).(*WorkloadGroup_ObjectMeta)
+ *out = *p
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadGroup_ObjectMeta. Required by controller-gen.
+func (in *WorkloadGroup_ObjectMeta) DeepCopy() *WorkloadGroup_ObjectMeta {
+ if in == nil {
+ return nil
+ }
+ out := new(WorkloadGroup_ObjectMeta)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadGroup_ObjectMeta. Required by controller-gen.
+func (in *WorkloadGroup_ObjectMeta) DeepCopyInterface() interface{} {
+ return in.DeepCopy()
+}
+
+// DeepCopyInto supports using ReadinessProbe within kubernetes types, where deepcopy-gen is used.
+func (in *ReadinessProbe) DeepCopyInto(out *ReadinessProbe) {
+ p := proto.Clone(in).(*ReadinessProbe)
+ *out = *p
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReadinessProbe. Required by controller-gen.
+func (in *ReadinessProbe) DeepCopy() *ReadinessProbe {
+ if in == nil {
+ return nil
+ }
+ out := new(ReadinessProbe)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new ReadinessProbe. Required by controller-gen.
+func (in *ReadinessProbe) DeepCopyInterface() interface{} {
+ return in.DeepCopy()
+}
+
+// DeepCopyInto supports using HTTPHealthCheckConfig within kubernetes types, where deepcopy-gen is used.
+func (in *HTTPHealthCheckConfig) DeepCopyInto(out *HTTPHealthCheckConfig) {
+ p := proto.Clone(in).(*HTTPHealthCheckConfig)
+ *out = *p
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPHealthCheckConfig. Required by controller-gen.
+func (in *HTTPHealthCheckConfig) DeepCopy() *HTTPHealthCheckConfig {
+ if in == nil {
+ return nil
+ }
+ out := new(HTTPHealthCheckConfig)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new HTTPHealthCheckConfig. Required by controller-gen.
+func (in *HTTPHealthCheckConfig) DeepCopyInterface() interface{} {
+ return in.DeepCopy()
+}
+
+// DeepCopyInto supports using HTTPHeader within kubernetes types, where deepcopy-gen is used.
+func (in *HTTPHeader) DeepCopyInto(out *HTTPHeader) {
+ p := proto.Clone(in).(*HTTPHeader)
+ *out = *p
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPHeader. Required by controller-gen.
+func (in *HTTPHeader) DeepCopy() *HTTPHeader {
+ if in == nil {
+ return nil
+ }
+ out := new(HTTPHeader)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new HTTPHeader. Required by controller-gen.
+func (in *HTTPHeader) DeepCopyInterface() interface{} {
+ return in.DeepCopy()
+}
+
+// DeepCopyInto supports using TCPHealthCheckConfig within kubernetes types, where deepcopy-gen is used.
+func (in *TCPHealthCheckConfig) DeepCopyInto(out *TCPHealthCheckConfig) {
+ p := proto.Clone(in).(*TCPHealthCheckConfig)
+ *out = *p
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPHealthCheckConfig. Required by controller-gen.
+func (in *TCPHealthCheckConfig) DeepCopy() *TCPHealthCheckConfig {
+ if in == nil {
+ return nil
+ }
+ out := new(TCPHealthCheckConfig)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new TCPHealthCheckConfig. Required by controller-gen.
+func (in *TCPHealthCheckConfig) DeepCopyInterface() interface{} {
+ return in.DeepCopy()
+}
+
+// DeepCopyInto supports using ExecHealthCheckConfig within kubernetes types, where deepcopy-gen is used.
+func (in *ExecHealthCheckConfig) DeepCopyInto(out *ExecHealthCheckConfig) {
+ p := proto.Clone(in).(*ExecHealthCheckConfig)
+ *out = *p
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecHealthCheckConfig. Required by controller-gen.
+func (in *ExecHealthCheckConfig) DeepCopy() *ExecHealthCheckConfig {
+ if in == nil {
+ return nil
+ }
+ out := new(ExecHealthCheckConfig)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new ExecHealthCheckConfig. Required by controller-gen.
+func (in *ExecHealthCheckConfig) DeepCopyInterface() interface{} {
+ return in.DeepCopy()
+}
diff --git a/vendor/istio.io/api/networking/v1beta1/workload_group_json.gen.go b/vendor/istio.io/api/networking/v1beta1/workload_group_json.gen.go
new file mode 100644
index 000000000..3288f270a
--- /dev/null
+++ b/vendor/istio.io/api/networking/v1beta1/workload_group_json.gen.go
@@ -0,0 +1,89 @@
+// Code generated by protoc-gen-jsonshim. DO NOT EDIT.
+package v1beta1
+
+import (
+ bytes "bytes"
+ jsonpb "github.com/golang/protobuf/jsonpb"
+)
+
+// MarshalJSON is a custom marshaler for WorkloadGroup
+func (this *WorkloadGroup) MarshalJSON() ([]byte, error) {
+ str, err := WorkloadGroupMarshaler.MarshalToString(this)
+ return []byte(str), err
+}
+
+// UnmarshalJSON is a custom unmarshaler for WorkloadGroup
+func (this *WorkloadGroup) UnmarshalJSON(b []byte) error {
+ return WorkloadGroupUnmarshaler.Unmarshal(bytes.NewReader(b), this)
+}
+
+// MarshalJSON is a custom marshaler for WorkloadGroup_ObjectMeta
+func (this *WorkloadGroup_ObjectMeta) MarshalJSON() ([]byte, error) {
+ str, err := WorkloadGroupMarshaler.MarshalToString(this)
+ return []byte(str), err
+}
+
+// UnmarshalJSON is a custom unmarshaler for WorkloadGroup_ObjectMeta
+func (this *WorkloadGroup_ObjectMeta) UnmarshalJSON(b []byte) error {
+ return WorkloadGroupUnmarshaler.Unmarshal(bytes.NewReader(b), this)
+}
+
+// MarshalJSON is a custom marshaler for ReadinessProbe
+func (this *ReadinessProbe) MarshalJSON() ([]byte, error) {
+ str, err := WorkloadGroupMarshaler.MarshalToString(this)
+ return []byte(str), err
+}
+
+// UnmarshalJSON is a custom unmarshaler for ReadinessProbe
+func (this *ReadinessProbe) UnmarshalJSON(b []byte) error {
+ return WorkloadGroupUnmarshaler.Unmarshal(bytes.NewReader(b), this)
+}
+
+// MarshalJSON is a custom marshaler for HTTPHealthCheckConfig
+func (this *HTTPHealthCheckConfig) MarshalJSON() ([]byte, error) {
+ str, err := WorkloadGroupMarshaler.MarshalToString(this)
+ return []byte(str), err
+}
+
+// UnmarshalJSON is a custom unmarshaler for HTTPHealthCheckConfig
+func (this *HTTPHealthCheckConfig) UnmarshalJSON(b []byte) error {
+ return WorkloadGroupUnmarshaler.Unmarshal(bytes.NewReader(b), this)
+}
+
+// MarshalJSON is a custom marshaler for HTTPHeader
+func (this *HTTPHeader) MarshalJSON() ([]byte, error) {
+ str, err := WorkloadGroupMarshaler.MarshalToString(this)
+ return []byte(str), err
+}
+
+// UnmarshalJSON is a custom unmarshaler for HTTPHeader
+func (this *HTTPHeader) UnmarshalJSON(b []byte) error {
+ return WorkloadGroupUnmarshaler.Unmarshal(bytes.NewReader(b), this)
+}
+
+// MarshalJSON is a custom marshaler for TCPHealthCheckConfig
+func (this *TCPHealthCheckConfig) MarshalJSON() ([]byte, error) {
+ str, err := WorkloadGroupMarshaler.MarshalToString(this)
+ return []byte(str), err
+}
+
+// UnmarshalJSON is a custom unmarshaler for TCPHealthCheckConfig
+func (this *TCPHealthCheckConfig) UnmarshalJSON(b []byte) error {
+ return WorkloadGroupUnmarshaler.Unmarshal(bytes.NewReader(b), this)
+}
+
+// MarshalJSON is a custom marshaler for ExecHealthCheckConfig
+func (this *ExecHealthCheckConfig) MarshalJSON() ([]byte, error) {
+ str, err := WorkloadGroupMarshaler.MarshalToString(this)
+ return []byte(str), err
+}
+
+// UnmarshalJSON is a custom unmarshaler for ExecHealthCheckConfig
+func (this *ExecHealthCheckConfig) UnmarshalJSON(b []byte) error {
+ return WorkloadGroupUnmarshaler.Unmarshal(bytes.NewReader(b), this)
+}
+
+var (
+ WorkloadGroupMarshaler = &jsonpb.Marshaler{}
+ WorkloadGroupUnmarshaler = &jsonpb.Unmarshaler{AllowUnknownFields: true}
+)
diff --git a/vendor/istio.io/api/type/v1beta1/selector.gen.json b/vendor/istio.io/api/type/v1beta1/selector.gen.json
new file mode 100644
index 000000000..31b767210
--- /dev/null
+++ b/vendor/istio.io/api/type/v1beta1/selector.gen.json
@@ -0,0 +1,24 @@
+{
+ "openapi": "3.0.0",
+ "info": {
+ "title": "Definition of a workload selector.",
+ "version": "v1beta1"
+ },
+ "components": {
+ "schemas": {
+ "istio.type.v1beta1.WorkloadSelector": {
+ "description": "WorkloadSelector specifies the criteria used to determine if a policy can be applied to a proxy. The matching criteria includes the metadata associated with a proxy, workload instance info such as labels attached to the pod/VM, or any other info that the proxy provides to Istio during the initial handshake. If multiple conditions are specified, all conditions need to match in order for the workload instance to be selected. Currently, only label based selection mechanism is supported.",
+ "type": "object",
+ "properties": {
+ "matchLabels": {
+ "description": "One or more labels that indicate a specific set of pods/VMs on which a policy should be applied. The scope of label search is restricted to the configuration namespace in which the resource is present.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/vendor/istio.io/api/type/v1beta1/selector.pb.go b/vendor/istio.io/api/type/v1beta1/selector.pb.go
new file mode 100644
index 000000000..a719ff714
--- /dev/null
+++ b/vendor/istio.io/api/type/v1beta1/selector.pb.go
@@ -0,0 +1,185 @@
+// Copyright 2019 Istio 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-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.27.1
+// protoc (unknown)
+// source: type/v1beta1/selector.proto
+
+// $title: Workload Selector
+// $description: Definition of a workload selector.
+// $location: https://istio.io/docs/reference/config/type/workload-selector.html
+
+package v1beta1
+
+import (
+ _ "google.golang.org/genproto/googleapis/api/annotations"
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// WorkloadSelector specifies the criteria used to determine if a policy can be applied
+// to a proxy. The matching criteria includes the metadata associated with a proxy,
+// workload instance info such as labels attached to the pod/VM, or any other info
+// that the proxy provides to Istio during the initial handshake. If multiple conditions are
+// specified, all conditions need to match in order for the workload instance to be
+// selected. Currently, only label based selection mechanism is supported.
+type WorkloadSelector struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // One or more labels that indicate a specific set of pods/VMs
+ // on which a policy should be applied. The scope of label search is restricted to
+ // the configuration namespace in which the resource is present.
+ MatchLabels map[string]string `protobuf:"bytes,1,rep,name=match_labels,json=matchLabels,proto3" json:"match_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+}
+
+func (x *WorkloadSelector) Reset() {
+ *x = WorkloadSelector{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_type_v1beta1_selector_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WorkloadSelector) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WorkloadSelector) ProtoMessage() {}
+
+func (x *WorkloadSelector) ProtoReflect() protoreflect.Message {
+ mi := &file_type_v1beta1_selector_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WorkloadSelector.ProtoReflect.Descriptor instead.
+func (*WorkloadSelector) Descriptor() ([]byte, []int) {
+ return file_type_v1beta1_selector_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WorkloadSelector) GetMatchLabels() map[string]string {
+ if x != nil {
+ return x.MatchLabels
+ }
+ return nil
+}
+
+var File_type_v1beta1_selector_proto protoreflect.FileDescriptor
+
+var file_type_v1beta1_selector_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73,
+ 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x69,
+ 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
+ 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69,
+ 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xb2, 0x01, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53,
+ 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x5e, 0x0a, 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68,
+ 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e,
+ 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
+ 0x61, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x0b, 0x6d, 0x61, 0x74, 0x63,
+ 0x68, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x3e, 0x0a, 0x10, 0x4d, 0x61, 0x74, 0x63, 0x68,
+ 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
+ 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x1b, 0x5a, 0x19, 0x69, 0x73, 0x74, 0x69, 0x6f,
+ 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x62,
+ 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_type_v1beta1_selector_proto_rawDescOnce sync.Once
+ file_type_v1beta1_selector_proto_rawDescData = file_type_v1beta1_selector_proto_rawDesc
+)
+
+func file_type_v1beta1_selector_proto_rawDescGZIP() []byte {
+ file_type_v1beta1_selector_proto_rawDescOnce.Do(func() {
+ file_type_v1beta1_selector_proto_rawDescData = protoimpl.X.CompressGZIP(file_type_v1beta1_selector_proto_rawDescData)
+ })
+ return file_type_v1beta1_selector_proto_rawDescData
+}
+
+var file_type_v1beta1_selector_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_type_v1beta1_selector_proto_goTypes = []interface{}{
+ (*WorkloadSelector)(nil), // 0: istio.type.v1beta1.WorkloadSelector
+ nil, // 1: istio.type.v1beta1.WorkloadSelector.MatchLabelsEntry
+}
+var file_type_v1beta1_selector_proto_depIdxs = []int32{
+ 1, // 0: istio.type.v1beta1.WorkloadSelector.match_labels:type_name -> istio.type.v1beta1.WorkloadSelector.MatchLabelsEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_type_v1beta1_selector_proto_init() }
+func file_type_v1beta1_selector_proto_init() {
+ if File_type_v1beta1_selector_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_type_v1beta1_selector_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WorkloadSelector); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_type_v1beta1_selector_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_type_v1beta1_selector_proto_goTypes,
+ DependencyIndexes: file_type_v1beta1_selector_proto_depIdxs,
+ MessageInfos: file_type_v1beta1_selector_proto_msgTypes,
+ }.Build()
+ File_type_v1beta1_selector_proto = out.File
+ file_type_v1beta1_selector_proto_rawDesc = nil
+ file_type_v1beta1_selector_proto_goTypes = nil
+ file_type_v1beta1_selector_proto_depIdxs = nil
+}
diff --git a/vendor/istio.io/api/type/v1beta1/selector.proto b/vendor/istio.io/api/type/v1beta1/selector.proto
new file mode 100644
index 000000000..ec1889972
--- /dev/null
+++ b/vendor/istio.io/api/type/v1beta1/selector.proto
@@ -0,0 +1,37 @@
+// Copyright 2019 Istio 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.
+syntax = "proto3";
+
+import "google/api/field_behavior.proto";
+
+// $title: Workload Selector
+// $description: Definition of a workload selector.
+// $location: https://istio.io/docs/reference/config/type/workload-selector.html
+
+package istio.type.v1beta1;
+
+option go_package="istio.io/api/type/v1beta1";
+
+// WorkloadSelector specifies the criteria used to determine if a policy can be applied
+// to a proxy. The matching criteria includes the metadata associated with a proxy,
+// workload instance info such as labels attached to the pod/VM, or any other info
+// that the proxy provides to Istio during the initial handshake. If multiple conditions are
+// specified, all conditions need to match in order for the workload instance to be
+// selected. Currently, only label based selection mechanism is supported.
+message WorkloadSelector {
+ // One or more labels that indicate a specific set of pods/VMs
+ // on which a policy should be applied. The scope of label search is restricted to
+ // the configuration namespace in which the resource is present.
+ map match_labels = 1 [(google.api.field_behavior) = REQUIRED];
+}
diff --git a/vendor/istio.io/api/type/v1beta1/selector_deepcopy.gen.go b/vendor/istio.io/api/type/v1beta1/selector_deepcopy.gen.go
new file mode 100644
index 000000000..eb11c7cd3
--- /dev/null
+++ b/vendor/istio.io/api/type/v1beta1/selector_deepcopy.gen.go
@@ -0,0 +1,27 @@
+// Code generated by protoc-gen-deepcopy. DO NOT EDIT.
+package v1beta1
+
+import (
+ proto "github.com/golang/protobuf/proto"
+)
+
+// DeepCopyInto supports using WorkloadSelector within kubernetes types, where deepcopy-gen is used.
+func (in *WorkloadSelector) DeepCopyInto(out *WorkloadSelector) {
+ p := proto.Clone(in).(*WorkloadSelector)
+ *out = *p
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadSelector. Required by controller-gen.
+func (in *WorkloadSelector) DeepCopy() *WorkloadSelector {
+ if in == nil {
+ return nil
+ }
+ out := new(WorkloadSelector)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadSelector. Required by controller-gen.
+func (in *WorkloadSelector) DeepCopyInterface() interface{} {
+ return in.DeepCopy()
+}
diff --git a/vendor/istio.io/api/type/v1beta1/selector_json.gen.go b/vendor/istio.io/api/type/v1beta1/selector_json.gen.go
new file mode 100644
index 000000000..c9d08dd7c
--- /dev/null
+++ b/vendor/istio.io/api/type/v1beta1/selector_json.gen.go
@@ -0,0 +1,23 @@
+// Code generated by protoc-gen-jsonshim. DO NOT EDIT.
+package v1beta1
+
+import (
+ bytes "bytes"
+ jsonpb "github.com/golang/protobuf/jsonpb"
+)
+
+// MarshalJSON is a custom marshaler for WorkloadSelector
+func (this *WorkloadSelector) MarshalJSON() ([]byte, error) {
+ str, err := SelectorMarshaler.MarshalToString(this)
+ return []byte(str), err
+}
+
+// UnmarshalJSON is a custom unmarshaler for WorkloadSelector
+func (this *WorkloadSelector) UnmarshalJSON(b []byte) error {
+ return SelectorUnmarshaler.Unmarshal(bytes.NewReader(b), this)
+}
+
+var (
+ SelectorMarshaler = &jsonpb.Marshaler{}
+ SelectorUnmarshaler = &jsonpb.Unmarshaler{AllowUnknownFields: true}
+)
diff --git a/vendor/istio.io/client-go/pkg/apis/networking/v1alpha3/types.gen.go b/vendor/istio.io/client-go/pkg/apis/networking/v1alpha3/types.gen.go
index 6acf50e2a..8de8ef7e9 100644
--- a/vendor/istio.io/client-go/pkg/apis/networking/v1alpha3/types.gen.go
+++ b/vendor/istio.io/client-go/pkg/apis/networking/v1alpha3/types.gen.go
@@ -73,7 +73,7 @@ type DestinationRuleList struct {
v1.TypeMeta `json:",inline"`
// +optional
v1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- Items []DestinationRule `json:"items" protobuf:"bytes,2,rep,name=items"`
+ Items []*DestinationRule `json:"items" protobuf:"bytes,2,rep,name=items"`
}
//
@@ -119,7 +119,7 @@ type EnvoyFilterList struct {
v1.TypeMeta `json:",inline"`
// +optional
v1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- Items []EnvoyFilter `json:"items" protobuf:"bytes,2,rep,name=items"`
+ Items []*EnvoyFilter `json:"items" protobuf:"bytes,2,rep,name=items"`
}
//
@@ -168,7 +168,7 @@ type GatewayList struct {
v1.TypeMeta `json:",inline"`
// +optional
v1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- Items []Gateway `json:"items" protobuf:"bytes,2,rep,name=items"`
+ Items []*Gateway `json:"items" protobuf:"bytes,2,rep,name=items"`
}
//
@@ -226,7 +226,7 @@ type ServiceEntryList struct {
v1.TypeMeta `json:",inline"`
// +optional
v1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- Items []ServiceEntry `json:"items" protobuf:"bytes,2,rep,name=items"`
+ Items []*ServiceEntry `json:"items" protobuf:"bytes,2,rep,name=items"`
}
//
@@ -276,7 +276,7 @@ type SidecarList struct {
v1.TypeMeta `json:",inline"`
// +optional
v1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- Items []Sidecar `json:"items" protobuf:"bytes,2,rep,name=items"`
+ Items []*Sidecar `json:"items" protobuf:"bytes,2,rep,name=items"`
}
//
@@ -331,10 +331,10 @@ type VirtualServiceList struct {
v1.TypeMeta `json:",inline"`
// +optional
v1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- Items []VirtualService `json:"items" protobuf:"bytes,2,rep,name=items"`
+ Items []*VirtualService `json:"items" protobuf:"bytes,2,rep,name=items"`
}
-// please upgrade the proto package
+//
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// WorkloadEntry enables specifying the properties of a single non-Kubernetes workload such a VM or a bare metal services that can be referred to by service entries.
@@ -384,10 +384,10 @@ type WorkloadEntryList struct {
v1.TypeMeta `json:",inline"`
// +optional
v1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- Items []WorkloadEntry `json:"items" protobuf:"bytes,2,rep,name=items"`
+ Items []*WorkloadEntry `json:"items" protobuf:"bytes,2,rep,name=items"`
}
-// please upgrade the proto package
+//
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// `WorkloadGroup` enables specifying the properties of a single workload for bootstrap and
@@ -417,6 +417,9 @@ type WorkloadEntryList struct {
// +genclient
// +k8s:deepcopy-gen=true
// -->
+//
type WorkloadGroup struct {
v1.TypeMeta `json:",inline"`
// +optional
@@ -436,5 +439,5 @@ type WorkloadGroupList struct {
v1.TypeMeta `json:",inline"`
// +optional
v1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- Items []WorkloadGroup `json:"items" protobuf:"bytes,2,rep,name=items"`
+ Items []*WorkloadGroup `json:"items" protobuf:"bytes,2,rep,name=items"`
}
diff --git a/vendor/istio.io/client-go/pkg/apis/networking/v1alpha3/zz_generated.deepcopy.gen.go b/vendor/istio.io/client-go/pkg/apis/networking/v1alpha3/zz_generated.deepcopy.gen.go
index b95f8fc59..e0de4e28c 100644
--- a/vendor/istio.io/client-go/pkg/apis/networking/v1alpha3/zz_generated.deepcopy.gen.go
+++ b/vendor/istio.io/client-go/pkg/apis/networking/v1alpha3/zz_generated.deepcopy.gen.go
@@ -58,9 +58,13 @@ func (in *DestinationRuleList) DeepCopyInto(out *DestinationRuleList) {
in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
- *out = make([]DestinationRule, len(*in))
+ *out = make([]*DestinationRule, len(*in))
for i := range *in {
- (*in)[i].DeepCopyInto(&(*out)[i])
+ if (*in)[i] != nil {
+ in, out := &(*in)[i], &(*out)[i]
+ *out = new(DestinationRule)
+ (*in).DeepCopyInto(*out)
+ }
}
}
return
@@ -119,9 +123,13 @@ func (in *EnvoyFilterList) DeepCopyInto(out *EnvoyFilterList) {
in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
- *out = make([]EnvoyFilter, len(*in))
+ *out = make([]*EnvoyFilter, len(*in))
for i := range *in {
- (*in)[i].DeepCopyInto(&(*out)[i])
+ if (*in)[i] != nil {
+ in, out := &(*in)[i], &(*out)[i]
+ *out = new(EnvoyFilter)
+ (*in).DeepCopyInto(*out)
+ }
}
}
return
@@ -180,9 +188,13 @@ func (in *GatewayList) DeepCopyInto(out *GatewayList) {
in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
- *out = make([]Gateway, len(*in))
+ *out = make([]*Gateway, len(*in))
for i := range *in {
- (*in)[i].DeepCopyInto(&(*out)[i])
+ if (*in)[i] != nil {
+ in, out := &(*in)[i], &(*out)[i]
+ *out = new(Gateway)
+ (*in).DeepCopyInto(*out)
+ }
}
}
return
@@ -241,9 +253,13 @@ func (in *ServiceEntryList) DeepCopyInto(out *ServiceEntryList) {
in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
- *out = make([]ServiceEntry, len(*in))
+ *out = make([]*ServiceEntry, len(*in))
for i := range *in {
- (*in)[i].DeepCopyInto(&(*out)[i])
+ if (*in)[i] != nil {
+ in, out := &(*in)[i], &(*out)[i]
+ *out = new(ServiceEntry)
+ (*in).DeepCopyInto(*out)
+ }
}
}
return
@@ -302,9 +318,13 @@ func (in *SidecarList) DeepCopyInto(out *SidecarList) {
in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
- *out = make([]Sidecar, len(*in))
+ *out = make([]*Sidecar, len(*in))
for i := range *in {
- (*in)[i].DeepCopyInto(&(*out)[i])
+ if (*in)[i] != nil {
+ in, out := &(*in)[i], &(*out)[i]
+ *out = new(Sidecar)
+ (*in).DeepCopyInto(*out)
+ }
}
}
return
@@ -363,9 +383,13 @@ func (in *VirtualServiceList) DeepCopyInto(out *VirtualServiceList) {
in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
- *out = make([]VirtualService, len(*in))
+ *out = make([]*VirtualService, len(*in))
for i := range *in {
- (*in)[i].DeepCopyInto(&(*out)[i])
+ if (*in)[i] != nil {
+ in, out := &(*in)[i], &(*out)[i]
+ *out = new(VirtualService)
+ (*in).DeepCopyInto(*out)
+ }
}
}
return
@@ -424,9 +448,13 @@ func (in *WorkloadEntryList) DeepCopyInto(out *WorkloadEntryList) {
in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
- *out = make([]WorkloadEntry, len(*in))
+ *out = make([]*WorkloadEntry, len(*in))
for i := range *in {
- (*in)[i].DeepCopyInto(&(*out)[i])
+ if (*in)[i] != nil {
+ in, out := &(*in)[i], &(*out)[i]
+ *out = new(WorkloadEntry)
+ (*in).DeepCopyInto(*out)
+ }
}
}
return
@@ -485,9 +513,13 @@ func (in *WorkloadGroupList) DeepCopyInto(out *WorkloadGroupList) {
in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
- *out = make([]WorkloadGroup, len(*in))
+ *out = make([]*WorkloadGroup, len(*in))
for i := range *in {
- (*in)[i].DeepCopyInto(&(*out)[i])
+ if (*in)[i] != nil {
+ in, out := &(*in)[i], &(*out)[i]
+ *out = new(WorkloadGroup)
+ (*in).DeepCopyInto(*out)
+ }
}
}
return
diff --git a/vendor/istio.io/client-go/pkg/apis/networking/v1beta1/register.gen.go b/vendor/istio.io/client-go/pkg/apis/networking/v1beta1/register.gen.go
index 153ef305e..84d750089 100644
--- a/vendor/istio.io/client-go/pkg/apis/networking/v1beta1/register.gen.go
+++ b/vendor/istio.io/client-go/pkg/apis/networking/v1beta1/register.gen.go
@@ -45,6 +45,8 @@ func addKnownTypes(scheme *runtime.Scheme) error {
&DestinationRuleList{},
&Gateway{},
&GatewayList{},
+ &ProxyConfig{},
+ &ProxyConfigList{},
&ServiceEntry{},
&ServiceEntryList{},
&Sidecar{},
@@ -53,6 +55,8 @@ func addKnownTypes(scheme *runtime.Scheme) error {
&VirtualServiceList{},
&WorkloadEntry{},
&WorkloadEntryList{},
+ &WorkloadGroup{},
+ &WorkloadGroupList{},
)
v1.AddToGroupVersion(scheme, SchemeGroupVersion)
return nil
diff --git a/vendor/istio.io/client-go/pkg/apis/networking/v1beta1/types.gen.go b/vendor/istio.io/client-go/pkg/apis/networking/v1beta1/types.gen.go
index 7cd2b88f7..8e4a59a33 100644
--- a/vendor/istio.io/client-go/pkg/apis/networking/v1beta1/types.gen.go
+++ b/vendor/istio.io/client-go/pkg/apis/networking/v1beta1/types.gen.go
@@ -72,7 +72,7 @@ type DestinationRuleList struct {
v1.TypeMeta `json:",inline"`
// +optional
v1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- Items []DestinationRule `json:"items" protobuf:"bytes,2,rep,name=items"`
+ Items []*DestinationRule `json:"items" protobuf:"bytes,2,rep,name=items"`
}
//
@@ -120,7 +120,52 @@ type GatewayList struct {
v1.TypeMeta `json:",inline"`
// +optional
v1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- Items []Gateway `json:"items" protobuf:"bytes,2,rep,name=items"`
+ Items []*Gateway `json:"items" protobuf:"bytes,2,rep,name=items"`
+}
+
+//
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+
+// `ProxyConfig` exposes proxy level configuration options.
+//
+//
+//
+//
+type ProxyConfig struct {
+ v1.TypeMeta `json:",inline"`
+ // +optional
+ v1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
+
+ // Spec defines the implementation of this definition.
+ // +optional
+ Spec networkingv1beta1.ProxyConfig `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
+
+ Status v1alpha1.IstioStatus `json:"status"`
+}
+
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+
+// ProxyConfigList is a collection of ProxyConfigs.
+type ProxyConfigList struct {
+ v1.TypeMeta `json:",inline"`
+ // +optional
+ v1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
+ Items []*ProxyConfig `json:"items" protobuf:"bytes,2,rep,name=items"`
}
//
@@ -177,7 +222,7 @@ type ServiceEntryList struct {
v1.TypeMeta `json:",inline"`
// +optional
v1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- Items []ServiceEntry `json:"items" protobuf:"bytes,2,rep,name=items"`
+ Items []*ServiceEntry `json:"items" protobuf:"bytes,2,rep,name=items"`
}
//
@@ -226,7 +271,7 @@ type SidecarList struct {
v1.TypeMeta `json:",inline"`
// +optional
v1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- Items []Sidecar `json:"items" protobuf:"bytes,2,rep,name=items"`
+ Items []*Sidecar `json:"items" protobuf:"bytes,2,rep,name=items"`
}
//
@@ -280,10 +325,10 @@ type VirtualServiceList struct {
v1.TypeMeta `json:",inline"`
// +optional
v1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- Items []VirtualService `json:"items" protobuf:"bytes,2,rep,name=items"`
+ Items []*VirtualService `json:"items" protobuf:"bytes,2,rep,name=items"`
}
-// please upgrade the proto package
+//
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// WorkloadEntry enables specifying the properties of a single non-Kubernetes workload such a VM or a bare metal services that can be referred to by service entries.
@@ -332,5 +377,59 @@ type WorkloadEntryList struct {
v1.TypeMeta `json:",inline"`
// +optional
v1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
- Items []WorkloadEntry `json:"items" protobuf:"bytes,2,rep,name=items"`
+ Items []*WorkloadEntry `json:"items" protobuf:"bytes,2,rep,name=items"`
+}
+
+//
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+
+// `WorkloadGroup` enables specifying the properties of a single workload for bootstrap and
+// provides a template for `WorkloadEntry`, similar to how `Deployment` specifies properties
+// of workloads via `Pod` templates. A `WorkloadGroup` can have more than one `WorkloadEntry`.
+// `WorkloadGroup` has no relationship to resources which control service registry like `ServiceEntry`
+// and as such doesn't configure host name for these workloads.
+//
+//
+//
+//
+//
+type WorkloadGroup struct {
+ v1.TypeMeta `json:",inline"`
+ // +optional
+ v1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
+
+ // Spec defines the implementation of this definition.
+ // +optional
+ Spec networkingv1beta1.WorkloadGroup `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
+
+ Status v1alpha1.IstioStatus `json:"status"`
+}
+
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+
+// WorkloadGroupList is a collection of WorkloadGroups.
+type WorkloadGroupList struct {
+ v1.TypeMeta `json:",inline"`
+ // +optional
+ v1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
+ Items []*WorkloadGroup `json:"items" protobuf:"bytes,2,rep,name=items"`
}
diff --git a/vendor/istio.io/client-go/pkg/apis/networking/v1beta1/zz_generated.deepcopy.gen.go b/vendor/istio.io/client-go/pkg/apis/networking/v1beta1/zz_generated.deepcopy.gen.go
index 4b9121cd9..e3a645732 100644
--- a/vendor/istio.io/client-go/pkg/apis/networking/v1beta1/zz_generated.deepcopy.gen.go
+++ b/vendor/istio.io/client-go/pkg/apis/networking/v1beta1/zz_generated.deepcopy.gen.go
@@ -58,9 +58,13 @@ func (in *DestinationRuleList) DeepCopyInto(out *DestinationRuleList) {
in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
- *out = make([]DestinationRule, len(*in))
+ *out = make([]*DestinationRule, len(*in))
for i := range *in {
- (*in)[i].DeepCopyInto(&(*out)[i])
+ if (*in)[i] != nil {
+ in, out := &(*in)[i], &(*out)[i]
+ *out = new(DestinationRule)
+ (*in).DeepCopyInto(*out)
+ }
}
}
return
@@ -119,9 +123,13 @@ func (in *GatewayList) DeepCopyInto(out *GatewayList) {
in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
- *out = make([]Gateway, len(*in))
+ *out = make([]*Gateway, len(*in))
for i := range *in {
- (*in)[i].DeepCopyInto(&(*out)[i])
+ if (*in)[i] != nil {
+ in, out := &(*in)[i], &(*out)[i]
+ *out = new(Gateway)
+ (*in).DeepCopyInto(*out)
+ }
}
}
return
@@ -145,6 +153,71 @@ func (in *GatewayList) DeepCopyObject() runtime.Object {
return nil
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *ProxyConfig) DeepCopyInto(out *ProxyConfig) {
+ *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 ProxyConfig.
+func (in *ProxyConfig) DeepCopy() *ProxyConfig {
+ if in == nil {
+ return nil
+ }
+ out := new(ProxyConfig)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *ProxyConfig) 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 *ProxyConfigList) DeepCopyInto(out *ProxyConfigList) {
+ *out = *in
+ out.TypeMeta = in.TypeMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
+ if in.Items != nil {
+ in, out := &in.Items, &out.Items
+ *out = make([]*ProxyConfig, len(*in))
+ for i := range *in {
+ if (*in)[i] != nil {
+ in, out := &(*in)[i], &(*out)[i]
+ *out = new(ProxyConfig)
+ (*in).DeepCopyInto(*out)
+ }
+ }
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyConfigList.
+func (in *ProxyConfigList) DeepCopy() *ProxyConfigList {
+ if in == nil {
+ return nil
+ }
+ out := new(ProxyConfigList)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *ProxyConfigList) 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 *ServiceEntry) DeepCopyInto(out *ServiceEntry) {
*out = *in
@@ -180,9 +253,13 @@ func (in *ServiceEntryList) DeepCopyInto(out *ServiceEntryList) {
in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
- *out = make([]ServiceEntry, len(*in))
+ *out = make([]*ServiceEntry, len(*in))
for i := range *in {
- (*in)[i].DeepCopyInto(&(*out)[i])
+ if (*in)[i] != nil {
+ in, out := &(*in)[i], &(*out)[i]
+ *out = new(ServiceEntry)
+ (*in).DeepCopyInto(*out)
+ }
}
}
return
@@ -241,9 +318,13 @@ func (in *SidecarList) DeepCopyInto(out *SidecarList) {
in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
- *out = make([]Sidecar, len(*in))
+ *out = make([]*Sidecar, len(*in))
for i := range *in {
- (*in)[i].DeepCopyInto(&(*out)[i])
+ if (*in)[i] != nil {
+ in, out := &(*in)[i], &(*out)[i]
+ *out = new(Sidecar)
+ (*in).DeepCopyInto(*out)
+ }
}
}
return
@@ -302,9 +383,13 @@ func (in *VirtualServiceList) DeepCopyInto(out *VirtualServiceList) {
in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
- *out = make([]VirtualService, len(*in))
+ *out = make([]*VirtualService, len(*in))
for i := range *in {
- (*in)[i].DeepCopyInto(&(*out)[i])
+ if (*in)[i] != nil {
+ in, out := &(*in)[i], &(*out)[i]
+ *out = new(VirtualService)
+ (*in).DeepCopyInto(*out)
+ }
}
}
return
@@ -363,9 +448,13 @@ func (in *WorkloadEntryList) DeepCopyInto(out *WorkloadEntryList) {
in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
- *out = make([]WorkloadEntry, len(*in))
+ *out = make([]*WorkloadEntry, len(*in))
for i := range *in {
- (*in)[i].DeepCopyInto(&(*out)[i])
+ if (*in)[i] != nil {
+ in, out := &(*in)[i], &(*out)[i]
+ *out = new(WorkloadEntry)
+ (*in).DeepCopyInto(*out)
+ }
}
}
return
@@ -388,3 +477,68 @@ func (in *WorkloadEntryList) DeepCopyObject() runtime.Object {
}
return nil
}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *WorkloadGroup) DeepCopyInto(out *WorkloadGroup) {
+ *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 WorkloadGroup.
+func (in *WorkloadGroup) DeepCopy() *WorkloadGroup {
+ if in == nil {
+ return nil
+ }
+ out := new(WorkloadGroup)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *WorkloadGroup) 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 *WorkloadGroupList) DeepCopyInto(out *WorkloadGroupList) {
+ *out = *in
+ out.TypeMeta = in.TypeMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
+ if in.Items != nil {
+ in, out := &in.Items, &out.Items
+ *out = make([]*WorkloadGroup, len(*in))
+ for i := range *in {
+ if (*in)[i] != nil {
+ in, out := &(*in)[i], &(*out)[i]
+ *out = new(WorkloadGroup)
+ (*in).DeepCopyInto(*out)
+ }
+ }
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadGroupList.
+func (in *WorkloadGroupList) DeepCopy() *WorkloadGroupList {
+ if in == nil {
+ return nil
+ }
+ out := new(WorkloadGroupList)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *WorkloadGroupList) DeepCopyObject() runtime.Object {
+ if c := in.DeepCopy(); c != nil {
+ return c
+ }
+ return nil
+}
diff --git a/vendor/istio.io/gogo-genproto/googleapis/google/api/annotations.pb.go b/vendor/istio.io/gogo-genproto/googleapis/google/api/annotations.pb.go
deleted file mode 100644
index bf55829c0..000000000
--- a/vendor/istio.io/gogo-genproto/googleapis/google/api/annotations.pb.go
+++ /dev/null
@@ -1,56 +0,0 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: google/api/annotations.proto
-
-package google_api
-
-import (
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor"
- math "math"
-)
-
-// 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.GoGoProtoPackageIsVersion3 // please upgrade the proto package
-
-var E_Http = &proto.ExtensionDesc{
- ExtendedType: (*descriptor.MethodOptions)(nil),
- ExtensionType: (*HttpRule)(nil),
- Field: 72295728,
- Name: "google.api.http",
- Tag: "bytes,72295728,opt,name=http",
- Filename: "google/api/annotations.proto",
-}
-
-func init() {
- proto.RegisterExtension(E_Http)
-}
-
-func init() { proto.RegisterFile("google/api/annotations.proto", fileDescriptor_c591c5aa9fb79aab) }
-
-var fileDescriptor_c591c5aa9fb79aab = []byte{
- // 232 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x49, 0xcf, 0xcf, 0x4f,
- 0xcf, 0x49, 0xd5, 0x4f, 0x2c, 0xc8, 0xd4, 0x4f, 0xcc, 0xcb, 0xcb, 0x2f, 0x49, 0x2c, 0xc9, 0xcc,
- 0xcf, 0x2b, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x82, 0xc8, 0xea, 0x25, 0x16, 0x64,
- 0x4a, 0x89, 0x22, 0xa9, 0xcc, 0x28, 0x29, 0x29, 0x80, 0x28, 0x91, 0x52, 0x80, 0x0a, 0x83, 0x79,
- 0x49, 0xa5, 0x69, 0xfa, 0x29, 0xa9, 0xc5, 0xc9, 0x45, 0x99, 0x05, 0x25, 0xf9, 0x45, 0x10, 0x15,
- 0x56, 0xde, 0x5c, 0x2c, 0x20, 0xf5, 0x42, 0x72, 0x7a, 0x50, 0xd3, 0x60, 0x4a, 0xf5, 0x7c, 0x53,
- 0x4b, 0x32, 0xf2, 0x53, 0xfc, 0x0b, 0xc0, 0x56, 0x4a, 0x6c, 0x38, 0xb5, 0x47, 0x49, 0x81, 0x51,
- 0x83, 0xdb, 0x48, 0x44, 0x0f, 0x61, 0xad, 0x9e, 0x47, 0x49, 0x49, 0x41, 0x50, 0x69, 0x4e, 0x6a,
- 0x10, 0xd8, 0x10, 0xa7, 0xf8, 0x0b, 0x0f, 0xe5, 0x18, 0x6e, 0x3c, 0x94, 0x63, 0xf8, 0xf0, 0x50,
- 0x8e, 0xb1, 0xe1, 0x91, 0x1c, 0xe3, 0x8a, 0x47, 0x72, 0x8c, 0x27, 0x1e, 0xc9, 0x31, 0x5e, 0x78,
- 0x24, 0xc7, 0xf8, 0xe0, 0x91, 0x1c, 0xe3, 0x8b, 0x47, 0x72, 0x0c, 0x1f, 0x1e, 0xc9, 0x31, 0x4e,
- 0x78, 0x2c, 0xc7, 0x70, 0xe1, 0xb1, 0x1c, 0xc3, 0x8d, 0xc7, 0x72, 0x0c, 0x5c, 0x7c, 0xc9, 0xf9,
- 0xb9, 0x48, 0x86, 0x3a, 0x09, 0x38, 0x22, 0xbc, 0x1a, 0x00, 0x72, 0x4d, 0x00, 0xe3, 0x22, 0x26,
- 0x16, 0x77, 0xc7, 0x00, 0xcf, 0x24, 0x36, 0xb0, 0xeb, 0x8c, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff,
- 0x5b, 0x05, 0x38, 0x7d, 0x19, 0x01, 0x00, 0x00,
-}
diff --git a/vendor/istio.io/gogo-genproto/googleapis/google/api/field_behavior.pb.go b/vendor/istio.io/gogo-genproto/googleapis/google/api/field_behavior.pb.go
deleted file mode 100644
index e63207728..000000000
--- a/vendor/istio.io/gogo-genproto/googleapis/google/api/field_behavior.pb.go
+++ /dev/null
@@ -1,128 +0,0 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: google/api/field_behavior.proto
-
-package google_api
-
-import (
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor"
- math "math"
- strconv "strconv"
-)
-
-// 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.GoGoProtoPackageIsVersion3 // please upgrade the proto package
-
-// An indicator of the behavior of a given field (for example, that a field
-// is required in requests, or given as output but ignored as input).
-// This **does not** change the behavior in protocol buffers itself; it only
-// denotes the behavior and may affect how API tooling handles the field.
-//
-// Note: This enum **may** receive new values in the future.
-type FieldBehavior int32
-
-const (
- // Conventional default for enums. Do not use this.
- FIELD_BEHAVIOR_UNSPECIFIED FieldBehavior = 0
- // Specifically denotes a field as optional.
- // While all fields in protocol buffers are optional, this may be specified
- // for emphasis if appropriate.
- OPTIONAL FieldBehavior = 1
- // Denotes a field as required.
- // This indicates that the field **must** be provided as part of the request,
- // and failure to do so will cause an error (usually `INVALID_ARGUMENT`).
- REQUIRED FieldBehavior = 2
- // Denotes a field as output only.
- // This indicates that the field is provided in responses, but including the
- // field in a request does nothing (the server *must* ignore it and
- // *must not* throw an error as a result of the field's presence).
- OUTPUT_ONLY FieldBehavior = 3
- // Denotes a field as input only.
- // This indicates that the field is provided in requests, and the
- // corresponding field is not included in output.
- INPUT_ONLY FieldBehavior = 4
- // Denotes a field as immutable.
- // This indicates that the field may be set once in a request to create a
- // resource, but may not be changed thereafter.
- IMMUTABLE FieldBehavior = 5
-)
-
-var FieldBehavior_name = map[int32]string{
- 0: "FIELD_BEHAVIOR_UNSPECIFIED",
- 1: "OPTIONAL",
- 2: "REQUIRED",
- 3: "OUTPUT_ONLY",
- 4: "INPUT_ONLY",
- 5: "IMMUTABLE",
-}
-
-var FieldBehavior_value = map[string]int32{
- "FIELD_BEHAVIOR_UNSPECIFIED": 0,
- "OPTIONAL": 1,
- "REQUIRED": 2,
- "OUTPUT_ONLY": 3,
- "INPUT_ONLY": 4,
- "IMMUTABLE": 5,
-}
-
-func (FieldBehavior) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_4648f18fd5079967, []int{0}
-}
-
-var E_FieldBehavior = &proto.ExtensionDesc{
- ExtendedType: (*descriptor.FieldOptions)(nil),
- ExtensionType: ([]FieldBehavior)(nil),
- Field: 1052,
- Name: "google.api.field_behavior",
- Tag: "varint,1052,rep,name=field_behavior,enum=google.api.FieldBehavior",
- Filename: "google/api/field_behavior.proto",
-}
-
-func init() {
- proto.RegisterEnum("google.api.FieldBehavior", FieldBehavior_name, FieldBehavior_value)
- proto.RegisterExtension(E_FieldBehavior)
-}
-
-func init() { proto.RegisterFile("google/api/field_behavior.proto", fileDescriptor_4648f18fd5079967) }
-
-var fileDescriptor_4648f18fd5079967 = []byte{
- // 325 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4f, 0xcf, 0xcf, 0x4f,
- 0xcf, 0x49, 0xd5, 0x4f, 0x2c, 0xc8, 0xd4, 0x4f, 0xcb, 0x4c, 0xcd, 0x49, 0x89, 0x4f, 0x4a, 0xcd,
- 0x48, 0x2c, 0xcb, 0xcc, 0x2f, 0xd2, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x82, 0x28, 0xd0,
- 0x4b, 0x2c, 0xc8, 0x94, 0x52, 0x80, 0x2a, 0x06, 0xcb, 0x24, 0x95, 0xa6, 0xe9, 0xa7, 0xa4, 0x16,
- 0x27, 0x17, 0x65, 0x16, 0x94, 0xc0, 0x54, 0x6b, 0x55, 0x73, 0xf1, 0xba, 0x81, 0x4c, 0x71, 0x82,
- 0x1a, 0x22, 0x24, 0xc7, 0x25, 0xe5, 0xe6, 0xe9, 0xea, 0xe3, 0x12, 0xef, 0xe4, 0xea, 0xe1, 0x18,
- 0xe6, 0xe9, 0x1f, 0x14, 0x1f, 0xea, 0x17, 0x1c, 0xe0, 0xea, 0xec, 0xe9, 0xe6, 0xe9, 0xea, 0x22,
- 0xc0, 0x20, 0xc4, 0xc3, 0xc5, 0xe1, 0x1f, 0x10, 0xe2, 0xe9, 0xef, 0xe7, 0xe8, 0x23, 0xc0, 0x08,
- 0xe2, 0x05, 0xb9, 0x06, 0x86, 0x7a, 0x06, 0xb9, 0xba, 0x08, 0x30, 0x09, 0xf1, 0x73, 0x71, 0xfb,
- 0x87, 0x86, 0x04, 0x84, 0x86, 0xc4, 0xfb, 0xfb, 0xf9, 0x44, 0x0a, 0x30, 0x0b, 0xf1, 0x71, 0x71,
- 0x79, 0xfa, 0xc1, 0xf9, 0x2c, 0x42, 0xbc, 0x5c, 0x9c, 0x9e, 0xbe, 0xbe, 0xa1, 0x21, 0x8e, 0x4e,
- 0x3e, 0xae, 0x02, 0xac, 0x56, 0x09, 0x5c, 0x7c, 0xa8, 0x5e, 0x10, 0x92, 0xd5, 0x83, 0xba, 0x1e,
- 0xe6, 0x62, 0x3d, 0xb0, 0xeb, 0xfc, 0x0b, 0x4a, 0x32, 0xf3, 0xf3, 0x8a, 0x25, 0xe6, 0x70, 0x28,
- 0x30, 0x6b, 0xf0, 0x19, 0x49, 0xea, 0x21, 0xfc, 0xa8, 0x87, 0xe2, 0xfc, 0x20, 0xde, 0x34, 0x64,
- 0xae, 0x53, 0xe2, 0x85, 0x87, 0x72, 0x0c, 0x37, 0x1e, 0xca, 0x31, 0x7c, 0x78, 0x28, 0xc7, 0xd8,
- 0xf0, 0x48, 0x8e, 0x71, 0xc5, 0x23, 0x39, 0xc6, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63,
- 0x7c, 0xf0, 0x48, 0x8e, 0xf1, 0xc5, 0x23, 0x39, 0x86, 0x0f, 0x8f, 0xe4, 0x18, 0x27, 0x3c, 0x96,
- 0x63, 0xb8, 0xf0, 0x58, 0x8e, 0xe1, 0xc6, 0x63, 0x39, 0x06, 0x2e, 0xbe, 0xe4, 0xfc, 0x5c, 0x24,
- 0x2b, 0x9c, 0x84, 0x50, 0xec, 0x08, 0x00, 0x39, 0x2d, 0x80, 0x71, 0x11, 0x13, 0x8b, 0xbb, 0x63,
- 0x80, 0x67, 0x12, 0x1b, 0xd8, 0xa9, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0d, 0x72, 0x37,
- 0xaf, 0x99, 0x01, 0x00, 0x00,
-}
-
-func (x FieldBehavior) String() string {
- s, ok := FieldBehavior_name[int32(x)]
- if ok {
- return s
- }
- return strconv.Itoa(int(x))
-}
diff --git a/vendor/istio.io/gogo-genproto/googleapis/google/api/http.pb.go b/vendor/istio.io/gogo-genproto/googleapis/google/api/http.pb.go
deleted file mode 100644
index 436af02d4..000000000
--- a/vendor/istio.io/gogo-genproto/googleapis/google/api/http.pb.go
+++ /dev/null
@@ -1,2197 +0,0 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: google/api/http.proto
-
-package google_api
-
-import (
- fmt "fmt"
- proto "github.com/gogo/protobuf/proto"
- io "io"
- math "math"
- math_bits "math/bits"
- reflect "reflect"
- strings "strings"
-)
-
-// 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.GoGoProtoPackageIsVersion3 // please upgrade the proto package
-
-// Defines the HTTP configuration for an API service. It contains a list of
-// [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC method
-// to one or more HTTP REST API methods.
-type Http struct {
- // A list of HTTP configuration rules that apply to individual API methods.
- //
- // **NOTE:** All service configuration rules follow "last one wins" order.
- Rules []*HttpRule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"`
- // When set to true, URL path parameters will be fully URI-decoded except in
- // cases of single segment matches in reserved expansion, where "%2F" will be
- // left encoded.
- //
- // The default behavior is to not decode RFC 6570 reserved characters in multi
- // segment matches.
- FullyDecodeReservedExpansion bool `protobuf:"varint,2,opt,name=fully_decode_reserved_expansion,json=fullyDecodeReservedExpansion,proto3" json:"fully_decode_reserved_expansion,omitempty"`
-}
-
-func (m *Http) Reset() { *m = Http{} }
-func (*Http) ProtoMessage() {}
-func (*Http) Descriptor() ([]byte, []int) {
- return fileDescriptor_ff9994be407cdcc9, []int{0}
-}
-func (m *Http) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *Http) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Http.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *Http) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Http.Merge(m, src)
-}
-func (m *Http) XXX_Size() int {
- return m.Size()
-}
-func (m *Http) XXX_DiscardUnknown() {
- xxx_messageInfo_Http.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Http proto.InternalMessageInfo
-
-func (m *Http) GetRules() []*HttpRule {
- if m != nil {
- return m.Rules
- }
- return nil
-}
-
-func (m *Http) GetFullyDecodeReservedExpansion() bool {
- if m != nil {
- return m.FullyDecodeReservedExpansion
- }
- return false
-}
-
-// # gRPC Transcoding
-//
-// gRPC Transcoding is a feature for mapping between a gRPC method and one or
-// more HTTP REST endpoints. It allows developers to build a single API service
-// that supports both gRPC APIs and REST APIs. Many systems, including [Google
-// APIs](https://github.com/googleapis/googleapis),
-// [Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC
-// Gateway](https://github.com/grpc-ecosystem/grpc-gateway),
-// and [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature
-// and use it for large scale production services.
-//
-// `HttpRule` defines the schema of the gRPC/REST mapping. The mapping specifies
-// how different portions of the gRPC request message are mapped to the URL
-// path, URL query parameters, and HTTP request body. It also controls how the
-// gRPC response message is mapped to the HTTP response body. `HttpRule` is
-// typically specified as an `google.api.http` annotation on the gRPC method.
-//
-// Each mapping specifies a URL path template and an HTTP method. The path
-// template may refer to one or more fields in the gRPC request message, as long
-// as each field is a non-repeated field with a primitive (non-message) type.
-// The path template controls how fields of the request message are mapped to
-// the URL path.
-//
-// Example:
-//
-// service Messaging {
-// rpc GetMessage(GetMessageRequest) returns (Message) {
-// option (google.api.http) = {
-// get: "/v1/{name=messages/*}"
-// };
-// }
-// }
-// message GetMessageRequest {
-// string name = 1; // Mapped to URL path.
-// }
-// message Message {
-// string text = 1; // The resource content.
-// }
-//
-// This enables an HTTP REST to gRPC mapping as below:
-//
-// HTTP | gRPC
-// -----|-----
-// `GET /v1/messages/123456` | `GetMessage(name: "messages/123456")`
-//
-// Any fields in the request message which are not bound by the path template
-// automatically become HTTP query parameters if there is no HTTP request body.
-// For example:
-//
-// service Messaging {
-// rpc GetMessage(GetMessageRequest) returns (Message) {
-// option (google.api.http) = {
-// get:"/v1/messages/{message_id}"
-// };
-// }
-// }
-// message GetMessageRequest {
-// message SubMessage {
-// string subfield = 1;
-// }
-// string message_id = 1; // Mapped to URL path.
-// int64 revision = 2; // Mapped to URL query parameter `revision`.
-// SubMessage sub = 3; // Mapped to URL query parameter `sub.subfield`.
-// }
-//
-// This enables a HTTP JSON to RPC mapping as below:
-//
-// HTTP | gRPC
-// -----|-----
-// `GET /v1/messages/123456?revision=2&sub.subfield=foo` |
-// `GetMessage(message_id: "123456" revision: 2 sub: SubMessage(subfield:
-// "foo"))`
-//
-// Note that fields which are mapped to URL query parameters must have a
-// primitive type or a repeated primitive type or a non-repeated message type.
-// In the case of a repeated type, the parameter can be repeated in the URL
-// as `...?param=A¶m=B`. In the case of a message type, each field of the
-// message is mapped to a separate parameter, such as
-// `...?foo.a=A&foo.b=B&foo.c=C`.
-//
-// For HTTP methods that allow a request body, the `body` field
-// specifies the mapping. Consider a REST update method on the
-// message resource collection:
-//
-// service Messaging {
-// rpc UpdateMessage(UpdateMessageRequest) returns (Message) {
-// option (google.api.http) = {
-// patch: "/v1/messages/{message_id}"
-// body: "message"
-// };
-// }
-// }
-// message UpdateMessageRequest {
-// string message_id = 1; // mapped to the URL
-// Message message = 2; // mapped to the body
-// }
-//
-// The following HTTP JSON to RPC mapping is enabled, where the
-// representation of the JSON in the request body is determined by
-// protos JSON encoding:
-//
-// HTTP | gRPC
-// -----|-----
-// `PATCH /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id:
-// "123456" message { text: "Hi!" })`
-//
-// The special name `*` can be used in the body mapping to define that
-// every field not bound by the path template should be mapped to the
-// request body. This enables the following alternative definition of
-// the update method:
-//
-// service Messaging {
-// rpc UpdateMessage(Message) returns (Message) {
-// option (google.api.http) = {
-// patch: "/v1/messages/{message_id}"
-// body: "*"
-// };
-// }
-// }
-// message Message {
-// string message_id = 1;
-// string text = 2;
-// }
-//
-//
-// The following HTTP JSON to RPC mapping is enabled:
-//
-// HTTP | gRPC
-// -----|-----
-// `PATCH /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id:
-// "123456" text: "Hi!")`
-//
-// Note that when using `*` in the body mapping, it is not possible to
-// have HTTP parameters, as all fields not bound by the path end in
-// the body. This makes this option more rarely used in practice when
-// defining REST APIs. The common usage of `*` is in custom methods
-// which don't use the URL at all for transferring data.
-//
-// It is possible to define multiple HTTP methods for one RPC by using
-// the `additional_bindings` option. Example:
-//
-// service Messaging {
-// rpc GetMessage(GetMessageRequest) returns (Message) {
-// option (google.api.http) = {
-// get: "/v1/messages/{message_id}"
-// additional_bindings {
-// get: "/v1/users/{user_id}/messages/{message_id}"
-// }
-// };
-// }
-// }
-// message GetMessageRequest {
-// string message_id = 1;
-// string user_id = 2;
-// }
-//
-// This enables the following two alternative HTTP JSON to RPC mappings:
-//
-// HTTP | gRPC
-// -----|-----
-// `GET /v1/messages/123456` | `GetMessage(message_id: "123456")`
-// `GET /v1/users/me/messages/123456` | `GetMessage(user_id: "me" message_id:
-// "123456")`
-//
-// ## Rules for HTTP mapping
-//
-// 1. Leaf request fields (recursive expansion nested messages in the request
-// message) are classified into three categories:
-// - Fields referred by the path template. They are passed via the URL path.
-// - Fields referred by the [HttpRule.body][google.api.HttpRule.body]. They are passed via the HTTP
-// request body.
-// - All other fields are passed via the URL query parameters, and the
-// parameter name is the field path in the request message. A repeated
-// field can be represented as multiple query parameters under the same
-// name.
-// 2. If [HttpRule.body][google.api.HttpRule.body] is "*", there is no URL query parameter, all fields
-// are passed via URL path and HTTP request body.
-// 3. If [HttpRule.body][google.api.HttpRule.body] is omitted, there is no HTTP request body, all
-// fields are passed via URL path and URL query parameters.
-//
-// ### Path template syntax
-//
-// Template = "/" Segments [ Verb ] ;
-// Segments = Segment { "/" Segment } ;
-// Segment = "*" | "**" | LITERAL | Variable ;
-// Variable = "{" FieldPath [ "=" Segments ] "}" ;
-// FieldPath = IDENT { "." IDENT } ;
-// Verb = ":" LITERAL ;
-//
-// The syntax `*` matches a single URL path segment. The syntax `**` matches
-// zero or more URL path segments, which must be the last part of the URL path
-// except the `Verb`.
-//
-// The syntax `Variable` matches part of the URL path as specified by its
-// template. A variable template must not contain other variables. If a variable
-// matches a single path segment, its template may be omitted, e.g. `{var}`
-// is equivalent to `{var=*}`.
-//
-// The syntax `LITERAL` matches literal text in the URL path. If the `LITERAL`
-// contains any reserved character, such characters should be percent-encoded
-// before the matching.
-//
-// If a variable contains exactly one path segment, such as `"{var}"` or
-// `"{var=*}"`, when such a variable is expanded into a URL path on the client
-// side, all characters except `[-_.~0-9a-zA-Z]` are percent-encoded. The
-// server side does the reverse decoding. Such variables show up in the
-// [Discovery
-// Document](https://developers.google.com/discovery/v1/reference/apis) as
-// `{var}`.
-//
-// If a variable contains multiple path segments, such as `"{var=foo/*}"`
-// or `"{var=**}"`, when such a variable is expanded into a URL path on the
-// client side, all characters except `[-_.~/0-9a-zA-Z]` are percent-encoded.
-// The server side does the reverse decoding, except "%2F" and "%2f" are left
-// unchanged. Such variables show up in the
-// [Discovery
-// Document](https://developers.google.com/discovery/v1/reference/apis) as
-// `{+var}`.
-//
-// ## Using gRPC API Service Configuration
-//
-// gRPC API Service Configuration (service config) is a configuration language
-// for configuring a gRPC service to become a user-facing product. The
-// service config is simply the YAML representation of the `google.api.Service`
-// proto message.
-//
-// As an alternative to annotating your proto file, you can configure gRPC
-// transcoding in your service config YAML files. You do this by specifying a
-// `HttpRule` that maps the gRPC method to a REST endpoint, achieving the same
-// effect as the proto annotation. This can be particularly useful if you
-// have a proto that is reused in multiple services. Note that any transcoding
-// specified in the service config will override any matching transcoding
-// configuration in the proto.
-//
-// Example:
-//
-// http:
-// rules:
-// # Selects a gRPC method and applies HttpRule to it.
-// - selector: example.v1.Messaging.GetMessage
-// get: /v1/messages/{message_id}/{sub.subfield}
-//
-// ## Special notes
-//
-// When gRPC Transcoding is used to map a gRPC to JSON REST endpoints, the
-// proto to JSON conversion must follow the [proto3
-// specification](https://developers.google.com/protocol-buffers/docs/proto3#json).
-//
-// While the single segment variable follows the semantics of
-// [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String
-// Expansion, the multi segment variable **does not** follow RFC 6570 Section
-// 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion
-// does not expand special characters like `?` and `#`, which would lead
-// to invalid URLs. As the result, gRPC Transcoding uses a custom encoding
-// for multi segment variables.
-//
-// The path variables **must not** refer to any repeated or mapped field,
-// because client libraries are not capable of handling such variable expansion.
-//
-// The path variables **must not** capture the leading "/" character. The reason
-// is that the most common use case "{var}" does not capture the leading "/"
-// character. For consistency, all path variables must share the same behavior.
-//
-// Repeated message fields must not be mapped to URL query parameters, because
-// no client library can support such complicated mapping.
-//
-// If an API needs to use a JSON array for request or response body, it can map
-// the request or response body to a repeated field. However, some gRPC
-// Transcoding implementations may not support this feature.
-type HttpRule struct {
- // Selects a method to which this rule applies.
- //
- // Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
- Selector string `protobuf:"bytes,1,opt,name=selector,proto3" json:"selector,omitempty"`
- // Determines the URL pattern is matched by this rules. This pattern can be
- // used with any of the {get|put|post|delete|patch} methods. A custom method
- // can be defined using the 'custom' field.
- //
- // Types that are valid to be assigned to Pattern:
- // *HttpRule_Get
- // *HttpRule_Put
- // *HttpRule_Post
- // *HttpRule_Delete
- // *HttpRule_Patch
- // *HttpRule_Custom
- Pattern isHttpRule_Pattern `protobuf_oneof:"pattern"`
- // The name of the request field whose value is mapped to the HTTP request
- // body, or `*` for mapping all request fields not captured by the path
- // pattern to the HTTP body, or omitted for not having any HTTP request body.
- //
- // NOTE: the referred field must be present at the top-level of the request
- // message type.
- Body string `protobuf:"bytes,7,opt,name=body,proto3" json:"body,omitempty"`
- // Optional. The name of the response field whose value is mapped to the HTTP
- // response body. When omitted, the entire response message will be used
- // as the HTTP response body.
- //
- // NOTE: The referred field must be present at the top-level of the response
- // message type.
- ResponseBody string `protobuf:"bytes,12,opt,name=response_body,json=responseBody,proto3" json:"response_body,omitempty"`
- // Additional HTTP bindings for the selector. Nested bindings must
- // not contain an `additional_bindings` field themselves (that is,
- // the nesting may only be one level deep).
- AdditionalBindings []*HttpRule `protobuf:"bytes,11,rep,name=additional_bindings,json=additionalBindings,proto3" json:"additional_bindings,omitempty"`
-}
-
-func (m *HttpRule) Reset() { *m = HttpRule{} }
-func (*HttpRule) ProtoMessage() {}
-func (*HttpRule) Descriptor() ([]byte, []int) {
- return fileDescriptor_ff9994be407cdcc9, []int{1}
-}
-func (m *HttpRule) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *HttpRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_HttpRule.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *HttpRule) XXX_Merge(src proto.Message) {
- xxx_messageInfo_HttpRule.Merge(m, src)
-}
-func (m *HttpRule) XXX_Size() int {
- return m.Size()
-}
-func (m *HttpRule) XXX_DiscardUnknown() {
- xxx_messageInfo_HttpRule.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_HttpRule proto.InternalMessageInfo
-
-type isHttpRule_Pattern interface {
- isHttpRule_Pattern()
- Equal(interface{}) bool
- MarshalTo([]byte) (int, error)
- Size() int
-}
-
-type HttpRule_Get struct {
- Get string `protobuf:"bytes,2,opt,name=get,proto3,oneof"`
-}
-type HttpRule_Put struct {
- Put string `protobuf:"bytes,3,opt,name=put,proto3,oneof"`
-}
-type HttpRule_Post struct {
- Post string `protobuf:"bytes,4,opt,name=post,proto3,oneof"`
-}
-type HttpRule_Delete struct {
- Delete string `protobuf:"bytes,5,opt,name=delete,proto3,oneof"`
-}
-type HttpRule_Patch struct {
- Patch string `protobuf:"bytes,6,opt,name=patch,proto3,oneof"`
-}
-type HttpRule_Custom struct {
- Custom *CustomHttpPattern `protobuf:"bytes,8,opt,name=custom,proto3,oneof"`
-}
-
-func (*HttpRule_Get) isHttpRule_Pattern() {}
-func (*HttpRule_Put) isHttpRule_Pattern() {}
-func (*HttpRule_Post) isHttpRule_Pattern() {}
-func (*HttpRule_Delete) isHttpRule_Pattern() {}
-func (*HttpRule_Patch) isHttpRule_Pattern() {}
-func (*HttpRule_Custom) isHttpRule_Pattern() {}
-
-func (m *HttpRule) GetPattern() isHttpRule_Pattern {
- if m != nil {
- return m.Pattern
- }
- return nil
-}
-
-func (m *HttpRule) GetSelector() string {
- if m != nil {
- return m.Selector
- }
- return ""
-}
-
-func (m *HttpRule) GetGet() string {
- if x, ok := m.GetPattern().(*HttpRule_Get); ok {
- return x.Get
- }
- return ""
-}
-
-func (m *HttpRule) GetPut() string {
- if x, ok := m.GetPattern().(*HttpRule_Put); ok {
- return x.Put
- }
- return ""
-}
-
-func (m *HttpRule) GetPost() string {
- if x, ok := m.GetPattern().(*HttpRule_Post); ok {
- return x.Post
- }
- return ""
-}
-
-func (m *HttpRule) GetDelete() string {
- if x, ok := m.GetPattern().(*HttpRule_Delete); ok {
- return x.Delete
- }
- return ""
-}
-
-func (m *HttpRule) GetPatch() string {
- if x, ok := m.GetPattern().(*HttpRule_Patch); ok {
- return x.Patch
- }
- return ""
-}
-
-func (m *HttpRule) GetCustom() *CustomHttpPattern {
- if x, ok := m.GetPattern().(*HttpRule_Custom); ok {
- return x.Custom
- }
- return nil
-}
-
-func (m *HttpRule) GetBody() string {
- if m != nil {
- return m.Body
- }
- return ""
-}
-
-func (m *HttpRule) GetResponseBody() string {
- if m != nil {
- return m.ResponseBody
- }
- return ""
-}
-
-func (m *HttpRule) GetAdditionalBindings() []*HttpRule {
- if m != nil {
- return m.AdditionalBindings
- }
- return nil
-}
-
-// XXX_OneofWrappers is for the internal use of the proto package.
-func (*HttpRule) XXX_OneofWrappers() []interface{} {
- return []interface{}{
- (*HttpRule_Get)(nil),
- (*HttpRule_Put)(nil),
- (*HttpRule_Post)(nil),
- (*HttpRule_Delete)(nil),
- (*HttpRule_Patch)(nil),
- (*HttpRule_Custom)(nil),
- }
-}
-
-// A custom pattern is used for defining custom HTTP verb.
-type CustomHttpPattern struct {
- // The name of this custom HTTP verb.
- Kind string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"`
- // The path matched by this custom verb.
- Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
-}
-
-func (m *CustomHttpPattern) Reset() { *m = CustomHttpPattern{} }
-func (*CustomHttpPattern) ProtoMessage() {}
-func (*CustomHttpPattern) Descriptor() ([]byte, []int) {
- return fileDescriptor_ff9994be407cdcc9, []int{2}
-}
-func (m *CustomHttpPattern) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *CustomHttpPattern) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_CustomHttpPattern.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
- }
-}
-func (m *CustomHttpPattern) XXX_Merge(src proto.Message) {
- xxx_messageInfo_CustomHttpPattern.Merge(m, src)
-}
-func (m *CustomHttpPattern) XXX_Size() int {
- return m.Size()
-}
-func (m *CustomHttpPattern) XXX_DiscardUnknown() {
- xxx_messageInfo_CustomHttpPattern.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CustomHttpPattern proto.InternalMessageInfo
-
-func (m *CustomHttpPattern) GetKind() string {
- if m != nil {
- return m.Kind
- }
- return ""
-}
-
-func (m *CustomHttpPattern) GetPath() string {
- if m != nil {
- return m.Path
- }
- return ""
-}
-
-func init() {
- proto.RegisterType((*Http)(nil), "google.api.Http")
- proto.RegisterType((*HttpRule)(nil), "google.api.HttpRule")
- proto.RegisterType((*CustomHttpPattern)(nil), "google.api.CustomHttpPattern")
-}
-
-func init() { proto.RegisterFile("google/api/http.proto", fileDescriptor_ff9994be407cdcc9) }
-
-var fileDescriptor_ff9994be407cdcc9 = []byte{
- // 446 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xb1, 0x8e, 0xd3, 0x40,
- 0x10, 0x86, 0xbd, 0x89, 0x93, 0x4b, 0x26, 0x07, 0x12, 0xcb, 0x81, 0x56, 0x08, 0x96, 0x28, 0x34,
- 0x11, 0x45, 0x4e, 0x3a, 0x0a, 0x0a, 0x2a, 0x0c, 0x11, 0x47, 0x17, 0xb9, 0xa5, 0xb0, 0x1c, 0x7b,
- 0x48, 0x2c, 0x7c, 0xde, 0x95, 0x77, 0x8c, 0x48, 0xc7, 0x23, 0xf0, 0x0c, 0x54, 0x3c, 0x0a, 0x65,
- 0xca, 0x13, 0x15, 0x71, 0x1a, 0xca, 0x2b, 0x29, 0xd1, 0xae, 0x1d, 0xee, 0x24, 0x24, 0xba, 0xf9,
- 0xff, 0xf9, 0x3c, 0xfe, 0x3d, 0x1e, 0xb8, 0xb7, 0x52, 0x6a, 0x95, 0xe3, 0x69, 0xac, 0xb3, 0xd3,
- 0x35, 0x91, 0x9e, 0xe9, 0x52, 0x91, 0xe2, 0xd0, 0xd8, 0xb3, 0x58, 0x67, 0x93, 0x0d, 0xf8, 0xe7,
- 0x44, 0x9a, 0x3f, 0x85, 0x5e, 0x59, 0xe5, 0x68, 0x04, 0x1b, 0x77, 0xa7, 0xa3, 0xb3, 0x93, 0xd9,
- 0x35, 0x33, 0xb3, 0x40, 0x58, 0xe5, 0x18, 0x36, 0x08, 0x9f, 0xc3, 0xe3, 0xf7, 0x55, 0x9e, 0x6f,
- 0xa2, 0x14, 0x13, 0x95, 0x62, 0x54, 0xa2, 0xc1, 0xf2, 0x23, 0xa6, 0x11, 0x7e, 0xd2, 0x71, 0x61,
- 0x32, 0x55, 0x88, 0xce, 0x98, 0x4d, 0x07, 0xe1, 0x43, 0x87, 0xbd, 0x76, 0x54, 0xd8, 0x42, 0xf3,
- 0x03, 0x33, 0xf9, 0xd1, 0x81, 0xc1, 0x61, 0x34, 0x7f, 0x00, 0x03, 0x83, 0x39, 0x26, 0xa4, 0x4a,
- 0xc1, 0xc6, 0x6c, 0x3a, 0x0c, 0xff, 0x6a, 0xce, 0xa1, 0xbb, 0x42, 0x72, 0x33, 0x87, 0xe7, 0x5e,
- 0x68, 0x85, 0xf5, 0x74, 0x45, 0xa2, 0x7b, 0xf0, 0x74, 0x45, 0xfc, 0x04, 0x7c, 0xad, 0x0c, 0x09,
- 0xbf, 0x35, 0x9d, 0xe2, 0x02, 0xfa, 0x29, 0xe6, 0x48, 0x28, 0x7a, 0xad, 0xdf, 0x6a, 0x7e, 0x1f,
- 0x7a, 0x3a, 0xa6, 0x64, 0x2d, 0xfa, 0x6d, 0xa3, 0x91, 0xfc, 0x39, 0xf4, 0x93, 0xca, 0x90, 0xba,
- 0x10, 0x83, 0x31, 0x9b, 0x8e, 0xce, 0x1e, 0xdd, 0x5c, 0xc6, 0x2b, 0xd7, 0xb1, 0xb9, 0x17, 0x31,
- 0x11, 0x96, 0x85, 0x1d, 0xd8, 0xe0, 0x9c, 0x83, 0xbf, 0x54, 0xe9, 0x46, 0x1c, 0xb9, 0x0f, 0x70,
- 0x35, 0x7f, 0x02, 0xb7, 0x4a, 0x34, 0x5a, 0x15, 0x06, 0x23, 0xd7, 0x3c, 0x76, 0xcd, 0xe3, 0x83,
- 0x19, 0x58, 0x68, 0x0e, 0x77, 0xe3, 0x34, 0xcd, 0x28, 0x53, 0x45, 0x9c, 0x47, 0xcb, 0xac, 0x48,
- 0xb3, 0x62, 0x65, 0xc4, 0xe8, 0x3f, 0xff, 0x82, 0x5f, 0x3f, 0x10, 0xb4, 0x7c, 0x30, 0x84, 0x23,
- 0xdd, 0x84, 0x9a, 0xbc, 0x80, 0x3b, 0xff, 0x24, 0xb5, 0xf9, 0x3e, 0x64, 0x45, 0xda, 0x2e, 0xd8,
- 0xd5, 0xd6, 0xd3, 0x31, 0xad, 0x9b, 0xed, 0x86, 0xae, 0x0e, 0xde, 0x6d, 0x77, 0xd2, 0xbb, 0xdc,
- 0x49, 0xef, 0x6a, 0x27, 0xd9, 0xe7, 0x5a, 0xb2, 0x6f, 0xb5, 0x64, 0xdf, 0x6b, 0xc9, 0xb6, 0xb5,
- 0x64, 0x3f, 0x6b, 0xc9, 0x7e, 0xd5, 0xd2, 0xbb, 0xaa, 0x25, 0xfb, 0xb2, 0x97, 0xde, 0x76, 0x2f,
- 0xbd, 0xcb, 0xbd, 0xf4, 0xe0, 0x76, 0xa2, 0x2e, 0x6e, 0x44, 0x0d, 0x86, 0xee, 0xd5, 0xf6, 0xe2,
- 0x16, 0xec, 0x37, 0x63, 0x5f, 0x3b, 0xfe, 0x9b, 0x97, 0x8b, 0xb7, 0xcb, 0xbe, 0x3b, 0xc2, 0x67,
- 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0x85, 0x78, 0xc8, 0xab, 0x9d, 0x02, 0x00, 0x00,
-}
-
-func (this *Http) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*Http)
- if !ok {
- that2, ok := that.(Http)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if len(this.Rules) != len(that1.Rules) {
- return false
- }
- for i := range this.Rules {
- if !this.Rules[i].Equal(that1.Rules[i]) {
- return false
- }
- }
- if this.FullyDecodeReservedExpansion != that1.FullyDecodeReservedExpansion {
- return false
- }
- return true
-}
-func (this *HttpRule) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*HttpRule)
- if !ok {
- that2, ok := that.(HttpRule)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if this.Selector != that1.Selector {
- return false
- }
- if that1.Pattern == nil {
- if this.Pattern != nil {
- return false
- }
- } else if this.Pattern == nil {
- return false
- } else if !this.Pattern.Equal(that1.Pattern) {
- return false
- }
- if this.Body != that1.Body {
- return false
- }
- if this.ResponseBody != that1.ResponseBody {
- return false
- }
- if len(this.AdditionalBindings) != len(that1.AdditionalBindings) {
- return false
- }
- for i := range this.AdditionalBindings {
- if !this.AdditionalBindings[i].Equal(that1.AdditionalBindings[i]) {
- return false
- }
- }
- return true
-}
-func (this *HttpRule_Get) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*HttpRule_Get)
- if !ok {
- that2, ok := that.(HttpRule_Get)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if this.Get != that1.Get {
- return false
- }
- return true
-}
-func (this *HttpRule_Put) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*HttpRule_Put)
- if !ok {
- that2, ok := that.(HttpRule_Put)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if this.Put != that1.Put {
- return false
- }
- return true
-}
-func (this *HttpRule_Post) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*HttpRule_Post)
- if !ok {
- that2, ok := that.(HttpRule_Post)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if this.Post != that1.Post {
- return false
- }
- return true
-}
-func (this *HttpRule_Delete) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*HttpRule_Delete)
- if !ok {
- that2, ok := that.(HttpRule_Delete)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if this.Delete != that1.Delete {
- return false
- }
- return true
-}
-func (this *HttpRule_Patch) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*HttpRule_Patch)
- if !ok {
- that2, ok := that.(HttpRule_Patch)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if this.Patch != that1.Patch {
- return false
- }
- return true
-}
-func (this *HttpRule_Custom) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*HttpRule_Custom)
- if !ok {
- that2, ok := that.(HttpRule_Custom)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if !this.Custom.Equal(that1.Custom) {
- return false
- }
- return true
-}
-func (this *CustomHttpPattern) Equal(that interface{}) bool {
- if that == nil {
- return this == nil
- }
-
- that1, ok := that.(*CustomHttpPattern)
- if !ok {
- that2, ok := that.(CustomHttpPattern)
- if ok {
- that1 = &that2
- } else {
- return false
- }
- }
- if that1 == nil {
- return this == nil
- } else if this == nil {
- return false
- }
- if this.Kind != that1.Kind {
- return false
- }
- if this.Path != that1.Path {
- return false
- }
- return true
-}
-func (this *Http) GoString() string {
- if this == nil {
- return "nil"
- }
- s := make([]string, 0, 6)
- s = append(s, "&google_api.Http{")
- if this.Rules != nil {
- s = append(s, "Rules: "+fmt.Sprintf("%#v", this.Rules)+",\n")
- }
- s = append(s, "FullyDecodeReservedExpansion: "+fmt.Sprintf("%#v", this.FullyDecodeReservedExpansion)+",\n")
- s = append(s, "}")
- return strings.Join(s, "")
-}
-func (this *HttpRule) GoString() string {
- if this == nil {
- return "nil"
- }
- s := make([]string, 0, 14)
- s = append(s, "&google_api.HttpRule{")
- s = append(s, "Selector: "+fmt.Sprintf("%#v", this.Selector)+",\n")
- if this.Pattern != nil {
- s = append(s, "Pattern: "+fmt.Sprintf("%#v", this.Pattern)+",\n")
- }
- s = append(s, "Body: "+fmt.Sprintf("%#v", this.Body)+",\n")
- s = append(s, "ResponseBody: "+fmt.Sprintf("%#v", this.ResponseBody)+",\n")
- if this.AdditionalBindings != nil {
- s = append(s, "AdditionalBindings: "+fmt.Sprintf("%#v", this.AdditionalBindings)+",\n")
- }
- s = append(s, "}")
- return strings.Join(s, "")
-}
-func (this *HttpRule_Get) GoString() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&google_api.HttpRule_Get{` +
- `Get:` + fmt.Sprintf("%#v", this.Get) + `}`}, ", ")
- return s
-}
-func (this *HttpRule_Put) GoString() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&google_api.HttpRule_Put{` +
- `Put:` + fmt.Sprintf("%#v", this.Put) + `}`}, ", ")
- return s
-}
-func (this *HttpRule_Post) GoString() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&google_api.HttpRule_Post{` +
- `Post:` + fmt.Sprintf("%#v", this.Post) + `}`}, ", ")
- return s
-}
-func (this *HttpRule_Delete) GoString() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&google_api.HttpRule_Delete{` +
- `Delete:` + fmt.Sprintf("%#v", this.Delete) + `}`}, ", ")
- return s
-}
-func (this *HttpRule_Patch) GoString() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&google_api.HttpRule_Patch{` +
- `Patch:` + fmt.Sprintf("%#v", this.Patch) + `}`}, ", ")
- return s
-}
-func (this *HttpRule_Custom) GoString() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&google_api.HttpRule_Custom{` +
- `Custom:` + fmt.Sprintf("%#v", this.Custom) + `}`}, ", ")
- return s
-}
-func (this *CustomHttpPattern) GoString() string {
- if this == nil {
- return "nil"
- }
- s := make([]string, 0, 6)
- s = append(s, "&google_api.CustomHttpPattern{")
- s = append(s, "Kind: "+fmt.Sprintf("%#v", this.Kind)+",\n")
- s = append(s, "Path: "+fmt.Sprintf("%#v", this.Path)+",\n")
- s = append(s, "}")
- return strings.Join(s, "")
-}
-func valueToGoStringHttp(v interface{}, typ string) string {
- rv := reflect.ValueOf(v)
- if rv.IsNil() {
- return "nil"
- }
- pv := reflect.Indirect(rv).Interface()
- return fmt.Sprintf("func(v %v) *%v { return &v } ( %#v )", typ, typ, pv)
-}
-func (m *Http) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *Http) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *Http) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.FullyDecodeReservedExpansion {
- i--
- if m.FullyDecodeReservedExpansion {
- dAtA[i] = 1
- } else {
- dAtA[i] = 0
- }
- i--
- dAtA[i] = 0x10
- }
- if len(m.Rules) > 0 {
- for iNdEx := len(m.Rules) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Rules[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintHttp(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- }
- return len(dAtA) - i, nil
-}
-
-func (m *HttpRule) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *HttpRule) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *HttpRule) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if len(m.ResponseBody) > 0 {
- i -= len(m.ResponseBody)
- copy(dAtA[i:], m.ResponseBody)
- i = encodeVarintHttp(dAtA, i, uint64(len(m.ResponseBody)))
- i--
- dAtA[i] = 0x62
- }
- if len(m.AdditionalBindings) > 0 {
- for iNdEx := len(m.AdditionalBindings) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.AdditionalBindings[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintHttp(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x5a
- }
- }
- if m.Pattern != nil {
- {
- size := m.Pattern.Size()
- i -= size
- if _, err := m.Pattern.MarshalTo(dAtA[i:]); err != nil {
- return 0, err
- }
- }
- }
- if len(m.Body) > 0 {
- i -= len(m.Body)
- copy(dAtA[i:], m.Body)
- i = encodeVarintHttp(dAtA, i, uint64(len(m.Body)))
- i--
- dAtA[i] = 0x3a
- }
- if len(m.Selector) > 0 {
- i -= len(m.Selector)
- copy(dAtA[i:], m.Selector)
- i = encodeVarintHttp(dAtA, i, uint64(len(m.Selector)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func (m *HttpRule_Get) MarshalTo(dAtA []byte) (int, error) {
- return m.MarshalToSizedBuffer(dAtA[:m.Size()])
-}
-
-func (m *HttpRule_Get) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- i -= len(m.Get)
- copy(dAtA[i:], m.Get)
- i = encodeVarintHttp(dAtA, i, uint64(len(m.Get)))
- i--
- dAtA[i] = 0x12
- return len(dAtA) - i, nil
-}
-func (m *HttpRule_Put) MarshalTo(dAtA []byte) (int, error) {
- return m.MarshalToSizedBuffer(dAtA[:m.Size()])
-}
-
-func (m *HttpRule_Put) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- i -= len(m.Put)
- copy(dAtA[i:], m.Put)
- i = encodeVarintHttp(dAtA, i, uint64(len(m.Put)))
- i--
- dAtA[i] = 0x1a
- return len(dAtA) - i, nil
-}
-func (m *HttpRule_Post) MarshalTo(dAtA []byte) (int, error) {
- return m.MarshalToSizedBuffer(dAtA[:m.Size()])
-}
-
-func (m *HttpRule_Post) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- i -= len(m.Post)
- copy(dAtA[i:], m.Post)
- i = encodeVarintHttp(dAtA, i, uint64(len(m.Post)))
- i--
- dAtA[i] = 0x22
- return len(dAtA) - i, nil
-}
-func (m *HttpRule_Delete) MarshalTo(dAtA []byte) (int, error) {
- return m.MarshalToSizedBuffer(dAtA[:m.Size()])
-}
-
-func (m *HttpRule_Delete) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- i -= len(m.Delete)
- copy(dAtA[i:], m.Delete)
- i = encodeVarintHttp(dAtA, i, uint64(len(m.Delete)))
- i--
- dAtA[i] = 0x2a
- return len(dAtA) - i, nil
-}
-func (m *HttpRule_Patch) MarshalTo(dAtA []byte) (int, error) {
- return m.MarshalToSizedBuffer(dAtA[:m.Size()])
-}
-
-func (m *HttpRule_Patch) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- i -= len(m.Patch)
- copy(dAtA[i:], m.Patch)
- i = encodeVarintHttp(dAtA, i, uint64(len(m.Patch)))
- i--
- dAtA[i] = 0x32
- return len(dAtA) - i, nil
-}
-func (m *HttpRule_Custom) MarshalTo(dAtA []byte) (int, error) {
- return m.MarshalToSizedBuffer(dAtA[:m.Size()])
-}
-
-func (m *HttpRule_Custom) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- if m.Custom != nil {
- {
- size, err := m.Custom.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintHttp(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x42
- }
- return len(dAtA) - i, nil
-}
-func (m *CustomHttpPattern) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *CustomHttpPattern) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *CustomHttpPattern) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if len(m.Path) > 0 {
- i -= len(m.Path)
- copy(dAtA[i:], m.Path)
- i = encodeVarintHttp(dAtA, i, uint64(len(m.Path)))
- i--
- dAtA[i] = 0x12
- }
- if len(m.Kind) > 0 {
- i -= len(m.Kind)
- copy(dAtA[i:], m.Kind)
- i = encodeVarintHttp(dAtA, i, uint64(len(m.Kind)))
- i--
- dAtA[i] = 0xa
- }
- return len(dAtA) - i, nil
-}
-
-func encodeVarintHttp(dAtA []byte, offset int, v uint64) int {
- offset -= sovHttp(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
-func (m *Http) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if len(m.Rules) > 0 {
- for _, e := range m.Rules {
- l = e.Size()
- n += 1 + l + sovHttp(uint64(l))
- }
- }
- if m.FullyDecodeReservedExpansion {
- n += 2
- }
- return n
-}
-
-func (m *HttpRule) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Selector)
- if l > 0 {
- n += 1 + l + sovHttp(uint64(l))
- }
- if m.Pattern != nil {
- n += m.Pattern.Size()
- }
- l = len(m.Body)
- if l > 0 {
- n += 1 + l + sovHttp(uint64(l))
- }
- if len(m.AdditionalBindings) > 0 {
- for _, e := range m.AdditionalBindings {
- l = e.Size()
- n += 1 + l + sovHttp(uint64(l))
- }
- }
- l = len(m.ResponseBody)
- if l > 0 {
- n += 1 + l + sovHttp(uint64(l))
- }
- return n
-}
-
-func (m *HttpRule_Get) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Get)
- n += 1 + l + sovHttp(uint64(l))
- return n
-}
-func (m *HttpRule_Put) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Put)
- n += 1 + l + sovHttp(uint64(l))
- return n
-}
-func (m *HttpRule_Post) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Post)
- n += 1 + l + sovHttp(uint64(l))
- return n
-}
-func (m *HttpRule_Delete) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Delete)
- n += 1 + l + sovHttp(uint64(l))
- return n
-}
-func (m *HttpRule_Patch) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Patch)
- n += 1 + l + sovHttp(uint64(l))
- return n
-}
-func (m *HttpRule_Custom) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if m.Custom != nil {
- l = m.Custom.Size()
- n += 1 + l + sovHttp(uint64(l))
- }
- return n
-}
-func (m *CustomHttpPattern) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Kind)
- if l > 0 {
- n += 1 + l + sovHttp(uint64(l))
- }
- l = len(m.Path)
- if l > 0 {
- n += 1 + l + sovHttp(uint64(l))
- }
- return n
-}
-
-func sovHttp(x uint64) (n int) {
- return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozHttp(x uint64) (n int) {
- return sovHttp(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (this *Http) String() string {
- if this == nil {
- return "nil"
- }
- repeatedStringForRules := "[]*HttpRule{"
- for _, f := range this.Rules {
- repeatedStringForRules += strings.Replace(f.String(), "HttpRule", "HttpRule", 1) + ","
- }
- repeatedStringForRules += "}"
- s := strings.Join([]string{`&Http{`,
- `Rules:` + repeatedStringForRules + `,`,
- `FullyDecodeReservedExpansion:` + fmt.Sprintf("%v", this.FullyDecodeReservedExpansion) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *HttpRule) String() string {
- if this == nil {
- return "nil"
- }
- repeatedStringForAdditionalBindings := "[]*HttpRule{"
- for _, f := range this.AdditionalBindings {
- repeatedStringForAdditionalBindings += strings.Replace(f.String(), "HttpRule", "HttpRule", 1) + ","
- }
- repeatedStringForAdditionalBindings += "}"
- s := strings.Join([]string{`&HttpRule{`,
- `Selector:` + fmt.Sprintf("%v", this.Selector) + `,`,
- `Pattern:` + fmt.Sprintf("%v", this.Pattern) + `,`,
- `Body:` + fmt.Sprintf("%v", this.Body) + `,`,
- `AdditionalBindings:` + repeatedStringForAdditionalBindings + `,`,
- `ResponseBody:` + fmt.Sprintf("%v", this.ResponseBody) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *HttpRule_Get) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&HttpRule_Get{`,
- `Get:` + fmt.Sprintf("%v", this.Get) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *HttpRule_Put) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&HttpRule_Put{`,
- `Put:` + fmt.Sprintf("%v", this.Put) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *HttpRule_Post) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&HttpRule_Post{`,
- `Post:` + fmt.Sprintf("%v", this.Post) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *HttpRule_Delete) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&HttpRule_Delete{`,
- `Delete:` + fmt.Sprintf("%v", this.Delete) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *HttpRule_Patch) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&HttpRule_Patch{`,
- `Patch:` + fmt.Sprintf("%v", this.Patch) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *HttpRule_Custom) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&HttpRule_Custom{`,
- `Custom:` + strings.Replace(fmt.Sprintf("%v", this.Custom), "CustomHttpPattern", "CustomHttpPattern", 1) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *CustomHttpPattern) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&CustomHttpPattern{`,
- `Kind:` + fmt.Sprintf("%v", this.Kind) + `,`,
- `Path:` + fmt.Sprintf("%v", this.Path) + `,`,
- `}`,
- }, "")
- return s
-}
-func valueToStringHttp(v interface{}) string {
- rv := reflect.ValueOf(v)
- if rv.IsNil() {
- return "nil"
- }
- pv := reflect.Indirect(rv).Interface()
- return fmt.Sprintf("*%v", pv)
-}
-func (m *Http) 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 ErrIntOverflowHttp
- }
- 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: Http: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Http: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- 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 ErrIntOverflowHttp
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthHttp
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthHttp
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Rules = append(m.Rules, &HttpRule{})
- if err := m.Rules[len(m.Rules)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field FullyDecodeReservedExpansion", wireType)
- }
- var v int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowHttp
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.FullyDecodeReservedExpansion = bool(v != 0)
- default:
- iNdEx = preIndex
- skippy, err := skipHttp(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if skippy < 0 {
- return ErrInvalidLengthHttp
- }
- if (iNdEx + skippy) < 0 {
- return ErrInvalidLengthHttp
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *HttpRule) 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 ErrIntOverflowHttp
- }
- 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: HttpRule: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: HttpRule: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Selector", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowHttp
- }
- 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 ErrInvalidLengthHttp
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthHttp
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Selector = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Get", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowHttp
- }
- 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 ErrInvalidLengthHttp
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthHttp
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Pattern = &HttpRule_Get{string(dAtA[iNdEx:postIndex])}
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Put", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowHttp
- }
- 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 ErrInvalidLengthHttp
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthHttp
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Pattern = &HttpRule_Put{string(dAtA[iNdEx:postIndex])}
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Post", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowHttp
- }
- 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 ErrInvalidLengthHttp
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthHttp
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Pattern = &HttpRule_Post{string(dAtA[iNdEx:postIndex])}
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Delete", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowHttp
- }
- 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 ErrInvalidLengthHttp
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthHttp
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Pattern = &HttpRule_Delete{string(dAtA[iNdEx:postIndex])}
- iNdEx = postIndex
- case 6:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Patch", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowHttp
- }
- 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 ErrInvalidLengthHttp
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthHttp
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Pattern = &HttpRule_Patch{string(dAtA[iNdEx:postIndex])}
- iNdEx = postIndex
- case 7:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Body", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowHttp
- }
- 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 ErrInvalidLengthHttp
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthHttp
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Body = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 8:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Custom", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowHttp
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthHttp
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthHttp
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- v := &CustomHttpPattern{}
- if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- m.Pattern = &HttpRule_Custom{v}
- iNdEx = postIndex
- case 11:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field AdditionalBindings", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowHttp
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthHttp
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthHttp
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.AdditionalBindings = append(m.AdditionalBindings, &HttpRule{})
- if err := m.AdditionalBindings[len(m.AdditionalBindings)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 12:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ResponseBody", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowHttp
- }
- 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 ErrInvalidLengthHttp
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthHttp
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.ResponseBody = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipHttp(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if skippy < 0 {
- return ErrInvalidLengthHttp
- }
- if (iNdEx + skippy) < 0 {
- return ErrInvalidLengthHttp
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *CustomHttpPattern) 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 ErrIntOverflowHttp
- }
- 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: CustomHttpPattern: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: CustomHttpPattern: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Kind", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowHttp
- }
- 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 ErrInvalidLengthHttp
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthHttp
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Kind = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Path", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowHttp
- }
- 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 ErrInvalidLengthHttp
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthHttp
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Path = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipHttp(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if skippy < 0 {
- return ErrInvalidLengthHttp
- }
- if (iNdEx + skippy) < 0 {
- return ErrInvalidLengthHttp
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func skipHttp(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, ErrIntOverflowHttp
- }
- 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, ErrIntOverflowHttp
- }
- 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, ErrIntOverflowHttp
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLengthHttp
- }
- iNdEx += length
- if iNdEx < 0 {
- return 0, ErrInvalidLengthHttp
- }
- return iNdEx, nil
- case 3:
- for {
- var innerWire uint64
- var start int = iNdEx
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowHttp
- }
- 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 := skipHttp(dAtA[start:])
- if err != nil {
- return 0, err
- }
- iNdEx = start + next
- if iNdEx < 0 {
- return 0, ErrInvalidLengthHttp
- }
- }
- 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 (
- ErrInvalidLengthHttp = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflowHttp = fmt.Errorf("proto: integer overflow")
-)
diff --git a/vendor/k8s.io/helm/internal/third_party/dep/fs/fs.go b/vendor/k8s.io/helm/internal/third_party/dep/fs/fs.go
new file mode 100644
index 000000000..832592197
--- /dev/null
+++ b/vendor/k8s.io/helm/internal/third_party/dep/fs/fs.go
@@ -0,0 +1,373 @@
+/*
+Copyright (c) for portions of fs.go are held by The Go Authors, 2016 and are provided under
+the BSD license.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+ * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+package fs
+
+import (
+ "io"
+ "io/ioutil"
+ "os"
+ "path/filepath"
+ "runtime"
+ "syscall"
+
+ "github.com/pkg/errors"
+)
+
+// fs contains a copy of a few functions from dep tool code to avoid a dependency on golang/dep.
+// This code is copied from https://github.com/golang/dep/blob/37d6c560cdf407be7b6cd035b23dba89df9275cf/internal/fs/fs.go
+// No changes to the code were made other than removing some unused functions
+
+// RenameWithFallback attempts to rename a file or directory, but falls back to
+// copying in the event of a cross-device link error. If the fallback copy
+// succeeds, src is still removed, emulating normal rename behavior.
+func RenameWithFallback(src, dst string) error {
+ _, err := os.Stat(src)
+ if err != nil {
+ return errors.Wrapf(err, "cannot stat %s", src)
+ }
+
+ err = os.Rename(src, dst)
+ if err == nil {
+ return nil
+ }
+
+ return renameFallback(err, src, dst)
+}
+
+// renameByCopy attempts to rename a file or directory by copying it to the
+// destination and then removing the src thus emulating the rename behavior.
+func renameByCopy(src, dst string) error {
+ var cerr error
+ if dir, _ := IsDir(src); dir {
+ cerr = CopyDir(src, dst)
+ if cerr != nil {
+ cerr = errors.Wrap(cerr, "copying directory failed")
+ }
+ } else {
+ cerr = copyFile(src, dst)
+ if cerr != nil {
+ cerr = errors.Wrap(cerr, "copying file failed")
+ }
+ }
+
+ if cerr != nil {
+ return errors.Wrapf(cerr, "rename fallback failed: cannot rename %s to %s", src, dst)
+ }
+
+ return errors.Wrapf(os.RemoveAll(src), "cannot delete %s", src)
+}
+
+var (
+ errSrcNotDir = errors.New("source is not a directory")
+ errDstExist = errors.New("destination already exists")
+)
+
+// CopyDir recursively copies a directory tree, attempting to preserve permissions.
+// Source directory must exist, destination directory must *not* exist.
+func CopyDir(src, dst string) error {
+ src = filepath.Clean(src)
+ dst = filepath.Clean(dst)
+
+ // We use os.Lstat() here to ensure we don't fall in a loop where a symlink
+ // actually links to a one of its parent directories.
+ fi, err := os.Lstat(src)
+ if err != nil {
+ return err
+ }
+ if !fi.IsDir() {
+ return errSrcNotDir
+ }
+
+ _, err = os.Stat(dst)
+ if err != nil && !os.IsNotExist(err) {
+ return err
+ }
+ if err == nil {
+ return errDstExist
+ }
+
+ if err = os.MkdirAll(dst, fi.Mode()); err != nil {
+ return errors.Wrapf(err, "cannot mkdir %s", dst)
+ }
+
+ entries, err := ioutil.ReadDir(src)
+ if err != nil {
+ return errors.Wrapf(err, "cannot read directory %s", dst)
+ }
+
+ for _, entry := range entries {
+ srcPath := filepath.Join(src, entry.Name())
+ dstPath := filepath.Join(dst, entry.Name())
+
+ if entry.IsDir() {
+ if err = CopyDir(srcPath, dstPath); err != nil {
+ return errors.Wrap(err, "copying directory failed")
+ }
+ } else {
+ // This will include symlinks, which is what we want when
+ // copying things.
+ if err = copyFile(srcPath, dstPath); err != nil {
+ return errors.Wrap(err, "copying file failed")
+ }
+ }
+ }
+
+ return nil
+}
+
+// copyFile copies the contents of the file named src to the file named
+// by dst. The file will be created if it does not already exist. If the
+// destination file exists, all its contents will be replaced by the contents
+// of the source file. The file mode will be copied from the source.
+func copyFile(src, dst string) (err error) {
+ if sym, err := IsSymlink(src); err != nil {
+ return errors.Wrap(err, "symlink check failed")
+ } else if sym {
+ if err := cloneSymlink(src, dst); err != nil {
+ if runtime.GOOS == "windows" {
+ // If cloning the symlink fails on Windows because the user
+ // does not have the required privileges, ignore the error and
+ // fall back to copying the file contents.
+ //
+ // ERROR_PRIVILEGE_NOT_HELD is 1314 (0x522):
+ // https://msdn.microsoft.com/en-us/library/windows/desktop/ms681385(v=vs.85).aspx
+ if lerr, ok := err.(*os.LinkError); ok && lerr.Err != syscall.Errno(1314) {
+ return err
+ }
+ } else {
+ return err
+ }
+ } else {
+ return nil
+ }
+ }
+
+ in, err := os.Open(src)
+ if err != nil {
+ return
+ }
+ defer in.Close()
+
+ out, err := os.Create(dst)
+ if err != nil {
+ return
+ }
+
+ if _, err = io.Copy(out, in); err != nil {
+ out.Close()
+ return
+ }
+
+ // Check for write errors on Close
+ if err = out.Close(); err != nil {
+ return
+ }
+
+ si, err := os.Stat(src)
+ if err != nil {
+ return
+ }
+
+ // Temporary fix for Go < 1.9
+ //
+ // See: https://github.com/golang/dep/issues/774
+ // and https://github.com/golang/go/issues/20829
+ if runtime.GOOS == "windows" {
+ dst = fixLongPath(dst)
+ }
+ err = os.Chmod(dst, si.Mode())
+
+ return
+}
+
+// cloneSymlink will create a new symlink that points to the resolved path of sl.
+// If sl is a relative symlink, dst will also be a relative symlink.
+func cloneSymlink(sl, dst string) error {
+ resolved, err := os.Readlink(sl)
+ if err != nil {
+ return err
+ }
+
+ return os.Symlink(resolved, dst)
+}
+
+// IsDir determines is the path given is a directory or not.
+func IsDir(name string) (bool, error) {
+ fi, err := os.Stat(name)
+ if err != nil {
+ return false, err
+ }
+ if !fi.IsDir() {
+ return false, errors.Errorf("%q is not a directory", name)
+ }
+ return true, nil
+}
+
+// IsSymlink determines if the given path is a symbolic link.
+func IsSymlink(path string) (bool, error) {
+ l, err := os.Lstat(path)
+ if err != nil {
+ return false, err
+ }
+
+ return l.Mode()&os.ModeSymlink == os.ModeSymlink, nil
+}
+
+// fixLongPath returns the extended-length (\\?\-prefixed) form of
+// path when needed, in order to avoid the default 260 character file
+// path limit imposed by Windows. If path is not easily converted to
+// the extended-length form (for example, if path is a relative path
+// or contains .. elements), or is short enough, fixLongPath returns
+// path unmodified.
+//
+// See https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx#maxpath
+func fixLongPath(path string) string {
+ // Do nothing (and don't allocate) if the path is "short".
+ // Empirically (at least on the Windows Server 2013 builder),
+ // the kernel is arbitrarily okay with < 248 bytes. That
+ // matches what the docs above say:
+ // "When using an API to create a directory, the specified
+ // path cannot be so long that you cannot append an 8.3 file
+ // name (that is, the directory name cannot exceed MAX_PATH
+ // minus 12)." Since MAX_PATH is 260, 260 - 12 = 248.
+ //
+ // The MSDN docs appear to say that a normal path that is 248 bytes long
+ // will work; empirically the path must be less then 248 bytes long.
+ if len(path) < 248 {
+ // Don't fix. (This is how Go 1.7 and earlier worked,
+ // not automatically generating the \\?\ form)
+ return path
+ }
+
+ // The extended form begins with \\?\, as in
+ // \\?\c:\windows\foo.txt or \\?\UNC\server\share\foo.txt.
+ // The extended form disables evaluation of . and .. path
+ // elements and disables the interpretation of / as equivalent
+ // to \. The conversion here rewrites / to \ and elides
+ // . elements as well as trailing or duplicate separators. For
+ // simplicity it avoids the conversion entirely for relative
+ // paths or paths containing .. elements. For now,
+ // \\server\share paths are not converted to
+ // \\?\UNC\server\share paths because the rules for doing so
+ // are less well-specified.
+ if len(path) >= 2 && path[:2] == `\\` {
+ // Don't canonicalize UNC paths.
+ return path
+ }
+ if !isAbs(path) {
+ // Relative path
+ return path
+ }
+
+ const prefix = `\\?`
+
+ pathbuf := make([]byte, len(prefix)+len(path)+len(`\`))
+ copy(pathbuf, prefix)
+ n := len(path)
+ r, w := 0, len(prefix)
+ for r < n {
+ switch {
+ case os.IsPathSeparator(path[r]):
+ // empty block
+ r++
+ case path[r] == '.' && (r+1 == n || os.IsPathSeparator(path[r+1])):
+ // /./
+ r++
+ case r+1 < n && path[r] == '.' && path[r+1] == '.' && (r+2 == n || os.IsPathSeparator(path[r+2])):
+ // /../ is currently unhandled
+ return path
+ default:
+ pathbuf[w] = '\\'
+ w++
+ for ; r < n && !os.IsPathSeparator(path[r]); r++ {
+ pathbuf[w] = path[r]
+ w++
+ }
+ }
+ }
+ // A drive's root directory needs a trailing \
+ if w == len(`\\?\c:`) {
+ pathbuf[w] = '\\'
+ w++
+ }
+ return string(pathbuf[:w])
+}
+
+func isAbs(path string) (b bool) {
+ v := volumeName(path)
+ if v == "" {
+ return false
+ }
+ path = path[len(v):]
+ if path == "" {
+ return false
+ }
+ return os.IsPathSeparator(path[0])
+}
+
+func volumeName(path string) (v string) {
+ if len(path) < 2 {
+ return ""
+ }
+ // with drive letter
+ c := path[0]
+ if path[1] == ':' &&
+ ('0' <= c && c <= '9' || 'a' <= c && c <= 'z' ||
+ 'A' <= c && c <= 'Z') {
+ return path[:2]
+ }
+ // is it UNC
+ if l := len(path); l >= 5 && os.IsPathSeparator(path[0]) && os.IsPathSeparator(path[1]) &&
+ !os.IsPathSeparator(path[2]) && path[2] != '.' {
+ // first, leading `\\` and next shouldn't be `\`. its server name.
+ for n := 3; n < l-1; n++ {
+ // second, next '\' shouldn't be repeated.
+ if os.IsPathSeparator(path[n]) {
+ n++
+ // third, following something characters. its share name.
+ if !os.IsPathSeparator(path[n]) {
+ if path[n] == '.' {
+ break
+ }
+ for ; n < l; n++ {
+ if os.IsPathSeparator(path[n]) {
+ break
+ }
+ }
+ return path[:n]
+ }
+ break
+ }
+ }
+ }
+ return ""
+}
diff --git a/vendor/k8s.io/helm/internal/third_party/dep/fs/rename.go b/vendor/k8s.io/helm/internal/third_party/dep/fs/rename.go
new file mode 100644
index 000000000..0bb600949
--- /dev/null
+++ b/vendor/k8s.io/helm/internal/third_party/dep/fs/rename.go
@@ -0,0 +1,58 @@
+// +build !windows
+
+/*
+Copyright (c) for portions of rename.go are held by The Go Authors, 2016 and are provided under
+the BSD license.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+ * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+package fs
+
+import (
+ "os"
+ "syscall"
+
+ "github.com/pkg/errors"
+)
+
+// renameFallback attempts to determine the appropriate fallback to failed rename
+// operation depending on the resulting error.
+func renameFallback(err error, src, dst string) error {
+ // Rename may fail if src and dst are on different devices; fall back to
+ // copy if we detect that case. syscall.EXDEV is the common name for the
+ // cross device link error which has varying output text across different
+ // operating systems.
+ terr, ok := err.(*os.LinkError)
+ if !ok {
+ return err
+ } else if terr.Err != syscall.EXDEV {
+ return errors.Wrapf(terr, "link error: cannot rename %s to %s", src, dst)
+ }
+
+ return renameByCopy(src, dst)
+}
diff --git a/vendor/k8s.io/helm/internal/third_party/dep/fs/rename_windows.go b/vendor/k8s.io/helm/internal/third_party/dep/fs/rename_windows.go
new file mode 100644
index 000000000..14f017d09
--- /dev/null
+++ b/vendor/k8s.io/helm/internal/third_party/dep/fs/rename_windows.go
@@ -0,0 +1,69 @@
+// +build windows
+
+/*
+Copyright (c) for portions of rename_windows.go are held by The Go Authors, 2016 and are provided under
+the BSD license.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+ * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+package fs
+
+import (
+ "os"
+ "syscall"
+
+ "github.com/pkg/errors"
+)
+
+// renameFallback attempts to determine the appropriate fallback to failed rename
+// operation depending on the resulting error.
+func renameFallback(err error, src, dst string) error {
+ // Rename may fail if src and dst are on different devices; fall back to
+ // copy if we detect that case. syscall.EXDEV is the common name for the
+ // cross device link error which has varying output text across different
+ // operating systems.
+ terr, ok := err.(*os.LinkError)
+ if !ok {
+ return err
+ }
+
+ if terr.Err != syscall.EXDEV {
+ // In windows it can drop down to an operating system call that
+ // returns an operating system error with a different number and
+ // message. Checking for that as a fall back.
+ noerr, ok := terr.Err.(syscall.Errno)
+
+ // 0x11 (ERROR_NOT_SAME_DEVICE) is the windows error.
+ // See https://msdn.microsoft.com/en-us/library/cc231199.aspx
+ if ok && noerr != 0x11 {
+ return errors.Wrapf(terr, "link error: cannot rename %s to %s", src, dst)
+ }
+ }
+
+ return renameByCopy(src, dst)
+}
diff --git a/vendor/k8s.io/helm/pkg/chartutil/capabilities.go b/vendor/k8s.io/helm/pkg/chartutil/capabilities.go
index b4533e417..a6808c702 100644
--- a/vendor/k8s.io/helm/pkg/chartutil/capabilities.go
+++ b/vendor/k8s.io/helm/pkg/chartutil/capabilities.go
@@ -12,6 +12,7 @@ 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.
*/
+//go:generate go run generator/capabilities_default_versions_generate.go
package chartutil
@@ -24,14 +25,15 @@ import (
)
var (
- // DefaultVersionSet is the default version set, which includes only Core V1 ("v1").
- DefaultVersionSet = NewVersionSet("v1")
+ // DefaultVersionSet is the default version set in included in Kubernetes for workloads
+ // Default versions as of Kubernetes 1.14
+ DefaultVersionSet = NewVersionSet(defaultVersions()...)
// DefaultKubeVersion is the default kubernetes version
DefaultKubeVersion = &version.Info{
Major: "1",
- Minor: "9",
- GitVersion: "v1.9.0",
+ Minor: "14",
+ GitVersion: "v1.14.0",
GoVersion: runtime.Version(),
Compiler: runtime.Compiler,
Platform: fmt.Sprintf("%s/%s", runtime.GOOS, runtime.GOARCH),
diff --git a/vendor/k8s.io/helm/pkg/chartutil/capabilities_versions_generated.go b/vendor/k8s.io/helm/pkg/chartutil/capabilities_versions_generated.go
new file mode 100644
index 000000000..370ad216c
--- /dev/null
+++ b/vendor/k8s.io/helm/pkg/chartutil/capabilities_versions_generated.go
@@ -0,0 +1,576 @@
+/*
+Copyright The Helm 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 capabilities_default_versions_generate.go; DO NOT EDIT.
+
+package chartutil
+
+func defaultVersions() []string {
+ return []string{
+ "__internal",
+ "__internal/WatchEvent",
+ "admissionregistration.k8s.io/__internal",
+ "admissionregistration.k8s.io/__internal/WatchEvent",
+ "admissionregistration.k8s.io/v1beta1",
+ "admissionregistration.k8s.io/v1beta1/CreateOptions",
+ "admissionregistration.k8s.io/v1beta1/DeleteOptions",
+ "admissionregistration.k8s.io/v1beta1/ExportOptions",
+ "admissionregistration.k8s.io/v1beta1/GetOptions",
+ "admissionregistration.k8s.io/v1beta1/ListOptions",
+ "admissionregistration.k8s.io/v1beta1/MutatingWebhookConfiguration",
+ "admissionregistration.k8s.io/v1beta1/MutatingWebhookConfigurationList",
+ "admissionregistration.k8s.io/v1beta1/PatchOptions",
+ "admissionregistration.k8s.io/v1beta1/UpdateOptions",
+ "admissionregistration.k8s.io/v1beta1/ValidatingWebhookConfiguration",
+ "admissionregistration.k8s.io/v1beta1/ValidatingWebhookConfigurationList",
+ "admissionregistration.k8s.io/v1beta1/WatchEvent",
+ "apps/__internal",
+ "apps/__internal/WatchEvent",
+ "apps/v1",
+ "apps/v1/ControllerRevision",
+ "apps/v1/ControllerRevisionList",
+ "apps/v1/CreateOptions",
+ "apps/v1/DaemonSet",
+ "apps/v1/DaemonSetList",
+ "apps/v1/DeleteOptions",
+ "apps/v1/Deployment",
+ "apps/v1/DeploymentList",
+ "apps/v1/ExportOptions",
+ "apps/v1/GetOptions",
+ "apps/v1/ListOptions",
+ "apps/v1/PatchOptions",
+ "apps/v1/ReplicaSet",
+ "apps/v1/ReplicaSetList",
+ "apps/v1/StatefulSet",
+ "apps/v1/StatefulSetList",
+ "apps/v1/UpdateOptions",
+ "apps/v1/WatchEvent",
+ "apps/v1beta1",
+ "apps/v1beta1/ControllerRevision",
+ "apps/v1beta1/ControllerRevisionList",
+ "apps/v1beta1/CreateOptions",
+ "apps/v1beta1/DeleteOptions",
+ "apps/v1beta1/Deployment",
+ "apps/v1beta1/DeploymentList",
+ "apps/v1beta1/DeploymentRollback",
+ "apps/v1beta1/ExportOptions",
+ "apps/v1beta1/GetOptions",
+ "apps/v1beta1/ListOptions",
+ "apps/v1beta1/PatchOptions",
+ "apps/v1beta1/Scale",
+ "apps/v1beta1/StatefulSet",
+ "apps/v1beta1/StatefulSetList",
+ "apps/v1beta1/UpdateOptions",
+ "apps/v1beta1/WatchEvent",
+ "apps/v1beta2",
+ "apps/v1beta2/ControllerRevision",
+ "apps/v1beta2/ControllerRevisionList",
+ "apps/v1beta2/CreateOptions",
+ "apps/v1beta2/DaemonSet",
+ "apps/v1beta2/DaemonSetList",
+ "apps/v1beta2/DeleteOptions",
+ "apps/v1beta2/Deployment",
+ "apps/v1beta2/DeploymentList",
+ "apps/v1beta2/ExportOptions",
+ "apps/v1beta2/GetOptions",
+ "apps/v1beta2/ListOptions",
+ "apps/v1beta2/PatchOptions",
+ "apps/v1beta2/ReplicaSet",
+ "apps/v1beta2/ReplicaSetList",
+ "apps/v1beta2/Scale",
+ "apps/v1beta2/StatefulSet",
+ "apps/v1beta2/StatefulSetList",
+ "apps/v1beta2/UpdateOptions",
+ "apps/v1beta2/WatchEvent",
+ "auditregistration.k8s.io/__internal",
+ "auditregistration.k8s.io/__internal/WatchEvent",
+ "auditregistration.k8s.io/v1alpha1",
+ "auditregistration.k8s.io/v1alpha1/AuditSink",
+ "auditregistration.k8s.io/v1alpha1/AuditSinkList",
+ "auditregistration.k8s.io/v1alpha1/CreateOptions",
+ "auditregistration.k8s.io/v1alpha1/DeleteOptions",
+ "auditregistration.k8s.io/v1alpha1/ExportOptions",
+ "auditregistration.k8s.io/v1alpha1/GetOptions",
+ "auditregistration.k8s.io/v1alpha1/ListOptions",
+ "auditregistration.k8s.io/v1alpha1/PatchOptions",
+ "auditregistration.k8s.io/v1alpha1/UpdateOptions",
+ "auditregistration.k8s.io/v1alpha1/WatchEvent",
+ "authentication.k8s.io/__internal",
+ "authentication.k8s.io/__internal/WatchEvent",
+ "authentication.k8s.io/v1",
+ "authentication.k8s.io/v1/CreateOptions",
+ "authentication.k8s.io/v1/DeleteOptions",
+ "authentication.k8s.io/v1/ExportOptions",
+ "authentication.k8s.io/v1/GetOptions",
+ "authentication.k8s.io/v1/ListOptions",
+ "authentication.k8s.io/v1/PatchOptions",
+ "authentication.k8s.io/v1/TokenRequest",
+ "authentication.k8s.io/v1/TokenReview",
+ "authentication.k8s.io/v1/UpdateOptions",
+ "authentication.k8s.io/v1/WatchEvent",
+ "authentication.k8s.io/v1beta1",
+ "authentication.k8s.io/v1beta1/CreateOptions",
+ "authentication.k8s.io/v1beta1/DeleteOptions",
+ "authentication.k8s.io/v1beta1/ExportOptions",
+ "authentication.k8s.io/v1beta1/GetOptions",
+ "authentication.k8s.io/v1beta1/ListOptions",
+ "authentication.k8s.io/v1beta1/PatchOptions",
+ "authentication.k8s.io/v1beta1/TokenReview",
+ "authentication.k8s.io/v1beta1/UpdateOptions",
+ "authentication.k8s.io/v1beta1/WatchEvent",
+ "authorization.k8s.io/__internal",
+ "authorization.k8s.io/__internal/WatchEvent",
+ "authorization.k8s.io/v1",
+ "authorization.k8s.io/v1/CreateOptions",
+ "authorization.k8s.io/v1/DeleteOptions",
+ "authorization.k8s.io/v1/ExportOptions",
+ "authorization.k8s.io/v1/GetOptions",
+ "authorization.k8s.io/v1/ListOptions",
+ "authorization.k8s.io/v1/LocalSubjectAccessReview",
+ "authorization.k8s.io/v1/PatchOptions",
+ "authorization.k8s.io/v1/SelfSubjectAccessReview",
+ "authorization.k8s.io/v1/SelfSubjectRulesReview",
+ "authorization.k8s.io/v1/SubjectAccessReview",
+ "authorization.k8s.io/v1/UpdateOptions",
+ "authorization.k8s.io/v1/WatchEvent",
+ "authorization.k8s.io/v1beta1",
+ "authorization.k8s.io/v1beta1/CreateOptions",
+ "authorization.k8s.io/v1beta1/DeleteOptions",
+ "authorization.k8s.io/v1beta1/ExportOptions",
+ "authorization.k8s.io/v1beta1/GetOptions",
+ "authorization.k8s.io/v1beta1/ListOptions",
+ "authorization.k8s.io/v1beta1/LocalSubjectAccessReview",
+ "authorization.k8s.io/v1beta1/PatchOptions",
+ "authorization.k8s.io/v1beta1/SelfSubjectAccessReview",
+ "authorization.k8s.io/v1beta1/SelfSubjectRulesReview",
+ "authorization.k8s.io/v1beta1/SubjectAccessReview",
+ "authorization.k8s.io/v1beta1/UpdateOptions",
+ "authorization.k8s.io/v1beta1/WatchEvent",
+ "autoscaling/__internal",
+ "autoscaling/__internal/WatchEvent",
+ "autoscaling/v1",
+ "autoscaling/v1/CreateOptions",
+ "autoscaling/v1/DeleteOptions",
+ "autoscaling/v1/ExportOptions",
+ "autoscaling/v1/GetOptions",
+ "autoscaling/v1/HorizontalPodAutoscaler",
+ "autoscaling/v1/HorizontalPodAutoscalerList",
+ "autoscaling/v1/ListOptions",
+ "autoscaling/v1/PatchOptions",
+ "autoscaling/v1/Scale",
+ "autoscaling/v1/UpdateOptions",
+ "autoscaling/v1/WatchEvent",
+ "autoscaling/v2beta1",
+ "autoscaling/v2beta1/CreateOptions",
+ "autoscaling/v2beta1/DeleteOptions",
+ "autoscaling/v2beta1/ExportOptions",
+ "autoscaling/v2beta1/GetOptions",
+ "autoscaling/v2beta1/HorizontalPodAutoscaler",
+ "autoscaling/v2beta1/HorizontalPodAutoscalerList",
+ "autoscaling/v2beta1/ListOptions",
+ "autoscaling/v2beta1/PatchOptions",
+ "autoscaling/v2beta1/UpdateOptions",
+ "autoscaling/v2beta1/WatchEvent",
+ "autoscaling/v2beta2",
+ "autoscaling/v2beta2/CreateOptions",
+ "autoscaling/v2beta2/DeleteOptions",
+ "autoscaling/v2beta2/ExportOptions",
+ "autoscaling/v2beta2/GetOptions",
+ "autoscaling/v2beta2/HorizontalPodAutoscaler",
+ "autoscaling/v2beta2/HorizontalPodAutoscalerList",
+ "autoscaling/v2beta2/ListOptions",
+ "autoscaling/v2beta2/PatchOptions",
+ "autoscaling/v2beta2/UpdateOptions",
+ "autoscaling/v2beta2/WatchEvent",
+ "batch/__internal",
+ "batch/__internal/WatchEvent",
+ "batch/v1",
+ "batch/v1/CreateOptions",
+ "batch/v1/DeleteOptions",
+ "batch/v1/ExportOptions",
+ "batch/v1/GetOptions",
+ "batch/v1/Job",
+ "batch/v1/JobList",
+ "batch/v1/ListOptions",
+ "batch/v1/PatchOptions",
+ "batch/v1/UpdateOptions",
+ "batch/v1/WatchEvent",
+ "batch/v1beta1",
+ "batch/v1beta1/CreateOptions",
+ "batch/v1beta1/CronJob",
+ "batch/v1beta1/CronJobList",
+ "batch/v1beta1/DeleteOptions",
+ "batch/v1beta1/ExportOptions",
+ "batch/v1beta1/GetOptions",
+ "batch/v1beta1/JobTemplate",
+ "batch/v1beta1/ListOptions",
+ "batch/v1beta1/PatchOptions",
+ "batch/v1beta1/UpdateOptions",
+ "batch/v1beta1/WatchEvent",
+ "batch/v2alpha1",
+ "batch/v2alpha1/CreateOptions",
+ "batch/v2alpha1/CronJob",
+ "batch/v2alpha1/CronJobList",
+ "batch/v2alpha1/DeleteOptions",
+ "batch/v2alpha1/ExportOptions",
+ "batch/v2alpha1/GetOptions",
+ "batch/v2alpha1/JobTemplate",
+ "batch/v2alpha1/ListOptions",
+ "batch/v2alpha1/PatchOptions",
+ "batch/v2alpha1/UpdateOptions",
+ "batch/v2alpha1/WatchEvent",
+ "certificates.k8s.io/__internal",
+ "certificates.k8s.io/__internal/WatchEvent",
+ "certificates.k8s.io/v1beta1",
+ "certificates.k8s.io/v1beta1/CertificateSigningRequest",
+ "certificates.k8s.io/v1beta1/CertificateSigningRequestList",
+ "certificates.k8s.io/v1beta1/CreateOptions",
+ "certificates.k8s.io/v1beta1/DeleteOptions",
+ "certificates.k8s.io/v1beta1/ExportOptions",
+ "certificates.k8s.io/v1beta1/GetOptions",
+ "certificates.k8s.io/v1beta1/ListOptions",
+ "certificates.k8s.io/v1beta1/PatchOptions",
+ "certificates.k8s.io/v1beta1/UpdateOptions",
+ "certificates.k8s.io/v1beta1/WatchEvent",
+ "coordination.k8s.io/__internal",
+ "coordination.k8s.io/__internal/WatchEvent",
+ "coordination.k8s.io/v1",
+ "coordination.k8s.io/v1/CreateOptions",
+ "coordination.k8s.io/v1/DeleteOptions",
+ "coordination.k8s.io/v1/ExportOptions",
+ "coordination.k8s.io/v1/GetOptions",
+ "coordination.k8s.io/v1/Lease",
+ "coordination.k8s.io/v1/LeaseList",
+ "coordination.k8s.io/v1/ListOptions",
+ "coordination.k8s.io/v1/PatchOptions",
+ "coordination.k8s.io/v1/UpdateOptions",
+ "coordination.k8s.io/v1/WatchEvent",
+ "coordination.k8s.io/v1beta1",
+ "coordination.k8s.io/v1beta1/CreateOptions",
+ "coordination.k8s.io/v1beta1/DeleteOptions",
+ "coordination.k8s.io/v1beta1/ExportOptions",
+ "coordination.k8s.io/v1beta1/GetOptions",
+ "coordination.k8s.io/v1beta1/Lease",
+ "coordination.k8s.io/v1beta1/LeaseList",
+ "coordination.k8s.io/v1beta1/ListOptions",
+ "coordination.k8s.io/v1beta1/PatchOptions",
+ "coordination.k8s.io/v1beta1/UpdateOptions",
+ "coordination.k8s.io/v1beta1/WatchEvent",
+ "events.k8s.io/__internal",
+ "events.k8s.io/__internal/WatchEvent",
+ "events.k8s.io/v1beta1",
+ "events.k8s.io/v1beta1/CreateOptions",
+ "events.k8s.io/v1beta1/DeleteOptions",
+ "events.k8s.io/v1beta1/Event",
+ "events.k8s.io/v1beta1/EventList",
+ "events.k8s.io/v1beta1/ExportOptions",
+ "events.k8s.io/v1beta1/GetOptions",
+ "events.k8s.io/v1beta1/ListOptions",
+ "events.k8s.io/v1beta1/PatchOptions",
+ "events.k8s.io/v1beta1/UpdateOptions",
+ "events.k8s.io/v1beta1/WatchEvent",
+ "extensions/__internal",
+ "extensions/__internal/WatchEvent",
+ "extensions/v1beta1",
+ "extensions/v1beta1/CreateOptions",
+ "extensions/v1beta1/DaemonSet",
+ "extensions/v1beta1/DaemonSetList",
+ "extensions/v1beta1/DeleteOptions",
+ "extensions/v1beta1/Deployment",
+ "extensions/v1beta1/DeploymentList",
+ "extensions/v1beta1/DeploymentRollback",
+ "extensions/v1beta1/ExportOptions",
+ "extensions/v1beta1/GetOptions",
+ "extensions/v1beta1/Ingress",
+ "extensions/v1beta1/IngressList",
+ "extensions/v1beta1/ListOptions",
+ "extensions/v1beta1/NetworkPolicy",
+ "extensions/v1beta1/NetworkPolicyList",
+ "extensions/v1beta1/PatchOptions",
+ "extensions/v1beta1/PodSecurityPolicy",
+ "extensions/v1beta1/PodSecurityPolicyList",
+ "extensions/v1beta1/ReplicaSet",
+ "extensions/v1beta1/ReplicaSetList",
+ "extensions/v1beta1/ReplicationControllerDummy",
+ "extensions/v1beta1/Scale",
+ "extensions/v1beta1/UpdateOptions",
+ "extensions/v1beta1/WatchEvent",
+ "networking.k8s.io/__internal",
+ "networking.k8s.io/__internal/WatchEvent",
+ "networking.k8s.io/v1",
+ "networking.k8s.io/v1/CreateOptions",
+ "networking.k8s.io/v1/DeleteOptions",
+ "networking.k8s.io/v1/ExportOptions",
+ "networking.k8s.io/v1/GetOptions",
+ "networking.k8s.io/v1/ListOptions",
+ "networking.k8s.io/v1/NetworkPolicy",
+ "networking.k8s.io/v1/NetworkPolicyList",
+ "networking.k8s.io/v1/PatchOptions",
+ "networking.k8s.io/v1/UpdateOptions",
+ "networking.k8s.io/v1/WatchEvent",
+ "networking.k8s.io/v1beta1",
+ "networking.k8s.io/v1beta1/CreateOptions",
+ "networking.k8s.io/v1beta1/DeleteOptions",
+ "networking.k8s.io/v1beta1/ExportOptions",
+ "networking.k8s.io/v1beta1/GetOptions",
+ "networking.k8s.io/v1beta1/Ingress",
+ "networking.k8s.io/v1beta1/IngressList",
+ "networking.k8s.io/v1beta1/ListOptions",
+ "networking.k8s.io/v1beta1/PatchOptions",
+ "networking.k8s.io/v1beta1/UpdateOptions",
+ "networking.k8s.io/v1beta1/WatchEvent",
+ "node.k8s.io/__internal",
+ "node.k8s.io/__internal/WatchEvent",
+ "node.k8s.io/v1alpha1",
+ "node.k8s.io/v1alpha1/CreateOptions",
+ "node.k8s.io/v1alpha1/DeleteOptions",
+ "node.k8s.io/v1alpha1/ExportOptions",
+ "node.k8s.io/v1alpha1/GetOptions",
+ "node.k8s.io/v1alpha1/ListOptions",
+ "node.k8s.io/v1alpha1/PatchOptions",
+ "node.k8s.io/v1alpha1/RuntimeClass",
+ "node.k8s.io/v1alpha1/RuntimeClassList",
+ "node.k8s.io/v1alpha1/UpdateOptions",
+ "node.k8s.io/v1alpha1/WatchEvent",
+ "node.k8s.io/v1beta1",
+ "node.k8s.io/v1beta1/CreateOptions",
+ "node.k8s.io/v1beta1/DeleteOptions",
+ "node.k8s.io/v1beta1/ExportOptions",
+ "node.k8s.io/v1beta1/GetOptions",
+ "node.k8s.io/v1beta1/ListOptions",
+ "node.k8s.io/v1beta1/PatchOptions",
+ "node.k8s.io/v1beta1/RuntimeClass",
+ "node.k8s.io/v1beta1/RuntimeClassList",
+ "node.k8s.io/v1beta1/UpdateOptions",
+ "node.k8s.io/v1beta1/WatchEvent",
+ "policy/__internal",
+ "policy/__internal/WatchEvent",
+ "policy/v1beta1",
+ "policy/v1beta1/CreateOptions",
+ "policy/v1beta1/DeleteOptions",
+ "policy/v1beta1/Eviction",
+ "policy/v1beta1/ExportOptions",
+ "policy/v1beta1/GetOptions",
+ "policy/v1beta1/ListOptions",
+ "policy/v1beta1/PatchOptions",
+ "policy/v1beta1/PodDisruptionBudget",
+ "policy/v1beta1/PodDisruptionBudgetList",
+ "policy/v1beta1/PodSecurityPolicy",
+ "policy/v1beta1/PodSecurityPolicyList",
+ "policy/v1beta1/UpdateOptions",
+ "policy/v1beta1/WatchEvent",
+ "rbac.authorization.k8s.io/__internal",
+ "rbac.authorization.k8s.io/__internal/WatchEvent",
+ "rbac.authorization.k8s.io/v1",
+ "rbac.authorization.k8s.io/v1/ClusterRole",
+ "rbac.authorization.k8s.io/v1/ClusterRoleBinding",
+ "rbac.authorization.k8s.io/v1/ClusterRoleBindingList",
+ "rbac.authorization.k8s.io/v1/ClusterRoleList",
+ "rbac.authorization.k8s.io/v1/CreateOptions",
+ "rbac.authorization.k8s.io/v1/DeleteOptions",
+ "rbac.authorization.k8s.io/v1/ExportOptions",
+ "rbac.authorization.k8s.io/v1/GetOptions",
+ "rbac.authorization.k8s.io/v1/ListOptions",
+ "rbac.authorization.k8s.io/v1/PatchOptions",
+ "rbac.authorization.k8s.io/v1/Role",
+ "rbac.authorization.k8s.io/v1/RoleBinding",
+ "rbac.authorization.k8s.io/v1/RoleBindingList",
+ "rbac.authorization.k8s.io/v1/RoleList",
+ "rbac.authorization.k8s.io/v1/UpdateOptions",
+ "rbac.authorization.k8s.io/v1/WatchEvent",
+ "rbac.authorization.k8s.io/v1alpha1",
+ "rbac.authorization.k8s.io/v1alpha1/ClusterRole",
+ "rbac.authorization.k8s.io/v1alpha1/ClusterRoleBinding",
+ "rbac.authorization.k8s.io/v1alpha1/ClusterRoleBindingList",
+ "rbac.authorization.k8s.io/v1alpha1/ClusterRoleList",
+ "rbac.authorization.k8s.io/v1alpha1/CreateOptions",
+ "rbac.authorization.k8s.io/v1alpha1/DeleteOptions",
+ "rbac.authorization.k8s.io/v1alpha1/ExportOptions",
+ "rbac.authorization.k8s.io/v1alpha1/GetOptions",
+ "rbac.authorization.k8s.io/v1alpha1/ListOptions",
+ "rbac.authorization.k8s.io/v1alpha1/PatchOptions",
+ "rbac.authorization.k8s.io/v1alpha1/Role",
+ "rbac.authorization.k8s.io/v1alpha1/RoleBinding",
+ "rbac.authorization.k8s.io/v1alpha1/RoleBindingList",
+ "rbac.authorization.k8s.io/v1alpha1/RoleList",
+ "rbac.authorization.k8s.io/v1alpha1/UpdateOptions",
+ "rbac.authorization.k8s.io/v1alpha1/WatchEvent",
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1beta1/ClusterRole",
+ "rbac.authorization.k8s.io/v1beta1/ClusterRoleBinding",
+ "rbac.authorization.k8s.io/v1beta1/ClusterRoleBindingList",
+ "rbac.authorization.k8s.io/v1beta1/ClusterRoleList",
+ "rbac.authorization.k8s.io/v1beta1/CreateOptions",
+ "rbac.authorization.k8s.io/v1beta1/DeleteOptions",
+ "rbac.authorization.k8s.io/v1beta1/ExportOptions",
+ "rbac.authorization.k8s.io/v1beta1/GetOptions",
+ "rbac.authorization.k8s.io/v1beta1/ListOptions",
+ "rbac.authorization.k8s.io/v1beta1/PatchOptions",
+ "rbac.authorization.k8s.io/v1beta1/Role",
+ "rbac.authorization.k8s.io/v1beta1/RoleBinding",
+ "rbac.authorization.k8s.io/v1beta1/RoleBindingList",
+ "rbac.authorization.k8s.io/v1beta1/RoleList",
+ "rbac.authorization.k8s.io/v1beta1/UpdateOptions",
+ "rbac.authorization.k8s.io/v1beta1/WatchEvent",
+ "scheduling.k8s.io/__internal",
+ "scheduling.k8s.io/__internal/WatchEvent",
+ "scheduling.k8s.io/v1",
+ "scheduling.k8s.io/v1/CreateOptions",
+ "scheduling.k8s.io/v1/DeleteOptions",
+ "scheduling.k8s.io/v1/ExportOptions",
+ "scheduling.k8s.io/v1/GetOptions",
+ "scheduling.k8s.io/v1/ListOptions",
+ "scheduling.k8s.io/v1/PatchOptions",
+ "scheduling.k8s.io/v1/PriorityClass",
+ "scheduling.k8s.io/v1/PriorityClassList",
+ "scheduling.k8s.io/v1/UpdateOptions",
+ "scheduling.k8s.io/v1/WatchEvent",
+ "scheduling.k8s.io/v1alpha1",
+ "scheduling.k8s.io/v1alpha1/CreateOptions",
+ "scheduling.k8s.io/v1alpha1/DeleteOptions",
+ "scheduling.k8s.io/v1alpha1/ExportOptions",
+ "scheduling.k8s.io/v1alpha1/GetOptions",
+ "scheduling.k8s.io/v1alpha1/ListOptions",
+ "scheduling.k8s.io/v1alpha1/PatchOptions",
+ "scheduling.k8s.io/v1alpha1/PriorityClass",
+ "scheduling.k8s.io/v1alpha1/PriorityClassList",
+ "scheduling.k8s.io/v1alpha1/UpdateOptions",
+ "scheduling.k8s.io/v1alpha1/WatchEvent",
+ "scheduling.k8s.io/v1beta1",
+ "scheduling.k8s.io/v1beta1/CreateOptions",
+ "scheduling.k8s.io/v1beta1/DeleteOptions",
+ "scheduling.k8s.io/v1beta1/ExportOptions",
+ "scheduling.k8s.io/v1beta1/GetOptions",
+ "scheduling.k8s.io/v1beta1/ListOptions",
+ "scheduling.k8s.io/v1beta1/PatchOptions",
+ "scheduling.k8s.io/v1beta1/PriorityClass",
+ "scheduling.k8s.io/v1beta1/PriorityClassList",
+ "scheduling.k8s.io/v1beta1/UpdateOptions",
+ "scheduling.k8s.io/v1beta1/WatchEvent",
+ "settings.k8s.io/__internal",
+ "settings.k8s.io/__internal/WatchEvent",
+ "settings.k8s.io/v1alpha1",
+ "settings.k8s.io/v1alpha1/CreateOptions",
+ "settings.k8s.io/v1alpha1/DeleteOptions",
+ "settings.k8s.io/v1alpha1/ExportOptions",
+ "settings.k8s.io/v1alpha1/GetOptions",
+ "settings.k8s.io/v1alpha1/ListOptions",
+ "settings.k8s.io/v1alpha1/PatchOptions",
+ "settings.k8s.io/v1alpha1/PodPreset",
+ "settings.k8s.io/v1alpha1/PodPresetList",
+ "settings.k8s.io/v1alpha1/UpdateOptions",
+ "settings.k8s.io/v1alpha1/WatchEvent",
+ "storage.k8s.io/__internal",
+ "storage.k8s.io/__internal/WatchEvent",
+ "storage.k8s.io/v1",
+ "storage.k8s.io/v1/CreateOptions",
+ "storage.k8s.io/v1/DeleteOptions",
+ "storage.k8s.io/v1/ExportOptions",
+ "storage.k8s.io/v1/GetOptions",
+ "storage.k8s.io/v1/ListOptions",
+ "storage.k8s.io/v1/PatchOptions",
+ "storage.k8s.io/v1/StorageClass",
+ "storage.k8s.io/v1/StorageClassList",
+ "storage.k8s.io/v1/UpdateOptions",
+ "storage.k8s.io/v1/VolumeAttachment",
+ "storage.k8s.io/v1/VolumeAttachmentList",
+ "storage.k8s.io/v1/WatchEvent",
+ "storage.k8s.io/v1alpha1",
+ "storage.k8s.io/v1alpha1/CreateOptions",
+ "storage.k8s.io/v1alpha1/DeleteOptions",
+ "storage.k8s.io/v1alpha1/ExportOptions",
+ "storage.k8s.io/v1alpha1/GetOptions",
+ "storage.k8s.io/v1alpha1/ListOptions",
+ "storage.k8s.io/v1alpha1/PatchOptions",
+ "storage.k8s.io/v1alpha1/UpdateOptions",
+ "storage.k8s.io/v1alpha1/VolumeAttachment",
+ "storage.k8s.io/v1alpha1/VolumeAttachmentList",
+ "storage.k8s.io/v1alpha1/WatchEvent",
+ "storage.k8s.io/v1beta1",
+ "storage.k8s.io/v1beta1/CSIDriver",
+ "storage.k8s.io/v1beta1/CSIDriverList",
+ "storage.k8s.io/v1beta1/CSINode",
+ "storage.k8s.io/v1beta1/CSINodeList",
+ "storage.k8s.io/v1beta1/CreateOptions",
+ "storage.k8s.io/v1beta1/DeleteOptions",
+ "storage.k8s.io/v1beta1/ExportOptions",
+ "storage.k8s.io/v1beta1/GetOptions",
+ "storage.k8s.io/v1beta1/ListOptions",
+ "storage.k8s.io/v1beta1/PatchOptions",
+ "storage.k8s.io/v1beta1/StorageClass",
+ "storage.k8s.io/v1beta1/StorageClassList",
+ "storage.k8s.io/v1beta1/UpdateOptions",
+ "storage.k8s.io/v1beta1/VolumeAttachment",
+ "storage.k8s.io/v1beta1/VolumeAttachmentList",
+ "storage.k8s.io/v1beta1/WatchEvent",
+ "v1",
+ "v1/APIGroup",
+ "v1/APIGroupList",
+ "v1/APIResourceList",
+ "v1/APIVersions",
+ "v1/Binding",
+ "v1/ComponentStatus",
+ "v1/ComponentStatusList",
+ "v1/ConfigMap",
+ "v1/ConfigMapList",
+ "v1/CreateOptions",
+ "v1/DeleteOptions",
+ "v1/Endpoints",
+ "v1/EndpointsList",
+ "v1/Event",
+ "v1/EventList",
+ "v1/ExportOptions",
+ "v1/GetOptions",
+ "v1/LimitRange",
+ "v1/LimitRangeList",
+ "v1/List",
+ "v1/ListOptions",
+ "v1/Namespace",
+ "v1/NamespaceList",
+ "v1/Node",
+ "v1/NodeList",
+ "v1/NodeProxyOptions",
+ "v1/PatchOptions",
+ "v1/PersistentVolume",
+ "v1/PersistentVolumeClaim",
+ "v1/PersistentVolumeClaimList",
+ "v1/PersistentVolumeList",
+ "v1/Pod",
+ "v1/PodAttachOptions",
+ "v1/PodExecOptions",
+ "v1/PodList",
+ "v1/PodLogOptions",
+ "v1/PodPortForwardOptions",
+ "v1/PodProxyOptions",
+ "v1/PodStatusResult",
+ "v1/PodTemplate",
+ "v1/PodTemplateList",
+ "v1/RangeAllocation",
+ "v1/ReplicationController",
+ "v1/ReplicationControllerList",
+ "v1/ResourceQuota",
+ "v1/ResourceQuotaList",
+ "v1/Secret",
+ "v1/SecretList",
+ "v1/SerializedReference",
+ "v1/Service",
+ "v1/ServiceAccount",
+ "v1/ServiceAccountList",
+ "v1/ServiceList",
+ "v1/ServiceProxyOptions",
+ "v1/Status",
+ "v1/UpdateOptions",
+ "v1/WatchEvent",
+ }
+}
diff --git a/vendor/k8s.io/helm/pkg/chartutil/create.go b/vendor/k8s.io/helm/pkg/chartutil/create.go
index 9af4b8f45..8bab79429 100644
--- a/vendor/k8s.io/helm/pkg/chartutil/create.go
+++ b/vendor/k8s.io/helm/pkg/chartutil/create.go
@@ -42,6 +42,8 @@ const (
DeploymentName = "deployment.yaml"
// ServiceName is the name of the example service file.
ServiceName = "service.yaml"
+ // ServiceAccountName is the name of the example serviceaccount file.
+ ServiceAccountName = "serviceaccount.yaml"
// NotesName is the name of the example NOTES.txt file.
NotesName = "NOTES.txt"
// HelpersName is the name of the example helpers file.
@@ -63,9 +65,28 @@ image:
tag: stable
pullPolicy: IfNotPresent
+imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
+serviceAccount:
+ # Specifies whether a service account should be created
+ create: true
+ # The name of the service account to use.
+ # If not set and create is true, a name is generated using the fullname template
+ name:
+
+podSecurityContext: {}
+ # fsGroup: 2000
+
+securityContext: {}
+ # capabilities:
+ # drop:
+ # - ALL
+ # readOnlyRootFilesystem: true
+ # runAsNonRoot: true
+ # runAsUser: 1000
+
service:
type: ClusterIP
port: 80
@@ -129,15 +150,17 @@ const defaultIgnore = `# Patterns to ignore when building packages.
const defaultIngress = `{{- if .Values.ingress.enabled -}}
{{- $fullName := include ".fullname" . -}}
+{{- $svcPort := .Values.service.port -}}
+{{- if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
+apiVersion: networking.k8s.io/v1beta1
+{{- else -}}
apiVersion: extensions/v1beta1
+{{- end }}
kind: Ingress
metadata:
name: {{ $fullName }}
labels:
- app.kubernetes.io/name: {{ include ".name" . }}
- helm.sh/chart: {{ include ".chart" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- app.kubernetes.io/managed-by: {{ .Release.Service }}
+{{ include ".labels" . | indent 4 }}
{{- with .Values.ingress.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
@@ -162,7 +185,7 @@ spec:
- path: {{ . }}
backend:
serviceName: {{ $fullName }}
- servicePort: http
+ servicePort: {{ $svcPort }}
{{- end }}
{{- end }}
{{- end }}
@@ -173,10 +196,7 @@ kind: Deployment
metadata:
name: {{ include ".fullname" . }}
labels:
- app.kubernetes.io/name: {{ include ".name" . }}
- helm.sh/chart: {{ include ".chart" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- app.kubernetes.io/managed-by: {{ .Release.Service }}
+{{ include ".labels" . | indent 4 }}
spec:
replicas: {{ .Values.replicaCount }}
selector:
@@ -189,8 +209,17 @@ spec:
app.kubernetes.io/name: {{ include ".name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
spec:
+ {{- with .Values.imagePullSecrets }}
+ imagePullSecrets:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ serviceAccountName: {{ template ".serviceAccountName" . }}
+ securityContext:
+ {{- toYaml .Values.podSecurityContext | nindent 8 }}
containers:
- name: {{ .Chart.Name }}
+ securityContext:
+ {{- toYaml .Values.securityContext | nindent 12 }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
ports:
@@ -226,10 +255,7 @@ kind: Service
metadata:
name: {{ include ".fullname" . }}
labels:
- app.kubernetes.io/name: {{ include ".name" . }}
- helm.sh/chart: {{ include ".chart" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- app.kubernetes.io/managed-by: {{ .Release.Service }}
+{{ include ".labels" . | indent 4 }}
spec:
type: {{ .Values.service.type }}
ports:
@@ -241,6 +267,15 @@ spec:
app.kubernetes.io/name: {{ include ".name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
`
+const defaultServiceAccount = `{{- if .Values.serviceAccount.create -}}
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: {{ template ".serviceAccountName" . }}
+ labels:
+{{ include ".labels" . | indent 4 }}
+{{- end -}}
+`
const defaultNotes = `1. Get the application URL by running these commands:
{{- if .Values.ingress.enabled }}
@@ -256,7 +291,7 @@ const defaultNotes = `1. Get the application URL by running these commands:
{{- else if contains "LoadBalancer" .Values.service.type }}
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include ".fullname" . }}'
- export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include ".fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+ export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include ".fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
echo http://$SERVICE_IP:{{ .Values.service.port }}
{{- else if contains "ClusterIP" .Values.service.type }}
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include ".name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
@@ -297,6 +332,30 @@ Create chart name and version as used by the chart label.
{{- define ".chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
+
+{{/*
+Common labels
+*/}}
+{{- define ".labels" -}}
+app.kubernetes.io/name: {{ include ".name" . }}
+helm.sh/chart: {{ include ".chart" . }}
+app.kubernetes.io/instance: {{ .Release.Name }}
+{{- if .Chart.AppVersion }}
+app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
+{{- end }}
+app.kubernetes.io/managed-by: {{ .Release.Service }}
+{{- end -}}
+
+{{/*
+Create the name of the service account to use
+*/}}
+{{- define ".serviceAccountName" -}}
+{{- if .Values.serviceAccount.create -}}
+ {{ default (include ".fullname" .) .Values.serviceAccount.name }}
+{{- else -}}
+ {{ default "default" .Values.serviceAccount.name }}
+{{- end -}}
+{{- end -}}
`
const defaultTestConnection = `apiVersion: v1
@@ -304,10 +363,7 @@ kind: Pod
metadata:
name: "{{ include ".fullname" . }}-test-connection"
labels:
- app.kubernetes.io/name: {{ include ".name" . }}
- helm.sh/chart: {{ include ".chart" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- app.kubernetes.io/managed-by: {{ .Release.Service }}
+{{ include ".labels" . | indent 4 }}
annotations:
"helm.sh/hook": test-success
spec:
@@ -418,6 +474,11 @@ func Create(chartfile *chart.Metadata, dir string) (string, error) {
path: filepath.Join(cdir, TemplatesDir, ServiceName),
content: Transform(defaultService, "", chartfile.Name),
},
+ {
+ // serviceaccount.yaml
+ path: filepath.Join(cdir, TemplatesDir, ServiceAccountName),
+ content: Transform(defaultServiceAccount, "", chartfile.Name),
+ },
{
// NOTES.txt
path: filepath.Join(cdir, TemplatesDir, NotesName),
diff --git a/vendor/k8s.io/helm/pkg/chartutil/doc.go b/vendor/k8s.io/helm/pkg/chartutil/doc.go
index a4f6d4515..ad2224f94 100644
--- a/vendor/k8s.io/helm/pkg/chartutil/doc.go
+++ b/vendor/k8s.io/helm/pkg/chartutil/doc.go
@@ -17,7 +17,7 @@ limitations under the License.
/*Package chartutil contains tools for working with charts.
Charts are described in the protocol buffer definition (pkg/proto/hapi/charts).
-This packe provides utilities for serializing and deserializing charts.
+This package provides utilities for serializing and deserializing charts.
A chart can be represented on the file system in one of two ways:
diff --git a/vendor/k8s.io/helm/pkg/chartutil/load.go b/vendor/k8s.io/helm/pkg/chartutil/load.go
index b0927a5cf..13724671a 100644
--- a/vendor/k8s.io/helm/pkg/chartutil/load.go
+++ b/vendor/k8s.io/helm/pkg/chartutil/load.go
@@ -24,6 +24,7 @@ import (
"fmt"
"io"
"io/ioutil"
+ "net/http"
"os"
"path"
"path/filepath"
@@ -118,7 +119,7 @@ func loadArchiveFiles(in io.Reader) ([]*BufferedFile, error) {
n = path.Clean(n)
if n == "." {
// In this case, the original path was relative when it should have been absolute.
- return nil, errors.New("chart illegally contains empty path")
+ return nil, fmt.Errorf("chart illegally contains content outside the base directory: %q", hd.Name)
}
if strings.HasPrefix(n, "..") {
return nil, errors.New("chart illegally references parent directory")
@@ -171,6 +172,10 @@ func LoadFiles(files []*BufferedFile) (*chart.Chart, error) {
return c, err
}
c.Metadata = m
+ var apiVersion = c.Metadata.ApiVersion
+ if apiVersion != "" && apiVersion != ApiVersionV1 {
+ return c, fmt.Errorf("apiVersion '%s' is not valid. The value must be \"v1\"", apiVersion)
+ }
} else if f.Name == "values.toml" {
return c, errors.New("values.toml is illegal as of 2.0.0-alpha.2")
} else if f.Name == "values.yaml" {
@@ -255,7 +260,45 @@ func LoadFile(name string) (*chart.Chart, error) {
}
defer raw.Close()
- return LoadArchive(raw)
+ err = ensureArchive(name, raw)
+ if err != nil {
+ return nil, err
+ }
+
+ c, err := LoadArchive(raw)
+ if err != nil {
+ if err == gzip.ErrHeader {
+ return nil, fmt.Errorf("file '%s' does not appear to be a valid chart file (details: %s)", name, err)
+ }
+ }
+ return c, err
+}
+
+// ensureArchive's job is to return an informative error if the file does not appear to be a gzipped archive.
+//
+// Sometimes users will provide a values.yaml for an argument where a chart is expected. One common occurrence
+// of this is invoking `helm template values.yaml mychart` which would otherwise produce a confusing error
+// if we didn't check for this.
+func ensureArchive(name string, raw *os.File) error {
+ defer raw.Seek(0, 0) // reset read offset to allow archive loading to proceed.
+
+ // Check the file format to give us a chance to provide the user with more actionable feedback.
+ buffer := make([]byte, 512)
+ _, err := raw.Read(buffer)
+ if err != nil && err != io.EOF {
+ return fmt.Errorf("file '%s' cannot be read: %s", name, err)
+ }
+ if contentType := http.DetectContentType(buffer); contentType != "application/x-gzip" {
+ // TODO: Is there a way to reliably test if a file content is YAML? ghodss/yaml accepts a wide
+ // variety of content (Makefile, .zshrc) as valid YAML without errors.
+
+ // Wrong content type. Let's check if it's yaml and give an extra hint?
+ if strings.HasSuffix(name, ".yml") || strings.HasSuffix(name, ".yaml") {
+ return fmt.Errorf("file '%s' seems to be a YAML file, but I expected a gzipped archive", name)
+ }
+ return fmt.Errorf("file '%s' does not appear to be a gzipped archive; got '%s'", name, contentType)
+ }
+ return nil
}
// LoadDir loads from a directory.
@@ -312,6 +355,13 @@ func LoadDir(dir string) (*chart.Chart, error) {
return nil
}
+ // Irregular files include devices, sockets, and other uses of files that
+ // are not regular files. In Go they have a file mode type bit set.
+ // See https://golang.org/pkg/os/#FileMode for examples.
+ if !fi.Mode().IsRegular() {
+ return fmt.Errorf("cannot load irregular file %s as it has file mode type bits set", name)
+ }
+
data, err := ioutil.ReadFile(name)
if err != nil {
return fmt.Errorf("error reading %s: %s", n, err)
diff --git a/vendor/k8s.io/helm/pkg/chartutil/requirements.go b/vendor/k8s.io/helm/pkg/chartutil/requirements.go
index f21a22005..4c9713233 100644
--- a/vendor/k8s.io/helm/pkg/chartutil/requirements.go
+++ b/vendor/k8s.io/helm/pkg/chartutil/requirements.go
@@ -124,7 +124,7 @@ func LoadRequirementsLock(c *chart.Chart) (*RequirementsLock, error) {
}
// ProcessRequirementsConditions disables charts based on condition path value in values
-func ProcessRequirementsConditions(reqs *Requirements, cvals Values) {
+func ProcessRequirementsConditions(reqs *Requirements, cvals Values, cpath string) {
var cond string
var conds []string
if reqs == nil || len(reqs.Dependencies) == 0 {
@@ -143,7 +143,7 @@ func ProcessRequirementsConditions(reqs *Requirements, cvals Values) {
for _, c := range conds {
if len(c) > 0 {
// retrieve value
- vv, err := cvals.PathValue(c)
+ vv, err := cvals.PathValue(cpath + c)
if err == nil {
// if not bool, warn
if bv, ok := vv.(bool); ok {
@@ -247,6 +247,10 @@ func getAliasDependency(charts []*chart.Chart, aliasChart *Dependency) *chart.Ch
// ProcessRequirementsEnabled removes disabled charts from dependencies
func ProcessRequirementsEnabled(c *chart.Chart, v *chart.Config) error {
+ return doProcessRequirementsEnabled(c, v, "")
+}
+
+func doProcessRequirementsEnabled(c *chart.Chart, v *chart.Config, path string) error {
reqs, err := LoadRequirements(c)
if err != nil {
// if not just missing requirements file, return error
@@ -303,7 +307,7 @@ func ProcessRequirementsEnabled(c *chart.Chart, v *chart.Config) error {
cc := chart.Config{Raw: yvals}
// flag dependencies as enabled/disabled
ProcessRequirementsTags(reqs, cvals)
- ProcessRequirementsConditions(reqs, cvals)
+ ProcessRequirementsConditions(reqs, cvals, path)
// make a map of charts to remove
rm := map[string]bool{}
for _, r := range reqs.Dependencies {
@@ -323,7 +327,8 @@ func ProcessRequirementsEnabled(c *chart.Chart, v *chart.Config) error {
}
// recursively call self to process sub dependencies
for _, t := range cd {
- err := ProcessRequirementsEnabled(t, &cc)
+ subpath := path + t.Metadata.Name + "."
+ err := doProcessRequirementsEnabled(t, &cc, subpath)
// if its not just missing requirements file, return error
if nerr, ok := err.(ErrNoRequirementsFile); !ok && err != nil {
return nerr
@@ -391,7 +396,7 @@ func processImportValues(c *chart.Chart) error {
if err != nil {
return err
}
- b := make(map[string]interface{}, 0)
+ b := cvals.AsMap()
// import values from each dependency if specified in import-values
for _, r := range reqs.Dependencies {
// only process raw requirement that is found in chart's dependencies (enabled)
@@ -428,7 +433,7 @@ func processImportValues(c *chart.Chart) error {
}
// create value map from child to be merged into parent
vm := pathToMap(nm["parent"], vv.AsMap())
- b = coalesceTables(cvals, vm, c.Metadata.Name)
+ b = coalesceTables(b, vm, c.Metadata.Name)
case string:
nm := map[string]string{
"child": "exports." + iv,
@@ -448,7 +453,6 @@ func processImportValues(c *chart.Chart) error {
r.ImportValues = outiv
}
}
- b = coalesceTables(b, cvals, c.Metadata.Name)
y, err := yaml.Marshal(b)
if err != nil {
return err
diff --git a/vendor/k8s.io/helm/pkg/chartutil/values.go b/vendor/k8s.io/helm/pkg/chartutil/values.go
index 352524c13..9986e642c 100644
--- a/vendor/k8s.io/helm/pkg/chartutil/values.go
+++ b/vendor/k8s.io/helm/pkg/chartutil/values.go
@@ -166,15 +166,10 @@ func CoalesceValues(chrt *chart.Chart, vals *chart.Config) (Values, error) {
if err != nil {
return cvals, err
}
- cvals, err = coalesce(chrt, evals)
- if err != nil {
- return cvals, err
- }
+ return coalesce(chrt, evals)
}
- var err error
- cvals, err = coalesceDeps(chrt, cvals)
- return cvals, err
+ return coalesceDeps(chrt, cvals)
}
// coalesce coalesces the dest values and the chart values, giving priority to the dest values.
@@ -186,8 +181,7 @@ func coalesce(ch *chart.Chart, dest map[string]interface{}) (map[string]interfac
if err != nil {
return dest, err
}
- coalesceDeps(ch, dest)
- return dest, nil
+ return coalesceDeps(ch, dest)
}
// coalesceDeps coalesces the dependencies of the given chart.
@@ -203,7 +197,7 @@ func coalesceDeps(chrt *chart.Chart, dest map[string]interface{}) (map[string]in
dvmap := dv.(map[string]interface{})
// Get globals out of dest and merge them into dvmap.
- coalesceGlobals(dvmap, dest, chrt.Metadata.Name)
+ dvmap = coalesceGlobals(dvmap, dest, chrt.Metadata.Name)
var err error
// Now coalesce the rest of the values.
@@ -236,45 +230,20 @@ func coalesceGlobals(dest, src map[string]interface{}, chartName string) map[str
return dg
}
+ rv := make(map[string]interface{})
+ for k, v := range dest {
+ rv[k] = v
+ }
+
// EXPERIMENTAL: In the past, we have disallowed globals to test tables. This
// reverses that decision. It may somehow be possible to introduce a loop
// here, but I haven't found a way. So for the time being, let's allow
// tables in globals.
- for key, val := range sg {
- if istable(val) {
- vv := copyMap(val.(map[string]interface{}))
- if destv, ok := dg[key]; ok {
- if destvmap, ok := destv.(map[string]interface{}); ok {
- // Basically, we reverse order of coalesce here to merge
- // top-down.
- coalesceTables(vv, destvmap, chartName)
- dg[key] = vv
- continue
- } else {
- log.Printf("Warning: For chart '%s', cannot merge map onto non-map for key '%q'. Skipping.", chartName, key)
- }
- } else {
- // Here there is no merge. We're just adding.
- dg[key] = vv
- }
- } else if dv, ok := dg[key]; ok && istable(dv) {
- // It's not clear if this condition can actually ever trigger.
- log.Printf("Warning: For chart '%s', key '%s' is a table. Skipping.", chartName, key)
- continue
- }
- // TODO: Do we need to do any additional checking on the value?
- dg[key] = val
- }
- dest[GlobalKey] = dg
- return dest
-}
-func copyMap(src map[string]interface{}) map[string]interface{} {
- dest := make(map[string]interface{}, len(src))
- for k, v := range src {
- dest[k] = v
- }
- return dest
+ // Basically, we reverse order of coalesce here to merge
+ // top-down.
+ rv[GlobalKey] = coalesceTables(sg, dg, chartName)
+ return rv
}
// coalesceValues builds up a values map for a particular chart.
@@ -294,30 +263,7 @@ func coalesceValues(c *chart.Chart, v map[string]interface{}) (map[string]interf
return v, fmt.Errorf("Error: Reading chart '%s' default values (%s): %s", c.Metadata.Name, c.Values.Raw, err)
}
- for key, val := range nv {
- if value, ok := v[key]; ok {
- if value == nil {
- // When the YAML value is null, we remove the value's key.
- // This allows Helm's various sources of values (value files or --set) to
- // remove incompatible keys from any previous chart, file, or set values.
- delete(v, key)
- } else if dest, ok := value.(map[string]interface{}); ok {
- // if v[key] is a table, merge nv's val table into v[key].
- src, ok := val.(map[string]interface{})
- if !ok {
- log.Printf("Warning: Building values map for chart '%s'. Skipped value (%+v) for '%s', as it is not a table.", c.Metadata.Name, src, key)
- continue
- }
- // Because v has higher precedence than nv, dest values override src
- // values.
- coalesceTables(dest, src, c.Metadata.Name)
- }
- } else {
- // If the key is not in v, copy it from nv.
- v[key] = val
- }
- }
- return v, nil
+ return coalesceTables(v, nv.AsMap(), c.Metadata.Name), nil
}
// coalesceTables merges a source map into a destination map.
@@ -326,25 +272,49 @@ func coalesceValues(c *chart.Chart, v map[string]interface{}) (map[string]interf
func coalesceTables(dst, src map[string]interface{}, chartName string) map[string]interface{} {
// Because dest has higher precedence than src, dest values override src
// values.
+
+ rv := make(map[string]interface{})
for key, val := range src {
- if istable(val) {
- if innerdst, ok := dst[key]; !ok {
- dst[key] = val
- } else if istable(innerdst) {
- coalesceTables(innerdst.(map[string]interface{}), val.(map[string]interface{}), chartName)
- } else {
- log.Printf("Warning: Merging destination map for chart '%s'. Cannot overwrite table item '%s', with non table value: %v", chartName, key, val)
- }
+ dv, ok := dst[key]
+ if !ok { // if not in dst, then copy from src
+ rv[key] = val
continue
- } else if dv, ok := dst[key]; ok && istable(dv) {
- log.Printf("Warning: Merging destination map for chart '%s'. The destination item '%s' is a table and ignoring the source '%s' as it has a non-table value of: %v", chartName, key, key, val)
+ }
+ if dv == nil { // if set to nil in dst, then ignore
+ // When the YAML value is null, we skip the value's key.
+ // This allows Helm's various sources of values (value files or --set) to
+ // remove incompatible keys from any previous chart, file, or set values.
continue
- } else if !ok { // <- ok is still in scope from preceding conditional.
- dst[key] = val
+ }
+
+ srcTable, srcIsTable := val.(map[string]interface{})
+ dstTable, dstIsTable := dv.(map[string]interface{})
+ switch {
+ case srcIsTable && dstIsTable: // both tables, we coalesce
+ rv[key] = coalesceTables(dstTable, srcTable, chartName)
+ case srcIsTable && !dstIsTable:
+ log.Printf("Warning: Merging destination map for chart '%s'. Overwriting table item '%s', with non table value: %v", chartName, key, dv)
+ rv[key] = dv
+ case !srcIsTable && dstIsTable:
+ log.Printf("Warning: Merging destination map for chart '%s'. The destination item '%s' is a table and ignoring the source '%s' as it has a non-table value of: %v", chartName, key, key, val)
+ rv[key] = dv
+ default: // neither are tables, simply take the dst value
+ rv[key] = dv
+ }
+ }
+
+ // do we have anything in dst that wasn't processed already that we need to copy across?
+ for key, val := range dst {
+ if val == nil {
continue
}
+ _, ok := rv[key]
+ if !ok {
+ rv[key] = val
+ }
}
- return dst
+
+ return rv
}
// ReleaseOptions represents the additional release options needed
diff --git a/vendor/k8s.io/helm/pkg/downloader/chart_downloader.go b/vendor/k8s.io/helm/pkg/downloader/chart_downloader.go
index 1ef85f501..c2e9f6dc1 100644
--- a/vendor/k8s.io/helm/pkg/downloader/chart_downloader.go
+++ b/vendor/k8s.io/helm/pkg/downloader/chart_downloader.go
@@ -205,6 +205,11 @@ func (c *ChartDownloader) ResolveChartVersion(ref, version string) (*url.URL, ge
}
c.setCredentials(r)
+ // Skip if dependency not contain name
+ if len(r.Config.Name) == 0 {
+ return u, r.Client, nil
+ }
+
// Next, we need to load the index, and actually look up the chart.
i, err := repo.LoadIndexFile(c.HelmHome.CacheIndex(r.Config.Name))
if err != nil {
@@ -213,7 +218,7 @@ func (c *ChartDownloader) ResolveChartVersion(ref, version string) (*url.URL, ge
cv, err := i.Get(chartName, version)
if err != nil {
- return u, r.Client, fmt.Errorf("chart %q matching %q not found in %s index. (try 'helm repo update'). %s", chartName, version, r.Config.Name, err)
+ return u, r.Client, fmt.Errorf("chart %q matching version %q not found in %s index. (try 'helm repo update'). %s", chartName, version, r.Config.Name, err)
}
if len(cv.URLs) == 0 {
diff --git a/vendor/k8s.io/helm/pkg/downloader/manager.go b/vendor/k8s.io/helm/pkg/downloader/manager.go
index 372940880..ce2e2ef07 100644
--- a/vendor/k8s.io/helm/pkg/downloader/manager.go
+++ b/vendor/k8s.io/helm/pkg/downloader/manager.go
@@ -30,6 +30,7 @@ import (
"github.com/Masterminds/semver"
"github.com/ghodss/yaml"
+ "k8s.io/helm/internal/third_party/dep/fs"
"k8s.io/helm/pkg/chartutil"
"k8s.io/helm/pkg/getter"
"k8s.io/helm/pkg/helm/helmpath"
@@ -205,7 +206,7 @@ func (m *Manager) downloadAll(deps []*chartutil.Dependency) error {
return fmt.Errorf("%q is not a directory", destPath)
}
- if err := os.Rename(destPath, tmpPath); err != nil {
+ if err := fs.RenameWithFallback(destPath, tmpPath); err != nil {
return fmt.Errorf("Unable to move current charts to tmp dir: %v", err)
}
@@ -216,6 +217,31 @@ func (m *Manager) downloadAll(deps []*chartutil.Dependency) error {
fmt.Fprintf(m.Out, "Saving %d charts\n", len(deps))
var saveError error
for _, dep := range deps {
+ // No repository means the chart is in charts directory
+ if dep.Repository == "" {
+ fmt.Fprintf(m.Out, "Dependency %s did not declare a repository. Assuming it exists in the charts directory\n", dep.Name)
+ chartPath := filepath.Join(tmpPath, dep.Name)
+ ch, err := chartutil.LoadDir(chartPath)
+ if err != nil {
+ return fmt.Errorf("Unable to load chart: %v", err)
+ }
+
+ constraint, err := semver.NewConstraint(dep.Version)
+ if err != nil {
+ return fmt.Errorf("Dependency %s has an invalid version/constraint format: %s", dep.Name, err)
+ }
+
+ v, err := semver.NewVersion(ch.Metadata.Version)
+ if err != nil {
+ return fmt.Errorf("Invalid version %s for dependency %s: %s", dep.Version, dep.Name, err)
+ }
+
+ if !constraint.Check(v) {
+ saveError = fmt.Errorf("Dependency %s at version %s does not satisfy the constraint %s", dep.Name, ch.Metadata.Version, dep.Version)
+ break
+ }
+ continue
+ }
if strings.HasPrefix(dep.Repository, "file://") {
if m.Debug {
fmt.Fprintf(m.Out, "Archiving %s from repo %s\n", dep.Name, dep.Repository)
@@ -233,7 +259,7 @@ func (m *Manager) downloadAll(deps []*chartutil.Dependency) error {
// Any failure to resolve/download a chart should fail:
// https://github.com/kubernetes/helm/issues/1439
- churl, username, password, err := findChartURL(dep.Name, dep.Version, dep.Repository, repos)
+ churl, username, password, err := m.findChartURL(dep.Name, dep.Version, dep.Repository, repos)
if err != nil {
saveError = fmt.Errorf("could not find %s: %s", churl, err)
break
@@ -258,8 +284,11 @@ func (m *Manager) downloadAll(deps []*chartutil.Dependency) error {
if saveError == nil {
fmt.Fprintln(m.Out, "Deleting outdated charts")
for _, dep := range deps {
- if err := m.safeDeleteDep(dep.Name, tmpPath); err != nil {
- return err
+ // Chart from local charts directory stays in place
+ if dep.Repository != "" {
+ if err := m.safeDeleteDep(dep.Name, tmpPath); err != nil {
+ return err
+ }
}
}
if err := move(tmpPath, destPath); err != nil {
@@ -279,7 +308,7 @@ func (m *Manager) downloadAll(deps []*chartutil.Dependency) error {
if err := os.RemoveAll(destPath); err != nil {
return fmt.Errorf("Failed to remove %v: %v", destPath, err)
}
- if err := os.Rename(tmpPath, destPath); err != nil {
+ if err := fs.RenameWithFallback(tmpPath, destPath); err != nil {
return fmt.Errorf("Unable to move current charts to tmp dir: %v", err)
}
return saveError
@@ -357,7 +386,7 @@ func (m *Manager) hasAllRepos(deps []*chartutil.Dependency) error {
return nil
}
-// getRepoNames returns the repo names of the referenced deps which can be used to fetch the cahced index file.
+// getRepoNames returns the repo names of the referenced deps which can be used to fetch the cached index file.
func (m *Manager) getRepoNames(deps []*chartutil.Dependency) (map[string]string, error) {
rf, err := repo.LoadRepositoriesFile(m.HelmHome.RepositoryFile())
if err != nil {
@@ -371,8 +400,9 @@ func (m *Manager) getRepoNames(deps []*chartutil.Dependency) (map[string]string,
// by Helm.
missing := []string{}
for _, dd := range deps {
+ // Don't map the repository, we don't need to download chart from charts directory
if dd.Repository == "" {
- return nil, fmt.Errorf("no 'repository' field specified for dependency: %q", dd.Name)
+ continue
}
// if dep chart is from local path, verify the path is valid
if strings.HasPrefix(dd.Repository, "file://") {
@@ -403,29 +433,36 @@ func (m *Manager) getRepoNames(deps []*chartutil.Dependency) (map[string]string,
}
}
if !found {
- missing = append(missing, dd.Repository)
+ repository := dd.Repository
+ // Add if URL
+ _, err := url.ParseRequestURI(repository)
+ if err == nil {
+ reposMap[repository] = repository
+ continue
+ }
+ missing = append(missing, repository)
}
}
+
if len(missing) > 0 {
- if len(missing) > 0 {
- errorMessage := fmt.Sprintf("no repository definition for %s. Please add them via 'helm repo add'", strings.Join(missing, ", "))
- // It is common for people to try to enter "stable" as a repository instead of the actual URL.
- // For this case, let's give them a suggestion.
- containsNonURL := false
- for _, repo := range missing {
- if !strings.Contains(repo, "//") && !strings.HasPrefix(repo, "@") && !strings.HasPrefix(repo, "alias:") {
- containsNonURL = true
- }
+ errorMessage := fmt.Sprintf("no repository definition for %s. Please add them via 'helm repo add'", strings.Join(missing, ", "))
+ // It is common for people to try to enter "stable" as a repository instead of the actual URL.
+ // For this case, let's give them a suggestion.
+ containsNonURL := false
+ for _, repo := range missing {
+ if !strings.Contains(repo, "//") && !strings.HasPrefix(repo, "@") && !strings.HasPrefix(repo, "alias:") {
+ containsNonURL = true
}
- if containsNonURL {
- errorMessage += `
+ }
+ if containsNonURL {
+ errorMessage += `
Note that repositories must be URLs or aliases. For example, to refer to the stable
repository, use "https://kubernetes-charts.storage.googleapis.com/" or "@stable" instead of
"stable". Don't forget to add the repo, too ('helm repo add').`
- }
- return nil, errors.New(errorMessage)
}
+ return nil, errors.New(errorMessage)
}
+
return reposMap, nil
}
@@ -435,8 +472,7 @@ func (m *Manager) UpdateRepositories() error {
if err != nil {
return err
}
- repos := rf.Repositories
- if len(repos) > 0 {
+ if repos := rf.Repositories; len(repos) > 0 {
// This prints warnings straight to out.
if err := m.parallelRepoUpdate(repos); err != nil {
return err
@@ -465,7 +501,7 @@ func (m *Manager) parallelRepoUpdate(repos []*repo.Entry) error {
}(r)
}
wg.Wait()
- fmt.Fprintln(out, "Update Complete. ⎈Happy Helming!⎈")
+ fmt.Fprintln(out, "Update Complete.")
return nil
}
@@ -477,7 +513,7 @@ func (m *Manager) parallelRepoUpdate(repos []*repo.Entry) error {
// repoURL is the repository to search
//
// If it finds a URL that is "relative", it will prepend the repoURL.
-func findChartURL(name, version, repoURL string, repos map[string]*repo.ChartRepository) (url, username, password string, err error) {
+func (m *Manager) findChartURL(name, version, repoURL string, repos map[string]*repo.ChartRepository) (url, username, password string, err error) {
for _, cr := range repos {
if urlutil.Equal(repoURL, cr.Config.URL) {
var entry repo.ChartVersions
@@ -499,6 +535,10 @@ func findChartURL(name, version, repoURL string, repos map[string]*repo.ChartRep
return
}
}
+ url, err = repo.FindChartInRepoURL(repoURL, name, version, "", "", "", m.Getters)
+ if err == nil {
+ return
+ }
err = fmt.Errorf("chart %s not found in %s", name, repoURL)
return
}
@@ -605,7 +645,7 @@ func writeLock(chartpath string, lock *chartutil.RequirementsLock) error {
}
// tarFromLocalDir archive a dep chart from local directory and save it into charts/
-func tarFromLocalDir(chartpath string, name string, repo string, version string) (string, error) {
+func tarFromLocalDir(chartpath, name, repo, version string) (string, error) {
destPath := filepath.Join(chartpath, "charts")
if !strings.HasPrefix(repo, "file://") {
@@ -647,9 +687,66 @@ func move(tmpPath, destPath string) error {
filename := file.Name()
tmpfile := filepath.Join(tmpPath, filename)
destfile := filepath.Join(destPath, filename)
- if err := os.Rename(tmpfile, destfile); err != nil {
+ if err := fs.RenameWithFallback(tmpfile, destfile); err != nil {
return fmt.Errorf("Unable to move local charts to charts dir: %v", err)
}
}
return nil
}
+
+func copyFile(source string, destination string) (err error) {
+ sourceFile, err := os.Open(source)
+ if err != nil {
+ return err
+ }
+ defer sourceFile.Close()
+ destinationFile, err := os.Create(destination)
+ if err != nil {
+ return err
+ }
+ defer destinationFile.Close()
+ _, err = io.Copy(destinationFile, sourceFile)
+ if err == nil {
+ stats, err := os.Stat(source)
+ if err == nil {
+ return os.Chmod(destination, stats.Mode())
+ }
+ }
+ return err
+}
+
+func copyDir(source string, destination string) (err error) {
+ fi, err := os.Stat(source)
+ if err != nil {
+ return err
+ }
+ if !fi.IsDir() {
+ return fmt.Errorf("Source is not a directory")
+ }
+ _, err = os.Open(destination)
+ if !os.IsNotExist(err) {
+ return fmt.Errorf("Destination already exists")
+ }
+ err = os.MkdirAll(destination, fi.Mode())
+ if err != nil {
+ return err
+ }
+
+ entries, err := ioutil.ReadDir(source)
+ for _, entry := range entries {
+ sourceFile := source + "/" + entry.Name()
+ destinationFile := destination + "/" + entry.Name()
+ if entry.IsDir() {
+ err = copyDir(sourceFile, destinationFile)
+ if err != nil {
+ return err
+ }
+ } else {
+ err = copyFile(sourceFile, destinationFile)
+ if err != nil {
+ return err
+ }
+ }
+ }
+ return
+}
diff --git a/vendor/k8s.io/helm/pkg/engine/engine.go b/vendor/k8s.io/helm/pkg/engine/engine.go
index 9a155de2e..b4b6475c9 100644
--- a/vendor/k8s.io/helm/pkg/engine/engine.go
+++ b/vendor/k8s.io/helm/pkg/engine/engine.go
@@ -267,7 +267,7 @@ func (e *Engine) renderWithReferences(tpls map[string]renderable, referenceTpls
rendered = make(map[string]string, len(files))
var buf bytes.Buffer
for _, file := range files {
- // Don't render partials. We don't care out the direct output of partials.
+ // Don't render partials. We don't care about the direct output of partials.
// They are only included from other templates.
if strings.HasPrefix(path.Base(file), "_") {
continue
diff --git a/vendor/k8s.io/helm/pkg/getter/getter.go b/vendor/k8s.io/helm/pkg/getter/getter.go
index c595fec69..062c7269e 100644
--- a/vendor/k8s.io/helm/pkg/getter/getter.go
+++ b/vendor/k8s.io/helm/pkg/getter/getter.go
@@ -68,7 +68,7 @@ func (p Providers) ByScheme(scheme string) (Constructor, error) {
}
// All finds all of the registered getters as a list of Provider instances.
-// Currently the build-in http/https getter and the discovered
+// Currently the built-in http/https getter and the discovered
// plugins with downloader notations are collected.
func All(settings environment.EnvSettings) Providers {
result := Providers{
diff --git a/vendor/k8s.io/helm/pkg/getter/httpgetter.go b/vendor/k8s.io/helm/pkg/getter/httpgetter.go
index 66ea82863..bf99b1cfa 100644
--- a/vendor/k8s.io/helm/pkg/getter/httpgetter.go
+++ b/vendor/k8s.io/helm/pkg/getter/httpgetter.go
@@ -26,7 +26,7 @@ import (
"k8s.io/helm/pkg/version"
)
-//HttpGetter is the efault HTTP(/S) backend handler
+//HttpGetter is the default HTTP(/S) backend handler
// TODO: change the name to HTTPGetter in Helm 3
type HttpGetter struct { //nolint
client *http.Client
diff --git a/vendor/k8s.io/helm/pkg/getter/plugingetter.go b/vendor/k8s.io/helm/pkg/getter/plugingetter.go
index 8f2099de0..c918aa744 100644
--- a/vendor/k8s.io/helm/pkg/getter/plugingetter.go
+++ b/vendor/k8s.io/helm/pkg/getter/plugingetter.go
@@ -21,6 +21,7 @@ import (
"os"
"os/exec"
"path/filepath"
+ "strings"
"k8s.io/helm/pkg/helm/environment"
"k8s.io/helm/pkg/plugin"
@@ -62,8 +63,9 @@ type pluginGetter struct {
// Get runs downloader plugin command
func (p *pluginGetter) Get(href string) (*bytes.Buffer, error) {
- argv := []string{p.certFile, p.keyFile, p.cAFile, href}
- prog := exec.Command(filepath.Join(p.base, p.command), argv...)
+ commands := strings.Split(p.command, " ")
+ argv := append(commands[1:], p.certFile, p.keyFile, p.cAFile, href)
+ prog := exec.Command(filepath.Join(p.base, commands[0]), argv...)
plugin.SetupPluginEnv(p.settings, p.name, p.base)
prog.Env = os.Environ()
buf := bytes.NewBuffer(nil)
diff --git a/vendor/k8s.io/helm/pkg/helm/environment/environment.go b/vendor/k8s.io/helm/pkg/helm/environment/environment.go
index 6d40fb846..9cfe80a1d 100644
--- a/vendor/k8s.io/helm/pkg/helm/environment/environment.go
+++ b/vendor/k8s.io/helm/pkg/helm/environment/environment.go
@@ -80,23 +80,23 @@ type EnvSettings struct {
// AddFlags binds flags to the given flagset.
func (s *EnvSettings) AddFlags(fs *pflag.FlagSet) {
- fs.StringVar((*string)(&s.Home), "home", DefaultHelmHome, "location of your Helm config. Overrides $HELM_HOME")
- fs.StringVar(&s.TillerHost, "host", "", "address of Tiller. Overrides $HELM_HOST")
- fs.StringVar(&s.KubeContext, "kube-context", "", "name of the kubeconfig context to use")
- fs.StringVar(&s.KubeConfig, "kubeconfig", "", "absolute path to the kubeconfig file to use")
- fs.BoolVar(&s.Debug, "debug", false, "enable verbose output")
- fs.StringVar(&s.TillerNamespace, "tiller-namespace", "kube-system", "namespace of Tiller")
- fs.Int64Var(&s.TillerConnectionTimeout, "tiller-connection-timeout", int64(300), "the duration (in seconds) Helm will wait to establish a connection to tiller")
+ fs.StringVar((*string)(&s.Home), "home", DefaultHelmHome, "Location of your Helm config. Overrides $HELM_HOME")
+ fs.StringVar(&s.TillerHost, "host", "", "Address of Tiller. Overrides $HELM_HOST")
+ fs.StringVar(&s.KubeContext, "kube-context", "", "Name of the kubeconfig context to use")
+ fs.StringVar(&s.KubeConfig, "kubeconfig", "", "Absolute path of the kubeconfig file to be used")
+ fs.BoolVar(&s.Debug, "debug", false, "Enable verbose output")
+ fs.StringVar(&s.TillerNamespace, "tiller-namespace", "kube-system", "Namespace of Tiller")
+ fs.Int64Var(&s.TillerConnectionTimeout, "tiller-connection-timeout", int64(300), "The duration (in seconds) Helm will wait to establish a connection to Tiller")
}
// AddFlagsTLS adds the flags for supporting client side TLS to the given flagset.
func (s *EnvSettings) AddFlagsTLS(fs *pflag.FlagSet) {
- fs.StringVar(&s.TLSServerName, "tls-hostname", s.TillerHost, "the server name used to verify the hostname on the returned certificates from the server")
- fs.StringVar(&s.TLSCaCertFile, "tls-ca-cert", DefaultTLSCaCert, "path to TLS CA certificate file")
- fs.StringVar(&s.TLSCertFile, "tls-cert", DefaultTLSCert, "path to TLS certificate file")
- fs.StringVar(&s.TLSKeyFile, "tls-key", DefaultTLSKeyFile, "path to TLS key file")
- fs.BoolVar(&s.TLSVerify, "tls-verify", DefaultTLSVerify, "enable TLS for request and verify remote")
- fs.BoolVar(&s.TLSEnable, "tls", DefaultTLSEnable, "enable TLS for request")
+ fs.StringVar(&s.TLSServerName, "tls-hostname", s.TillerHost, "The server name used to verify the hostname on the returned certificates from the server")
+ fs.StringVar(&s.TLSCaCertFile, "tls-ca-cert", DefaultTLSCaCert, "Path to TLS CA certificate file")
+ fs.StringVar(&s.TLSCertFile, "tls-cert", DefaultTLSCert, "Path to TLS certificate file")
+ fs.StringVar(&s.TLSKeyFile, "tls-key", DefaultTLSKeyFile, "Path to TLS key file")
+ fs.BoolVar(&s.TLSVerify, "tls-verify", DefaultTLSVerify, "Enable TLS for request and verify remote")
+ fs.BoolVar(&s.TLSEnable, "tls", DefaultTLSEnable, "Enable TLS for request")
}
// Init sets values from the environment.
diff --git a/vendor/k8s.io/helm/pkg/proto/hapi/chart/chart.pb.go b/vendor/k8s.io/helm/pkg/proto/hapi/chart/chart.pb.go
index a884ed552..eddc2ccae 100644
--- a/vendor/k8s.io/helm/pkg/proto/hapi/chart/chart.pb.go
+++ b/vendor/k8s.io/helm/pkg/proto/hapi/chart/chart.pb.go
@@ -1,29 +1,12 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: hapi/chart/chart.proto
-/*
-Package chart is a generated protocol buffer package.
-
-It is generated from these files:
- hapi/chart/chart.proto
- hapi/chart/config.proto
- hapi/chart/metadata.proto
- hapi/chart/template.proto
-
-It has these top-level messages:
- Chart
- Config
- Value
- Maintainer
- Metadata
- Template
-*/
package chart
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
-import google_protobuf "github.com/golang/protobuf/ptypes/any"
+import any "github.com/golang/protobuf/ptypes/any"
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
@@ -40,22 +23,44 @@ const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
// optionally parameterizable templates, and zero or more charts (dependencies).
type Chart struct {
// Contents of the Chartfile.
- Metadata *Metadata `protobuf:"bytes,1,opt,name=metadata" json:"metadata,omitempty"`
+ Metadata *Metadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"`
// Templates for this chart.
- Templates []*Template `protobuf:"bytes,2,rep,name=templates" json:"templates,omitempty"`
+ Templates []*Template `protobuf:"bytes,2,rep,name=templates,proto3" json:"templates,omitempty"`
// Charts that this chart depends on.
- Dependencies []*Chart `protobuf:"bytes,3,rep,name=dependencies" json:"dependencies,omitempty"`
+ Dependencies []*Chart `protobuf:"bytes,3,rep,name=dependencies,proto3" json:"dependencies,omitempty"`
// Default config for this template.
- Values *Config `protobuf:"bytes,4,opt,name=values" json:"values,omitempty"`
+ Values *Config `protobuf:"bytes,4,opt,name=values,proto3" json:"values,omitempty"`
// Miscellaneous files in a chart archive,
// e.g. README, LICENSE, etc.
- Files []*google_protobuf.Any `protobuf:"bytes,5,rep,name=files" json:"files,omitempty"`
+ Files []*any.Any `protobuf:"bytes,5,rep,name=files,proto3" json:"files,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Chart) Reset() { *m = Chart{} }
+func (m *Chart) String() string { return proto.CompactTextString(m) }
+func (*Chart) ProtoMessage() {}
+func (*Chart) Descriptor() ([]byte, []int) {
+ return fileDescriptor_chart_3948302f7486cf3d, []int{0}
+}
+func (m *Chart) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Chart.Unmarshal(m, b)
+}
+func (m *Chart) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Chart.Marshal(b, m, deterministic)
+}
+func (dst *Chart) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Chart.Merge(dst, src)
+}
+func (m *Chart) XXX_Size() int {
+ return xxx_messageInfo_Chart.Size(m)
+}
+func (m *Chart) XXX_DiscardUnknown() {
+ xxx_messageInfo_Chart.DiscardUnknown(m)
}
-func (m *Chart) Reset() { *m = Chart{} }
-func (m *Chart) String() string { return proto.CompactTextString(m) }
-func (*Chart) ProtoMessage() {}
-func (*Chart) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+var xxx_messageInfo_Chart proto.InternalMessageInfo
func (m *Chart) GetMetadata() *Metadata {
if m != nil {
@@ -85,7 +90,7 @@ func (m *Chart) GetValues() *Config {
return nil
}
-func (m *Chart) GetFiles() []*google_protobuf.Any {
+func (m *Chart) GetFiles() []*any.Any {
if m != nil {
return m.Files
}
@@ -96,9 +101,9 @@ func init() {
proto.RegisterType((*Chart)(nil), "hapi.chart.Chart")
}
-func init() { proto.RegisterFile("hapi/chart/chart.proto", fileDescriptor0) }
+func init() { proto.RegisterFile("hapi/chart/chart.proto", fileDescriptor_chart_3948302f7486cf3d) }
-var fileDescriptor0 = []byte{
+var fileDescriptor_chart_3948302f7486cf3d = []byte{
// 242 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x90, 0xb1, 0x4e, 0xc3, 0x30,
0x10, 0x86, 0x15, 0x4a, 0x0a, 0x1c, 0x2c, 0x58, 0x08, 0x4c, 0xa7, 0x8a, 0x09, 0x75, 0x70, 0x50,
diff --git a/vendor/k8s.io/helm/pkg/proto/hapi/chart/config.pb.go b/vendor/k8s.io/helm/pkg/proto/hapi/chart/config.pb.go
index 30c652700..9dd71ef5e 100644
--- a/vendor/k8s.io/helm/pkg/proto/hapi/chart/config.pb.go
+++ b/vendor/k8s.io/helm/pkg/proto/hapi/chart/config.pb.go
@@ -12,16 +12,44 @@ 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.ProtoPackageIsVersion2 // please upgrade the proto package
+
// Config supplies values to the parametrizable templates of a chart.
type Config struct {
- Raw string `protobuf:"bytes,1,opt,name=raw" json:"raw,omitempty"`
- Values map[string]*Value `protobuf:"bytes,2,rep,name=values" json:"values,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+ Raw string `protobuf:"bytes,1,opt,name=raw,proto3" json:"raw,omitempty"`
+ Values map[string]*Value `protobuf:"bytes,2,rep,name=values,proto3" json:"values,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Config) Reset() { *m = Config{} }
+func (m *Config) String() string { return proto.CompactTextString(m) }
+func (*Config) ProtoMessage() {}
+func (*Config) Descriptor() ([]byte, []int) {
+ return fileDescriptor_config_7b4c7a75f66363c1, []int{0}
+}
+func (m *Config) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Config.Unmarshal(m, b)
+}
+func (m *Config) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Config.Marshal(b, m, deterministic)
+}
+func (dst *Config) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Config.Merge(dst, src)
+}
+func (m *Config) XXX_Size() int {
+ return xxx_messageInfo_Config.Size(m)
+}
+func (m *Config) XXX_DiscardUnknown() {
+ xxx_messageInfo_Config.DiscardUnknown(m)
}
-func (m *Config) Reset() { *m = Config{} }
-func (m *Config) String() string { return proto.CompactTextString(m) }
-func (*Config) ProtoMessage() {}
-func (*Config) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
+var xxx_messageInfo_Config proto.InternalMessageInfo
func (m *Config) GetRaw() string {
if m != nil {
@@ -39,13 +67,35 @@ func (m *Config) GetValues() map[string]*Value {
// Value describes a configuration value as a string.
type Value struct {
- Value string `protobuf:"bytes,1,opt,name=value" json:"value,omitempty"`
+ Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Value) Reset() { *m = Value{} }
+func (m *Value) String() string { return proto.CompactTextString(m) }
+func (*Value) ProtoMessage() {}
+func (*Value) Descriptor() ([]byte, []int) {
+ return fileDescriptor_config_7b4c7a75f66363c1, []int{1}
+}
+func (m *Value) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Value.Unmarshal(m, b)
+}
+func (m *Value) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Value.Marshal(b, m, deterministic)
+}
+func (dst *Value) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Value.Merge(dst, src)
+}
+func (m *Value) XXX_Size() int {
+ return xxx_messageInfo_Value.Size(m)
+}
+func (m *Value) XXX_DiscardUnknown() {
+ xxx_messageInfo_Value.DiscardUnknown(m)
}
-func (m *Value) Reset() { *m = Value{} }
-func (m *Value) String() string { return proto.CompactTextString(m) }
-func (*Value) ProtoMessage() {}
-func (*Value) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
+var xxx_messageInfo_Value proto.InternalMessageInfo
func (m *Value) GetValue() string {
if m != nil {
@@ -56,12 +106,13 @@ func (m *Value) GetValue() string {
func init() {
proto.RegisterType((*Config)(nil), "hapi.chart.Config")
+ proto.RegisterMapType((map[string]*Value)(nil), "hapi.chart.Config.ValuesEntry")
proto.RegisterType((*Value)(nil), "hapi.chart.Value")
}
-func init() { proto.RegisterFile("hapi/chart/config.proto", fileDescriptor1) }
+func init() { proto.RegisterFile("hapi/chart/config.proto", fileDescriptor_config_7b4c7a75f66363c1) }
-var fileDescriptor1 = []byte{
+var fileDescriptor_config_7b4c7a75f66363c1 = []byte{
// 182 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0xcf, 0x48, 0x2c, 0xc8,
0xd4, 0x4f, 0xce, 0x48, 0x2c, 0x2a, 0xd1, 0x4f, 0xce, 0xcf, 0x4b, 0xcb, 0x4c, 0xd7, 0x2b, 0x28,
diff --git a/vendor/k8s.io/helm/pkg/proto/hapi/chart/metadata.pb.go b/vendor/k8s.io/helm/pkg/proto/hapi/chart/metadata.pb.go
index 9daeaa9e5..ffa3ef568 100644
--- a/vendor/k8s.io/helm/pkg/proto/hapi/chart/metadata.pb.go
+++ b/vendor/k8s.io/helm/pkg/proto/hapi/chart/metadata.pb.go
@@ -12,6 +12,12 @@ 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.ProtoPackageIsVersion2 // please upgrade the proto package
+
type Metadata_Engine int32
const (
@@ -31,22 +37,46 @@ var Metadata_Engine_value = map[string]int32{
func (x Metadata_Engine) String() string {
return proto.EnumName(Metadata_Engine_name, int32(x))
}
-func (Metadata_Engine) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{1, 0} }
+func (Metadata_Engine) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_metadata_bafee76586953fd5, []int{1, 0}
+}
// Maintainer describes a Chart maintainer.
type Maintainer struct {
// Name is a user name or organization name
- Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Email is an optional email address to contact the named maintainer
- Email string `protobuf:"bytes,2,opt,name=email" json:"email,omitempty"`
+ Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"`
// Url is an optional URL to an address for the named maintainer
- Url string `protobuf:"bytes,3,opt,name=url" json:"url,omitempty"`
+ Url string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Maintainer) Reset() { *m = Maintainer{} }
+func (m *Maintainer) String() string { return proto.CompactTextString(m) }
+func (*Maintainer) ProtoMessage() {}
+func (*Maintainer) Descriptor() ([]byte, []int) {
+ return fileDescriptor_metadata_bafee76586953fd5, []int{0}
+}
+func (m *Maintainer) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Maintainer.Unmarshal(m, b)
+}
+func (m *Maintainer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Maintainer.Marshal(b, m, deterministic)
+}
+func (dst *Maintainer) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Maintainer.Merge(dst, src)
+}
+func (m *Maintainer) XXX_Size() int {
+ return xxx_messageInfo_Maintainer.Size(m)
+}
+func (m *Maintainer) XXX_DiscardUnknown() {
+ xxx_messageInfo_Maintainer.DiscardUnknown(m)
}
-func (m *Maintainer) Reset() { *m = Maintainer{} }
-func (m *Maintainer) String() string { return proto.CompactTextString(m) }
-func (*Maintainer) ProtoMessage() {}
-func (*Maintainer) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
+var xxx_messageInfo_Maintainer proto.InternalMessageInfo
func (m *Maintainer) GetName() string {
if m != nil {
@@ -74,47 +104,69 @@ func (m *Maintainer) GetUrl() string {
// Spec: https://k8s.io/helm/blob/master/docs/design/chart_format.md#the-chart-file
type Metadata struct {
// The name of the chart
- Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// The URL to a relevant project page, git repo, or contact person
- Home string `protobuf:"bytes,2,opt,name=home" json:"home,omitempty"`
+ Home string `protobuf:"bytes,2,opt,name=home,proto3" json:"home,omitempty"`
// Source is the URL to the source code of this chart
- Sources []string `protobuf:"bytes,3,rep,name=sources" json:"sources,omitempty"`
+ Sources []string `protobuf:"bytes,3,rep,name=sources,proto3" json:"sources,omitempty"`
// A SemVer 2 conformant version string of the chart
- Version string `protobuf:"bytes,4,opt,name=version" json:"version,omitempty"`
+ Version string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"`
// A one-sentence description of the chart
- Description string `protobuf:"bytes,5,opt,name=description" json:"description,omitempty"`
+ Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"`
// A list of string keywords
- Keywords []string `protobuf:"bytes,6,rep,name=keywords" json:"keywords,omitempty"`
+ Keywords []string `protobuf:"bytes,6,rep,name=keywords,proto3" json:"keywords,omitempty"`
// A list of name and URL/email address combinations for the maintainer(s)
- Maintainers []*Maintainer `protobuf:"bytes,7,rep,name=maintainers" json:"maintainers,omitempty"`
+ Maintainers []*Maintainer `protobuf:"bytes,7,rep,name=maintainers,proto3" json:"maintainers,omitempty"`
// The name of the template engine to use. Defaults to 'gotpl'.
- Engine string `protobuf:"bytes,8,opt,name=engine" json:"engine,omitempty"`
+ Engine string `protobuf:"bytes,8,opt,name=engine,proto3" json:"engine,omitempty"`
// The URL to an icon file.
- Icon string `protobuf:"bytes,9,opt,name=icon" json:"icon,omitempty"`
+ Icon string `protobuf:"bytes,9,opt,name=icon,proto3" json:"icon,omitempty"`
// The API Version of this chart.
- ApiVersion string `protobuf:"bytes,10,opt,name=apiVersion" json:"apiVersion,omitempty"`
+ ApiVersion string `protobuf:"bytes,10,opt,name=apiVersion,proto3" json:"apiVersion,omitempty"`
// The condition to check to enable chart
- Condition string `protobuf:"bytes,11,opt,name=condition" json:"condition,omitempty"`
+ Condition string `protobuf:"bytes,11,opt,name=condition,proto3" json:"condition,omitempty"`
// The tags to check to enable chart
- Tags string `protobuf:"bytes,12,opt,name=tags" json:"tags,omitempty"`
+ Tags string `protobuf:"bytes,12,opt,name=tags,proto3" json:"tags,omitempty"`
// The version of the application enclosed inside of this chart.
- AppVersion string `protobuf:"bytes,13,opt,name=appVersion" json:"appVersion,omitempty"`
+ AppVersion string `protobuf:"bytes,13,opt,name=appVersion,proto3" json:"appVersion,omitempty"`
// Whether or not this chart is deprecated
- Deprecated bool `protobuf:"varint,14,opt,name=deprecated" json:"deprecated,omitempty"`
+ Deprecated bool `protobuf:"varint,14,opt,name=deprecated,proto3" json:"deprecated,omitempty"`
// TillerVersion is a SemVer constraints on what version of Tiller is required.
// See SemVer ranges here: https://github.com/Masterminds/semver#basic-comparisons
- TillerVersion string `protobuf:"bytes,15,opt,name=tillerVersion" json:"tillerVersion,omitempty"`
+ TillerVersion string `protobuf:"bytes,15,opt,name=tillerVersion,proto3" json:"tillerVersion,omitempty"`
// Annotations are additional mappings uninterpreted by Tiller,
// made available for inspection by other applications.
- Annotations map[string]string `protobuf:"bytes,16,rep,name=annotations" json:"annotations,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+ Annotations map[string]string `protobuf:"bytes,16,rep,name=annotations,proto3" json:"annotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// KubeVersion is a SemVer constraint specifying the version of Kubernetes required.
- KubeVersion string `protobuf:"bytes,17,opt,name=kubeVersion" json:"kubeVersion,omitempty"`
+ KubeVersion string `protobuf:"bytes,17,opt,name=kubeVersion,proto3" json:"kubeVersion,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Metadata) Reset() { *m = Metadata{} }
+func (m *Metadata) String() string { return proto.CompactTextString(m) }
+func (*Metadata) ProtoMessage() {}
+func (*Metadata) Descriptor() ([]byte, []int) {
+ return fileDescriptor_metadata_bafee76586953fd5, []int{1}
+}
+func (m *Metadata) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Metadata.Unmarshal(m, b)
+}
+func (m *Metadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Metadata.Marshal(b, m, deterministic)
+}
+func (dst *Metadata) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Metadata.Merge(dst, src)
+}
+func (m *Metadata) XXX_Size() int {
+ return xxx_messageInfo_Metadata.Size(m)
+}
+func (m *Metadata) XXX_DiscardUnknown() {
+ xxx_messageInfo_Metadata.DiscardUnknown(m)
}
-func (m *Metadata) Reset() { *m = Metadata{} }
-func (m *Metadata) String() string { return proto.CompactTextString(m) }
-func (*Metadata) ProtoMessage() {}
-func (*Metadata) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} }
+var xxx_messageInfo_Metadata proto.InternalMessageInfo
func (m *Metadata) GetName() string {
if m != nil {
@@ -238,12 +290,13 @@ func (m *Metadata) GetKubeVersion() string {
func init() {
proto.RegisterType((*Maintainer)(nil), "hapi.chart.Maintainer")
proto.RegisterType((*Metadata)(nil), "hapi.chart.Metadata")
+ proto.RegisterMapType((map[string]string)(nil), "hapi.chart.Metadata.AnnotationsEntry")
proto.RegisterEnum("hapi.chart.Metadata_Engine", Metadata_Engine_name, Metadata_Engine_value)
}
-func init() { proto.RegisterFile("hapi/chart/metadata.proto", fileDescriptor2) }
+func init() { proto.RegisterFile("hapi/chart/metadata.proto", fileDescriptor_metadata_bafee76586953fd5) }
-var fileDescriptor2 = []byte{
+var fileDescriptor_metadata_bafee76586953fd5 = []byte{
// 435 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x52, 0x5d, 0x6b, 0xd4, 0x40,
0x14, 0x35, 0xcd, 0x66, 0x77, 0x73, 0x63, 0x35, 0x0e, 0x52, 0xc6, 0x22, 0x12, 0x16, 0x85, 0x7d,
diff --git a/vendor/k8s.io/helm/pkg/proto/hapi/chart/template.pb.go b/vendor/k8s.io/helm/pkg/proto/hapi/chart/template.pb.go
index 439aec5a8..318f82f09 100644
--- a/vendor/k8s.io/helm/pkg/proto/hapi/chart/template.pb.go
+++ b/vendor/k8s.io/helm/pkg/proto/hapi/chart/template.pb.go
@@ -12,21 +12,49 @@ 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.ProtoPackageIsVersion2 // please upgrade the proto package
+
// Template represents a template as a name/value pair.
//
// By convention, name is a relative path within the scope of the chart's
// base directory.
type Template struct {
// Name is the path-like name of the template.
- Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Data is the template as byte data.
- Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
+ Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Template) Reset() { *m = Template{} }
+func (m *Template) String() string { return proto.CompactTextString(m) }
+func (*Template) ProtoMessage() {}
+func (*Template) Descriptor() ([]byte, []int) {
+ return fileDescriptor_template_926c98477d6df5e9, []int{0}
+}
+func (m *Template) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Template.Unmarshal(m, b)
+}
+func (m *Template) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Template.Marshal(b, m, deterministic)
+}
+func (dst *Template) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Template.Merge(dst, src)
+}
+func (m *Template) XXX_Size() int {
+ return xxx_messageInfo_Template.Size(m)
+}
+func (m *Template) XXX_DiscardUnknown() {
+ xxx_messageInfo_Template.DiscardUnknown(m)
}
-func (m *Template) Reset() { *m = Template{} }
-func (m *Template) String() string { return proto.CompactTextString(m) }
-func (*Template) ProtoMessage() {}
-func (*Template) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0} }
+var xxx_messageInfo_Template proto.InternalMessageInfo
func (m *Template) GetName() string {
if m != nil {
@@ -46,9 +74,9 @@ func init() {
proto.RegisterType((*Template)(nil), "hapi.chart.Template")
}
-func init() { proto.RegisterFile("hapi/chart/template.proto", fileDescriptor3) }
+func init() { proto.RegisterFile("hapi/chart/template.proto", fileDescriptor_template_926c98477d6df5e9) }
-var fileDescriptor3 = []byte{
+var fileDescriptor_template_926c98477d6df5e9 = []byte{
// 107 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0xcc, 0x48, 0x2c, 0xc8,
0xd4, 0x4f, 0xce, 0x48, 0x2c, 0x2a, 0xd1, 0x2f, 0x49, 0xcd, 0x2d, 0xc8, 0x49, 0x2c, 0x49, 0xd5,
diff --git a/vendor/k8s.io/helm/pkg/proto/hapi/release/hook.pb.go b/vendor/k8s.io/helm/pkg/proto/hapi/release/hook.pb.go
index 0a44165c8..4ce40b6eb 100644
--- a/vendor/k8s.io/helm/pkg/proto/hapi/release/hook.pb.go
+++ b/vendor/k8s.io/helm/pkg/proto/hapi/release/hook.pb.go
@@ -1,31 +1,12 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: hapi/release/hook.proto
-/*
-Package release is a generated protocol buffer package.
-
-It is generated from these files:
- hapi/release/hook.proto
- hapi/release/info.proto
- hapi/release/release.proto
- hapi/release/status.proto
- hapi/release/test_run.proto
- hapi/release/test_suite.proto
-
-It has these top-level messages:
- Hook
- Info
- Release
- Status
- TestRun
- TestSuite
-*/
package release
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
-import google_protobuf "github.com/golang/protobuf/ptypes/timestamp"
+import timestamp "github.com/golang/protobuf/ptypes/timestamp"
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
@@ -87,7 +68,9 @@ var Hook_Event_value = map[string]int32{
func (x Hook_Event) String() string {
return proto.EnumName(Hook_Event_name, int32(x))
}
-func (Hook_Event) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0, 0} }
+func (Hook_Event) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_hook_2f46a75c3171b448, []int{0, 0}
+}
type Hook_DeletePolicy int32
@@ -111,31 +94,57 @@ var Hook_DeletePolicy_value = map[string]int32{
func (x Hook_DeletePolicy) String() string {
return proto.EnumName(Hook_DeletePolicy_name, int32(x))
}
-func (Hook_DeletePolicy) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0, 1} }
+func (Hook_DeletePolicy) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_hook_2f46a75c3171b448, []int{0, 1}
+}
// Hook defines a hook object.
type Hook struct {
- Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Kind is the Kubernetes kind.
- Kind string `protobuf:"bytes,2,opt,name=kind" json:"kind,omitempty"`
+ Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"`
// Path is the chart-relative path to the template.
- Path string `protobuf:"bytes,3,opt,name=path" json:"path,omitempty"`
+ Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"`
// Manifest is the manifest contents.
- Manifest string `protobuf:"bytes,4,opt,name=manifest" json:"manifest,omitempty"`
+ Manifest string `protobuf:"bytes,4,opt,name=manifest,proto3" json:"manifest,omitempty"`
// Events are the events that this hook fires on.
- Events []Hook_Event `protobuf:"varint,5,rep,packed,name=events,enum=hapi.release.Hook_Event" json:"events,omitempty"`
+ Events []Hook_Event `protobuf:"varint,5,rep,packed,name=events,proto3,enum=hapi.release.Hook_Event" json:"events,omitempty"`
// LastRun indicates the date/time this was last run.
- LastRun *google_protobuf.Timestamp `protobuf:"bytes,6,opt,name=last_run,json=lastRun" json:"last_run,omitempty"`
+ LastRun *timestamp.Timestamp `protobuf:"bytes,6,opt,name=last_run,json=lastRun,proto3" json:"last_run,omitempty"`
// Weight indicates the sort order for execution among similar Hook type
- Weight int32 `protobuf:"varint,7,opt,name=weight" json:"weight,omitempty"`
+ Weight int32 `protobuf:"varint,7,opt,name=weight,proto3" json:"weight,omitempty"`
// DeletePolicies are the policies that indicate when to delete the hook
- DeletePolicies []Hook_DeletePolicy `protobuf:"varint,8,rep,packed,name=delete_policies,json=deletePolicies,enum=hapi.release.Hook_DeletePolicy" json:"delete_policies,omitempty"`
+ DeletePolicies []Hook_DeletePolicy `protobuf:"varint,8,rep,packed,name=delete_policies,json=deletePolicies,proto3,enum=hapi.release.Hook_DeletePolicy" json:"delete_policies,omitempty"`
+ // DeleteTimeout indicates how long to wait for a resource to be deleted before timing out
+ DeleteTimeout int64 `protobuf:"varint,9,opt,name=delete_timeout,json=deleteTimeout,proto3" json:"delete_timeout,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Hook) Reset() { *m = Hook{} }
+func (m *Hook) String() string { return proto.CompactTextString(m) }
+func (*Hook) ProtoMessage() {}
+func (*Hook) Descriptor() ([]byte, []int) {
+ return fileDescriptor_hook_2f46a75c3171b448, []int{0}
+}
+func (m *Hook) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Hook.Unmarshal(m, b)
+}
+func (m *Hook) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Hook.Marshal(b, m, deterministic)
+}
+func (dst *Hook) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Hook.Merge(dst, src)
+}
+func (m *Hook) XXX_Size() int {
+ return xxx_messageInfo_Hook.Size(m)
+}
+func (m *Hook) XXX_DiscardUnknown() {
+ xxx_messageInfo_Hook.DiscardUnknown(m)
}
-func (m *Hook) Reset() { *m = Hook{} }
-func (m *Hook) String() string { return proto.CompactTextString(m) }
-func (*Hook) ProtoMessage() {}
-func (*Hook) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+var xxx_messageInfo_Hook proto.InternalMessageInfo
func (m *Hook) GetName() string {
if m != nil {
@@ -172,7 +181,7 @@ func (m *Hook) GetEvents() []Hook_Event {
return nil
}
-func (m *Hook) GetLastRun() *google_protobuf.Timestamp {
+func (m *Hook) GetLastRun() *timestamp.Timestamp {
if m != nil {
return m.LastRun
}
@@ -193,43 +202,51 @@ func (m *Hook) GetDeletePolicies() []Hook_DeletePolicy {
return nil
}
+func (m *Hook) GetDeleteTimeout() int64 {
+ if m != nil {
+ return m.DeleteTimeout
+ }
+ return 0
+}
+
func init() {
proto.RegisterType((*Hook)(nil), "hapi.release.Hook")
proto.RegisterEnum("hapi.release.Hook_Event", Hook_Event_name, Hook_Event_value)
proto.RegisterEnum("hapi.release.Hook_DeletePolicy", Hook_DeletePolicy_name, Hook_DeletePolicy_value)
}
-func init() { proto.RegisterFile("hapi/release/hook.proto", fileDescriptor0) }
-
-var fileDescriptor0 = []byte{
- // 453 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x91, 0x51, 0x8f, 0x9a, 0x40,
- 0x10, 0x80, 0x8f, 0x53, 0x41, 0x47, 0xcf, 0xdb, 0x6e, 0x9a, 0x76, 0xe3, 0xcb, 0x19, 0x9f, 0x7c,
- 0xc2, 0xe6, 0x9a, 0xfe, 0x00, 0x84, 0xb9, 0x6a, 0x24, 0x60, 0x16, 0x4c, 0x93, 0xbe, 0x10, 0xae,
- 0xee, 0x29, 0x11, 0x81, 0x08, 0xb6, 0xe9, 0x1f, 0xed, 0x3f, 0xe8, 0xff, 0x68, 0x76, 0x45, 0x7a,
- 0x49, 0xfb, 0x36, 0xf3, 0xcd, 0xb7, 0xb3, 0x33, 0xbb, 0xf0, 0x7e, 0x1f, 0x17, 0xc9, 0xec, 0x24,
- 0x52, 0x11, 0x97, 0x62, 0xb6, 0xcf, 0xf3, 0x83, 0x59, 0x9c, 0xf2, 0x2a, 0xa7, 0x03, 0x59, 0x30,
- 0xeb, 0xc2, 0xe8, 0x61, 0x97, 0xe7, 0xbb, 0x54, 0xcc, 0x54, 0xed, 0xf9, 0xfc, 0x32, 0xab, 0x92,
- 0xa3, 0x28, 0xab, 0xf8, 0x58, 0x5c, 0xf4, 0xc9, 0xaf, 0x36, 0xb4, 0x17, 0x79, 0x7e, 0xa0, 0x14,
- 0xda, 0x59, 0x7c, 0x14, 0x4c, 0x1b, 0x6b, 0xd3, 0x1e, 0x57, 0xb1, 0x64, 0x87, 0x24, 0xdb, 0xb2,
- 0xdb, 0x0b, 0x93, 0xb1, 0x64, 0x45, 0x5c, 0xed, 0x59, 0xeb, 0xc2, 0x64, 0x4c, 0x47, 0xd0, 0x3d,
- 0xc6, 0x59, 0xf2, 0x22, 0xca, 0x8a, 0xb5, 0x15, 0x6f, 0x72, 0xfa, 0x01, 0x74, 0xf1, 0x5d, 0x64,
- 0x55, 0xc9, 0x3a, 0xe3, 0xd6, 0x74, 0xf8, 0xc8, 0xcc, 0xd7, 0x03, 0x9a, 0xf2, 0x6e, 0x13, 0xa5,
- 0xc0, 0x6b, 0x8f, 0x7e, 0x82, 0x6e, 0x1a, 0x97, 0x55, 0x74, 0x3a, 0x67, 0x4c, 0x1f, 0x6b, 0xd3,
- 0xfe, 0xe3, 0xc8, 0xbc, 0xac, 0x61, 0x5e, 0xd7, 0x30, 0xc3, 0xeb, 0x1a, 0xdc, 0x90, 0x2e, 0x3f,
- 0x67, 0xf4, 0x1d, 0xe8, 0x3f, 0x44, 0xb2, 0xdb, 0x57, 0xcc, 0x18, 0x6b, 0xd3, 0x0e, 0xaf, 0x33,
- 0xba, 0x80, 0xfb, 0xad, 0x48, 0x45, 0x25, 0xa2, 0x22, 0x4f, 0x93, 0x6f, 0x89, 0x28, 0x59, 0x57,
- 0x4d, 0xf2, 0xf0, 0x9f, 0x49, 0x1c, 0x65, 0xae, 0xa5, 0xf8, 0x93, 0x0f, 0xb7, 0x7f, 0xb3, 0x44,
- 0x94, 0x93, 0xdf, 0x1a, 0x74, 0xd4, 0xa8, 0xb4, 0x0f, 0xc6, 0xc6, 0x5b, 0x79, 0xfe, 0x17, 0x8f,
- 0xdc, 0xd0, 0x7b, 0xe8, 0xaf, 0x39, 0x46, 0x4b, 0x2f, 0x08, 0x2d, 0xd7, 0x25, 0x1a, 0x25, 0x30,
- 0x58, 0xfb, 0x41, 0xd8, 0x90, 0x5b, 0x3a, 0x04, 0x90, 0x8a, 0x83, 0x2e, 0x86, 0x48, 0x5a, 0xea,
- 0x88, 0x34, 0x6a, 0xd0, 0xbe, 0xf6, 0xd8, 0xac, 0x3f, 0x73, 0xcb, 0x41, 0xd2, 0x69, 0x7a, 0x5c,
- 0x89, 0xae, 0x08, 0xc7, 0x88, 0xfb, 0xae, 0x3b, 0xb7, 0xec, 0x15, 0x31, 0xe8, 0x1b, 0xb8, 0x53,
- 0x4e, 0x83, 0xba, 0x94, 0xc1, 0x5b, 0x8e, 0x2e, 0x5a, 0x01, 0x46, 0x21, 0x06, 0x61, 0x14, 0x6c,
- 0x6c, 0x1b, 0x83, 0x80, 0xf4, 0xfe, 0xa9, 0x3c, 0x59, 0x4b, 0x77, 0xc3, 0x91, 0x80, 0xbc, 0xdb,
- 0xe6, 0x4e, 0x33, 0x6d, 0x7f, 0x62, 0xc3, 0xe0, 0xf5, 0x3b, 0xd0, 0x3b, 0xe8, 0xa9, 0x3e, 0xe8,
- 0xa0, 0x43, 0x6e, 0x28, 0x80, 0x2e, 0x0f, 0xa3, 0x43, 0x34, 0xd9, 0x75, 0x8e, 0x4f, 0x3e, 0xc7,
- 0x68, 0xe1, 0xfb, 0xab, 0xc8, 0xe6, 0x68, 0x85, 0x4b, 0xdf, 0x23, 0xb7, 0xf3, 0xde, 0x57, 0xa3,
- 0x7e, 0xd9, 0x67, 0x5d, 0x7d, 0xdb, 0xc7, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x3b, 0xcf, 0xed,
- 0xd9, 0xb4, 0x02, 0x00, 0x00,
+func init() { proto.RegisterFile("hapi/release/hook.proto", fileDescriptor_hook_2f46a75c3171b448) }
+
+var fileDescriptor_hook_2f46a75c3171b448 = []byte{
+ // 473 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x91, 0xdb, 0x8e, 0xda, 0x3c,
+ 0x10, 0x80, 0x37, 0x1c, 0x02, 0x0c, 0x87, 0xf5, 0x6f, 0xfd, 0x6a, 0x2d, 0x6e, 0x16, 0x21, 0x55,
+ 0xe2, 0x2a, 0x54, 0x5b, 0xf5, 0x01, 0x42, 0xe2, 0x2d, 0x88, 0x88, 0x20, 0x27, 0xa8, 0x52, 0x6f,
+ 0xa2, 0x6c, 0xf1, 0x42, 0x44, 0x88, 0x23, 0x62, 0x5a, 0xf5, 0x81, 0xfb, 0x18, 0x95, 0x2a, 0x3b,
+ 0x21, 0x5d, 0xa9, 0xbd, 0x9b, 0xf9, 0xe6, 0xf3, 0x78, 0xc6, 0x86, 0xb7, 0xc7, 0x38, 0x4f, 0xe6,
+ 0x17, 0x9e, 0xf2, 0xb8, 0xe0, 0xf3, 0xa3, 0x10, 0x27, 0x2b, 0xbf, 0x08, 0x29, 0xf0, 0x40, 0x15,
+ 0xac, 0xaa, 0x30, 0x7e, 0x38, 0x08, 0x71, 0x48, 0xf9, 0x5c, 0xd7, 0x9e, 0xaf, 0x2f, 0x73, 0x99,
+ 0x9c, 0x79, 0x21, 0xe3, 0x73, 0x5e, 0xea, 0xd3, 0x5f, 0x2d, 0x68, 0x2d, 0x85, 0x38, 0x61, 0x0c,
+ 0xad, 0x2c, 0x3e, 0x73, 0x62, 0x4c, 0x8c, 0x59, 0x8f, 0xe9, 0x58, 0xb1, 0x53, 0x92, 0xed, 0x49,
+ 0xa3, 0x64, 0x2a, 0x56, 0x2c, 0x8f, 0xe5, 0x91, 0x34, 0x4b, 0xa6, 0x62, 0x3c, 0x86, 0xee, 0x39,
+ 0xce, 0x92, 0x17, 0x5e, 0x48, 0xd2, 0xd2, 0xbc, 0xce, 0xf1, 0x7b, 0x30, 0xf9, 0x37, 0x9e, 0xc9,
+ 0x82, 0xb4, 0x27, 0xcd, 0xd9, 0xe8, 0x91, 0x58, 0xaf, 0x07, 0xb4, 0xd4, 0xdd, 0x16, 0x55, 0x02,
+ 0xab, 0x3c, 0xfc, 0x11, 0xba, 0x69, 0x5c, 0xc8, 0xe8, 0x72, 0xcd, 0x88, 0x39, 0x31, 0x66, 0xfd,
+ 0xc7, 0xb1, 0x55, 0xae, 0x61, 0xdd, 0xd6, 0xb0, 0xc2, 0xdb, 0x1a, 0xac, 0xa3, 0x5c, 0x76, 0xcd,
+ 0xf0, 0x1b, 0x30, 0xbf, 0xf3, 0xe4, 0x70, 0x94, 0xa4, 0x33, 0x31, 0x66, 0x6d, 0x56, 0x65, 0x78,
+ 0x09, 0xf7, 0x7b, 0x9e, 0x72, 0xc9, 0xa3, 0x5c, 0xa4, 0xc9, 0xd7, 0x84, 0x17, 0xa4, 0xab, 0x27,
+ 0x79, 0xf8, 0xc7, 0x24, 0xae, 0x36, 0xb7, 0x4a, 0xfc, 0xc1, 0x46, 0xfb, 0x3f, 0x59, 0xc2, 0x0b,
+ 0xfc, 0x0e, 0x2a, 0x12, 0xa9, 0x57, 0x14, 0x57, 0x49, 0x7a, 0x13, 0x63, 0xd6, 0x64, 0xc3, 0x92,
+ 0x86, 0x25, 0x9c, 0xfe, 0x34, 0xa0, 0xad, 0x37, 0xc2, 0x7d, 0xe8, 0xec, 0x36, 0xeb, 0x8d, 0xff,
+ 0x79, 0x83, 0xee, 0xf0, 0x3d, 0xf4, 0xb7, 0x8c, 0x46, 0xab, 0x4d, 0x10, 0xda, 0x9e, 0x87, 0x0c,
+ 0x8c, 0x60, 0xb0, 0xf5, 0x83, 0xb0, 0x26, 0x0d, 0x3c, 0x02, 0x50, 0x8a, 0x4b, 0x3d, 0x1a, 0x52,
+ 0xd4, 0xd4, 0x47, 0x94, 0x51, 0x81, 0xd6, 0xad, 0xc7, 0x6e, 0xfb, 0x89, 0xd9, 0x2e, 0x45, 0xed,
+ 0xba, 0xc7, 0x8d, 0x98, 0x9a, 0x30, 0x1a, 0x31, 0xdf, 0xf3, 0x16, 0xb6, 0xb3, 0x46, 0x1d, 0xfc,
+ 0x1f, 0x0c, 0xb5, 0x53, 0xa3, 0x2e, 0x26, 0xf0, 0x3f, 0xa3, 0x1e, 0xb5, 0x03, 0x1a, 0x85, 0x34,
+ 0x08, 0xa3, 0x60, 0xe7, 0x38, 0x34, 0x08, 0x50, 0xef, 0xaf, 0xca, 0x93, 0xbd, 0xf2, 0x76, 0x8c,
+ 0x22, 0x50, 0x77, 0x3b, 0xcc, 0xad, 0xa7, 0xed, 0x4f, 0x1d, 0x18, 0xbc, 0x7e, 0x2e, 0x3c, 0x84,
+ 0x9e, 0xee, 0x43, 0x5d, 0xea, 0xa2, 0x3b, 0x0c, 0x60, 0xaa, 0xc3, 0xd4, 0x45, 0x86, 0xea, 0xba,
+ 0xa0, 0x4f, 0x3e, 0xa3, 0xd1, 0xd2, 0xf7, 0xd7, 0x91, 0xc3, 0xa8, 0x1d, 0xae, 0xfc, 0x0d, 0x6a,
+ 0x2c, 0x7a, 0x5f, 0x3a, 0xd5, 0x07, 0x3c, 0x9b, 0xfa, 0x77, 0x3f, 0xfc, 0x0e, 0x00, 0x00, 0xff,
+ 0xff, 0xce, 0x84, 0xd9, 0x98, 0xdb, 0x02, 0x00, 0x00,
}
diff --git a/vendor/k8s.io/helm/pkg/proto/hapi/release/info.pb.go b/vendor/k8s.io/helm/pkg/proto/hapi/release/info.pb.go
index 7a7ccdd74..f7de56931 100644
--- a/vendor/k8s.io/helm/pkg/proto/hapi/release/info.pb.go
+++ b/vendor/k8s.io/helm/pkg/proto/hapi/release/info.pb.go
@@ -6,28 +6,56 @@ package release
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
-import google_protobuf "github.com/golang/protobuf/ptypes/timestamp"
+import timestamp "github.com/golang/protobuf/ptypes/timestamp"
// 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.ProtoPackageIsVersion2 // please upgrade the proto package
+
// Info describes release information.
type Info struct {
- Status *Status `protobuf:"bytes,1,opt,name=status" json:"status,omitempty"`
- FirstDeployed *google_protobuf.Timestamp `protobuf:"bytes,2,opt,name=first_deployed,json=firstDeployed" json:"first_deployed,omitempty"`
- LastDeployed *google_protobuf.Timestamp `protobuf:"bytes,3,opt,name=last_deployed,json=lastDeployed" json:"last_deployed,omitempty"`
+ Status *Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
+ FirstDeployed *timestamp.Timestamp `protobuf:"bytes,2,opt,name=first_deployed,json=firstDeployed,proto3" json:"first_deployed,omitempty"`
+ LastDeployed *timestamp.Timestamp `protobuf:"bytes,3,opt,name=last_deployed,json=lastDeployed,proto3" json:"last_deployed,omitempty"`
// Deleted tracks when this object was deleted.
- Deleted *google_protobuf.Timestamp `protobuf:"bytes,4,opt,name=deleted" json:"deleted,omitempty"`
+ Deleted *timestamp.Timestamp `protobuf:"bytes,4,opt,name=deleted,proto3" json:"deleted,omitempty"`
// Description is human-friendly "log entry" about this release.
- Description string `protobuf:"bytes,5,opt,name=Description" json:"Description,omitempty"`
+ Description string `protobuf:"bytes,5,opt,name=Description,proto3" json:"Description,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Info) Reset() { *m = Info{} }
+func (m *Info) String() string { return proto.CompactTextString(m) }
+func (*Info) ProtoMessage() {}
+func (*Info) Descriptor() ([]byte, []int) {
+ return fileDescriptor_info_a0e9dd6d22b13366, []int{0}
+}
+func (m *Info) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Info.Unmarshal(m, b)
+}
+func (m *Info) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Info.Marshal(b, m, deterministic)
+}
+func (dst *Info) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Info.Merge(dst, src)
+}
+func (m *Info) XXX_Size() int {
+ return xxx_messageInfo_Info.Size(m)
+}
+func (m *Info) XXX_DiscardUnknown() {
+ xxx_messageInfo_Info.DiscardUnknown(m)
}
-func (m *Info) Reset() { *m = Info{} }
-func (m *Info) String() string { return proto.CompactTextString(m) }
-func (*Info) ProtoMessage() {}
-func (*Info) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
+var xxx_messageInfo_Info proto.InternalMessageInfo
func (m *Info) GetStatus() *Status {
if m != nil {
@@ -36,21 +64,21 @@ func (m *Info) GetStatus() *Status {
return nil
}
-func (m *Info) GetFirstDeployed() *google_protobuf.Timestamp {
+func (m *Info) GetFirstDeployed() *timestamp.Timestamp {
if m != nil {
return m.FirstDeployed
}
return nil
}
-func (m *Info) GetLastDeployed() *google_protobuf.Timestamp {
+func (m *Info) GetLastDeployed() *timestamp.Timestamp {
if m != nil {
return m.LastDeployed
}
return nil
}
-func (m *Info) GetDeleted() *google_protobuf.Timestamp {
+func (m *Info) GetDeleted() *timestamp.Timestamp {
if m != nil {
return m.Deleted
}
@@ -68,9 +96,9 @@ func init() {
proto.RegisterType((*Info)(nil), "hapi.release.Info")
}
-func init() { proto.RegisterFile("hapi/release/info.proto", fileDescriptor1) }
+func init() { proto.RegisterFile("hapi/release/info.proto", fileDescriptor_info_a0e9dd6d22b13366) }
-var fileDescriptor1 = []byte{
+var fileDescriptor_info_a0e9dd6d22b13366 = []byte{
// 235 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x8f, 0x31, 0x4f, 0xc3, 0x30,
0x10, 0x85, 0x95, 0x52, 0x5a, 0xd5, 0x6d, 0x19, 0x2c, 0x24, 0x42, 0x16, 0x22, 0xa6, 0x0e, 0xc8,
diff --git a/vendor/k8s.io/helm/pkg/proto/hapi/release/release.pb.go b/vendor/k8s.io/helm/pkg/proto/hapi/release/release.pb.go
index 511b543d7..f87decd72 100644
--- a/vendor/k8s.io/helm/pkg/proto/hapi/release/release.pb.go
+++ b/vendor/k8s.io/helm/pkg/proto/hapi/release/release.pb.go
@@ -6,40 +6,67 @@ package release
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
-import hapi_chart "k8s.io/helm/pkg/proto/hapi/chart"
-import hapi_chart3 "k8s.io/helm/pkg/proto/hapi/chart"
+import chart "k8s.io/helm/pkg/proto/hapi/chart"
// 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.ProtoPackageIsVersion2 // please upgrade the proto package
+
// Release describes a deployment of a chart, together with the chart
// and the variables used to deploy that chart.
type Release struct {
// Name is the name of the release
- Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Info provides information about a release
- Info *Info `protobuf:"bytes,2,opt,name=info" json:"info,omitempty"`
+ Info *Info `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"`
// Chart is the chart that was released.
- Chart *hapi_chart3.Chart `protobuf:"bytes,3,opt,name=chart" json:"chart,omitempty"`
+ Chart *chart.Chart `protobuf:"bytes,3,opt,name=chart,proto3" json:"chart,omitempty"`
// Config is the set of extra Values added to the chart.
// These values override the default values inside of the chart.
- Config *hapi_chart.Config `protobuf:"bytes,4,opt,name=config" json:"config,omitempty"`
+ Config *chart.Config `protobuf:"bytes,4,opt,name=config,proto3" json:"config,omitempty"`
// Manifest is the string representation of the rendered template.
- Manifest string `protobuf:"bytes,5,opt,name=manifest" json:"manifest,omitempty"`
+ Manifest string `protobuf:"bytes,5,opt,name=manifest,proto3" json:"manifest,omitempty"`
// Hooks are all of the hooks declared for this release.
- Hooks []*Hook `protobuf:"bytes,6,rep,name=hooks" json:"hooks,omitempty"`
+ Hooks []*Hook `protobuf:"bytes,6,rep,name=hooks,proto3" json:"hooks,omitempty"`
// Version is an int32 which represents the version of the release.
- Version int32 `protobuf:"varint,7,opt,name=version" json:"version,omitempty"`
+ Version int32 `protobuf:"varint,7,opt,name=version,proto3" json:"version,omitempty"`
// Namespace is the kubernetes namespace of the release.
- Namespace string `protobuf:"bytes,8,opt,name=namespace" json:"namespace,omitempty"`
+ Namespace string `protobuf:"bytes,8,opt,name=namespace,proto3" json:"namespace,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Release) Reset() { *m = Release{} }
+func (m *Release) String() string { return proto.CompactTextString(m) }
+func (*Release) ProtoMessage() {}
+func (*Release) Descriptor() ([]byte, []int) {
+ return fileDescriptor_release_fa600adfb1fffc82, []int{0}
+}
+func (m *Release) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Release.Unmarshal(m, b)
+}
+func (m *Release) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Release.Marshal(b, m, deterministic)
+}
+func (dst *Release) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Release.Merge(dst, src)
+}
+func (m *Release) XXX_Size() int {
+ return xxx_messageInfo_Release.Size(m)
+}
+func (m *Release) XXX_DiscardUnknown() {
+ xxx_messageInfo_Release.DiscardUnknown(m)
}
-func (m *Release) Reset() { *m = Release{} }
-func (m *Release) String() string { return proto.CompactTextString(m) }
-func (*Release) ProtoMessage() {}
-func (*Release) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
+var xxx_messageInfo_Release proto.InternalMessageInfo
func (m *Release) GetName() string {
if m != nil {
@@ -55,14 +82,14 @@ func (m *Release) GetInfo() *Info {
return nil
}
-func (m *Release) GetChart() *hapi_chart3.Chart {
+func (m *Release) GetChart() *chart.Chart {
if m != nil {
return m.Chart
}
return nil
}
-func (m *Release) GetConfig() *hapi_chart.Config {
+func (m *Release) GetConfig() *chart.Config {
if m != nil {
return m.Config
}
@@ -101,9 +128,9 @@ func init() {
proto.RegisterType((*Release)(nil), "hapi.release.Release")
}
-func init() { proto.RegisterFile("hapi/release/release.proto", fileDescriptor2) }
+func init() { proto.RegisterFile("hapi/release/release.proto", fileDescriptor_release_fa600adfb1fffc82) }
-var fileDescriptor2 = []byte{
+var fileDescriptor_release_fa600adfb1fffc82 = []byte{
// 256 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x90, 0xbf, 0x4e, 0xc3, 0x40,
0x0c, 0xc6, 0x95, 0x36, 0x7f, 0x1a, 0xc3, 0x82, 0x07, 0xb0, 0x22, 0x86, 0x88, 0x01, 0x22, 0x86,
diff --git a/vendor/k8s.io/helm/pkg/proto/hapi/release/status.pb.go b/vendor/k8s.io/helm/pkg/proto/hapi/release/status.pb.go
index 284892642..39f75bab6 100644
--- a/vendor/k8s.io/helm/pkg/proto/hapi/release/status.pb.go
+++ b/vendor/k8s.io/helm/pkg/proto/hapi/release/status.pb.go
@@ -13,6 +13,12 @@ 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.ProtoPackageIsVersion2 // please upgrade the proto package
+
type Status_Code int32
const (
@@ -20,7 +26,7 @@ const (
Status_UNKNOWN Status_Code = 0
// Status_DEPLOYED indicates that the release has been pushed to Kubernetes.
Status_DEPLOYED Status_Code = 1
- // Status_DELETED indicates that a release has been deleted from Kubermetes.
+ // Status_DELETED indicates that a release has been deleted from Kubernetes.
Status_DELETED Status_Code = 2
// Status_SUPERSEDED indicates that this release object is outdated and a newer one exists.
Status_SUPERSEDED Status_Code = 3
@@ -32,7 +38,7 @@ const (
Status_PENDING_INSTALL Status_Code = 6
// Status_PENDING_UPGRADE indicates that an upgrade operation is underway.
Status_PENDING_UPGRADE Status_Code = 7
- // Status_PENDING_ROLLBACK indicates that an rollback operation is underway.
+ // Status_PENDING_ROLLBACK indicates that a rollback operation is underway.
Status_PENDING_ROLLBACK Status_Code = 8
)
@@ -62,23 +68,47 @@ var Status_Code_value = map[string]int32{
func (x Status_Code) String() string {
return proto.EnumName(Status_Code_name, int32(x))
}
-func (Status_Code) EnumDescriptor() ([]byte, []int) { return fileDescriptor3, []int{0, 0} }
+func (Status_Code) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_status_59977299d7c48665, []int{0, 0}
+}
// Status defines the status of a release.
type Status struct {
- Code Status_Code `protobuf:"varint,1,opt,name=code,enum=hapi.release.Status_Code" json:"code,omitempty"`
+ Code Status_Code `protobuf:"varint,1,opt,name=code,proto3,enum=hapi.release.Status_Code" json:"code,omitempty"`
// Cluster resources as kubectl would print them.
- Resources string `protobuf:"bytes,3,opt,name=resources" json:"resources,omitempty"`
+ Resources string `protobuf:"bytes,3,opt,name=resources,proto3" json:"resources,omitempty"`
// Contains the rendered templates/NOTES.txt if available
- Notes string `protobuf:"bytes,4,opt,name=notes" json:"notes,omitempty"`
+ Notes string `protobuf:"bytes,4,opt,name=notes,proto3" json:"notes,omitempty"`
// LastTestSuiteRun provides results on the last test run on a release
- LastTestSuiteRun *TestSuite `protobuf:"bytes,5,opt,name=last_test_suite_run,json=lastTestSuiteRun" json:"last_test_suite_run,omitempty"`
+ LastTestSuiteRun *TestSuite `protobuf:"bytes,5,opt,name=last_test_suite_run,json=lastTestSuiteRun,proto3" json:"last_test_suite_run,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Status) Reset() { *m = Status{} }
+func (m *Status) String() string { return proto.CompactTextString(m) }
+func (*Status) ProtoMessage() {}
+func (*Status) Descriptor() ([]byte, []int) {
+ return fileDescriptor_status_59977299d7c48665, []int{0}
+}
+func (m *Status) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Status.Unmarshal(m, b)
+}
+func (m *Status) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Status.Marshal(b, m, deterministic)
+}
+func (dst *Status) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Status.Merge(dst, src)
+}
+func (m *Status) XXX_Size() int {
+ return xxx_messageInfo_Status.Size(m)
+}
+func (m *Status) XXX_DiscardUnknown() {
+ xxx_messageInfo_Status.DiscardUnknown(m)
}
-func (m *Status) Reset() { *m = Status{} }
-func (m *Status) String() string { return proto.CompactTextString(m) }
-func (*Status) ProtoMessage() {}
-func (*Status) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0} }
+var xxx_messageInfo_Status proto.InternalMessageInfo
func (m *Status) GetCode() Status_Code {
if m != nil {
@@ -113,9 +143,9 @@ func init() {
proto.RegisterEnum("hapi.release.Status_Code", Status_Code_name, Status_Code_value)
}
-func init() { proto.RegisterFile("hapi/release/status.proto", fileDescriptor3) }
+func init() { proto.RegisterFile("hapi/release/status.proto", fileDescriptor_status_59977299d7c48665) }
-var fileDescriptor3 = []byte{
+var fileDescriptor_status_59977299d7c48665 = []byte{
// 333 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x90, 0xd1, 0x6e, 0xa2, 0x40,
0x14, 0x86, 0x17, 0x45, 0xd4, 0xa3, 0x71, 0x27, 0xa3, 0xc9, 0xa2, 0xd9, 0x4d, 0x8c, 0x57, 0xde,
diff --git a/vendor/k8s.io/helm/pkg/proto/hapi/release/test_run.pb.go b/vendor/k8s.io/helm/pkg/proto/hapi/release/test_run.pb.go
index 4d39d17c2..93460f798 100644
--- a/vendor/k8s.io/helm/pkg/proto/hapi/release/test_run.pb.go
+++ b/vendor/k8s.io/helm/pkg/proto/hapi/release/test_run.pb.go
@@ -6,13 +6,19 @@ package release
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
-import google_protobuf "github.com/golang/protobuf/ptypes/timestamp"
+import timestamp "github.com/golang/protobuf/ptypes/timestamp"
// 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.ProtoPackageIsVersion2 // please upgrade the proto package
+
type TestRun_Status int32
const (
@@ -38,20 +44,44 @@ var TestRun_Status_value = map[string]int32{
func (x TestRun_Status) String() string {
return proto.EnumName(TestRun_Status_name, int32(x))
}
-func (TestRun_Status) EnumDescriptor() ([]byte, []int) { return fileDescriptor4, []int{0, 0} }
+func (TestRun_Status) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_test_run_3a2eb78f132e5146, []int{0, 0}
+}
type TestRun struct {
- Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
- Status TestRun_Status `protobuf:"varint,2,opt,name=status,enum=hapi.release.TestRun_Status" json:"status,omitempty"`
- Info string `protobuf:"bytes,3,opt,name=info" json:"info,omitempty"`
- StartedAt *google_protobuf.Timestamp `protobuf:"bytes,4,opt,name=started_at,json=startedAt" json:"started_at,omitempty"`
- CompletedAt *google_protobuf.Timestamp `protobuf:"bytes,5,opt,name=completed_at,json=completedAt" json:"completed_at,omitempty"`
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ Status TestRun_Status `protobuf:"varint,2,opt,name=status,proto3,enum=hapi.release.TestRun_Status" json:"status,omitempty"`
+ Info string `protobuf:"bytes,3,opt,name=info,proto3" json:"info,omitempty"`
+ StartedAt *timestamp.Timestamp `protobuf:"bytes,4,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"`
+ CompletedAt *timestamp.Timestamp `protobuf:"bytes,5,opt,name=completed_at,json=completedAt,proto3" json:"completed_at,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
}
-func (m *TestRun) Reset() { *m = TestRun{} }
-func (m *TestRun) String() string { return proto.CompactTextString(m) }
-func (*TestRun) ProtoMessage() {}
-func (*TestRun) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{0} }
+func (m *TestRun) Reset() { *m = TestRun{} }
+func (m *TestRun) String() string { return proto.CompactTextString(m) }
+func (*TestRun) ProtoMessage() {}
+func (*TestRun) Descriptor() ([]byte, []int) {
+ return fileDescriptor_test_run_3a2eb78f132e5146, []int{0}
+}
+func (m *TestRun) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_TestRun.Unmarshal(m, b)
+}
+func (m *TestRun) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_TestRun.Marshal(b, m, deterministic)
+}
+func (dst *TestRun) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_TestRun.Merge(dst, src)
+}
+func (m *TestRun) XXX_Size() int {
+ return xxx_messageInfo_TestRun.Size(m)
+}
+func (m *TestRun) XXX_DiscardUnknown() {
+ xxx_messageInfo_TestRun.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_TestRun proto.InternalMessageInfo
func (m *TestRun) GetName() string {
if m != nil {
@@ -74,14 +104,14 @@ func (m *TestRun) GetInfo() string {
return ""
}
-func (m *TestRun) GetStartedAt() *google_protobuf.Timestamp {
+func (m *TestRun) GetStartedAt() *timestamp.Timestamp {
if m != nil {
return m.StartedAt
}
return nil
}
-func (m *TestRun) GetCompletedAt() *google_protobuf.Timestamp {
+func (m *TestRun) GetCompletedAt() *timestamp.Timestamp {
if m != nil {
return m.CompletedAt
}
@@ -93,9 +123,11 @@ func init() {
proto.RegisterEnum("hapi.release.TestRun_Status", TestRun_Status_name, TestRun_Status_value)
}
-func init() { proto.RegisterFile("hapi/release/test_run.proto", fileDescriptor4) }
+func init() {
+ proto.RegisterFile("hapi/release/test_run.proto", fileDescriptor_test_run_3a2eb78f132e5146)
+}
-var fileDescriptor4 = []byte{
+var fileDescriptor_test_run_3a2eb78f132e5146 = []byte{
// 274 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x8f, 0xc1, 0x4b, 0xfb, 0x30,
0x1c, 0xc5, 0x7f, 0xe9, 0xf6, 0x6b, 0x69, 0x3a, 0xa4, 0xe4, 0x54, 0xa6, 0x60, 0xd9, 0xa9, 0xa7,
diff --git a/vendor/k8s.io/helm/pkg/proto/hapi/release/test_suite.pb.go b/vendor/k8s.io/helm/pkg/proto/hapi/release/test_suite.pb.go
index b7fa26147..ba1e5e447 100644
--- a/vendor/k8s.io/helm/pkg/proto/hapi/release/test_suite.pb.go
+++ b/vendor/k8s.io/helm/pkg/proto/hapi/release/test_suite.pb.go
@@ -6,36 +6,64 @@ package release
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
-import google_protobuf "github.com/golang/protobuf/ptypes/timestamp"
+import timestamp "github.com/golang/protobuf/ptypes/timestamp"
// 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.ProtoPackageIsVersion2 // please upgrade the proto package
+
// TestSuite comprises of the last run of the pre-defined test suite of a release version
type TestSuite struct {
// StartedAt indicates the date/time this test suite was kicked off
- StartedAt *google_protobuf.Timestamp `protobuf:"bytes,1,opt,name=started_at,json=startedAt" json:"started_at,omitempty"`
+ StartedAt *timestamp.Timestamp `protobuf:"bytes,1,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"`
// CompletedAt indicates the date/time this test suite was completed
- CompletedAt *google_protobuf.Timestamp `protobuf:"bytes,2,opt,name=completed_at,json=completedAt" json:"completed_at,omitempty"`
+ CompletedAt *timestamp.Timestamp `protobuf:"bytes,2,opt,name=completed_at,json=completedAt,proto3" json:"completed_at,omitempty"`
// Results are the results of each segment of the test
- Results []*TestRun `protobuf:"bytes,3,rep,name=results" json:"results,omitempty"`
+ Results []*TestRun `protobuf:"bytes,3,rep,name=results,proto3" json:"results,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *TestSuite) Reset() { *m = TestSuite{} }
+func (m *TestSuite) String() string { return proto.CompactTextString(m) }
+func (*TestSuite) ProtoMessage() {}
+func (*TestSuite) Descriptor() ([]byte, []int) {
+ return fileDescriptor_test_suite_97a98e0ba80794de, []int{0}
+}
+func (m *TestSuite) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_TestSuite.Unmarshal(m, b)
+}
+func (m *TestSuite) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_TestSuite.Marshal(b, m, deterministic)
+}
+func (dst *TestSuite) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_TestSuite.Merge(dst, src)
+}
+func (m *TestSuite) XXX_Size() int {
+ return xxx_messageInfo_TestSuite.Size(m)
+}
+func (m *TestSuite) XXX_DiscardUnknown() {
+ xxx_messageInfo_TestSuite.DiscardUnknown(m)
}
-func (m *TestSuite) Reset() { *m = TestSuite{} }
-func (m *TestSuite) String() string { return proto.CompactTextString(m) }
-func (*TestSuite) ProtoMessage() {}
-func (*TestSuite) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{0} }
+var xxx_messageInfo_TestSuite proto.InternalMessageInfo
-func (m *TestSuite) GetStartedAt() *google_protobuf.Timestamp {
+func (m *TestSuite) GetStartedAt() *timestamp.Timestamp {
if m != nil {
return m.StartedAt
}
return nil
}
-func (m *TestSuite) GetCompletedAt() *google_protobuf.Timestamp {
+func (m *TestSuite) GetCompletedAt() *timestamp.Timestamp {
if m != nil {
return m.CompletedAt
}
@@ -53,9 +81,11 @@ func init() {
proto.RegisterType((*TestSuite)(nil), "hapi.release.TestSuite")
}
-func init() { proto.RegisterFile("hapi/release/test_suite.proto", fileDescriptor5) }
+func init() {
+ proto.RegisterFile("hapi/release/test_suite.proto", fileDescriptor_test_suite_97a98e0ba80794de)
+}
-var fileDescriptor5 = []byte{
+var fileDescriptor_test_suite_97a98e0ba80794de = []byte{
// 207 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x8f, 0xc1, 0x4a, 0x86, 0x40,
0x14, 0x85, 0x31, 0x21, 0x71, 0x74, 0x35, 0x10, 0x88, 0x11, 0x49, 0x2b, 0x57, 0x33, 0x60, 0xab,
diff --git a/vendor/k8s.io/helm/pkg/proto/hapi/version/version.pb.go b/vendor/k8s.io/helm/pkg/proto/hapi/version/version.pb.go
index 13c8568f0..e51def8e2 100644
--- a/vendor/k8s.io/helm/pkg/proto/hapi/version/version.pb.go
+++ b/vendor/k8s.io/helm/pkg/proto/hapi/version/version.pb.go
@@ -1,15 +1,6 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: hapi/version/version.proto
-/*
-Package version is a generated protocol buffer package.
-
-It is generated from these files:
- hapi/version/version.proto
-
-It has these top-level messages:
- Version
-*/
package version
import proto "github.com/golang/protobuf/proto"
@@ -29,15 +20,37 @@ const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
type Version struct {
// Sem ver string for the version
- SemVer string `protobuf:"bytes,1,opt,name=sem_ver,json=semVer" json:"sem_ver,omitempty"`
- GitCommit string `protobuf:"bytes,2,opt,name=git_commit,json=gitCommit" json:"git_commit,omitempty"`
- GitTreeState string `protobuf:"bytes,3,opt,name=git_tree_state,json=gitTreeState" json:"git_tree_state,omitempty"`
+ SemVer string `protobuf:"bytes,1,opt,name=sem_ver,json=semVer,proto3" json:"sem_ver,omitempty"`
+ GitCommit string `protobuf:"bytes,2,opt,name=git_commit,json=gitCommit,proto3" json:"git_commit,omitempty"`
+ GitTreeState string `protobuf:"bytes,3,opt,name=git_tree_state,json=gitTreeState,proto3" json:"git_tree_state,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Version) Reset() { *m = Version{} }
+func (m *Version) String() string { return proto.CompactTextString(m) }
+func (*Version) ProtoMessage() {}
+func (*Version) Descriptor() ([]byte, []int) {
+ return fileDescriptor_version_10859f2d56ed17fa, []int{0}
+}
+func (m *Version) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Version.Unmarshal(m, b)
+}
+func (m *Version) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Version.Marshal(b, m, deterministic)
+}
+func (dst *Version) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Version.Merge(dst, src)
+}
+func (m *Version) XXX_Size() int {
+ return xxx_messageInfo_Version.Size(m)
+}
+func (m *Version) XXX_DiscardUnknown() {
+ xxx_messageInfo_Version.DiscardUnknown(m)
}
-func (m *Version) Reset() { *m = Version{} }
-func (m *Version) String() string { return proto.CompactTextString(m) }
-func (*Version) ProtoMessage() {}
-func (*Version) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+var xxx_messageInfo_Version proto.InternalMessageInfo
func (m *Version) GetSemVer() string {
if m != nil {
@@ -64,9 +77,9 @@ func init() {
proto.RegisterType((*Version)(nil), "hapi.version.Version")
}
-func init() { proto.RegisterFile("hapi/version/version.proto", fileDescriptor0) }
+func init() { proto.RegisterFile("hapi/version/version.proto", fileDescriptor_version_10859f2d56ed17fa) }
-var fileDescriptor0 = []byte{
+var fileDescriptor_version_10859f2d56ed17fa = []byte{
// 151 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0xca, 0x48, 0x2c, 0xc8,
0xd4, 0x2f, 0x4b, 0x2d, 0x2a, 0xce, 0xcc, 0xcf, 0x83, 0xd1, 0x7a, 0x05, 0x45, 0xf9, 0x25, 0xf9,
diff --git a/vendor/k8s.io/helm/pkg/provenance/sign.go b/vendor/k8s.io/helm/pkg/provenance/sign.go
index 5e23c2dda..d0e4d06c7 100644
--- a/vendor/k8s.io/helm/pkg/provenance/sign.go
+++ b/vendor/k8s.io/helm/pkg/provenance/sign.go
@@ -122,7 +122,7 @@ func NewFromKeyring(keyringfile, id string) (*Signatory, error) {
return s, nil
}
- // We're gonna go all GnuPG on this and look for a string that _contains_. If
+ // We're going to go all GnuPG on this and look for a string that _contains_. If
// two or more keys contain the string and none are a direct match, we error
// out.
var candidate *openpgp.Entity
@@ -404,6 +404,8 @@ func DigestFile(filename string) (string, error) {
// Helm uses SHA256 as its default hash for all non-cryptographic applications.
func Digest(in io.Reader) (string, error) {
hash := crypto.SHA256.New()
- io.Copy(hash, in)
+ if _, err := io.Copy(hash, in); err != nil {
+ return "", err
+ }
return hex.EncodeToString(hash.Sum(nil)), nil
}
diff --git a/vendor/k8s.io/helm/pkg/repo/chartrepo.go b/vendor/k8s.io/helm/pkg/repo/chartrepo.go
index c512c5b7e..e19aa52c5 100644
--- a/vendor/k8s.io/helm/pkg/repo/chartrepo.go
+++ b/vendor/k8s.io/helm/pkg/repo/chartrepo.go
@@ -21,6 +21,7 @@ import (
"io/ioutil"
"net/url"
"os"
+ "path"
"path/filepath"
"strings"
@@ -111,14 +112,13 @@ func (r *ChartRepository) Load() error {
// cachePath is prepended to any index that does not have an absolute path. This
// is for pre-2.2.0 repo files.
func (r *ChartRepository) DownloadIndexFile(cachePath string) error {
- var indexURL string
parsedURL, err := url.Parse(r.Config.URL)
if err != nil {
return err
}
- parsedURL.Path = strings.TrimSuffix(parsedURL.Path, "/") + "/index.yaml"
-
- indexURL = parsedURL.String()
+ parsedURL.RawPath = path.Join(parsedURL.RawPath, "index.yaml")
+ parsedURL.Path = path.Join(parsedURL.Path, "index.yaml")
+ indexURL := parsedURL.String()
r.setCredentials()
resp, err := r.Client.Get(indexURL)
diff --git a/vendor/k8s.io/helm/pkg/repo/index.go b/vendor/k8s.io/helm/pkg/repo/index.go
index ac19528fa..12f3308de 100644
--- a/vendor/k8s.io/helm/pkg/repo/index.go
+++ b/vendor/k8s.io/helm/pkg/repo/index.go
@@ -147,7 +147,8 @@ func (i IndexFile) SortEntries() {
// Get returns the ChartVersion for the given name.
//
-// If version is empty, this will return the chart with the highest version.
+// If version is empty, this will return the chart with the latest stable version,
+// prerelease versions will be skipped.
func (i IndexFile) Get(name, version string) (*ChartVersion, error) {
vs, ok := i.Entries[name]
if !ok {
diff --git a/vendor/k8s.io/helm/pkg/repo/repo.go b/vendor/k8s.io/helm/pkg/repo/repo.go
index fa550357a..80166feea 100644
--- a/vendor/k8s.io/helm/pkg/repo/repo.go
+++ b/vendor/k8s.io/helm/pkg/repo/repo.go
@@ -117,12 +117,18 @@ func (r *RepoFile) Update(re ...*Entry) {
// Has returns true if the given name is already a repository name.
func (r *RepoFile) Has(name string) bool {
- for _, rf := range r.Repositories {
- if rf.Name == name {
- return true
+ _, ok := r.Get(name)
+ return ok
+}
+
+// Get returns entry by the given name if it exists.
+func (r *RepoFile) Get(name string) (*Entry, bool) {
+ for _, entry := range r.Repositories {
+ if entry.Name == name {
+ return entry, true
}
}
- return false
+ return nil, false
}
// Remove removes the entry from the list of repositories.
diff --git a/vendor/k8s.io/helm/pkg/resolver/resolver.go b/vendor/k8s.io/helm/pkg/resolver/resolver.go
index 8177df2d3..653606df0 100644
--- a/vendor/k8s.io/helm/pkg/resolver/resolver.go
+++ b/vendor/k8s.io/helm/pkg/resolver/resolver.go
@@ -53,6 +53,19 @@ func (r *Resolver) Resolve(reqs *chartutil.Requirements, repoNames map[string]st
locked := make([]*chartutil.Dependency, len(reqs.Dependencies))
missing := []string{}
for i, d := range reqs.Dependencies {
+ if d.Repository == "" {
+ // Local chart subfolder
+ if _, err := GetLocalPath(filepath.Join("charts", d.Name), r.chartpath); err != nil {
+ return nil, err
+ }
+
+ locked[i] = &chartutil.Dependency{
+ Name: d.Name,
+ Repository: "",
+ Version: d.Version,
+ }
+ continue
+ }
if strings.HasPrefix(d.Repository, "file://") {
if _, err := GetLocalPath(d.Repository, r.chartpath); err != nil {
@@ -71,7 +84,18 @@ func (r *Resolver) Resolve(reqs *chartutil.Requirements, repoNames map[string]st
return nil, fmt.Errorf("dependency %q has an invalid version/constraint format: %s", d.Name, err)
}
- repoIndex, err := repo.LoadIndexFile(r.helmhome.CacheIndex(repoNames[d.Name]))
+ // repo does not exist in cache but has url info
+ cacheRepoName := repoNames[d.Name]
+ if cacheRepoName == "" && d.Repository != "" {
+ locked[i] = &chartutil.Dependency{
+ Name: d.Name,
+ Repository: d.Repository,
+ Version: d.Version,
+ }
+ continue
+ }
+
+ repoIndex, err := repo.LoadIndexFile(r.helmhome.CacheIndex(cacheRepoName))
if err != nil {
return nil, fmt.Errorf("no cached repo found. (try 'helm repo update'). %s", err)
}
diff --git a/vendor/k8s.io/helm/pkg/sympath/walk.go b/vendor/k8s.io/helm/pkg/sympath/walk.go
index b2500284a..9a62261d0 100644
--- a/vendor/k8s.io/helm/pkg/sympath/walk.go
+++ b/vendor/k8s.io/helm/pkg/sympath/walk.go
@@ -22,6 +22,7 @@ package sympath
import (
"fmt"
+ "log"
"os"
"path/filepath"
"sort"
@@ -69,12 +70,14 @@ func symwalk(path string, info os.FileInfo, walkFn filepath.WalkFunc) error {
if err != nil {
return fmt.Errorf("error evaluating symlink %s: %s", path, err)
}
+ log.Printf("found symbolic link in path: %s resolves to %s", path, resolved)
if info, err = os.Lstat(resolved); err != nil {
return err
}
- if err := symwalk(resolved, info, walkFn); err != nil && err != filepath.SkipDir {
+ if err := symwalk(path, info, walkFn); err != nil && err != filepath.SkipDir {
return err
}
+ return nil
}
if err := walkFn(path, info, nil); err != nil {
diff --git a/vendor/k8s.io/helm/pkg/tlsutil/cfg.go b/vendor/k8s.io/helm/pkg/tlsutil/cfg.go
index 2c1dfd340..6c2a829df 100644
--- a/vendor/k8s.io/helm/pkg/tlsutil/cfg.go
+++ b/vendor/k8s.io/helm/pkg/tlsutil/cfg.go
@@ -40,7 +40,7 @@ type Options struct {
ClientAuth tls.ClientAuthType
}
-// ClientConfig retusn a TLS configuration for use by a Helm client.
+// ClientConfig returns a TLS configuration for use by a Helm client.
func ClientConfig(opts Options) (cfg *tls.Config, err error) {
var cert *tls.Certificate
var pool *x509.CertPool
diff --git a/vendor/k8s.io/helm/pkg/version/version.go b/vendor/k8s.io/helm/pkg/version/version.go
index 826fd6fee..d58be0446 100644
--- a/vendor/k8s.io/helm/pkg/version/version.go
+++ b/vendor/k8s.io/helm/pkg/version/version.go
@@ -26,7 +26,7 @@ var (
// Increment major number for new feature additions and behavioral changes.
// Increment minor number for bug fixes and performance enhancements.
// Increment patch number for critical fixes to existing releases.
- Version = "v2.13"
+ Version = "v2.16"
// BuildMetadata is extra build time data
BuildMetadata = "unreleased"
diff --git a/vendor/modules.txt b/vendor/modules.txt
index c024fe60d..be0619914 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -89,10 +89,12 @@ github.com/gardener/etcd-druid/api/v1alpha1
## explicit; go 1.14
github.com/gardener/external-dns-management/pkg/apis/dns
github.com/gardener/external-dns-management/pkg/apis/dns/v1alpha1
-# github.com/gardener/gardener v1.50.1
+# github.com/gardener/gardener v1.53.0
## explicit; go 1.18
github.com/gardener/gardener/.github
github.com/gardener/gardener/.github/ISSUE_TEMPLATE
+github.com/gardener/gardener/extensions/pkg/apis/config
+github.com/gardener/gardener/extensions/pkg/apis/config/v1alpha1
github.com/gardener/gardener/extensions/pkg/controller
github.com/gardener/gardener/extensions/pkg/controller/backupbucket
github.com/gardener/gardener/extensions/pkg/controller/backupentry
@@ -104,8 +106,6 @@ github.com/gardener/gardener/extensions/pkg/controller/controlplane
github.com/gardener/gardener/extensions/pkg/controller/controlplane/genericactuator
github.com/gardener/gardener/extensions/pkg/controller/dnsrecord
github.com/gardener/gardener/extensions/pkg/controller/healthcheck
-github.com/gardener/gardener/extensions/pkg/controller/healthcheck/config
-github.com/gardener/gardener/extensions/pkg/controller/healthcheck/config/v1alpha1
github.com/gardener/gardener/extensions/pkg/controller/healthcheck/general
github.com/gardener/gardener/extensions/pkg/controller/healthcheck/worker
github.com/gardener/gardener/extensions/pkg/controller/infrastructure
@@ -253,7 +253,6 @@ github.com/gobwas/glob/util/strings
# github.com/gogo/protobuf v1.3.2
## explicit; go 1.15
github.com/gogo/protobuf/gogoproto
-github.com/gogo/protobuf/jsonpb
github.com/gogo/protobuf/plugin/compare
github.com/gogo/protobuf/plugin/defaultcheck
github.com/gogo/protobuf/plugin/description
@@ -277,7 +276,6 @@ github.com/gogo/protobuf/protoc-gen-gogo/generator/internal/remap
github.com/gogo/protobuf/protoc-gen-gogo/grpc
github.com/gogo/protobuf/protoc-gen-gogo/plugin
github.com/gogo/protobuf/sortkeys
-github.com/gogo/protobuf/types
github.com/gogo/protobuf/vanity
github.com/gogo/protobuf/vanity/command
# github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da
@@ -290,11 +288,14 @@ github.com/golang/mock/mockgen
github.com/golang/mock/mockgen/model
# github.com/golang/protobuf v1.5.2
## explicit; go 1.9
+github.com/golang/protobuf/jsonpb
github.com/golang/protobuf/proto
github.com/golang/protobuf/ptypes
github.com/golang/protobuf/ptypes/any
github.com/golang/protobuf/ptypes/duration
+github.com/golang/protobuf/ptypes/struct
github.com/golang/protobuf/ptypes/timestamp
+github.com/golang/protobuf/ptypes/wrappers
# github.com/golang/snappy v0.0.4
## explicit
github.com/golang/snappy
@@ -484,9 +485,6 @@ github.com/prometheus/procfs/internal/util
# github.com/russross/blackfriday/v2 v2.1.0
## explicit
github.com/russross/blackfriday/v2
-# github.com/sirupsen/logrus v1.8.1
-## explicit; go 1.13
-github.com/sirupsen/logrus
# github.com/spf13/afero v1.8.2
## explicit; go 1.13
github.com/spf13/afero
@@ -658,14 +656,19 @@ google.golang.org/appengine/internal/log
google.golang.org/appengine/internal/remote_api
google.golang.org/appengine/internal/urlfetch
google.golang.org/appengine/urlfetch
+# google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac
+## explicit; go 1.15
+google.golang.org/genproto/googleapis/api/annotations
# google.golang.org/protobuf v1.28.0
## explicit; go 1.11
+google.golang.org/protobuf/encoding/protojson
google.golang.org/protobuf/encoding/prototext
google.golang.org/protobuf/encoding/protowire
google.golang.org/protobuf/internal/descfmt
google.golang.org/protobuf/internal/descopts
google.golang.org/protobuf/internal/detrand
google.golang.org/protobuf/internal/encoding/defval
+google.golang.org/protobuf/internal/encoding/json
google.golang.org/protobuf/internal/encoding/messageset
google.golang.org/protobuf/internal/encoding/tag
google.golang.org/protobuf/internal/encoding/text
@@ -689,7 +692,9 @@ google.golang.org/protobuf/runtime/protoimpl
google.golang.org/protobuf/types/descriptorpb
google.golang.org/protobuf/types/known/anypb
google.golang.org/protobuf/types/known/durationpb
+google.golang.org/protobuf/types/known/structpb
google.golang.org/protobuf/types/known/timestamppb
+google.golang.org/protobuf/types/known/wrapperspb
# gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c
## explicit; go 1.11
# gopkg.in/inf.v0 v0.9.1
@@ -704,20 +709,18 @@ gopkg.in/yaml.v2
# gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b
## explicit
gopkg.in/yaml.v3
-# istio.io/api v0.0.0-20220304035241-8c47cbbea144
-## explicit; go 1.12
+# istio.io/api v0.0.0-20220512181135-e8ec1e1d89de
+## explicit; go 1.18
istio.io/api/analysis/v1alpha1
istio.io/api/meta/v1alpha1
istio.io/api/networking/v1alpha3
istio.io/api/networking/v1beta1
-# istio.io/client-go v1.12.5
-## explicit; go 1.16
+istio.io/api/type/v1beta1
+# istio.io/client-go v1.14.0
+## explicit; go 1.17
istio.io/client-go/pkg/apis/networking/v1alpha3
istio.io/client-go/pkg/apis/networking/v1beta1
-# istio.io/gogo-genproto v0.0.0-20210113155706-4daf5697332f
-## explicit; go 1.15
-istio.io/gogo-genproto/googleapis/google/api
-# k8s.io/api v0.24.2 => k8s.io/api v0.24.2
+# k8s.io/api v0.24.3 => k8s.io/api v0.24.3
## explicit; go 1.16
k8s.io/api/admission/v1
k8s.io/api/admission/v1beta1
@@ -766,7 +769,7 @@ k8s.io/api/scheduling/v1beta1
k8s.io/api/storage/v1
k8s.io/api/storage/v1alpha1
k8s.io/api/storage/v1beta1
-# k8s.io/apiextensions-apiserver v0.24.2 => k8s.io/apiextensions-apiserver v0.24.2
+# k8s.io/apiextensions-apiserver v0.24.3 => k8s.io/apiextensions-apiserver v0.24.3
## explicit; go 1.16
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1
@@ -775,7 +778,7 @@ k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset
k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/scheme
k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1
k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1
-# k8s.io/apimachinery v0.24.2 => k8s.io/apimachinery v0.24.2
+# k8s.io/apimachinery v0.24.3 => k8s.io/apimachinery v0.24.3
## explicit; go 1.16
k8s.io/apimachinery/pkg/api/equality
k8s.io/apimachinery/pkg/api/errors
@@ -830,7 +833,7 @@ k8s.io/apimachinery/pkg/watch
k8s.io/apimachinery/third_party/forked/golang/json
k8s.io/apimachinery/third_party/forked/golang/netutil
k8s.io/apimachinery/third_party/forked/golang/reflect
-# k8s.io/apiserver v0.24.2 => k8s.io/apiserver v0.24.2
+# k8s.io/apiserver v0.24.3 => k8s.io/apiserver v0.24.3
## explicit; go 1.16
k8s.io/apiserver/pkg/apis/config
k8s.io/apiserver/pkg/apis/config/v1
@@ -838,7 +841,7 @@ k8s.io/apiserver/pkg/authentication/user
# k8s.io/autoscaler/vertical-pod-autoscaler v0.11.0 => k8s.io/autoscaler/vertical-pod-autoscaler v0.11.0
## explicit; go 1.17
k8s.io/autoscaler/vertical-pod-autoscaler/pkg/apis/autoscaling.k8s.io/v1
-# k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible => k8s.io/client-go v0.24.2
+# k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible => k8s.io/client-go v0.24.3
## explicit; go 1.16
k8s.io/client-go/applyconfigurations/admissionregistration/v1
k8s.io/client-go/applyconfigurations/admissionregistration/v1beta1
@@ -969,7 +972,7 @@ k8s.io/client-go/util/homedir
k8s.io/client-go/util/keyutil
k8s.io/client-go/util/retry
k8s.io/client-go/util/workqueue
-# k8s.io/code-generator v0.24.2 => k8s.io/code-generator v0.24.2
+# k8s.io/code-generator v0.24.3 => k8s.io/code-generator v0.24.3
## explicit; go 1.16
k8s.io/code-generator
k8s.io/code-generator/cmd/client-gen
@@ -1005,7 +1008,7 @@ k8s.io/code-generator/cmd/set-gen
k8s.io/code-generator/pkg/namer
k8s.io/code-generator/pkg/util
k8s.io/code-generator/third_party/forked/golang/reflect
-# k8s.io/component-base v0.24.2 => k8s.io/component-base v0.24.2
+# k8s.io/component-base v0.24.3 => k8s.io/component-base v0.24.3
## explicit; go 1.16
k8s.io/component-base/config
k8s.io/component-base/config/v1alpha1
@@ -1023,8 +1026,9 @@ k8s.io/gengo/generator
k8s.io/gengo/namer
k8s.io/gengo/parser
k8s.io/gengo/types
-# k8s.io/helm v2.16.1+incompatible => k8s.io/helm v2.13.1+incompatible
+# k8s.io/helm v2.16.1+incompatible => k8s.io/helm v2.16.1+incompatible
## explicit
+k8s.io/helm/internal/third_party/dep/fs
k8s.io/helm/pkg/chartutil
k8s.io/helm/pkg/downloader
k8s.io/helm/pkg/engine
@@ -1056,7 +1060,7 @@ k8s.io/klog/v2/internal/buffer
k8s.io/klog/v2/internal/clock
k8s.io/klog/v2/internal/serialize
k8s.io/klog/v2/internal/severity
-# k8s.io/kube-aggregator v0.24.2
+# k8s.io/kube-aggregator v0.24.3
## explicit; go 1.16
k8s.io/kube-aggregator/pkg/apis/apiregistration
k8s.io/kube-aggregator/pkg/apis/apiregistration/v1
@@ -1079,10 +1083,10 @@ k8s.io/kube-openapi/pkg/spec3
k8s.io/kube-openapi/pkg/util/proto
k8s.io/kube-openapi/pkg/util/sets
k8s.io/kube-openapi/pkg/validation/spec
-# k8s.io/kubelet v0.24.2
+# k8s.io/kubelet v0.24.3
## explicit; go 1.16
k8s.io/kubelet/config/v1beta1
-# k8s.io/metrics v0.24.2
+# k8s.io/metrics v0.24.3
## explicit; go 1.16
k8s.io/metrics/pkg/apis/metrics
k8s.io/metrics/pkg/apis/metrics/v1beta1
@@ -1184,16 +1188,16 @@ sigs.k8s.io/structured-merge-diff/v4/value
## explicit; go 1.12
sigs.k8s.io/yaml
# github.com/prometheus/client_golang => github.com/prometheus/client_golang v1.12.1
-# k8s.io/api => k8s.io/api v0.24.2
-# k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.24.2
-# k8s.io/apimachinery => k8s.io/apimachinery v0.24.2
-# k8s.io/apiserver => k8s.io/apiserver v0.24.2
+# k8s.io/api => k8s.io/api v0.24.3
+# k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.24.3
+# k8s.io/apimachinery => k8s.io/apimachinery v0.24.3
+# k8s.io/apiserver => k8s.io/apiserver v0.24.3
# k8s.io/autoscaler => k8s.io/autoscaler v0.0.0-20220531185024-cc90d57b7fe1
# k8s.io/autoscaler/vertical-pod-autoscaler => k8s.io/autoscaler/vertical-pod-autoscaler v0.11.0
-# k8s.io/client-go => k8s.io/client-go v0.24.2
-# k8s.io/code-generator => k8s.io/code-generator v0.24.2
-# k8s.io/component-base => k8s.io/component-base v0.24.2
-# k8s.io/helm => k8s.io/helm v2.13.1+incompatible
+# k8s.io/client-go => k8s.io/client-go v0.24.3
+# k8s.io/code-generator => k8s.io/code-generator v0.24.3
+# k8s.io/component-base => k8s.io/component-base v0.24.3
+# k8s.io/helm => k8s.io/helm v2.16.1+incompatible
# sigs.k8s.io/controller-runtime => sigs.k8s.io/controller-runtime v0.12.1
# github.com/gardener/hvpa-controller => github.com/gardener/hvpa-controller v0.5.0
# github.com/gardener/hvpa-controller/api => github.com/gardener/hvpa-controller/api v0.5.0